From 284da313a695c67addd7f716c0690c29ae9ef7c0 Mon Sep 17 00:00:00 2001 From: Zachery Wu Date: Tue, 31 Aug 2021 18:05:56 +0800 Subject: [PATCH] add 5.10 UAPI Signed-off-by: Zachery Wu Change-Id: Ic35aa43e014b9d93d6a3c257959d1ae942ad0547 --- linux-5.10/prebuilts/linux_header_install.sh | 65 + linux-5.10/prebuilts/thirdparty_headers.sh | 49 + linux-5.10/prebuilts/update_headers.py | 229 ++ linux-5.10/prebuilts/usr/include/Kbuild | 14 + .../prebuilts/usr/include/asm-arm/asm/Kbuild | 6 + .../usr/include/asm-arm/asm/auxvec.h | 9 + .../usr/include/asm-arm/asm/bitsperlong.h | 6 + .../usr/include/asm-arm/asm/bpf_perf_event.h | 6 + .../usr/include/asm-arm/asm/byteorder.h | 13 + .../prebuilts/usr/include/asm-arm/asm/errno.h | 6 + .../prebuilts/usr/include/asm-arm/asm/fcntl.h | 13 + .../prebuilts/usr/include/asm-arm/asm/hwcap.h | 36 + .../prebuilts/usr/include/asm-arm/asm/ioctl.h | 6 + .../usr/include/asm-arm/asm/ioctls.h | 10 + .../usr/include/asm-arm/asm/ipcbuf.h | 6 + .../prebuilts/usr/include/asm-arm/asm/kvm.h | 203 ++ .../usr/include/asm-arm/asm/kvm_para.h | 6 + .../prebuilts/usr/include/asm-arm/asm/mman.h | 8 + .../usr/include/asm-arm/asm/msgbuf.h | 6 + .../prebuilts/usr/include/asm-arm/asm/param.h | 6 + .../usr/include/asm-arm/asm/perf_regs.h | 27 + .../prebuilts/usr/include/asm-arm/asm/poll.h | 6 + .../usr/include/asm-arm/asm/posix_types.h | 18 + .../usr/include/asm-arm/asm/ptrace.h | 106 + .../usr/include/asm-arm/asm/resource.h | 6 + .../usr/include/asm-arm/asm/sembuf.h | 6 + .../prebuilts/usr/include/asm-arm/asm/setup.h | 120 ++ .../usr/include/asm-arm/asm/shmbuf.h | 6 + .../usr/include/asm-arm/asm/sigcontext.h | 31 + .../usr/include/asm-arm/asm/siginfo.h | 6 + .../usr/include/asm-arm/asm/signal.h | 83 + .../usr/include/asm-arm/asm/socket.h | 6 + .../usr/include/asm-arm/asm/sockios.h | 6 + .../prebuilts/usr/include/asm-arm/asm/stat.h | 74 + .../usr/include/asm-arm/asm/statfs.h | 10 + .../prebuilts/usr/include/asm-arm/asm/swab.h | 31 + .../usr/include/asm-arm/asm/termbits.h | 6 + .../usr/include/asm-arm/asm/termios.h | 6 + .../prebuilts/usr/include/asm-arm/asm/types.h | 21 + .../usr/include/asm-arm/asm/unistd-common.h | 363 ++++ .../usr/include/asm-arm/asm/unistd-eabi.h | 8 + .../usr/include/asm-arm/asm/unistd-oabi.h | 20 + .../usr/include/asm-arm/asm/unistd.h | 25 + .../asm-arm/uapi/asm/.unistd-common.h.cmd | 1 + .../asm-arm/uapi/asm/.unistd-eabi.h.cmd | 1 + .../asm-arm/uapi/asm/.unistd-oabi.h.cmd | 1 + .../include/asm-arm/uapi/asm/bitsperlong.h | 6 + .../include/asm-arm/uapi/asm/bpf_perf_event.h | 6 + .../usr/include/asm-arm/uapi/asm/errno.h | 6 + .../usr/include/asm-arm/uapi/asm/ioctl.h | 6 + .../usr/include/asm-arm/uapi/asm/ipcbuf.h | 6 + .../usr/include/asm-arm/uapi/asm/kvm_para.h | 6 + .../usr/include/asm-arm/uapi/asm/msgbuf.h | 6 + .../usr/include/asm-arm/uapi/asm/param.h | 6 + .../usr/include/asm-arm/uapi/asm/poll.h | 6 + .../usr/include/asm-arm/uapi/asm/resource.h | 6 + .../usr/include/asm-arm/uapi/asm/sembuf.h | 6 + .../usr/include/asm-arm/uapi/asm/shmbuf.h | 6 + .../usr/include/asm-arm/uapi/asm/siginfo.h | 6 + .../usr/include/asm-arm/uapi/asm/socket.h | 6 + .../usr/include/asm-arm/uapi/asm/sockios.h | 6 + .../usr/include/asm-arm/uapi/asm/termbits.h | 6 + .../usr/include/asm-arm/uapi/asm/termios.h | 6 + .../include/asm-arm/uapi/asm/unistd-common.h | 402 ++++ .../include/asm-arm/uapi/asm/unistd-eabi.h | 8 + .../include/asm-arm/uapi/asm/unistd-oabi.h | 20 + .../usr/include/asm-arm64/asm/auxvec.h | 11 + .../usr/include/asm-arm64/asm/bitsperlong.h | 10 + .../include/asm-arm64/asm/bpf_perf_event.h | 10 + .../usr/include/asm-arm64/asm/byteorder.h | 13 + .../usr/include/asm-arm64/asm/errno.h | 6 + .../usr/include/asm-arm64/asm/fcntl.h | 13 + .../usr/include/asm-arm64/asm/hwcap.h | 37 + .../usr/include/asm-arm64/asm/ioctl.h | 6 + .../usr/include/asm-arm64/asm/ioctls.h | 6 + .../usr/include/asm-arm64/asm/ipcbuf.h | 6 + .../prebuilts/usr/include/asm-arm64/asm/kvm.h | 196 ++ .../usr/include/asm-arm64/asm/kvm_para.h | 6 + .../usr/include/asm-arm64/asm/mman.h | 6 + .../usr/include/asm-arm64/asm/msgbuf.h | 6 + .../usr/include/asm-arm64/asm/param.h | 10 + .../usr/include/asm-arm64/asm/perf_regs.h | 44 + .../usr/include/asm-arm64/asm/poll.h | 6 + .../usr/include/asm-arm64/asm/posix_types.h | 12 + .../usr/include/asm-arm64/asm/ptrace.h | 114 + .../usr/include/asm-arm64/asm/resource.h | 6 + .../usr/include/asm-arm64/asm/sembuf.h | 6 + .../usr/include/asm-arm64/asm/setup.h | 10 + .../usr/include/asm-arm64/asm/shmbuf.h | 6 + .../usr/include/asm-arm64/asm/sigcontext.h | 83 + .../usr/include/asm-arm64/asm/siginfo.h | 10 + .../usr/include/asm-arm64/asm/signal.h | 12 + .../usr/include/asm-arm64/asm/socket.h | 6 + .../usr/include/asm-arm64/asm/sockios.h | 6 + .../usr/include/asm-arm64/asm/stat.h | 6 + .../usr/include/asm-arm64/asm/statfs.h | 10 + .../usr/include/asm-arm64/asm/swab.h | 6 + .../usr/include/asm-arm64/asm/termbits.h | 6 + .../usr/include/asm-arm64/asm/termios.h | 6 + .../usr/include/asm-arm64/asm/types.h | 6 + .../usr/include/asm-arm64/asm/ucontext.h | 19 + .../usr/include/asm-arm64/asm/unistd.h | 7 + .../prebuilts/usr/include/asm-generic/Kbuild | 36 + .../usr/include/asm-generic/auxvec.h | 8 + .../usr/include/asm-generic/bitsperlong.h | 11 + .../usr/include/asm-generic/bpf_perf_event.h | 10 + .../usr/include/asm-generic/errno-base.h | 42 + .../prebuilts/usr/include/asm-generic/errno.h | 108 + .../prebuilts/usr/include/asm-generic/fcntl.h | 157 ++ .../usr/include/asm-generic/hugetlb_encode.h | 23 + .../usr/include/asm-generic/int-l64.h | 19 + .../usr/include/asm-generic/int-ll64.h | 24 + .../prebuilts/usr/include/asm-generic/ioctl.h | 57 + .../usr/include/asm-generic/ioctls.h | 99 + .../usr/include/asm-generic/ipcbuf.h | 23 + .../usr/include/asm-generic/kvm_para.h | 5 + .../usr/include/asm-generic/mman-common.h | 55 + .../prebuilts/usr/include/asm-generic/mman.h | 17 + .../usr/include/asm-generic/msgbuf.h | 32 + .../prebuilts/usr/include/asm-generic/param.h | 18 + .../prebuilts/usr/include/asm-generic/poll.h | 38 + .../usr/include/asm-generic/posix_types.h | 75 + .../usr/include/asm-generic/resource.h | 38 + .../usr/include/asm-generic/sembuf.h | 25 + .../prebuilts/usr/include/asm-generic/setup.h | 9 + .../usr/include/asm-generic/shmbuf.h | 41 + .../usr/include/asm-generic/shmparam.h | 9 + .../usr/include/asm-generic/siginfo.h | 249 +++ .../usr/include/asm-generic/signal-defs.h | 27 + .../usr/include/asm-generic/signal.h | 88 + .../usr/include/asm-generic/socket.h | 103 + .../usr/include/asm-generic/sockios.h | 15 + .../prebuilts/usr/include/asm-generic/stat.h | 56 + .../usr/include/asm-generic/statfs.h | 64 + .../prebuilts/usr/include/asm-generic/swab.h | 14 + .../usr/include/asm-generic/termbits.h | 181 ++ .../usr/include/asm-generic/termios.h | 39 + .../prebuilts/usr/include/asm-generic/types.h | 9 + .../usr/include/asm-generic/ucontext.h | 15 + .../usr/include/asm-generic/unistd.h | 764 +++++++ linux-5.10/prebuilts/usr/include/asm/auxvec.h | 9 + .../prebuilts/usr/include/asm/bitsperlong.h | 6 + .../usr/include/asm/bpf_perf_event.h | 6 + .../prebuilts/usr/include/asm/byteorder.h | 13 + linux-5.10/prebuilts/usr/include/asm/errno.h | 6 + linux-5.10/prebuilts/usr/include/asm/fcntl.h | 13 + linux-5.10/prebuilts/usr/include/asm/hwcap.h | 36 + linux-5.10/prebuilts/usr/include/asm/ioctl.h | 6 + linux-5.10/prebuilts/usr/include/asm/ioctls.h | 10 + linux-5.10/prebuilts/usr/include/asm/ipcbuf.h | 6 + .../prebuilts/usr/include/asm/kvm_para.h | 6 + linux-5.10/prebuilts/usr/include/asm/mman.h | 8 + linux-5.10/prebuilts/usr/include/asm/msgbuf.h | 6 + linux-5.10/prebuilts/usr/include/asm/param.h | 6 + .../prebuilts/usr/include/asm/perf_regs.h | 27 + linux-5.10/prebuilts/usr/include/asm/poll.h | 6 + .../prebuilts/usr/include/asm/posix_types.h | 18 + linux-5.10/prebuilts/usr/include/asm/ptrace.h | 95 + .../prebuilts/usr/include/asm/resource.h | 6 + linux-5.10/prebuilts/usr/include/asm/sembuf.h | 6 + linux-5.10/prebuilts/usr/include/asm/setup.h | 120 ++ linux-5.10/prebuilts/usr/include/asm/shmbuf.h | 6 + .../prebuilts/usr/include/asm/sigcontext.h | 31 + .../prebuilts/usr/include/asm/siginfo.h | 6 + linux-5.10/prebuilts/usr/include/asm/signal.h | 79 + linux-5.10/prebuilts/usr/include/asm/socket.h | 6 + .../prebuilts/usr/include/asm/sockios.h | 6 + linux-5.10/prebuilts/usr/include/asm/stat.h | 74 + linux-5.10/prebuilts/usr/include/asm/statfs.h | 10 + linux-5.10/prebuilts/usr/include/asm/swab.h | 28 + .../prebuilts/usr/include/asm/termbits.h | 6 + .../prebuilts/usr/include/asm/termios.h | 6 + linux-5.10/prebuilts/usr/include/asm/types.h | 21 + .../prebuilts/usr/include/asm/unistd-common.h | 402 ++++ .../prebuilts/usr/include/asm/unistd-eabi.h | 8 + .../prebuilts/usr/include/asm/unistd-oabi.h | 20 + linux-5.10/prebuilts/usr/include/asm/unistd.h | 25 + .../prebuilts/usr/include/drm/amdgpu_drm.h | 793 +++++++ .../prebuilts/usr/include/drm/armada_drm.h | 43 + linux-5.10/prebuilts/usr/include/drm/drm.h | 656 ++++++ .../prebuilts/usr/include/drm/drm_fourcc.h | 246 +++ .../prebuilts/usr/include/drm/drm_mode.h | 571 +++++ .../prebuilts/usr/include/drm/drm_sarea.h | 51 + .../prebuilts/usr/include/drm/etnaviv_drm.h | 191 ++ .../prebuilts/usr/include/drm/exynos_drm.h | 253 +++ .../prebuilts/usr/include/drm/i810_drm.h | 209 ++ .../prebuilts/usr/include/drm/i915_drm.h | 1094 ++++++++++ .../prebuilts/usr/include/drm/lima_drm.h | 117 ++ .../prebuilts/usr/include/drm/mga_drm.h | 250 +++ .../prebuilts/usr/include/drm/msm_drm.h | 198 ++ .../prebuilts/usr/include/drm/nouveau_drm.h | 147 ++ .../prebuilts/usr/include/drm/omap_drm.h | 78 + .../prebuilts/usr/include/drm/panfrost_drm.h | 141 ++ .../prebuilts/usr/include/drm/qxl_drm.h | 102 + .../prebuilts/usr/include/drm/r128_drm.h | 231 ++ .../prebuilts/usr/include/drm/radeon_drm.h | 819 ++++++++ .../prebuilts/usr/include/drm/savage_drm.h | 154 ++ .../prebuilts/usr/include/drm/sis_drm.h | 41 + .../prebuilts/usr/include/drm/tegra_drm.h | 221 ++ .../prebuilts/usr/include/drm/v3d_drm.h | 128 ++ .../prebuilts/usr/include/drm/vc4_drm.h | 251 +++ .../prebuilts/usr/include/drm/vgem_drm.h | 30 + .../prebuilts/usr/include/drm/via_drm.h | 196 ++ .../prebuilts/usr/include/drm/virtgpu_drm.h | 129 ++ .../prebuilts/usr/include/drm/vmwgfx_drm.h | 353 ++++ .../prebuilts/usr/include/linux/a.out.h | 179 ++ linux-5.10/prebuilts/usr/include/linux/acct.h | 87 + linux-5.10/prebuilts/usr/include/linux/adb.h | 29 + .../prebuilts/usr/include/linux/adfs_fs.h | 42 + .../usr/include/linux/affs_hardblocks.h | 64 + .../prebuilts/usr/include/linux/agpgart.h | 72 + .../prebuilts/usr/include/linux/aio_abi.h | 59 + .../prebuilts/usr/include/linux/am437x-vpfe.h | 83 + .../usr/include/linux/android/binder.h | 248 +++ .../usr/include/linux/android/binderfs.h | 18 + .../prebuilts/usr/include/linux/apm_bios.h | 90 + .../prebuilts/usr/include/linux/arcfb.h | 10 + .../prebuilts/usr/include/linux/arm_sdei.h | 59 + .../prebuilts/usr/include/linux/ashmem.h | 31 + .../usr/include/linux/aspeed-lpc-ctrl.h | 25 + .../usr/include/linux/aspeed-p2a-ctrl.h | 23 + .../prebuilts/usr/include/linux/atalk.h | 36 + linux-5.10/prebuilts/usr/include/linux/atm.h | 153 ++ .../prebuilts/usr/include/linux/atm_eni.h | 16 + .../prebuilts/usr/include/linux/atm_he.h | 18 + .../usr/include/linux/atm_idt77105.h | 19 + .../prebuilts/usr/include/linux/atm_nicstar.h | 32 + .../prebuilts/usr/include/linux/atm_tcp.h | 31 + .../prebuilts/usr/include/linux/atm_zatm.h | 32 + .../prebuilts/usr/include/linux/atmapi.h | 17 + .../prebuilts/usr/include/linux/atmarp.h | 31 + .../prebuilts/usr/include/linux/atmbr2684.h | 71 + .../prebuilts/usr/include/linux/atmclip.h | 17 + .../prebuilts/usr/include/linux/atmdev.h | 147 ++ .../prebuilts/usr/include/linux/atmioc.h | 32 + .../prebuilts/usr/include/linux/atmlec.h | 73 + .../prebuilts/usr/include/linux/atmmpc.h | 102 + .../prebuilts/usr/include/linux/atmppp.h | 16 + .../prebuilts/usr/include/linux/atmsap.h | 102 + .../prebuilts/usr/include/linux/atmsvc.h | 39 + .../prebuilts/usr/include/linux/audit.h | 377 ++++ .../usr/include/linux/auto_dev-ioctl.h | 154 ++ .../prebuilts/usr/include/linux/auto_fs.h | 163 ++ .../prebuilts/usr/include/linux/auto_fs4.h | 9 + .../prebuilts/usr/include/linux/auxvec.h | 32 + linux-5.10/prebuilts/usr/include/linux/ax25.h | 97 + .../prebuilts/usr/include/linux/b1lli.h | 51 + .../usr/include/linux/batadv_packet.h | 276 +++ .../prebuilts/usr/include/linux/batman_adv.h | 248 +++ .../prebuilts/usr/include/linux/baycom.h | 20 + .../prebuilts/usr/include/linux/bcache.h | 295 +++ .../usr/include/linux/bcm933xx_hcs.h | 22 + .../prebuilts/usr/include/linux/bfs_fs.h | 63 + .../prebuilts/usr/include/linux/binfmts.h | 13 + .../prebuilts/usr/include/linux/blkpg.h | 29 + .../usr/include/linux/blktrace_api.h | 113 + .../prebuilts/usr/include/linux/blkzoned.h | 57 + linux-5.10/prebuilts/usr/include/linux/bpf.h | 1297 ++++++++++++ .../prebuilts/usr/include/linux/bpf_common.h | 51 + .../usr/include/linux/bpf_perf_event.h | 14 + .../prebuilts/usr/include/linux/bpfilter.h | 21 + .../prebuilts/usr/include/linux/bpqether.h | 29 + linux-5.10/prebuilts/usr/include/linux/bsg.h | 51 + .../prebuilts/usr/include/linux/bt-bmc.h | 11 + linux-5.10/prebuilts/usr/include/linux/btf.h | 101 + .../prebuilts/usr/include/linux/btrfs.h | 631 ++++++ .../prebuilts/usr/include/linux/btrfs_tree.h | 502 +++++ .../usr/include/linux/byteorder/big_endian.h | 104 + .../include/linux/byteorder/little_endian.h | 104 + .../usr/include/linux/caif/caif_socket.h | 72 + .../usr/include/linux/caif/if_caif.h | 19 + linux-5.10/prebuilts/usr/include/linux/can.h | 77 + .../prebuilts/usr/include/linux/can/bcm.h | 49 + .../prebuilts/usr/include/linux/can/error.h | 69 + .../prebuilts/usr/include/linux/can/gw.h | 92 + .../prebuilts/usr/include/linux/can/isotp.h | 81 + .../prebuilts/usr/include/linux/can/j1939.h | 54 + .../prebuilts/usr/include/linux/can/netlink.h | 87 + .../prebuilts/usr/include/linux/can/raw.h | 21 + .../prebuilts/usr/include/linux/can/vxcan.h | 14 + .../prebuilts/usr/include/linux/capability.h | 104 + linux-5.10/prebuilts/usr/include/linux/capi.h | 64 + .../prebuilts/usr/include/linux/cciss_defs.h | 109 + .../prebuilts/usr/include/linux/cciss_ioctl.h | 73 + .../prebuilts/usr/include/linux/cdrom.h | 665 ++++++ .../prebuilts/usr/include/linux/cec-funcs.h | 1722 +++++++++++++++ linux-5.10/prebuilts/usr/include/linux/cec.h | 723 +++++++ .../prebuilts/usr/include/linux/cgroupstats.h | 37 + linux-5.10/prebuilts/usr/include/linux/chio.h | 108 + .../usr/include/linux/cifs/cifs_mount.h | 13 + .../prebuilts/usr/include/linux/close_range.h | 9 + .../prebuilts/usr/include/linux/cm4000_cs.h | 41 + .../prebuilts/usr/include/linux/cn_proc.h | 88 + linux-5.10/prebuilts/usr/include/linux/coda.h | 518 +++++ .../prebuilts/usr/include/linux/coda_psdev.h | 15 + linux-5.10/prebuilts/usr/include/linux/coff.h | 208 ++ .../prebuilts/usr/include/linux/compiler.h | 9 + .../usr/include/linux/compiler_types.h | 209 ++ .../prebuilts/usr/include/linux/connector.h | 42 + .../prebuilts/usr/include/linux/const.h | 23 + .../usr/include/linux/coresight-stm.h | 16 + .../prebuilts/usr/include/linux/cramfs_fs.h | 58 + .../prebuilts/usr/include/linux/cryptouser.h | 161 ++ linux-5.10/prebuilts/usr/include/linux/cuda.h | 27 + .../prebuilts/usr/include/linux/cyclades.h | 301 +++ .../prebuilts/usr/include/linux/cycx_cfm.h | 50 + .../prebuilts/usr/include/linux/dcbnl.h | 339 +++ linux-5.10/prebuilts/usr/include/linux/dccp.h | 174 ++ .../prebuilts/usr/include/linux/devlink.h | 411 ++++ linux-5.10/prebuilts/usr/include/linux/dlm.h | 23 + .../prebuilts/usr/include/linux/dlm_device.h | 75 + .../prebuilts/usr/include/linux/dlm_netlink.h | 46 + .../prebuilts/usr/include/linux/dlm_plock.h | 34 + .../usr/include/linux/dlmconstants.h | 38 + .../prebuilts/usr/include/linux/dm-ioctl.h | 122 ++ .../usr/include/linux/dm-log-userspace.h | 43 + .../prebuilts/usr/include/linux/dma-buf.h | 25 + .../prebuilts/usr/include/linux/dma-heap.h | 21 + linux-5.10/prebuilts/usr/include/linux/dn.h | 101 + .../usr/include/linux/dns_resolver.h | 65 + .../prebuilts/usr/include/linux/dqblk_xfs.h | 123 ++ .../prebuilts/usr/include/linux/dvb/audio.h | 64 + .../prebuilts/usr/include/linux/dvb/ca.h | 58 + .../prebuilts/usr/include/linux/dvb/dmx.h | 121 ++ .../usr/include/linux/dvb/frontend.h | 422 ++++ .../prebuilts/usr/include/linux/dvb/net.h | 25 + .../prebuilts/usr/include/linux/dvb/osd.h | 90 + .../prebuilts/usr/include/linux/dvb/version.h | 10 + .../prebuilts/usr/include/linux/dvb/video.h | 120 ++ linux-5.10/prebuilts/usr/include/linux/edd.h | 153 ++ .../prebuilts/usr/include/linux/efs_fs_sb.h | 48 + .../prebuilts/usr/include/linux/elf-em.h | 57 + .../prebuilts/usr/include/linux/elf-fdpic.h | 21 + linux-5.10/prebuilts/usr/include/linux/elf.h | 369 ++++ .../prebuilts/usr/include/linux/elfcore.h | 81 + .../prebuilts/usr/include/linux/errno.h | 6 + .../prebuilts/usr/include/linux/errqueue.h | 55 + .../prebuilts/usr/include/linux/erspan.h | 40 + .../prebuilts/usr/include/linux/ethtool.h | 918 ++++++++ .../usr/include/linux/ethtool_netlink.h | 488 +++++ .../prebuilts/usr/include/linux/eventpoll.h | 51 + linux-5.10/prebuilts/usr/include/linux/f2fs.h | 71 + .../prebuilts/usr/include/linux/fadvise.h | 19 + .../prebuilts/usr/include/linux/falloc.h | 15 + .../prebuilts/usr/include/linux/fanotify.h | 114 + linux-5.10/prebuilts/usr/include/linux/fb.h | 329 +++ .../prebuilts/usr/include/linux/fcntl.h | 54 + linux-5.10/prebuilts/usr/include/linux/fd.h | 223 ++ .../prebuilts/usr/include/linux/fdreg.h | 87 + .../prebuilts/usr/include/linux/fib_rules.h | 79 + .../prebuilts/usr/include/linux/fiemap.h | 42 + .../prebuilts/usr/include/linux/filter.h | 58 + .../usr/include/linux/firewire-cdev.h | 257 +++ .../usr/include/linux/firewire-constants.h | 61 + linux-5.10/prebuilts/usr/include/linux/flat.h | 34 + linux-5.10/prebuilts/usr/include/linux/fou.h | 39 + .../prebuilts/usr/include/linux/fpga-dfl.h | 93 + linux-5.10/prebuilts/usr/include/linux/fs.h | 198 ++ .../prebuilts/usr/include/linux/fscrypt.h | 135 ++ linux-5.10/prebuilts/usr/include/linux/fsi.h | 39 + .../usr/include/linux/fsl_hypervisor.h | 67 + .../prebuilts/usr/include/linux/fsmap.h | 55 + .../prebuilts/usr/include/linux/fsverity.h | 30 + linux-5.10/prebuilts/usr/include/linux/fuse.h | 542 +++++ .../prebuilts/usr/include/linux/futex.h | 71 + .../prebuilts/usr/include/linux/gameport.h | 21 + .../prebuilts/usr/include/linux/gen_stats.h | 45 + .../prebuilts/usr/include/linux/genetlink.h | 79 + .../usr/include/linux/genwqe/genwqe_card.h | 267 +++ .../prebuilts/usr/include/linux/gfs2_ondisk.h | 347 +++ .../prebuilts/usr/include/linux/gigaset_dev.h | 17 + linux-5.10/prebuilts/usr/include/linux/gpio.h | 187 ++ .../prebuilts/usr/include/linux/gsmmux.h | 38 + linux-5.10/prebuilts/usr/include/linux/gtp.h | 35 + .../prebuilts/usr/include/linux/hash_info.h | 31 + linux-5.10/prebuilts/usr/include/linux/hdlc.h | 14 + .../prebuilts/usr/include/linux/hdlc/ioctl.h | 78 + .../prebuilts/usr/include/linux/hdlcdrv.h | 73 + .../prebuilts/usr/include/linux/hdreg.h | 394 ++++ linux-5.10/prebuilts/usr/include/linux/hid.h | 22 + .../prebuilts/usr/include/linux/hiddev.h | 113 + .../prebuilts/usr/include/linux/hidraw.h | 30 + linux-5.10/prebuilts/usr/include/linux/hpet.h | 23 + .../usr/include/linux/hsi/cs-protocol.h | 65 + .../usr/include/linux/hsi/hsi_char.h | 39 + .../prebuilts/usr/include/linux/hsr_netlink.h | 34 + .../usr/include/linux/hw_breakpoint.h | 35 + .../prebuilts/usr/include/linux/hyperv.h | 182 ++ .../prebuilts/usr/include/linux/hysdn_if.h | 18 + .../prebuilts/usr/include/linux/i2c-dev.h | 31 + linux-5.10/prebuilts/usr/include/linux/i2c.h | 83 + .../prebuilts/usr/include/linux/i2o-dev.h | 304 +++ linux-5.10/prebuilts/usr/include/linux/i8k.h | 30 + linux-5.10/prebuilts/usr/include/linux/icmp.h | 86 + .../prebuilts/usr/include/linux/icmpv6.h | 127 ++ linux-5.10/prebuilts/usr/include/linux/idxd.h | 206 ++ linux-5.10/prebuilts/usr/include/linux/if.h | 190 ++ .../prebuilts/usr/include/linux/if_addr.h | 55 + .../usr/include/linux/if_addrlabel.h | 23 + .../prebuilts/usr/include/linux/if_alg.h | 35 + .../prebuilts/usr/include/linux/if_arcnet.h | 71 + .../prebuilts/usr/include/linux/if_arp.h | 117 ++ .../prebuilts/usr/include/linux/if_bonding.h | 87 + .../prebuilts/usr/include/linux/if_bridge.h | 460 ++++ .../usr/include/linux/if_cablemodem.h | 14 + .../prebuilts/usr/include/linux/if_eql.h | 31 + .../prebuilts/usr/include/linux/if_ether.h | 122 ++ .../prebuilts/usr/include/linux/if_fc.h | 25 + .../prebuilts/usr/include/linux/if_fddi.h | 77 + .../prebuilts/usr/include/linux/if_frad.h | 68 + .../prebuilts/usr/include/linux/if_hippi.h | 107 + .../usr/include/linux/if_infiniband.h | 9 + .../prebuilts/usr/include/linux/if_link.h | 844 ++++++++ .../prebuilts/usr/include/linux/if_ltalk.h | 11 + .../prebuilts/usr/include/linux/if_macsec.h | 160 ++ .../prebuilts/usr/include/linux/if_packet.h | 227 ++ .../prebuilts/usr/include/linux/if_phonet.h | 11 + .../prebuilts/usr/include/linux/if_plip.h | 18 + .../prebuilts/usr/include/linux/if_ppp.h | 6 + .../prebuilts/usr/include/linux/if_pppol2tp.h | 53 + .../prebuilts/usr/include/linux/if_pppox.h | 102 + .../prebuilts/usr/include/linux/if_slip.h | 21 + .../prebuilts/usr/include/linux/if_team.h | 63 + .../prebuilts/usr/include/linux/if_tun.h | 73 + .../prebuilts/usr/include/linux/if_tunnel.h | 162 ++ .../prebuilts/usr/include/linux/if_vlan.h | 47 + .../prebuilts/usr/include/linux/if_x25.h | 13 + .../prebuilts/usr/include/linux/if_xdp.h | 73 + linux-5.10/prebuilts/usr/include/linux/ife.h | 18 + linux-5.10/prebuilts/usr/include/linux/igmp.h | 86 + .../prebuilts/usr/include/linux/iio/events.h | 22 + .../prebuilts/usr/include/linux/iio/types.h | 106 + linux-5.10/prebuilts/usr/include/linux/ila.h | 56 + linux-5.10/prebuilts/usr/include/linux/in.h | 233 +++ linux-5.10/prebuilts/usr/include/linux/in6.h | 175 ++ .../prebuilts/usr/include/linux/in_route.h | 27 + .../prebuilts/usr/include/linux/inet_diag.h | 180 ++ .../prebuilts/usr/include/linux/inotify.h | 48 + .../usr/include/linux/input-event-codes.h | 762 +++++++ .../prebuilts/usr/include/linux/input.h | 207 ++ .../prebuilts/usr/include/linux/io_uring.h | 234 +++ .../prebuilts/usr/include/linux/ioctl.h | 9 + .../prebuilts/usr/include/linux/iommu.h | 158 ++ linux-5.10/prebuilts/usr/include/linux/ion.h | 48 + linux-5.10/prebuilts/usr/include/linux/ip.h | 143 ++ .../prebuilts/usr/include/linux/ip6_tunnel.h | 46 + .../prebuilts/usr/include/linux/ip_vs.h | 311 +++ linux-5.10/prebuilts/usr/include/linux/ipc.h | 51 + linux-5.10/prebuilts/usr/include/linux/ipmi.h | 139 ++ .../prebuilts/usr/include/linux/ipmi_bmc.h | 13 + .../usr/include/linux/ipmi_msgdefs.h | 72 + .../prebuilts/usr/include/linux/ipsec.h | 41 + linux-5.10/prebuilts/usr/include/linux/ipv6.h | 139 ++ .../prebuilts/usr/include/linux/ipv6_route.h | 43 + linux-5.10/prebuilts/usr/include/linux/ipx.h | 77 + .../prebuilts/usr/include/linux/irqnr.h | 5 + linux-5.10/prebuilts/usr/include/linux/isdn.h | 112 + .../usr/include/linux/isdn/capicmd.h | 84 + .../usr/include/linux/isdn_divertif.h | 17 + .../prebuilts/usr/include/linux/isdn_ppp.h | 49 + .../prebuilts/usr/include/linux/isdnif.h | 33 + .../prebuilts/usr/include/linux/iso_fs.h | 141 ++ .../prebuilts/usr/include/linux/isst_if.h | 63 + linux-5.10/prebuilts/usr/include/linux/ivtv.h | 27 + .../prebuilts/usr/include/linux/ivtvfb.h | 16 + .../prebuilts/usr/include/linux/jffs2.h | 157 ++ .../prebuilts/usr/include/linux/joystick.h | 77 + linux-5.10/prebuilts/usr/include/linux/kcm.h | 23 + linux-5.10/prebuilts/usr/include/linux/kcmp.h | 25 + linux-5.10/prebuilts/usr/include/linux/kcov.h | 40 + linux-5.10/prebuilts/usr/include/linux/kd.h | 150 ++ .../prebuilts/usr/include/linux/kdev_t.h | 13 + .../usr/include/linux/kernel-page-flags.h | 35 + .../prebuilts/usr/include/linux/kernel.h | 10 + .../prebuilts/usr/include/linux/kernelcapi.h | 29 + .../prebuilts/usr/include/linux/kexec.h | 38 + .../prebuilts/usr/include/linux/keyboard.h | 441 ++++ .../prebuilts/usr/include/linux/keyctl.h | 109 + .../prebuilts/usr/include/linux/kfd_ioctl.h | 372 ++++ linux-5.10/prebuilts/usr/include/linux/kvm.h | 1358 ++++++++++++ .../prebuilts/usr/include/linux/kvm_para.h | 26 + linux-5.10/prebuilts/usr/include/linux/l2tp.h | 135 ++ .../prebuilts/usr/include/linux/libc-compat.h | 159 ++ .../prebuilts/usr/include/linux/lightnvm.h | 173 ++ .../prebuilts/usr/include/linux/limits.h | 21 + linux-5.10/prebuilts/usr/include/linux/lirc.h | 122 ++ linux-5.10/prebuilts/usr/include/linux/llc.h | 69 + linux-5.10/prebuilts/usr/include/linux/loop.h | 82 + linux-5.10/prebuilts/usr/include/linux/lp.h | 56 + .../prebuilts/usr/include/linux/lwtunnel.h | 96 + .../prebuilts/usr/include/linux/magic.h | 91 + .../prebuilts/usr/include/linux/major.h | 149 ++ .../usr/include/linux/map_to_7segment.h | 93 + .../prebuilts/usr/include/linux/matroxfb.h | 36 + .../prebuilts/usr/include/linux/max2175.h | 12 + linux-5.10/prebuilts/usr/include/linux/mdio.h | 265 +++ .../usr/include/linux/media-bus-format.h | 117 ++ .../prebuilts/usr/include/linux/media.h | 240 +++ linux-5.10/prebuilts/usr/include/linux/mei.h | 37 + .../prebuilts/usr/include/linux/membarrier.h | 25 + .../prebuilts/usr/include/linux/memfd.h | 26 + .../prebuilts/usr/include/linux/mempolicy.h | 35 + linux-5.10/prebuilts/usr/include/linux/meye.h | 25 + .../prebuilts/usr/include/linux/mic_common.h | 105 + .../prebuilts/usr/include/linux/mic_ioctl.h | 23 + linux-5.10/prebuilts/usr/include/linux/mii.h | 151 ++ .../prebuilts/usr/include/linux/minix_fs.h | 73 + linux-5.10/prebuilts/usr/include/linux/mman.h | 34 + .../prebuilts/usr/include/linux/mmc/ioctl.h | 41 + .../prebuilts/usr/include/linux/mmtimer.h | 15 + .../prebuilts/usr/include/linux/module.h | 10 + .../prebuilts/usr/include/linux/mount.h | 78 + linux-5.10/prebuilts/usr/include/linux/mpls.h | 47 + .../usr/include/linux/mpls_iptunnel.h | 15 + .../prebuilts/usr/include/linux/mptcp.h | 86 + .../prebuilts/usr/include/linux/mqueue.h | 22 + .../prebuilts/usr/include/linux/mroute.h | 139 ++ .../prebuilts/usr/include/linux/mroute6.h | 99 + .../prebuilts/usr/include/linux/mrp_bridge.h | 137 ++ .../prebuilts/usr/include/linux/msdos_fs.h | 152 ++ linux-5.10/prebuilts/usr/include/linux/msg.h | 54 + linux-5.10/prebuilts/usr/include/linux/mtio.h | 137 ++ .../prebuilts/usr/include/linux/n_r3964.h | 30 + .../prebuilts/usr/include/linux/nbd-netlink.h | 60 + linux-5.10/prebuilts/usr/include/linux/nbd.h | 50 + linux-5.10/prebuilts/usr/include/linux/ncsi.h | 56 + .../prebuilts/usr/include/linux/ndctl.h | 193 ++ .../prebuilts/usr/include/linux/neighbour.h | 139 ++ linux-5.10/prebuilts/usr/include/linux/net.h | 39 + .../prebuilts/usr/include/linux/net_dropmon.h | 103 + .../usr/include/linux/net_namespace.h | 19 + .../prebuilts/usr/include/linux/net_tstamp.h | 103 + .../prebuilts/usr/include/linux/netconf.h | 29 + .../prebuilts/usr/include/linux/netdevice.h | 32 + .../prebuilts/usr/include/linux/netfilter.h | 59 + .../include/linux/netfilter/ipset/ip_set.h | 250 +++ .../linux/netfilter/ipset/ip_set_bitmap.h | 15 + .../linux/netfilter/ipset/ip_set_hash.h | 23 + .../linux/netfilter/ipset/ip_set_list.h | 23 + .../linux/netfilter/nf_conntrack_common.h | 121 ++ .../linux/netfilter/nf_conntrack_ftp.h | 18 + .../linux/netfilter/nf_conntrack_sctp.h | 22 + .../linux/netfilter/nf_conntrack_tcp.h | 39 + .../netfilter/nf_conntrack_tuple_common.h | 41 + .../usr/include/linux/netfilter/nf_log.h | 16 + .../usr/include/linux/netfilter/nf_nat.h | 50 + .../usr/include/linux/netfilter/nf_synproxy.h | 23 + .../usr/include/linux/netfilter/nf_tables.h | 1017 +++++++++ .../linux/netfilter/nf_tables_compat.h | 37 + .../usr/include/linux/netfilter/nfnetlink.h | 63 + .../include/linux/netfilter/nfnetlink_acct.h | 44 + .../linux/netfilter/nfnetlink_compat.h | 47 + .../linux/netfilter/nfnetlink_conntrack.h | 264 +++ .../linux/netfilter/nfnetlink_cthelper.h | 53 + .../linux/netfilter/nfnetlink_cttimeout.h | 109 + .../include/linux/netfilter/nfnetlink_log.h | 94 + .../include/linux/netfilter/nfnetlink_osf.h | 87 + .../include/linux/netfilter/nfnetlink_queue.h | 107 + .../usr/include/linux/netfilter/x_tables.h | 141 ++ .../usr/include/linux/netfilter/xt_AUDIT.h | 19 + .../usr/include/linux/netfilter/xt_CHECKSUM.h | 13 + .../usr/include/linux/netfilter/xt_CLASSIFY.h | 12 + .../usr/include/linux/netfilter/xt_CONNMARK.h | 9 + .../include/linux/netfilter/xt_CONNSECMARK.h | 16 + .../usr/include/linux/netfilter/xt_CT.h | 38 + .../usr/include/linux/netfilter/xt_DSCP.h | 17 + .../usr/include/linux/netfilter/xt_HMARK.h | 51 + .../include/linux/netfilter/xt_IDLETIMER.h | 25 + .../usr/include/linux/netfilter/xt_LED.h | 16 + .../usr/include/linux/netfilter/xt_LOG.h | 20 + .../usr/include/linux/netfilter/xt_MARK.h | 9 + .../usr/include/linux/netfilter/xt_NFLOG.h | 22 + .../usr/include/linux/netfilter/xt_NFQUEUE.h | 29 + .../usr/include/linux/netfilter/xt_RATEEST.h | 17 + .../usr/include/linux/netfilter/xt_SECMARK.h | 21 + .../usr/include/linux/netfilter/xt_SYNPROXY.h | 15 + .../usr/include/linux/netfilter/xt_TCPMSS.h | 13 + .../include/linux/netfilter/xt_TCPOPTSTRIP.h | 16 + .../usr/include/linux/netfilter/xt_TEE.h | 15 + .../usr/include/linux/netfilter/xt_TPROXY.h | 22 + .../usr/include/linux/netfilter/xt_addrtype.h | 40 + .../usr/include/linux/netfilter/xt_bpf.h | 37 + .../usr/include/linux/netfilter/xt_cgroup.h | 37 + .../usr/include/linux/netfilter/xt_cluster.h | 19 + .../usr/include/linux/netfilter/xt_comment.h | 12 + .../include/linux/netfilter/xt_connbytes.h | 27 + .../include/linux/netfilter/xt_connlabel.h | 18 + .../include/linux/netfilter/xt_connlimit.h | 31 + .../usr/include/linux/netfilter/xt_connmark.h | 30 + .../include/linux/netfilter/xt_conntrack.h | 70 + .../usr/include/linux/netfilter/xt_cpu.h | 13 + .../usr/include/linux/netfilter/xt_dccp.h | 22 + .../usr/include/linux/netfilter/xt_devgroup.h | 22 + .../usr/include/linux/netfilter/xt_dscp.h | 21 + .../usr/include/linux/netfilter/xt_ecn.h | 25 + .../usr/include/linux/netfilter/xt_esp.h | 15 + .../include/linux/netfilter/xt_hashlimit.h | 96 + .../usr/include/linux/netfilter/xt_helper.h | 12 + .../usr/include/linux/netfilter/xt_ipcomp.h | 16 + .../usr/include/linux/netfilter/xt_iprange.h | 21 + .../usr/include/linux/netfilter/xt_ipvs.h | 30 + .../usr/include/linux/netfilter/xt_l2tp.h | 26 + .../usr/include/linux/netfilter/xt_length.h | 13 + .../usr/include/linux/netfilter/xt_limit.h | 20 + .../usr/include/linux/netfilter/xt_mac.h | 13 + .../usr/include/linux/netfilter/xt_mark.h | 16 + .../include/linux/netfilter/xt_multiport.h | 27 + .../usr/include/linux/netfilter/xt_nfacct.h | 18 + .../usr/include/linux/netfilter/xt_osf.h | 29 + .../usr/include/linux/netfilter/xt_owner.h | 24 + .../usr/include/linux/netfilter/xt_physdev.h | 24 + .../usr/include/linux/netfilter/xt_pkttype.h | 12 + .../usr/include/linux/netfilter/xt_policy.h | 67 + .../usr/include/linux/netfilter/xt_quota.h | 21 + .../usr/include/linux/netfilter/xt_rateest.h | 37 + .../usr/include/linux/netfilter/xt_realm.h | 14 + .../usr/include/linux/netfilter/xt_recent.h | 41 + .../usr/include/linux/netfilter/xt_rpfilter.h | 24 + .../usr/include/linux/netfilter/xt_sctp.h | 76 + .../usr/include/linux/netfilter/xt_set.h | 68 + .../usr/include/linux/netfilter/xt_socket.h | 28 + .../usr/include/linux/netfilter/xt_state.h | 14 + .../include/linux/netfilter/xt_statistic.h | 35 + .../usr/include/linux/netfilter/xt_string.h | 32 + .../usr/include/linux/netfilter/xt_tcpmss.h | 13 + .../usr/include/linux/netfilter/xt_tcpudp.h | 30 + .../usr/include/linux/netfilter/xt_time.h | 30 + .../usr/include/linux/netfilter/xt_u32.h | 35 + .../usr/include/linux/netfilter_arp.h | 16 + .../include/linux/netfilter_arp/arp_tables.h | 137 ++ .../include/linux/netfilter_arp/arpt_mangle.h | 28 + .../usr/include/linux/netfilter_bridge.h | 33 + .../linux/netfilter_bridge/ebt_802_3.h | 45 + .../linux/netfilter_bridge/ebt_among.h | 34 + .../include/linux/netfilter_bridge/ebt_arp.h | 38 + .../linux/netfilter_bridge/ebt_arpreply.h | 14 + .../include/linux/netfilter_bridge/ebt_ip.h | 39 + .../include/linux/netfilter_bridge/ebt_ip6.h | 39 + .../linux/netfilter_bridge/ebt_limit.h | 19 + .../include/linux/netfilter_bridge/ebt_log.h | 21 + .../linux/netfilter_bridge/ebt_mark_m.h | 18 + .../linux/netfilter_bridge/ebt_mark_t.h | 18 + .../include/linux/netfilter_bridge/ebt_nat.h | 17 + .../linux/netfilter_bridge/ebt_nflog.h | 22 + .../linux/netfilter_bridge/ebt_pkttype.h | 14 + .../linux/netfilter_bridge/ebt_redirect.h | 13 + .../include/linux/netfilter_bridge/ebt_stp.h | 43 + .../include/linux/netfilter_bridge/ebt_vlan.h | 21 + .../include/linux/netfilter_bridge/ebtables.h | 233 +++ .../usr/include/linux/netfilter_decnet.h | 48 + .../usr/include/linux/netfilter_ipv4.h | 36 + .../include/linux/netfilter_ipv4/ip_tables.h | 150 ++ .../linux/netfilter_ipv4/ipt_CLUSTERIP.h | 31 + .../include/linux/netfilter_ipv4/ipt_ECN.h | 24 + .../include/linux/netfilter_ipv4/ipt_LOG.h | 20 + .../include/linux/netfilter_ipv4/ipt_REJECT.h | 22 + .../include/linux/netfilter_ipv4/ipt_TTL.h | 19 + .../usr/include/linux/netfilter_ipv4/ipt_ah.h | 15 + .../include/linux/netfilter_ipv4/ipt_ecn.h | 17 + .../include/linux/netfilter_ipv4/ipt_ttl.h | 19 + .../usr/include/linux/netfilter_ipv6.h | 34 + .../include/linux/netfilter_ipv6/ip6_tables.h | 181 ++ .../include/linux/netfilter_ipv6/ip6t_HL.h | 19 + .../include/linux/netfilter_ipv6/ip6t_LOG.h | 20 + .../include/linux/netfilter_ipv6/ip6t_NPT.h | 18 + .../linux/netfilter_ipv6/ip6t_REJECT.h | 23 + .../include/linux/netfilter_ipv6/ip6t_ah.h | 21 + .../include/linux/netfilter_ipv6/ip6t_frag.h | 24 + .../include/linux/netfilter_ipv6/ip6t_hl.h | 19 + .../linux/netfilter_ipv6/ip6t_ipv6header.h | 22 + .../include/linux/netfilter_ipv6/ip6t_mh.h | 15 + .../include/linux/netfilter_ipv6/ip6t_opts.h | 22 + .../include/linux/netfilter_ipv6/ip6t_rt.h | 31 + .../include/linux/netfilter_ipv6/ip6t_srh.h | 64 + .../prebuilts/usr/include/linux/netlink.h | 196 ++ .../usr/include/linux/netlink_diag.h | 57 + .../prebuilts/usr/include/linux/netrom.h | 29 + .../prebuilts/usr/include/linux/nexthop.h | 47 + linux-5.10/prebuilts/usr/include/linux/nfc.h | 162 ++ linux-5.10/prebuilts/usr/include/linux/nfs.h | 116 ++ linux-5.10/prebuilts/usr/include/linux/nfs2.h | 57 + linux-5.10/prebuilts/usr/include/linux/nfs3.h | 86 + linux-5.10/prebuilts/usr/include/linux/nfs4.h | 134 ++ .../prebuilts/usr/include/linux/nfs4_mount.h | 46 + .../prebuilts/usr/include/linux/nfs_fs.h | 41 + .../prebuilts/usr/include/linux/nfs_idmap.h | 25 + .../prebuilts/usr/include/linux/nfs_mount.h | 52 + .../prebuilts/usr/include/linux/nfsacl.h | 23 + .../prebuilts/usr/include/linux/nfsd/cld.h | 62 + .../prebuilts/usr/include/linux/nfsd/debug.h | 22 + .../prebuilts/usr/include/linux/nfsd/export.h | 33 + .../prebuilts/usr/include/linux/nfsd/nfsfh.h | 50 + .../prebuilts/usr/include/linux/nfsd/stats.h | 10 + .../prebuilts/usr/include/linux/nilfs2_api.h | 173 ++ .../usr/include/linux/nilfs2_ondisk.h | 318 +++ .../usr/include/linux/nitro_enclaves.h | 54 + .../prebuilts/usr/include/linux/nl80211.h | 1852 +++++++++++++++++ linux-5.10/prebuilts/usr/include/linux/nsfs.h | 14 + .../prebuilts/usr/include/linux/nubus.h | 154 ++ .../prebuilts/usr/include/linux/nvme_ioctl.h | 74 + .../prebuilts/usr/include/linux/nvram.h | 13 + .../prebuilts/usr/include/linux/omap3isp.h | 360 ++++ .../prebuilts/usr/include/linux/omapfb.h | 174 ++ linux-5.10/prebuilts/usr/include/linux/oom.h | 13 + .../prebuilts/usr/include/linux/openat2.h | 19 + .../prebuilts/usr/include/linux/openvswitch.h | 536 +++++ .../prebuilts/usr/include/linux/packet_diag.h | 72 + .../prebuilts/usr/include/linux/param.h | 9 + .../prebuilts/usr/include/linux/parport.h | 65 + .../prebuilts/usr/include/linux/patchkey.h | 25 + linux-5.10/prebuilts/usr/include/linux/pci.h | 17 + .../prebuilts/usr/include/linux/pci_regs.h | 909 ++++++++ .../prebuilts/usr/include/linux/pcitest.h | 23 + .../prebuilts/usr/include/linux/perf_event.h | 548 +++++ .../prebuilts/usr/include/linux/personality.h | 51 + .../prebuilts/usr/include/linux/pfkeyv2.h | 293 +++ linux-5.10/prebuilts/usr/include/linux/pg.h | 26 + .../prebuilts/usr/include/linux/phantom.h | 33 + .../prebuilts/usr/include/linux/phonet.h | 130 ++ .../prebuilts/usr/include/linux/pidfd.h | 11 + .../prebuilts/usr/include/linux/pkt_cls.h | 579 ++++++ .../prebuilts/usr/include/linux/pkt_sched.h | 940 +++++++++ .../prebuilts/usr/include/linux/pktcdvd.h | 54 + linux-5.10/prebuilts/usr/include/linux/pmu.h | 98 + linux-5.10/prebuilts/usr/include/linux/poll.h | 6 + .../prebuilts/usr/include/linux/posix_acl.h | 20 + .../usr/include/linux/posix_acl_xattr.h | 19 + .../prebuilts/usr/include/linux/posix_types.h | 18 + .../prebuilts/usr/include/linux/ppdev.h | 45 + .../prebuilts/usr/include/linux/ppp-comp.h | 46 + .../prebuilts/usr/include/linux/ppp-ioctl.h | 98 + .../prebuilts/usr/include/linux/ppp_defs.h | 107 + linux-5.10/prebuilts/usr/include/linux/pps.h | 78 + linux-5.10/prebuilts/usr/include/linux/pr.h | 46 + .../prebuilts/usr/include/linux/prctl.h | 152 ++ .../prebuilts/usr/include/linux/psample.h | 51 + linux-5.10/prebuilts/usr/include/linux/psci.h | 81 + .../prebuilts/usr/include/linux/psp-sev.h | 89 + .../prebuilts/usr/include/linux/ptp_clock.h | 135 ++ .../prebuilts/usr/include/linux/ptrace.h | 96 + .../prebuilts/usr/include/linux/qemu_fw_cfg.h | 73 + .../prebuilts/usr/include/linux/qnx4_fs.h | 72 + .../prebuilts/usr/include/linux/qnxtypes.h | 20 + linux-5.10/prebuilts/usr/include/linux/qrtr.h | 45 + .../prebuilts/usr/include/linux/quota.h | 126 ++ .../prebuilts/usr/include/linux/radeonfb.h | 14 + .../prebuilts/usr/include/linux/raid/md_p.h | 269 +++ .../prebuilts/usr/include/linux/raid/md_u.h | 91 + .../prebuilts/usr/include/linux/random.h | 26 + linux-5.10/prebuilts/usr/include/linux/raw.h | 17 + linux-5.10/prebuilts/usr/include/linux/rds.h | 271 +++ .../prebuilts/usr/include/linux/reboot.h | 21 + .../prebuilts/usr/include/linux/reiserfs_fs.h | 15 + .../usr/include/linux/reiserfs_xattr.h | 19 + .../usr/include/linux/remoteproc_cdev.h | 13 + .../prebuilts/usr/include/linux/resource.h | 49 + .../prebuilts/usr/include/linux/rfkill.h | 40 + .../prebuilts/usr/include/linux/rio_cm_cdev.h | 38 + .../usr/include/linux/rio_mport_cdev.h | 184 ++ .../prebuilts/usr/include/linux/romfs_fs.h | 47 + linux-5.10/prebuilts/usr/include/linux/rose.h | 76 + .../prebuilts/usr/include/linux/route.h | 39 + linux-5.10/prebuilts/usr/include/linux/rpl.h | 37 + .../usr/include/linux/rpl_iptunnel.h | 15 + .../prebuilts/usr/include/linux/rpmsg.h | 17 + linux-5.10/prebuilts/usr/include/linux/rseq.h | 65 + linux-5.10/prebuilts/usr/include/linux/rtc.h | 67 + .../prebuilts/usr/include/linux/rtnetlink.h | 576 +++++ .../prebuilts/usr/include/linux/rxrpc.h | 79 + linux-5.10/prebuilts/usr/include/linux/scc.h | 130 ++ .../prebuilts/usr/include/linux/sched.h | 78 + .../prebuilts/usr/include/linux/sched/types.h | 30 + .../prebuilts/usr/include/linux/scif_ioctl.h | 80 + .../prebuilts/usr/include/linux/screen_info.h | 64 + linux-5.10/prebuilts/usr/include/linux/sctp.h | 707 +++++++ linux-5.10/prebuilts/usr/include/linux/sdla.h | 78 + .../prebuilts/usr/include/linux/seccomp.h | 77 + .../prebuilts/usr/include/linux/securebits.h | 33 + .../prebuilts/usr/include/linux/sed-opal.h | 119 ++ linux-5.10/prebuilts/usr/include/linux/seg6.h | 35 + .../prebuilts/usr/include/linux/seg6_genl.h | 31 + .../prebuilts/usr/include/linux/seg6_hmac.h | 22 + .../usr/include/linux/seg6_iptunnel.h | 25 + .../prebuilts/usr/include/linux/seg6_local.h | 64 + .../usr/include/linux/selinux_netlink.h | 34 + linux-5.10/prebuilts/usr/include/linux/sem.h | 65 + .../prebuilts/usr/include/linux/serial.h | 101 + .../prebuilts/usr/include/linux/serial_core.h | 114 + .../prebuilts/usr/include/linux/serial_reg.h | 234 +++ .../prebuilts/usr/include/linux/serio.h | 68 + linux-5.10/prebuilts/usr/include/linux/shm.h | 75 + .../prebuilts/usr/include/linux/signal.h | 14 + .../prebuilts/usr/include/linux/signalfd.h | 37 + linux-5.10/prebuilts/usr/include/linux/smc.h | 25 + .../prebuilts/usr/include/linux/smc_diag.h | 91 + .../prebuilts/usr/include/linux/smiapp.h | 13 + linux-5.10/prebuilts/usr/include/linux/snmp.h | 302 +++ .../prebuilts/usr/include/linux/sock_diag.h | 56 + .../prebuilts/usr/include/linux/socket.h | 22 + .../prebuilts/usr/include/linux/sockios.h | 103 + .../prebuilts/usr/include/linux/sonet.h | 52 + .../prebuilts/usr/include/linux/sonypi.h | 98 + .../prebuilts/usr/include/linux/sound.h | 24 + .../prebuilts/usr/include/linux/soundcard.h | 771 +++++++ .../prebuilts/usr/include/linux/spi/spidev.h | 59 + linux-5.10/prebuilts/usr/include/linux/stat.h | 106 + .../prebuilts/usr/include/linux/stddef.h | 9 + linux-5.10/prebuilts/usr/include/linux/stm.h | 24 + .../prebuilts/usr/include/linux/string.h | 11 + .../usr/include/linux/sunrpc/debug.h | 31 + .../usr/include/linux/suspend_ioctls.h | 30 + linux-5.10/prebuilts/usr/include/linux/swab.h | 199 ++ .../usr/include/linux/switchtec_ioctl.h | 133 ++ .../prebuilts/usr/include/linux/sync_file.h | 35 + .../prebuilts/usr/include/linux/synclink.h | 235 +++ .../prebuilts/usr/include/linux/sysctl.h | 770 +++++++ .../prebuilts/usr/include/linux/sysinfo.h | 26 + .../usr/include/linux/target_core_user.h | 125 ++ .../prebuilts/usr/include/linux/taskstats.h | 117 ++ .../usr/include/linux/tc_act/tc_bpf.h | 26 + .../usr/include/linux/tc_act/tc_connmark.h | 22 + .../usr/include/linux/tc_act/tc_csum.h | 31 + .../usr/include/linux/tc_act/tc_ct.h | 39 + .../usr/include/linux/tc_act/tc_ctinfo.h | 28 + .../usr/include/linux/tc_act/tc_defact.h | 21 + .../usr/include/linux/tc_act/tc_gact.h | 33 + .../usr/include/linux/tc_act/tc_gate.h | 43 + .../usr/include/linux/tc_act/tc_ife.h | 29 + .../usr/include/linux/tc_act/tc_ipt.h | 22 + .../usr/include/linux/tc_act/tc_mirred.h | 27 + .../usr/include/linux/tc_act/tc_mpls.h | 31 + .../usr/include/linux/tc_act/tc_nat.h | 26 + .../usr/include/linux/tc_act/tc_pedit.h | 59 + .../usr/include/linux/tc_act/tc_sample.h | 25 + .../usr/include/linux/tc_act/tc_skbedit.h | 32 + .../usr/include/linux/tc_act/tc_skbmod.h | 28 + .../usr/include/linux/tc_act/tc_tunnel_key.h | 67 + .../usr/include/linux/tc_act/tc_vlan.h | 31 + .../usr/include/linux/tc_ematch/tc_em_cmp.h | 25 + .../usr/include/linux/tc_ematch/tc_em_ipt.h | 20 + .../usr/include/linux/tc_ematch/tc_em_meta.h | 89 + .../usr/include/linux/tc_ematch/tc_em_nbyte.h | 15 + .../usr/include/linux/tc_ematch/tc_em_text.h | 20 + linux-5.10/prebuilts/usr/include/linux/tcp.h | 261 +++ .../prebuilts/usr/include/linux/tcp_metrics.h | 48 + linux-5.10/prebuilts/usr/include/linux/tee.h | 129 ++ .../prebuilts/usr/include/linux/termios.h | 22 + .../prebuilts/usr/include/linux/thermal.h | 81 + linux-5.10/prebuilts/usr/include/linux/time.h | 54 + .../prebuilts/usr/include/linux/time_types.h | 35 + .../prebuilts/usr/include/linux/timerfd.h | 16 + .../prebuilts/usr/include/linux/times.h | 15 + .../prebuilts/usr/include/linux/timex.h | 118 ++ .../prebuilts/usr/include/linux/tiocl.h | 37 + linux-5.10/prebuilts/usr/include/linux/tipc.h | 183 ++ .../prebuilts/usr/include/linux/tipc_config.h | 229 ++ .../usr/include/linux/tipc_netlink.h | 253 +++ .../usr/include/linux/tipc_sockets_diag.h | 16 + linux-5.10/prebuilts/usr/include/linux/tls.h | 79 + .../prebuilts/usr/include/linux/toshiba.h | 22 + linux-5.10/prebuilts/usr/include/linux/tty.h | 38 + .../prebuilts/usr/include/linux/tty_flags.h | 75 + .../prebuilts/usr/include/linux/types.h | 35 + .../prebuilts/usr/include/linux/udf_fs_i.h | 12 + .../prebuilts/usr/include/linux/udmabuf.h | 30 + linux-5.10/prebuilts/usr/include/linux/udp.h | 28 + linux-5.10/prebuilts/usr/include/linux/uhid.h | 142 ++ .../prebuilts/usr/include/linux/uinput.h | 67 + linux-5.10/prebuilts/usr/include/linux/uio.h | 18 + .../prebuilts/usr/include/linux/uleds.h | 13 + .../prebuilts/usr/include/linux/ultrasound.h | 51 + .../usr/include/linux/um_timetravel.h | 37 + linux-5.10/prebuilts/usr/include/linux/un.h | 15 + .../prebuilts/usr/include/linux/unistd.h | 9 + .../prebuilts/usr/include/linux/unix_diag.h | 54 + .../prebuilts/usr/include/linux/usb/audio.h | 489 +++++ .../prebuilts/usr/include/linux/usb/cdc-wdm.h | 10 + .../prebuilts/usr/include/linux/usb/cdc.h | 301 +++ .../prebuilts/usr/include/linux/usb/ch11.h | 171 ++ .../prebuilts/usr/include/linux/usb/ch9.h | 681 ++++++ .../prebuilts/usr/include/linux/usb/charger.h | 20 + .../usr/include/linux/usb/f_accessory.h | 33 + .../usr/include/linux/usb/functionfs.h | 104 + .../usr/include/linux/usb/g_printer.h | 13 + .../prebuilts/usr/include/linux/usb/g_uvc.h | 31 + .../usr/include/linux/usb/gadgetfs.h | 32 + .../prebuilts/usr/include/linux/usb/midi.h | 75 + .../usr/include/linux/usb/raw_gadget.h | 87 + .../prebuilts/usr/include/linux/usb/tmc.h | 88 + .../prebuilts/usr/include/linux/usb/video.h | 450 ++++ .../usr/include/linux/usbdevice_fs.h | 163 ++ .../prebuilts/usr/include/linux/usbip.h | 22 + .../prebuilts/usr/include/linux/userfaultfd.h | 145 ++ .../prebuilts/usr/include/linux/userio.h | 18 + .../prebuilts/usr/include/linux/utime.h | 13 + .../prebuilts/usr/include/linux/utsname.h | 32 + linux-5.10/prebuilts/usr/include/linux/uuid.h | 24 + .../prebuilts/usr/include/linux/uvcvideo.h | 63 + .../prebuilts/usr/include/linux/v4l2-common.h | 38 + .../usr/include/linux/v4l2-controls.h | 973 +++++++++ .../usr/include/linux/v4l2-dv-timings.h | 821 ++++++++ .../usr/include/linux/v4l2-mediabus.h | 111 + .../prebuilts/usr/include/linux/v4l2-subdev.h | 105 + .../prebuilts/usr/include/linux/vbox_err.h | 144 ++ .../usr/include/linux/vbox_vmmdev_types.h | 206 ++ .../prebuilts/usr/include/linux/vboxguest.h | 228 ++ .../prebuilts/usr/include/linux/version.h | 7 + linux-5.10/prebuilts/usr/include/linux/veth.h | 14 + linux-5.10/prebuilts/usr/include/linux/vfio.h | 432 ++++ .../prebuilts/usr/include/linux/vfio_ccw.h | 32 + .../prebuilts/usr/include/linux/vfio_zdev.h | 41 + .../prebuilts/usr/include/linux/vhost.h | 60 + .../prebuilts/usr/include/linux/vhost_types.h | 100 + .../prebuilts/usr/include/linux/videodev2.h | 1595 ++++++++++++++ .../prebuilts/usr/include/linux/virtio_9p.h | 18 + .../usr/include/linux/virtio_balloon.h | 62 + .../prebuilts/usr/include/linux/virtio_blk.h | 116 ++ .../usr/include/linux/virtio_config.h | 29 + .../usr/include/linux/virtio_console.h | 39 + .../usr/include/linux/virtio_crypto.h | 347 +++ .../prebuilts/usr/include/linux/virtio_fs.h | 19 + .../prebuilts/usr/include/linux/virtio_gpu.h | 245 +++ .../prebuilts/usr/include/linux/virtio_ids.h | 27 + .../usr/include/linux/virtio_input.h | 48 + .../usr/include/linux/virtio_iommu.h | 130 ++ .../prebuilts/usr/include/linux/virtio_mem.h | 75 + .../prebuilts/usr/include/linux/virtio_mmio.h | 46 + .../prebuilts/usr/include/linux/virtio_net.h | 194 ++ .../prebuilts/usr/include/linux/virtio_pci.h | 110 + .../prebuilts/usr/include/linux/virtio_pmem.h | 24 + .../prebuilts/usr/include/linux/virtio_ring.h | 109 + .../prebuilts/usr/include/linux/virtio_rng.h | 10 + .../prebuilts/usr/include/linux/virtio_scsi.h | 118 ++ .../usr/include/linux/virtio_types.h | 12 + .../usr/include/linux/virtio_vsock.h | 53 + .../prebuilts/usr/include/linux/vm_sockets.h | 36 + .../usr/include/linux/vm_sockets_diag.h | 30 + .../prebuilts/usr/include/linux/vmcore.h | 18 + .../prebuilts/usr/include/linux/vsoc_shm.h | 87 + .../prebuilts/usr/include/linux/vsockmon.h | 32 + linux-5.10/prebuilts/usr/include/linux/vt.h | 70 + .../prebuilts/usr/include/linux/vtpm_proxy.h | 23 + linux-5.10/prebuilts/usr/include/linux/wait.h | 21 + .../prebuilts/usr/include/linux/wanrouter.h | 15 + .../prebuilts/usr/include/linux/watch_queue.h | 72 + .../prebuilts/usr/include/linux/watchdog.h | 44 + .../prebuilts/usr/include/linux/wimax.h | 61 + .../usr/include/linux/wimax/i2400m.h | 298 +++ .../prebuilts/usr/include/linux/wireguard.h | 64 + .../prebuilts/usr/include/linux/wireless.h | 473 +++++ linux-5.10/prebuilts/usr/include/linux/wmi.h | 49 + linux-5.10/prebuilts/usr/include/linux/x25.h | 84 + .../prebuilts/usr/include/linux/xattr.h | 56 + .../prebuilts/usr/include/linux/xdp_diag.h | 70 + linux-5.10/prebuilts/usr/include/linux/xfrm.h | 450 ++++ .../usr/include/linux/xilinx-v4l2-controls.h | 29 + .../prebuilts/usr/include/linux/zorro.h | 69 + .../prebuilts/usr/include/linux/zorro_ids.h | 434 ++++ linux-5.10/prebuilts/usr/include/misc/cxl.h | 114 + .../prebuilts/usr/include/misc/fastrpc.h | 51 + .../prebuilts/usr/include/misc/habanalabs.h | 572 +++++ linux-5.10/prebuilts/usr/include/misc/ocxl.h | 65 + .../prebuilts/usr/include/misc/pvpanic.h | 10 + .../usr/include/misc/uacce/hisi_qm.h | 16 + .../prebuilts/usr/include/misc/uacce/uacce.h | 17 + .../prebuilts/usr/include/misc/xilinx_sdfec.h | 122 ++ .../prebuilts/usr/include/mtd/inftl-user.h | 70 + .../prebuilts/usr/include/mtd/mtd-abi.h | 145 ++ .../prebuilts/usr/include/mtd/mtd-user.h | 14 + .../prebuilts/usr/include/mtd/nftl-user.h | 56 + .../prebuilts/usr/include/mtd/ubi-user.h | 96 + .../prebuilts/usr/include/rdma/bnxt_re-abi.h | 64 + .../prebuilts/usr/include/rdma/cxgb3-abi.h | 39 + .../prebuilts/usr/include/rdma/cxgb4-abi.h | 68 + .../prebuilts/usr/include/rdma/efa-abi.h | 95 + .../usr/include/rdma/hfi/hfi1_ioctl.h | 81 + .../usr/include/rdma/hfi/hfi1_user.h | 120 ++ .../prebuilts/usr/include/rdma/hns-abi.h | 47 + .../prebuilts/usr/include/rdma/i40iw-abi.h | 63 + .../prebuilts/usr/include/rdma/ib_user_cm.h | 255 +++ .../usr/include/rdma/ib_user_ioctl_cmds.h | 289 +++ .../usr/include/rdma/ib_user_ioctl_verbs.h | 199 ++ .../prebuilts/usr/include/rdma/ib_user_mad.h | 80 + .../prebuilts/usr/include/rdma/ib_user_sa.h | 44 + .../usr/include/rdma/ib_user_verbs.h | 1090 ++++++++++ .../prebuilts/usr/include/rdma/mlx4-abi.h | 117 ++ .../prebuilts/usr/include/rdma/mlx5-abi.h | 378 ++++ .../usr/include/rdma/mlx5_user_ioctl_cmds.h | 227 ++ .../usr/include/rdma/mlx5_user_ioctl_verbs.h | 48 + .../prebuilts/usr/include/rdma/mthca-abi.h | 56 + .../prebuilts/usr/include/rdma/nes-abi.h | 63 + .../prebuilts/usr/include/rdma/ocrdma-abi.h | 97 + .../prebuilts/usr/include/rdma/qedr-abi.h | 112 + .../prebuilts/usr/include/rdma/rdma_netlink.h | 343 +++ .../prebuilts/usr/include/rdma/rdma_user_cm.h | 261 +++ .../usr/include/rdma/rdma_user_ioctl.h | 29 + .../usr/include/rdma/rdma_user_ioctl_cmds.h | 47 + .../usr/include/rdma/rdma_user_rxe.h | 139 ++ .../prebuilts/usr/include/rdma/rvt-abi.h | 39 + .../prebuilts/usr/include/rdma/siw-abi.h | 147 ++ .../usr/include/rdma/vmw_pvrdma-abi.h | 236 +++ .../usr/include/scsi/cxlflash_ioctl.h | 173 ++ .../prebuilts/usr/include/scsi/fc/fc_els.h | 703 +++++++ .../prebuilts/usr/include/scsi/fc/fc_fs.h | 237 +++ .../prebuilts/usr/include/scsi/fc/fc_gs.h | 56 + .../prebuilts/usr/include/scsi/fc/fc_ns.h | 108 + .../prebuilts/usr/include/scsi/scsi_bsg_fc.h | 106 + .../prebuilts/usr/include/scsi/scsi_bsg_ufs.h | 50 + .../prebuilts/usr/include/scsi/scsi_netlink.h | 48 + .../usr/include/scsi/scsi_netlink_fc.h | 24 + .../prebuilts/usr/include/sound/asequencer.h | 417 ++++ linux-5.10/prebuilts/usr/include/sound/asoc.h | 379 ++++ .../prebuilts/usr/include/sound/asound.h | 939 +++++++++ .../prebuilts/usr/include/sound/asound_fm.h | 77 + .../usr/include/sound/compress_offload.h | 81 + .../usr/include/sound/compress_params.h | 229 ++ .../prebuilts/usr/include/sound/emu10k1.h | 315 +++ .../prebuilts/usr/include/sound/firewire.h | 89 + linux-5.10/prebuilts/usr/include/sound/hdsp.h | 74 + .../prebuilts/usr/include/sound/hdspm.h | 139 ++ .../prebuilts/usr/include/sound/sb16_csp.h | 64 + .../prebuilts/usr/include/sound/sfnt_info.h | 139 ++ .../usr/include/sound/skl-tplg-interface.h | 174 ++ .../usr/include/sound/snd_sst_tokens.h | 89 + .../prebuilts/usr/include/sound/sof/abi.h | 33 + .../prebuilts/usr/include/sound/sof/fw.h | 53 + .../prebuilts/usr/include/sound/sof/header.h | 17 + .../prebuilts/usr/include/sound/sof/tokens.h | 76 + linux-5.10/prebuilts/usr/include/sound/tlv.h | 71 + .../prebuilts/usr/include/sound/usb_stream.h | 51 + linux-5.10/prebuilts/usr/include/video/edid.h | 11 + .../prebuilts/usr/include/video/sisfb.h | 118 ++ .../prebuilts/usr/include/video/uvesafb.h | 54 + linux-5.10/prebuilts/usr/include/xen/evtchn.h | 40 + .../prebuilts/usr/include/xen/gntalloc.h | 49 + linux-5.10/prebuilts/usr/include/xen/gntdev.h | 144 ++ .../prebuilts/usr/include/xen/privcmd.h | 72 + 1037 files changed, 104325 insertions(+) create mode 100755 linux-5.10/prebuilts/linux_header_install.sh create mode 100755 linux-5.10/prebuilts/thirdparty_headers.sh create mode 100755 linux-5.10/prebuilts/update_headers.py create mode 100644 linux-5.10/prebuilts/usr/include/Kbuild create mode 100644 linux-5.10/prebuilts/usr/include/asm-arm/asm/Kbuild create mode 100644 linux-5.10/prebuilts/usr/include/asm-arm/asm/auxvec.h create mode 100644 linux-5.10/prebuilts/usr/include/asm-arm/asm/bitsperlong.h create mode 100644 linux-5.10/prebuilts/usr/include/asm-arm/asm/bpf_perf_event.h create mode 100644 linux-5.10/prebuilts/usr/include/asm-arm/asm/byteorder.h create mode 100644 linux-5.10/prebuilts/usr/include/asm-arm/asm/errno.h create mode 100644 linux-5.10/prebuilts/usr/include/asm-arm/asm/fcntl.h create mode 100644 linux-5.10/prebuilts/usr/include/asm-arm/asm/hwcap.h create mode 100644 linux-5.10/prebuilts/usr/include/asm-arm/asm/ioctl.h create mode 100644 linux-5.10/prebuilts/usr/include/asm-arm/asm/ioctls.h create mode 100644 linux-5.10/prebuilts/usr/include/asm-arm/asm/ipcbuf.h create mode 100644 linux-5.10/prebuilts/usr/include/asm-arm/asm/kvm.h create mode 100644 linux-5.10/prebuilts/usr/include/asm-arm/asm/kvm_para.h create mode 100644 linux-5.10/prebuilts/usr/include/asm-arm/asm/mman.h create mode 100644 linux-5.10/prebuilts/usr/include/asm-arm/asm/msgbuf.h create mode 100644 linux-5.10/prebuilts/usr/include/asm-arm/asm/param.h create mode 100644 linux-5.10/prebuilts/usr/include/asm-arm/asm/perf_regs.h create mode 100644 linux-5.10/prebuilts/usr/include/asm-arm/asm/poll.h create mode 100644 linux-5.10/prebuilts/usr/include/asm-arm/asm/posix_types.h create mode 100644 linux-5.10/prebuilts/usr/include/asm-arm/asm/ptrace.h create mode 100644 linux-5.10/prebuilts/usr/include/asm-arm/asm/resource.h create mode 100644 linux-5.10/prebuilts/usr/include/asm-arm/asm/sembuf.h create mode 100644 linux-5.10/prebuilts/usr/include/asm-arm/asm/setup.h create mode 100644 linux-5.10/prebuilts/usr/include/asm-arm/asm/shmbuf.h create mode 100644 linux-5.10/prebuilts/usr/include/asm-arm/asm/sigcontext.h create mode 100644 linux-5.10/prebuilts/usr/include/asm-arm/asm/siginfo.h create mode 100644 linux-5.10/prebuilts/usr/include/asm-arm/asm/signal.h create mode 100644 linux-5.10/prebuilts/usr/include/asm-arm/asm/socket.h create mode 100644 linux-5.10/prebuilts/usr/include/asm-arm/asm/sockios.h create mode 100644 linux-5.10/prebuilts/usr/include/asm-arm/asm/stat.h create mode 100644 linux-5.10/prebuilts/usr/include/asm-arm/asm/statfs.h create mode 100644 linux-5.10/prebuilts/usr/include/asm-arm/asm/swab.h create mode 100644 linux-5.10/prebuilts/usr/include/asm-arm/asm/termbits.h create mode 100644 linux-5.10/prebuilts/usr/include/asm-arm/asm/termios.h create mode 100644 linux-5.10/prebuilts/usr/include/asm-arm/asm/types.h create mode 100644 linux-5.10/prebuilts/usr/include/asm-arm/asm/unistd-common.h create mode 100644 linux-5.10/prebuilts/usr/include/asm-arm/asm/unistd-eabi.h create mode 100644 linux-5.10/prebuilts/usr/include/asm-arm/asm/unistd-oabi.h create mode 100644 linux-5.10/prebuilts/usr/include/asm-arm/asm/unistd.h create mode 100644 linux-5.10/prebuilts/usr/include/asm-arm/uapi/asm/.unistd-common.h.cmd create mode 100644 linux-5.10/prebuilts/usr/include/asm-arm/uapi/asm/.unistd-eabi.h.cmd create mode 100644 linux-5.10/prebuilts/usr/include/asm-arm/uapi/asm/.unistd-oabi.h.cmd create mode 100644 linux-5.10/prebuilts/usr/include/asm-arm/uapi/asm/bitsperlong.h create mode 100644 linux-5.10/prebuilts/usr/include/asm-arm/uapi/asm/bpf_perf_event.h create mode 100644 linux-5.10/prebuilts/usr/include/asm-arm/uapi/asm/errno.h create mode 100644 linux-5.10/prebuilts/usr/include/asm-arm/uapi/asm/ioctl.h create mode 100644 linux-5.10/prebuilts/usr/include/asm-arm/uapi/asm/ipcbuf.h create mode 100644 linux-5.10/prebuilts/usr/include/asm-arm/uapi/asm/kvm_para.h create mode 100644 linux-5.10/prebuilts/usr/include/asm-arm/uapi/asm/msgbuf.h create mode 100644 linux-5.10/prebuilts/usr/include/asm-arm/uapi/asm/param.h create mode 100644 linux-5.10/prebuilts/usr/include/asm-arm/uapi/asm/poll.h create mode 100644 linux-5.10/prebuilts/usr/include/asm-arm/uapi/asm/resource.h create mode 100644 linux-5.10/prebuilts/usr/include/asm-arm/uapi/asm/sembuf.h create mode 100644 linux-5.10/prebuilts/usr/include/asm-arm/uapi/asm/shmbuf.h create mode 100644 linux-5.10/prebuilts/usr/include/asm-arm/uapi/asm/siginfo.h create mode 100644 linux-5.10/prebuilts/usr/include/asm-arm/uapi/asm/socket.h create mode 100644 linux-5.10/prebuilts/usr/include/asm-arm/uapi/asm/sockios.h create mode 100644 linux-5.10/prebuilts/usr/include/asm-arm/uapi/asm/termbits.h create mode 100644 linux-5.10/prebuilts/usr/include/asm-arm/uapi/asm/termios.h create mode 100644 linux-5.10/prebuilts/usr/include/asm-arm/uapi/asm/unistd-common.h create mode 100644 linux-5.10/prebuilts/usr/include/asm-arm/uapi/asm/unistd-eabi.h create mode 100644 linux-5.10/prebuilts/usr/include/asm-arm/uapi/asm/unistd-oabi.h create mode 100644 linux-5.10/prebuilts/usr/include/asm-arm64/asm/auxvec.h create mode 100644 linux-5.10/prebuilts/usr/include/asm-arm64/asm/bitsperlong.h create mode 100644 linux-5.10/prebuilts/usr/include/asm-arm64/asm/bpf_perf_event.h create mode 100644 linux-5.10/prebuilts/usr/include/asm-arm64/asm/byteorder.h create mode 100644 linux-5.10/prebuilts/usr/include/asm-arm64/asm/errno.h create mode 100644 linux-5.10/prebuilts/usr/include/asm-arm64/asm/fcntl.h create mode 100644 linux-5.10/prebuilts/usr/include/asm-arm64/asm/hwcap.h create mode 100644 linux-5.10/prebuilts/usr/include/asm-arm64/asm/ioctl.h create mode 100644 linux-5.10/prebuilts/usr/include/asm-arm64/asm/ioctls.h create mode 100644 linux-5.10/prebuilts/usr/include/asm-arm64/asm/ipcbuf.h create mode 100644 linux-5.10/prebuilts/usr/include/asm-arm64/asm/kvm.h create mode 100644 linux-5.10/prebuilts/usr/include/asm-arm64/asm/kvm_para.h create mode 100644 linux-5.10/prebuilts/usr/include/asm-arm64/asm/mman.h create mode 100644 linux-5.10/prebuilts/usr/include/asm-arm64/asm/msgbuf.h create mode 100644 linux-5.10/prebuilts/usr/include/asm-arm64/asm/param.h create mode 100644 linux-5.10/prebuilts/usr/include/asm-arm64/asm/perf_regs.h create mode 100644 linux-5.10/prebuilts/usr/include/asm-arm64/asm/poll.h create mode 100644 linux-5.10/prebuilts/usr/include/asm-arm64/asm/posix_types.h create mode 100644 linux-5.10/prebuilts/usr/include/asm-arm64/asm/ptrace.h create mode 100644 linux-5.10/prebuilts/usr/include/asm-arm64/asm/resource.h create mode 100644 linux-5.10/prebuilts/usr/include/asm-arm64/asm/sembuf.h create mode 100644 linux-5.10/prebuilts/usr/include/asm-arm64/asm/setup.h create mode 100644 linux-5.10/prebuilts/usr/include/asm-arm64/asm/shmbuf.h create mode 100644 linux-5.10/prebuilts/usr/include/asm-arm64/asm/sigcontext.h create mode 100644 linux-5.10/prebuilts/usr/include/asm-arm64/asm/siginfo.h create mode 100644 linux-5.10/prebuilts/usr/include/asm-arm64/asm/signal.h create mode 100644 linux-5.10/prebuilts/usr/include/asm-arm64/asm/socket.h create mode 100644 linux-5.10/prebuilts/usr/include/asm-arm64/asm/sockios.h create mode 100644 linux-5.10/prebuilts/usr/include/asm-arm64/asm/stat.h create mode 100644 linux-5.10/prebuilts/usr/include/asm-arm64/asm/statfs.h create mode 100644 linux-5.10/prebuilts/usr/include/asm-arm64/asm/swab.h create mode 100644 linux-5.10/prebuilts/usr/include/asm-arm64/asm/termbits.h create mode 100644 linux-5.10/prebuilts/usr/include/asm-arm64/asm/termios.h create mode 100644 linux-5.10/prebuilts/usr/include/asm-arm64/asm/types.h create mode 100644 linux-5.10/prebuilts/usr/include/asm-arm64/asm/ucontext.h create mode 100644 linux-5.10/prebuilts/usr/include/asm-arm64/asm/unistd.h create mode 100644 linux-5.10/prebuilts/usr/include/asm-generic/Kbuild create mode 100644 linux-5.10/prebuilts/usr/include/asm-generic/auxvec.h create mode 100644 linux-5.10/prebuilts/usr/include/asm-generic/bitsperlong.h create mode 100644 linux-5.10/prebuilts/usr/include/asm-generic/bpf_perf_event.h create mode 100644 linux-5.10/prebuilts/usr/include/asm-generic/errno-base.h create mode 100644 linux-5.10/prebuilts/usr/include/asm-generic/errno.h create mode 100644 linux-5.10/prebuilts/usr/include/asm-generic/fcntl.h create mode 100644 linux-5.10/prebuilts/usr/include/asm-generic/hugetlb_encode.h create mode 100644 linux-5.10/prebuilts/usr/include/asm-generic/int-l64.h create mode 100644 linux-5.10/prebuilts/usr/include/asm-generic/int-ll64.h create mode 100644 linux-5.10/prebuilts/usr/include/asm-generic/ioctl.h create mode 100644 linux-5.10/prebuilts/usr/include/asm-generic/ioctls.h create mode 100644 linux-5.10/prebuilts/usr/include/asm-generic/ipcbuf.h create mode 100644 linux-5.10/prebuilts/usr/include/asm-generic/kvm_para.h create mode 100644 linux-5.10/prebuilts/usr/include/asm-generic/mman-common.h create mode 100644 linux-5.10/prebuilts/usr/include/asm-generic/mman.h create mode 100644 linux-5.10/prebuilts/usr/include/asm-generic/msgbuf.h create mode 100644 linux-5.10/prebuilts/usr/include/asm-generic/param.h create mode 100644 linux-5.10/prebuilts/usr/include/asm-generic/poll.h create mode 100644 linux-5.10/prebuilts/usr/include/asm-generic/posix_types.h create mode 100644 linux-5.10/prebuilts/usr/include/asm-generic/resource.h create mode 100644 linux-5.10/prebuilts/usr/include/asm-generic/sembuf.h create mode 100644 linux-5.10/prebuilts/usr/include/asm-generic/setup.h create mode 100644 linux-5.10/prebuilts/usr/include/asm-generic/shmbuf.h create mode 100644 linux-5.10/prebuilts/usr/include/asm-generic/shmparam.h create mode 100644 linux-5.10/prebuilts/usr/include/asm-generic/siginfo.h create mode 100644 linux-5.10/prebuilts/usr/include/asm-generic/signal-defs.h create mode 100644 linux-5.10/prebuilts/usr/include/asm-generic/signal.h create mode 100644 linux-5.10/prebuilts/usr/include/asm-generic/socket.h create mode 100644 linux-5.10/prebuilts/usr/include/asm-generic/sockios.h create mode 100644 linux-5.10/prebuilts/usr/include/asm-generic/stat.h create mode 100644 linux-5.10/prebuilts/usr/include/asm-generic/statfs.h create mode 100644 linux-5.10/prebuilts/usr/include/asm-generic/swab.h create mode 100644 linux-5.10/prebuilts/usr/include/asm-generic/termbits.h create mode 100644 linux-5.10/prebuilts/usr/include/asm-generic/termios.h create mode 100644 linux-5.10/prebuilts/usr/include/asm-generic/types.h create mode 100644 linux-5.10/prebuilts/usr/include/asm-generic/ucontext.h create mode 100644 linux-5.10/prebuilts/usr/include/asm-generic/unistd.h create mode 100644 linux-5.10/prebuilts/usr/include/asm/auxvec.h create mode 100644 linux-5.10/prebuilts/usr/include/asm/bitsperlong.h create mode 100644 linux-5.10/prebuilts/usr/include/asm/bpf_perf_event.h create mode 100644 linux-5.10/prebuilts/usr/include/asm/byteorder.h create mode 100644 linux-5.10/prebuilts/usr/include/asm/errno.h create mode 100644 linux-5.10/prebuilts/usr/include/asm/fcntl.h create mode 100644 linux-5.10/prebuilts/usr/include/asm/hwcap.h create mode 100644 linux-5.10/prebuilts/usr/include/asm/ioctl.h create mode 100644 linux-5.10/prebuilts/usr/include/asm/ioctls.h create mode 100644 linux-5.10/prebuilts/usr/include/asm/ipcbuf.h create mode 100644 linux-5.10/prebuilts/usr/include/asm/kvm_para.h create mode 100644 linux-5.10/prebuilts/usr/include/asm/mman.h create mode 100644 linux-5.10/prebuilts/usr/include/asm/msgbuf.h create mode 100644 linux-5.10/prebuilts/usr/include/asm/param.h create mode 100644 linux-5.10/prebuilts/usr/include/asm/perf_regs.h create mode 100644 linux-5.10/prebuilts/usr/include/asm/poll.h create mode 100644 linux-5.10/prebuilts/usr/include/asm/posix_types.h create mode 100644 linux-5.10/prebuilts/usr/include/asm/ptrace.h create mode 100644 linux-5.10/prebuilts/usr/include/asm/resource.h create mode 100644 linux-5.10/prebuilts/usr/include/asm/sembuf.h create mode 100644 linux-5.10/prebuilts/usr/include/asm/setup.h create mode 100644 linux-5.10/prebuilts/usr/include/asm/shmbuf.h create mode 100644 linux-5.10/prebuilts/usr/include/asm/sigcontext.h create mode 100644 linux-5.10/prebuilts/usr/include/asm/siginfo.h create mode 100644 linux-5.10/prebuilts/usr/include/asm/signal.h create mode 100644 linux-5.10/prebuilts/usr/include/asm/socket.h create mode 100644 linux-5.10/prebuilts/usr/include/asm/sockios.h create mode 100644 linux-5.10/prebuilts/usr/include/asm/stat.h create mode 100644 linux-5.10/prebuilts/usr/include/asm/statfs.h create mode 100644 linux-5.10/prebuilts/usr/include/asm/swab.h create mode 100644 linux-5.10/prebuilts/usr/include/asm/termbits.h create mode 100644 linux-5.10/prebuilts/usr/include/asm/termios.h create mode 100644 linux-5.10/prebuilts/usr/include/asm/types.h create mode 100644 linux-5.10/prebuilts/usr/include/asm/unistd-common.h create mode 100644 linux-5.10/prebuilts/usr/include/asm/unistd-eabi.h create mode 100644 linux-5.10/prebuilts/usr/include/asm/unistd-oabi.h create mode 100644 linux-5.10/prebuilts/usr/include/asm/unistd.h create mode 100644 linux-5.10/prebuilts/usr/include/drm/amdgpu_drm.h create mode 100644 linux-5.10/prebuilts/usr/include/drm/armada_drm.h create mode 100644 linux-5.10/prebuilts/usr/include/drm/drm.h create mode 100644 linux-5.10/prebuilts/usr/include/drm/drm_fourcc.h create mode 100644 linux-5.10/prebuilts/usr/include/drm/drm_mode.h create mode 100644 linux-5.10/prebuilts/usr/include/drm/drm_sarea.h create mode 100644 linux-5.10/prebuilts/usr/include/drm/etnaviv_drm.h create mode 100644 linux-5.10/prebuilts/usr/include/drm/exynos_drm.h create mode 100644 linux-5.10/prebuilts/usr/include/drm/i810_drm.h create mode 100644 linux-5.10/prebuilts/usr/include/drm/i915_drm.h create mode 100644 linux-5.10/prebuilts/usr/include/drm/lima_drm.h create mode 100644 linux-5.10/prebuilts/usr/include/drm/mga_drm.h create mode 100644 linux-5.10/prebuilts/usr/include/drm/msm_drm.h create mode 100644 linux-5.10/prebuilts/usr/include/drm/nouveau_drm.h create mode 100644 linux-5.10/prebuilts/usr/include/drm/omap_drm.h create mode 100644 linux-5.10/prebuilts/usr/include/drm/panfrost_drm.h create mode 100644 linux-5.10/prebuilts/usr/include/drm/qxl_drm.h create mode 100644 linux-5.10/prebuilts/usr/include/drm/r128_drm.h create mode 100644 linux-5.10/prebuilts/usr/include/drm/radeon_drm.h create mode 100644 linux-5.10/prebuilts/usr/include/drm/savage_drm.h create mode 100644 linux-5.10/prebuilts/usr/include/drm/sis_drm.h create mode 100644 linux-5.10/prebuilts/usr/include/drm/tegra_drm.h create mode 100644 linux-5.10/prebuilts/usr/include/drm/v3d_drm.h create mode 100644 linux-5.10/prebuilts/usr/include/drm/vc4_drm.h create mode 100644 linux-5.10/prebuilts/usr/include/drm/vgem_drm.h create mode 100644 linux-5.10/prebuilts/usr/include/drm/via_drm.h create mode 100644 linux-5.10/prebuilts/usr/include/drm/virtgpu_drm.h create mode 100644 linux-5.10/prebuilts/usr/include/drm/vmwgfx_drm.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/a.out.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/acct.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/adb.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/adfs_fs.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/affs_hardblocks.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/agpgart.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/aio_abi.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/am437x-vpfe.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/android/binder.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/android/binderfs.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/apm_bios.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/arcfb.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/arm_sdei.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/ashmem.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/aspeed-lpc-ctrl.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/aspeed-p2a-ctrl.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/atalk.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/atm.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/atm_eni.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/atm_he.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/atm_idt77105.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/atm_nicstar.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/atm_tcp.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/atm_zatm.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/atmapi.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/atmarp.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/atmbr2684.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/atmclip.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/atmdev.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/atmioc.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/atmlec.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/atmmpc.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/atmppp.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/atmsap.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/atmsvc.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/audit.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/auto_dev-ioctl.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/auto_fs.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/auto_fs4.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/auxvec.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/ax25.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/b1lli.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/batadv_packet.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/batman_adv.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/baycom.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/bcache.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/bcm933xx_hcs.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/bfs_fs.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/binfmts.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/blkpg.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/blktrace_api.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/blkzoned.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/bpf.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/bpf_common.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/bpf_perf_event.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/bpfilter.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/bpqether.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/bsg.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/bt-bmc.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/btf.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/btrfs.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/btrfs_tree.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/byteorder/big_endian.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/byteorder/little_endian.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/caif/caif_socket.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/caif/if_caif.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/can.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/can/bcm.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/can/error.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/can/gw.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/can/isotp.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/can/j1939.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/can/netlink.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/can/raw.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/can/vxcan.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/capability.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/capi.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/cciss_defs.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/cciss_ioctl.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/cdrom.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/cec-funcs.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/cec.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/cgroupstats.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/chio.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/cifs/cifs_mount.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/close_range.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/cm4000_cs.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/cn_proc.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/coda.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/coda_psdev.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/coff.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/compiler.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/compiler_types.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/connector.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/const.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/coresight-stm.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/cramfs_fs.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/cryptouser.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/cuda.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/cyclades.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/cycx_cfm.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/dcbnl.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/dccp.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/devlink.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/dlm.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/dlm_device.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/dlm_netlink.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/dlm_plock.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/dlmconstants.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/dm-ioctl.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/dm-log-userspace.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/dma-buf.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/dma-heap.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/dn.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/dns_resolver.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/dqblk_xfs.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/dvb/audio.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/dvb/ca.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/dvb/dmx.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/dvb/frontend.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/dvb/net.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/dvb/osd.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/dvb/version.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/dvb/video.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/edd.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/efs_fs_sb.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/elf-em.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/elf-fdpic.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/elf.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/elfcore.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/errno.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/errqueue.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/erspan.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/ethtool.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/ethtool_netlink.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/eventpoll.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/f2fs.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/fadvise.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/falloc.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/fanotify.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/fb.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/fcntl.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/fd.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/fdreg.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/fib_rules.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/fiemap.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/filter.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/firewire-cdev.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/firewire-constants.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/flat.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/fou.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/fpga-dfl.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/fs.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/fscrypt.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/fsi.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/fsl_hypervisor.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/fsmap.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/fsverity.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/fuse.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/futex.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/gameport.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/gen_stats.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/genetlink.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/genwqe/genwqe_card.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/gfs2_ondisk.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/gigaset_dev.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/gpio.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/gsmmux.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/gtp.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/hash_info.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/hdlc.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/hdlc/ioctl.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/hdlcdrv.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/hdreg.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/hid.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/hiddev.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/hidraw.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/hpet.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/hsi/cs-protocol.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/hsi/hsi_char.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/hsr_netlink.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/hw_breakpoint.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/hyperv.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/hysdn_if.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/i2c-dev.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/i2c.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/i2o-dev.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/i8k.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/icmp.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/icmpv6.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/idxd.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/if.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/if_addr.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/if_addrlabel.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/if_alg.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/if_arcnet.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/if_arp.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/if_bonding.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/if_bridge.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/if_cablemodem.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/if_eql.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/if_ether.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/if_fc.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/if_fddi.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/if_frad.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/if_hippi.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/if_infiniband.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/if_link.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/if_ltalk.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/if_macsec.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/if_packet.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/if_phonet.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/if_plip.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/if_ppp.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/if_pppol2tp.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/if_pppox.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/if_slip.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/if_team.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/if_tun.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/if_tunnel.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/if_vlan.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/if_x25.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/if_xdp.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/ife.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/igmp.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/iio/events.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/iio/types.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/ila.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/in.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/in6.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/in_route.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/inet_diag.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/inotify.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/input-event-codes.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/input.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/io_uring.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/ioctl.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/iommu.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/ion.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/ip.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/ip6_tunnel.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/ip_vs.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/ipc.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/ipmi.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/ipmi_bmc.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/ipmi_msgdefs.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/ipsec.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/ipv6.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/ipv6_route.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/ipx.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/irqnr.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/isdn.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/isdn/capicmd.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/isdn_divertif.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/isdn_ppp.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/isdnif.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/iso_fs.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/isst_if.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/ivtv.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/ivtvfb.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/jffs2.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/joystick.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/kcm.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/kcmp.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/kcov.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/kd.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/kdev_t.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/kernel-page-flags.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/kernel.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/kernelcapi.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/kexec.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/keyboard.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/keyctl.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/kfd_ioctl.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/kvm.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/kvm_para.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/l2tp.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/libc-compat.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/lightnvm.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/limits.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/lirc.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/llc.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/loop.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/lp.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/lwtunnel.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/magic.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/major.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/map_to_7segment.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/matroxfb.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/max2175.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/mdio.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/media-bus-format.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/media.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/mei.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/membarrier.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/memfd.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/mempolicy.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/meye.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/mic_common.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/mic_ioctl.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/mii.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/minix_fs.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/mman.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/mmc/ioctl.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/mmtimer.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/module.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/mount.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/mpls.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/mpls_iptunnel.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/mptcp.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/mqueue.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/mroute.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/mroute6.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/mrp_bridge.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/msdos_fs.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/msg.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/mtio.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/n_r3964.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/nbd-netlink.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/nbd.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/ncsi.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/ndctl.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/neighbour.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/net.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/net_dropmon.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/net_namespace.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/net_tstamp.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/netconf.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/netdevice.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/netfilter.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/netfilter/ipset/ip_set.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/netfilter/ipset/ip_set_bitmap.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/netfilter/ipset/ip_set_hash.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/netfilter/ipset/ip_set_list.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/netfilter/nf_conntrack_common.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/netfilter/nf_conntrack_ftp.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/netfilter/nf_conntrack_sctp.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/netfilter/nf_conntrack_tcp.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/netfilter/nf_conntrack_tuple_common.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/netfilter/nf_log.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/netfilter/nf_nat.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/netfilter/nf_synproxy.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/netfilter/nf_tables.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/netfilter/nf_tables_compat.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/netfilter/nfnetlink.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/netfilter/nfnetlink_acct.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/netfilter/nfnetlink_compat.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/netfilter/nfnetlink_conntrack.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/netfilter/nfnetlink_cthelper.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/netfilter/nfnetlink_cttimeout.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/netfilter/nfnetlink_log.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/netfilter/nfnetlink_osf.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/netfilter/nfnetlink_queue.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/netfilter/x_tables.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/netfilter/xt_AUDIT.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/netfilter/xt_CHECKSUM.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/netfilter/xt_CLASSIFY.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/netfilter/xt_CONNMARK.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/netfilter/xt_CONNSECMARK.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/netfilter/xt_CT.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/netfilter/xt_DSCP.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/netfilter/xt_HMARK.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/netfilter/xt_IDLETIMER.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/netfilter/xt_LED.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/netfilter/xt_LOG.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/netfilter/xt_MARK.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/netfilter/xt_NFLOG.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/netfilter/xt_NFQUEUE.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/netfilter/xt_RATEEST.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/netfilter/xt_SECMARK.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/netfilter/xt_SYNPROXY.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/netfilter/xt_TCPMSS.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/netfilter/xt_TCPOPTSTRIP.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/netfilter/xt_TEE.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/netfilter/xt_TPROXY.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/netfilter/xt_addrtype.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/netfilter/xt_bpf.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/netfilter/xt_cgroup.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/netfilter/xt_cluster.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/netfilter/xt_comment.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/netfilter/xt_connbytes.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/netfilter/xt_connlabel.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/netfilter/xt_connlimit.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/netfilter/xt_connmark.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/netfilter/xt_conntrack.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/netfilter/xt_cpu.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/netfilter/xt_dccp.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/netfilter/xt_devgroup.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/netfilter/xt_dscp.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/netfilter/xt_ecn.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/netfilter/xt_esp.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/netfilter/xt_hashlimit.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/netfilter/xt_helper.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/netfilter/xt_ipcomp.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/netfilter/xt_iprange.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/netfilter/xt_ipvs.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/netfilter/xt_l2tp.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/netfilter/xt_length.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/netfilter/xt_limit.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/netfilter/xt_mac.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/netfilter/xt_mark.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/netfilter/xt_multiport.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/netfilter/xt_nfacct.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/netfilter/xt_osf.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/netfilter/xt_owner.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/netfilter/xt_physdev.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/netfilter/xt_pkttype.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/netfilter/xt_policy.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/netfilter/xt_quota.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/netfilter/xt_rateest.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/netfilter/xt_realm.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/netfilter/xt_recent.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/netfilter/xt_rpfilter.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/netfilter/xt_sctp.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/netfilter/xt_set.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/netfilter/xt_socket.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/netfilter/xt_state.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/netfilter/xt_statistic.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/netfilter/xt_string.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/netfilter/xt_tcpmss.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/netfilter/xt_tcpudp.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/netfilter/xt_time.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/netfilter/xt_u32.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/netfilter_arp.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/netfilter_arp/arp_tables.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/netfilter_arp/arpt_mangle.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/netfilter_bridge.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/netfilter_bridge/ebt_802_3.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/netfilter_bridge/ebt_among.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/netfilter_bridge/ebt_arp.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/netfilter_bridge/ebt_arpreply.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/netfilter_bridge/ebt_ip.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/netfilter_bridge/ebt_ip6.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/netfilter_bridge/ebt_limit.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/netfilter_bridge/ebt_log.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/netfilter_bridge/ebt_mark_m.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/netfilter_bridge/ebt_mark_t.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/netfilter_bridge/ebt_nat.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/netfilter_bridge/ebt_nflog.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/netfilter_bridge/ebt_pkttype.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/netfilter_bridge/ebt_redirect.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/netfilter_bridge/ebt_stp.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/netfilter_bridge/ebt_vlan.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/netfilter_bridge/ebtables.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/netfilter_decnet.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/netfilter_ipv4.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/netfilter_ipv4/ip_tables.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/netfilter_ipv4/ipt_CLUSTERIP.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/netfilter_ipv4/ipt_ECN.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/netfilter_ipv4/ipt_LOG.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/netfilter_ipv4/ipt_REJECT.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/netfilter_ipv4/ipt_TTL.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/netfilter_ipv4/ipt_ah.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/netfilter_ipv4/ipt_ecn.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/netfilter_ipv4/ipt_ttl.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/netfilter_ipv6.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/netfilter_ipv6/ip6_tables.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/netfilter_ipv6/ip6t_HL.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/netfilter_ipv6/ip6t_LOG.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/netfilter_ipv6/ip6t_NPT.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/netfilter_ipv6/ip6t_REJECT.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/netfilter_ipv6/ip6t_ah.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/netfilter_ipv6/ip6t_frag.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/netfilter_ipv6/ip6t_hl.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/netfilter_ipv6/ip6t_ipv6header.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/netfilter_ipv6/ip6t_mh.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/netfilter_ipv6/ip6t_opts.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/netfilter_ipv6/ip6t_rt.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/netfilter_ipv6/ip6t_srh.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/netlink.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/netlink_diag.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/netrom.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/nexthop.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/nfc.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/nfs.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/nfs2.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/nfs3.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/nfs4.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/nfs4_mount.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/nfs_fs.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/nfs_idmap.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/nfs_mount.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/nfsacl.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/nfsd/cld.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/nfsd/debug.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/nfsd/export.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/nfsd/nfsfh.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/nfsd/stats.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/nilfs2_api.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/nilfs2_ondisk.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/nitro_enclaves.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/nl80211.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/nsfs.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/nubus.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/nvme_ioctl.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/nvram.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/omap3isp.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/omapfb.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/oom.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/openat2.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/openvswitch.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/packet_diag.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/param.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/parport.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/patchkey.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/pci.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/pci_regs.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/pcitest.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/perf_event.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/personality.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/pfkeyv2.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/pg.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/phantom.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/phonet.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/pidfd.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/pkt_cls.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/pkt_sched.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/pktcdvd.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/pmu.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/poll.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/posix_acl.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/posix_acl_xattr.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/posix_types.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/ppdev.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/ppp-comp.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/ppp-ioctl.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/ppp_defs.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/pps.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/pr.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/prctl.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/psample.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/psci.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/psp-sev.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/ptp_clock.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/ptrace.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/qemu_fw_cfg.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/qnx4_fs.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/qnxtypes.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/qrtr.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/quota.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/radeonfb.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/raid/md_p.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/raid/md_u.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/random.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/raw.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/rds.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/reboot.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/reiserfs_fs.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/reiserfs_xattr.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/remoteproc_cdev.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/resource.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/rfkill.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/rio_cm_cdev.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/rio_mport_cdev.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/romfs_fs.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/rose.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/route.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/rpl.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/rpl_iptunnel.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/rpmsg.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/rseq.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/rtc.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/rtnetlink.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/rxrpc.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/scc.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/sched.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/sched/types.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/scif_ioctl.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/screen_info.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/sctp.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/sdla.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/seccomp.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/securebits.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/sed-opal.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/seg6.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/seg6_genl.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/seg6_hmac.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/seg6_iptunnel.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/seg6_local.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/selinux_netlink.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/sem.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/serial.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/serial_core.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/serial_reg.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/serio.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/shm.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/signal.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/signalfd.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/smc.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/smc_diag.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/smiapp.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/snmp.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/sock_diag.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/socket.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/sockios.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/sonet.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/sonypi.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/sound.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/soundcard.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/spi/spidev.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/stat.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/stddef.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/stm.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/string.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/sunrpc/debug.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/suspend_ioctls.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/swab.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/switchtec_ioctl.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/sync_file.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/synclink.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/sysctl.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/sysinfo.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/target_core_user.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/taskstats.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/tc_act/tc_bpf.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/tc_act/tc_connmark.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/tc_act/tc_csum.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/tc_act/tc_ct.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/tc_act/tc_ctinfo.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/tc_act/tc_defact.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/tc_act/tc_gact.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/tc_act/tc_gate.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/tc_act/tc_ife.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/tc_act/tc_ipt.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/tc_act/tc_mirred.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/tc_act/tc_mpls.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/tc_act/tc_nat.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/tc_act/tc_pedit.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/tc_act/tc_sample.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/tc_act/tc_skbedit.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/tc_act/tc_skbmod.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/tc_act/tc_tunnel_key.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/tc_act/tc_vlan.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/tc_ematch/tc_em_cmp.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/tc_ematch/tc_em_ipt.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/tc_ematch/tc_em_meta.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/tc_ematch/tc_em_nbyte.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/tc_ematch/tc_em_text.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/tcp.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/tcp_metrics.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/tee.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/termios.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/thermal.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/time.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/time_types.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/timerfd.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/times.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/timex.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/tiocl.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/tipc.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/tipc_config.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/tipc_netlink.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/tipc_sockets_diag.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/tls.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/toshiba.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/tty.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/tty_flags.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/types.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/udf_fs_i.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/udmabuf.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/udp.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/uhid.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/uinput.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/uio.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/uleds.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/ultrasound.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/um_timetravel.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/un.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/unistd.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/unix_diag.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/usb/audio.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/usb/cdc-wdm.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/usb/cdc.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/usb/ch11.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/usb/ch9.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/usb/charger.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/usb/f_accessory.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/usb/functionfs.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/usb/g_printer.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/usb/g_uvc.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/usb/gadgetfs.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/usb/midi.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/usb/raw_gadget.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/usb/tmc.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/usb/video.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/usbdevice_fs.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/usbip.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/userfaultfd.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/userio.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/utime.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/utsname.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/uuid.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/uvcvideo.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/v4l2-common.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/v4l2-controls.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/v4l2-dv-timings.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/v4l2-mediabus.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/v4l2-subdev.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/vbox_err.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/vbox_vmmdev_types.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/vboxguest.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/version.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/veth.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/vfio.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/vfio_ccw.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/vfio_zdev.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/vhost.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/vhost_types.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/videodev2.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/virtio_9p.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/virtio_balloon.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/virtio_blk.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/virtio_config.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/virtio_console.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/virtio_crypto.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/virtio_fs.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/virtio_gpu.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/virtio_ids.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/virtio_input.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/virtio_iommu.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/virtio_mem.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/virtio_mmio.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/virtio_net.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/virtio_pci.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/virtio_pmem.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/virtio_ring.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/virtio_rng.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/virtio_scsi.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/virtio_types.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/virtio_vsock.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/vm_sockets.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/vm_sockets_diag.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/vmcore.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/vsoc_shm.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/vsockmon.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/vt.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/vtpm_proxy.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/wait.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/wanrouter.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/watch_queue.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/watchdog.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/wimax.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/wimax/i2400m.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/wireguard.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/wireless.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/wmi.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/x25.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/xattr.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/xdp_diag.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/xfrm.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/xilinx-v4l2-controls.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/zorro.h create mode 100644 linux-5.10/prebuilts/usr/include/linux/zorro_ids.h create mode 100644 linux-5.10/prebuilts/usr/include/misc/cxl.h create mode 100644 linux-5.10/prebuilts/usr/include/misc/fastrpc.h create mode 100644 linux-5.10/prebuilts/usr/include/misc/habanalabs.h create mode 100644 linux-5.10/prebuilts/usr/include/misc/ocxl.h create mode 100644 linux-5.10/prebuilts/usr/include/misc/pvpanic.h create mode 100644 linux-5.10/prebuilts/usr/include/misc/uacce/hisi_qm.h create mode 100644 linux-5.10/prebuilts/usr/include/misc/uacce/uacce.h create mode 100644 linux-5.10/prebuilts/usr/include/misc/xilinx_sdfec.h create mode 100644 linux-5.10/prebuilts/usr/include/mtd/inftl-user.h create mode 100644 linux-5.10/prebuilts/usr/include/mtd/mtd-abi.h create mode 100644 linux-5.10/prebuilts/usr/include/mtd/mtd-user.h create mode 100644 linux-5.10/prebuilts/usr/include/mtd/nftl-user.h create mode 100644 linux-5.10/prebuilts/usr/include/mtd/ubi-user.h create mode 100644 linux-5.10/prebuilts/usr/include/rdma/bnxt_re-abi.h create mode 100644 linux-5.10/prebuilts/usr/include/rdma/cxgb3-abi.h create mode 100644 linux-5.10/prebuilts/usr/include/rdma/cxgb4-abi.h create mode 100644 linux-5.10/prebuilts/usr/include/rdma/efa-abi.h create mode 100644 linux-5.10/prebuilts/usr/include/rdma/hfi/hfi1_ioctl.h create mode 100644 linux-5.10/prebuilts/usr/include/rdma/hfi/hfi1_user.h create mode 100644 linux-5.10/prebuilts/usr/include/rdma/hns-abi.h create mode 100644 linux-5.10/prebuilts/usr/include/rdma/i40iw-abi.h create mode 100644 linux-5.10/prebuilts/usr/include/rdma/ib_user_cm.h create mode 100644 linux-5.10/prebuilts/usr/include/rdma/ib_user_ioctl_cmds.h create mode 100644 linux-5.10/prebuilts/usr/include/rdma/ib_user_ioctl_verbs.h create mode 100644 linux-5.10/prebuilts/usr/include/rdma/ib_user_mad.h create mode 100644 linux-5.10/prebuilts/usr/include/rdma/ib_user_sa.h create mode 100644 linux-5.10/prebuilts/usr/include/rdma/ib_user_verbs.h create mode 100644 linux-5.10/prebuilts/usr/include/rdma/mlx4-abi.h create mode 100644 linux-5.10/prebuilts/usr/include/rdma/mlx5-abi.h create mode 100644 linux-5.10/prebuilts/usr/include/rdma/mlx5_user_ioctl_cmds.h create mode 100644 linux-5.10/prebuilts/usr/include/rdma/mlx5_user_ioctl_verbs.h create mode 100644 linux-5.10/prebuilts/usr/include/rdma/mthca-abi.h create mode 100644 linux-5.10/prebuilts/usr/include/rdma/nes-abi.h create mode 100644 linux-5.10/prebuilts/usr/include/rdma/ocrdma-abi.h create mode 100644 linux-5.10/prebuilts/usr/include/rdma/qedr-abi.h create mode 100644 linux-5.10/prebuilts/usr/include/rdma/rdma_netlink.h create mode 100644 linux-5.10/prebuilts/usr/include/rdma/rdma_user_cm.h create mode 100644 linux-5.10/prebuilts/usr/include/rdma/rdma_user_ioctl.h create mode 100644 linux-5.10/prebuilts/usr/include/rdma/rdma_user_ioctl_cmds.h create mode 100644 linux-5.10/prebuilts/usr/include/rdma/rdma_user_rxe.h create mode 100644 linux-5.10/prebuilts/usr/include/rdma/rvt-abi.h create mode 100644 linux-5.10/prebuilts/usr/include/rdma/siw-abi.h create mode 100644 linux-5.10/prebuilts/usr/include/rdma/vmw_pvrdma-abi.h create mode 100644 linux-5.10/prebuilts/usr/include/scsi/cxlflash_ioctl.h create mode 100644 linux-5.10/prebuilts/usr/include/scsi/fc/fc_els.h create mode 100644 linux-5.10/prebuilts/usr/include/scsi/fc/fc_fs.h create mode 100644 linux-5.10/prebuilts/usr/include/scsi/fc/fc_gs.h create mode 100644 linux-5.10/prebuilts/usr/include/scsi/fc/fc_ns.h create mode 100644 linux-5.10/prebuilts/usr/include/scsi/scsi_bsg_fc.h create mode 100644 linux-5.10/prebuilts/usr/include/scsi/scsi_bsg_ufs.h create mode 100644 linux-5.10/prebuilts/usr/include/scsi/scsi_netlink.h create mode 100644 linux-5.10/prebuilts/usr/include/scsi/scsi_netlink_fc.h create mode 100644 linux-5.10/prebuilts/usr/include/sound/asequencer.h create mode 100644 linux-5.10/prebuilts/usr/include/sound/asoc.h create mode 100644 linux-5.10/prebuilts/usr/include/sound/asound.h create mode 100644 linux-5.10/prebuilts/usr/include/sound/asound_fm.h create mode 100644 linux-5.10/prebuilts/usr/include/sound/compress_offload.h create mode 100644 linux-5.10/prebuilts/usr/include/sound/compress_params.h create mode 100644 linux-5.10/prebuilts/usr/include/sound/emu10k1.h create mode 100644 linux-5.10/prebuilts/usr/include/sound/firewire.h create mode 100644 linux-5.10/prebuilts/usr/include/sound/hdsp.h create mode 100644 linux-5.10/prebuilts/usr/include/sound/hdspm.h create mode 100644 linux-5.10/prebuilts/usr/include/sound/sb16_csp.h create mode 100644 linux-5.10/prebuilts/usr/include/sound/sfnt_info.h create mode 100644 linux-5.10/prebuilts/usr/include/sound/skl-tplg-interface.h create mode 100644 linux-5.10/prebuilts/usr/include/sound/snd_sst_tokens.h create mode 100644 linux-5.10/prebuilts/usr/include/sound/sof/abi.h create mode 100644 linux-5.10/prebuilts/usr/include/sound/sof/fw.h create mode 100644 linux-5.10/prebuilts/usr/include/sound/sof/header.h create mode 100644 linux-5.10/prebuilts/usr/include/sound/sof/tokens.h create mode 100644 linux-5.10/prebuilts/usr/include/sound/tlv.h create mode 100644 linux-5.10/prebuilts/usr/include/sound/usb_stream.h create mode 100644 linux-5.10/prebuilts/usr/include/video/edid.h create mode 100644 linux-5.10/prebuilts/usr/include/video/sisfb.h create mode 100644 linux-5.10/prebuilts/usr/include/video/uvesafb.h create mode 100644 linux-5.10/prebuilts/usr/include/xen/evtchn.h create mode 100644 linux-5.10/prebuilts/usr/include/xen/gntalloc.h create mode 100644 linux-5.10/prebuilts/usr/include/xen/gntdev.h create mode 100644 linux-5.10/prebuilts/usr/include/xen/privcmd.h diff --git a/linux-5.10/prebuilts/linux_header_install.sh b/linux-5.10/prebuilts/linux_header_install.sh new file mode 100755 index 0000000..6ddbabb --- /dev/null +++ b/linux-5.10/prebuilts/linux_header_install.sh @@ -0,0 +1,65 @@ +#!/bin/bash + +#Copyright (c) 2020-2021 Huawei Device Co., Ltd. +#Licensed under the Apache License, Version 2.0 (the "License"); +#you may not use this file except in compliance with the License. +#You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +#Unless required by applicable law or agreed to in writing, software +#distributed under the License is distributed on an "AS IS" BASIS, +#WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +#See the License for the specific language governing permissions and +#limitations under the License. + +# This script is used to prepare header files for musl's libc.so. + +set -e +ARM_TYPE=arm +PRJ_ROOT="$PWD/../../../../../" +KERNEL_ROOT="$PRJ_ROOT/kernel/linux/linux-5.10" +ARM_HDR="$KERNEL_ROOT/hdr_install/${ARM_TYPE}_header" +OUT_HDR="$PRJ_ROOT/kernel/linux/patches/linux-5.10/prebuilts/linux_headers_install" +export Z_BUILD_TOP="$PRJ_ROOT" + +if [ -d "$ARM_HDR" ];then +rm -r $ARM_HDR +fi + +if [ -d "$OUT_HDR" ];then +rm -r $OUT_HDR +fi + +mkdir -p $ARM_HDR +mkdir -p $OUT_HDR + +pushd $KERNEL_ROOT +make headers_install ARCH=${ARM_TYPE} INSTALL_HDR_PATH=$ARM_HDR +popd + +function copy_if_exists () { + local check_dir=$1 + local src_dir=$2 + local tgt_dir=$3 + mkdir -p ${tgt_dir} + for file in $(ls -d ${src_dir}/* 2> /dev/null); do + if [[ -f "${file}" ]] && [[ "${file}" =~ .h$ ]]; then + header=$(basename ${file}) + if [[ -f "${check_dir}/${header}" ]]; then + cp ${file} ${tgt_dir} + fi + fi + done +} + +cp -r ${KERNEL_ROOT}/include/uapi ${OUT_HDR} +cp -r ${KERNEL_ROOT}/include/generated/uapi ${OUT_HDR} +cp -r ${ARM_HDR}/include/asm ${OUT_HDR}/uapi +cp -r ${KERNEL_ROOT}/arch/${ARM_TYPE}/include/uapi ${OUT_HDR}/uapi/asm-${ARM_TYPE} +cp -r ${KERNEL_ROOT}/arch/${ARM_TYPE}/include/generated/uapi ${OUT_HDR}/uapi/asm-${ARM_TYPE} +cp -r ${KERNEL_ROOT}/drivers/staging/android/uapi/* ${OUT_HDR}/uapi/linux +copy_if_exists "${KERNEL_ROOT}/include/uapi/asm-generic" \ + "${KERNEL_ROOT}/arch/${ARM_TYPE}/include/generated/asm" \ + "${OUT_HDR}/uapi/asm-${ARM_TYPE}/asm" +cp ${KERNEL_ROOT}/include/linux/compiler_types.h ${OUT_HDR}/uapi/linux diff --git a/linux-5.10/prebuilts/thirdparty_headers.sh b/linux-5.10/prebuilts/thirdparty_headers.sh new file mode 100755 index 0000000..efd9846 --- /dev/null +++ b/linux-5.10/prebuilts/thirdparty_headers.sh @@ -0,0 +1,49 @@ +#/bin/bash + +#Copyright (c) 2020-2021 Huawei Device Co., Ltd. +#Licensed under the Apache License, Version 2.0 (the "License"); +#you may not use this file except in compliance with the License. +#You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +#Unless required by applicable law or agreed to in writing, software +#distributed under the License is distributed on an "AS IS" BASIS, +#WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +#See the License for the specific language governing permissions and +#limitations under the License. + +# This script is used to prepare header files for musl's libc.so. + +set -e +ARM_TYPE=arm +PRJ_ROOT="${PWD}/../../../../../" +LINUX_HDR="${PRJ_ROOT}/kernel/linux/patches/linux-5.10/prebuilts/linux_headers_install" +TMP_DIR_ORI="${PRJ_ROOT}/kernel/linux/patches/linux-5.10/prebuilts/ohos_tmp_ori" +TMP_DIR="${PRJ_ROOT}/kernel/linux/patches/linux-5.10/prebuilts/ohos_tmp" +MUSL_DIR="${PWD}/usr/include" +export Z_BUILD_TOP="${PRJ_ROOT}" +if [ ! -d "${LINUX_HDR}/uapi/asm-${ARM_TYPE}" ] || [ ! -d "${LINUX_HDR}/uapi/asm-generic" ] || [ ! -d "${LINUX_HDR}/uapi/linux" ];then + echo "please install headers first!!!" + exit 1 +fi + +mkdir -p ${TMP_DIR_ORI} +mkdir -p ${TMP_DIR} + +cp -rf ${LINUX_HDR}/* ${TMP_DIR_ORI} +echo "#ifndef _UAPI_LINUX_COMPILER_H" >> ${TMP_DIR_ORI}/uapi/linux/compiler.h +echo "#define _UAPI_LINUX_COMPILER_H" >> ${TMP_DIR_ORI}/uapi/linux/compiler.h +echo "#define __user" >> ${TMP_DIR_ORI}/uapi/linux/compiler.h +echo "#endif" >> ${TMP_DIR_ORI}/uapi/linux/compiler.h + +pushd ${PRJ_ROOT} + python kernel/linux/patches/linux-5.10/prebuilts/update_headers.py 2>/dev/null +popd + +if [ ! -d ${MUSL_DIR} ]; then + mkdir -p ${MUSL_DIR} +fi +cp -rf ${TMP_DIR}/uapi/* ${MUSL_DIR}/ +rm -rf ${TMP_DIR_ORI} +rm -rf ${TMP_DIR} diff --git a/linux-5.10/prebuilts/update_headers.py b/linux-5.10/prebuilts/update_headers.py new file mode 100755 index 0000000..3fc0145 --- /dev/null +++ b/linux-5.10/prebuilts/update_headers.py @@ -0,0 +1,229 @@ +#!/usr/bin/env python +#-*-coding:utf-8-*- + +#Copyright (c) 2020-2021 Huawei Device Co., Ltd. +#Licensed under the Apache License, Version 2.0 (the "License"); +#you may not use this file except in compliance with the License. +#You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +#Unless required by applicable law or agreed to in writing, software +#distributed under the License is distributed on an "AS IS" BASIS, +#WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +#See the License for the specific language governing permissions and +#limitations under the License. + +# Perform for Z kernel headers + +import sys +import os +import getopt +import subprocess +import time +import string +import re +import glob + +# /*..*/ //... +Rule1 = "(\/\*(\s|.)*?\*\/)|(\/\/.*)" +c1=re.compile(Rule1) + +#use list for order +key_list = [ +# grep key, gerp dir, sed key, sed replace + ["CONFIG_64BIT", ".", "CONFIG_64BIT", "__LP64__"], + ["__unused;", ".", "__unused;", "__linux_unused;"], + ["__unused\[", ".", "__unused\[", "__linux_unused["], + [" private;", ".", " private;", " __linux_private;"], + ["\*virtual;", ".", "\*virtual;", "\* __linux_virtual;"], + ["struct msqid_ds", ".", "struct msqid_ds", "struct __kernel_legacy_msqid_ds"], + ["struct semid_ds", ".", "struct semid_ds", "struct __kernel_legacy_semid_ds"], + ["struct shmid_ds", ".", "struct shmid_ds", "struct __kernel_legacy_shmid_ds"], + ["struct ipc_perm", ".", "struct ipc_perm", "struct __kernel_legacy_ipc_perm"], + ["union semun", ".", "union semun", "union __kernel_legacy_semun"], + ["_NSIG", ".", "_NSIG", "_KERNEL__NSIG"], + ["_KERNEL__NSIG_", ".", "_KERNEL__NSIG_", "_NSIG_"], + ["#define NSIG\s", ".", "#define NSIG", "#define _KERNEL_NSIG"], + ["SIGRTMIN", ".", "SIGRTMIN", "__SIGRTMIN"], + ["SIGRTMAX", ".", "SIGRTMAX", "__SIGRTMAX"], + ["struct udphdr", ".", "struct udphdr", "struct __kernel_udphdr"], + ["struct __kernel_sockaddr_storage", ".", "struct __kernel_sockaddr_storage", "struct sockaddr_storage"], + ["off_t", "asm-mips/asm/stat.h", "off_t", "__kernel_off_t"], + ["#ifndef __EXPORTED_HEADERS__", ".", "#ifndef __EXPORTED_HEADERS__", "#if 0 \/*__EXPORTED_HEADERS__*\/"], + ["#ifndef __KERNEL_STRICT_NAMES", ".", "#ifndef __KERNEL_STRICT_NAMES", "#if 0 \/*__KERNEL_STRICT_NAMES*\/"], + ["#ifdef __CHECKER__", ".", "#ifdef __CHECKER__", "#if 0 \/*__CHECKER__*\/"], + ["#ifdef __HAVE_BUILTIN_BSWAP16__", ".", "#ifdef __HAVE_BUILTIN_BSWAP16__", "#if 1 \/*__HAVE_BUILTIN_BSWAP16__*\/"], + ["#ifdef __HAVE_BUILTIN_BSWAP32__", ".", "#ifdef __HAVE_BUILTIN_BSWAP32__", "#if 1 \/*__HAVE_BUILTIN_BSWAP32__*\/"], + ["#ifdef __HAVE_BUILTIN_BSWAP64__", ".", "#ifdef __HAVE_BUILTIN_BSWAP64__", "#if 1 \/*__HAVE_BUILTIN_BSWAP64__*\/"], + ["#if defined(__ARMEB__)", "asm-arm", "#if defined(__ARMEB__)", "#if 0 \/*__ARMEB__*\/"], + ["#ifdef __ARMEB__", "asm-arm", "#ifdef __ARMEB__", "#if 0 \/*__ARMEB__*\/"], + ["defined(__ARM_EABI__)", "asm-arm", "defined(__ARM_EABI__)", "1 \/*defined(__ARM_EABI__)*\/"], + ["#ifdef __MIPSEB__", "asm-mips", "#ifdef __MIPSEB__", "#if 0 \/*__MIPSEB__*\/"], + ["#elif defined (__MIPSEB__)", "asm-mips", "#elif defined (__MIPSEB__)", "#elif 0 \/*__MIPSEB__*\/"], + ["#if defined(__MIPSEB__)", "asm-mips", "#if defined(__MIPSEB__)", "#if 0 \/*__MIPSEB__*\/"], + ["#elif defined(__MIPSEL__)", "asm-mips", "#elif defined(__MIPSEL__)", "#elif 1 \/*__MIPSEL__*\/"], + ["#elif defined (__MIPSEL__)", "asm-mips", "#elif defined (__MIPSEL__)", "#elif 1 \/*__MIPSEL__*\/"], + ["\!defined(__SANE_USERSPACE_TYPES__)", "asm-mips", "\!defined(__SANE_USERSPACE_TYPES__)", "0 \/*__SANE_USERSPACE_TYPES__*\/"], + ["\/\*.*\*\/", ".", "\/\*.*\*\/", ""], + ] + +def deal_file(src): + # file exist or not + if not os.path.exists(src): + print('Error: file - %s doesn\'t exist.'% src) + return False + if os.path.islink(src): + print('Error: file - %s is a link.'% src) + return False + filetype = (os.path.splitext(src))[1] + if not filetype in ['.c','.h','.cpp','.hh','.cc']: + return False + try: + if not os.access(src, os.W_OK): + os.chmod(src, 0o664) + except: + print('Error: you can not chang %s\'s mode.'% src) + + # del all comments + inputf = open(src, 'r') + outputfilename = (os.path.splitext(src))[0] + '_no_comment'+filetype + outputf = open(outputfilename, 'w') + + lines=inputf.read() + inputf.close() + lines=re.sub(Rule1,"",lines) + outputf.write(lines) + outputf.close() + + #del right space & blank line + os.remove(src) + inputf = open(outputfilename, 'r') + outputf = open(src, 'w') + #write head info + outputf.write("/*\n") + outputf.write(" * This header was generated from the Linux kernel headers by update_headers.py,\n") + outputf.write(" * to provide necessary information from kernel to userspace, such as constants,\n") + outputf.write(" * structures, and macros, and thus, contains no copyrightable information.\n") + outputf.write(" */\n") + line = inputf.readline() + while line: + if line == '\n': + line = line.strip("\n") + else: + line = line.rstrip() + '\n' + outputf.write(line) + line = inputf.readline() + inputf.close() + outputf.close() + os.remove(outputfilename) + + return True + + +def deal_dir(src): + # dir exist or not + if not os.path.exists(src): + print('Error: dir - %s is not exist.'% src) + return False + filelists = os.listdir(src) + for eachfile in filelists: + eachfile = src + '/' +eachfile + if os.path.isdir(eachfile): + deal_dir(eachfile) + elif os.path.isfile(eachfile): + deal_file(eachfile) + return True + + +def copy_kernel_headers(build_top, original_dir, target_dir): + headers_dir = build_top + '/' + target_dir + external_dir = build_top + original_dir + + headers_rm_cmd = "rm " + headers_dir + "/uapi -rf" + headers_cp_cmd = "cp " + external_dir + " " + headers_dir + " -r" + + try: + status = subprocess.call(headers_rm_cmd, shell=True) + except: + printf("[Error] rm error!!!") + + try: + status = subprocess.call(headers_cp_cmd, shell=True) + except: + printf("[Error] cp error!!!") + + return 1 + +def replace_key_words_ext(keys): + replace_key_words(keys[0], keys[1], keys[2], keys[3]) + return 1 + +def replace_key_words(original_key, target_dir, replace_key, replace_str): + replace_cmd = "grep \""+ original_key + "\" -rl " + target_dir + " | xargs sed -i \"s/" + replace_key + "/" + replace_str + "/g\"" + try: + status = subprocess.call(replace_cmd, shell=True) + except: + printf("[Error] replace CONFIG_64BIT error!!!") + + return 1 + + + +def usage(): + print(" Usage: run the script at the root of project.\n For example:\n\ + python ./foundation/ccruntime/libc/kernel/tools/update_Z_header.py") + return 0 + + +def main(): + + if len(sys.argv) > 1: + usage() + return -1 + + kernel_dir = "kernel/linux/patches/linux-5.10/prebuilts/ohos_tmp" + external_dir = '/kernel/linux/patches/linux-5.10/prebuilts/ohos_tmp_ori/uapi' + status = -1 + + try: + build_top = os.environ["Z_BUILD_TOP"] + except KeyError as e: + print("[Warning] no env : %s, use current work dir." %(str(e))) + build_top = subprocess.check_output("pwd", shell=True) + + status = copy_kernel_headers(build_top.strip(), external_dir, kernel_dir) + if status != 1: + print("[Error] copy files fail!!!") + sys.exti(1) + + try: + os.chdir(kernel_dir + "/uapi") + except: + print("[Error] no uapi dir1!!!") + sys.exit(1) + + current_dir = os.getcwd() + + if "uapi" not in current_dir: + print("[Error] not uapi dir!!!") + sys.exit(1) + + for val in key_list: + replace_key_words_ext(val) + + try: + os.chdir("../") + except: + print("[Error] no uapi dir2!!!") + sys.exit(1) + deal_dir("uapi") + + return 1 + +if __name__ == "__main__": + starttime=time.time() + main() + endtime=time.time() + print(endtime-starttime) + diff --git a/linux-5.10/prebuilts/usr/include/Kbuild b/linux-5.10/prebuilts/usr/include/Kbuild new file mode 100644 index 0000000..61ee6e5 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/Kbuild @@ -0,0 +1,14 @@ +# SPDX-License-Identifier: GPL-2.0 +ifeq ($(wildcard $(srctree)/arch/$(SRCARCH)/include/uapi/asm/a.out.h),) +no-export-headers += linux/a.out.h +endif + +ifeq ($(wildcard $(srctree)/arch/$(SRCARCH)/include/uapi/asm/kvm.h),) +no-export-headers += linux/kvm.h +endif + +ifeq ($(wildcard $(srctree)/arch/$(SRCARCH)/include/uapi/asm/kvm_para.h),) +ifeq ($(wildcard $(objtree)/arch/$(SRCARCH)/include/generated/uapi/asm/kvm_para.h),) +no-export-headers += linux/kvm_para.h +endif +endif diff --git a/linux-5.10/prebuilts/usr/include/asm-arm/asm/Kbuild b/linux-5.10/prebuilts/usr/include/asm-arm/asm/Kbuild new file mode 100644 index 0000000..ce85731 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/asm-arm/asm/Kbuild @@ -0,0 +1,6 @@ +# SPDX-License-Identifier: GPL-2.0 + +generated-y += unistd-common.h +generated-y += unistd-oabi.h +generated-y += unistd-eabi.h +generic-y += kvm_para.h diff --git a/linux-5.10/prebuilts/usr/include/asm-arm/asm/auxvec.h b/linux-5.10/prebuilts/usr/include/asm-arm/asm/auxvec.h new file mode 100644 index 0000000..7416f18 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/asm-arm/asm/auxvec.h @@ -0,0 +1,9 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef __ASM_AUXVEC_H +#define __ASM_AUXVEC_H +#define AT_SYSINFO_EHDR 33 +#endif diff --git a/linux-5.10/prebuilts/usr/include/asm-arm/asm/bitsperlong.h b/linux-5.10/prebuilts/usr/include/asm-arm/asm/bitsperlong.h new file mode 100644 index 0000000..3c87a8d --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/asm-arm/asm/bitsperlong.h @@ -0,0 +1,6 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#include diff --git a/linux-5.10/prebuilts/usr/include/asm-arm/asm/bpf_perf_event.h b/linux-5.10/prebuilts/usr/include/asm-arm/asm/bpf_perf_event.h new file mode 100644 index 0000000..5cef26b --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/asm-arm/asm/bpf_perf_event.h @@ -0,0 +1,6 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#include diff --git a/linux-5.10/prebuilts/usr/include/asm-arm/asm/byteorder.h b/linux-5.10/prebuilts/usr/include/asm-arm/asm/byteorder.h new file mode 100644 index 0000000..e419075 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/asm-arm/asm/byteorder.h @@ -0,0 +1,13 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef __ASM_ARM_BYTEORDER_H +#define __ASM_ARM_BYTEORDER_H +#if 0 +#include +#else +#include +#endif +#endif diff --git a/linux-5.10/prebuilts/usr/include/asm-arm/asm/errno.h b/linux-5.10/prebuilts/usr/include/asm-arm/asm/errno.h new file mode 100644 index 0000000..c1081c8 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/asm-arm/asm/errno.h @@ -0,0 +1,6 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#include diff --git a/linux-5.10/prebuilts/usr/include/asm-arm/asm/fcntl.h b/linux-5.10/prebuilts/usr/include/asm-arm/asm/fcntl.h new file mode 100644 index 0000000..6004fa7 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/asm-arm/asm/fcntl.h @@ -0,0 +1,13 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _ARM_FCNTL_H +#define _ARM_FCNTL_H +#define O_DIRECTORY 040000 +#define O_NOFOLLOW 0100000 +#define O_DIRECT 0200000 +#define O_LARGEFILE 0400000 +#include +#endif diff --git a/linux-5.10/prebuilts/usr/include/asm-arm/asm/hwcap.h b/linux-5.10/prebuilts/usr/include/asm-arm/asm/hwcap.h new file mode 100644 index 0000000..c433f09 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/asm-arm/asm/hwcap.h @@ -0,0 +1,36 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI__ASMARM_HWCAP_H +#define _UAPI__ASMARM_HWCAP_H +#define HWCAP_SWP (1 << 0) +#define HWCAP_HALF (1 << 1) +#define HWCAP_THUMB (1 << 2) +#define HWCAP_26BIT (1 << 3) +#define HWCAP_FAST_MULT (1 << 4) +#define HWCAP_FPA (1 << 5) +#define HWCAP_VFP (1 << 6) +#define HWCAP_EDSP (1 << 7) +#define HWCAP_JAVA (1 << 8) +#define HWCAP_IWMMXT (1 << 9) +#define HWCAP_CRUNCH (1 << 10) +#define HWCAP_THUMBEE (1 << 11) +#define HWCAP_NEON (1 << 12) +#define HWCAP_VFPv3 (1 << 13) +#define HWCAP_VFPv3D16 (1 << 14) +#define HWCAP_TLS (1 << 15) +#define HWCAP_VFPv4 (1 << 16) +#define HWCAP_IDIVA (1 << 17) +#define HWCAP_IDIVT (1 << 18) +#define HWCAP_VFPD32 (1 << 19) +#define HWCAP_IDIV (HWCAP_IDIVA | HWCAP_IDIVT) +#define HWCAP_LPAE (1 << 20) +#define HWCAP_EVTSTRM (1 << 21) +#define HWCAP2_AES (1 << 0) +#define HWCAP2_PMULL (1 << 1) +#define HWCAP2_SHA1 (1 << 2) +#define HWCAP2_SHA2 (1 << 3) +#define HWCAP2_CRC32 (1 << 4) +#endif diff --git a/linux-5.10/prebuilts/usr/include/asm-arm/asm/ioctl.h b/linux-5.10/prebuilts/usr/include/asm-arm/asm/ioctl.h new file mode 100644 index 0000000..32a259f --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/asm-arm/asm/ioctl.h @@ -0,0 +1,6 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#include diff --git a/linux-5.10/prebuilts/usr/include/asm-arm/asm/ioctls.h b/linux-5.10/prebuilts/usr/include/asm-arm/asm/ioctls.h new file mode 100644 index 0000000..2d824e1 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/asm-arm/asm/ioctls.h @@ -0,0 +1,10 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef __ASM_ARM_IOCTLS_H +#define __ASM_ARM_IOCTLS_H +#define FIOQSIZE 0x545E +#include +#endif diff --git a/linux-5.10/prebuilts/usr/include/asm-arm/asm/ipcbuf.h b/linux-5.10/prebuilts/usr/include/asm-arm/asm/ipcbuf.h new file mode 100644 index 0000000..d0004a4 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/asm-arm/asm/ipcbuf.h @@ -0,0 +1,6 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#include diff --git a/linux-5.10/prebuilts/usr/include/asm-arm/asm/kvm.h b/linux-5.10/prebuilts/usr/include/asm-arm/asm/kvm.h new file mode 100644 index 0000000..7ce7f3a --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/asm-arm/asm/kvm.h @@ -0,0 +1,203 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef __ARM_KVM_H__ +#define __ARM_KVM_H__ +#include +#include +#include +#define __KVM_HAVE_GUEST_DEBUG +#define __KVM_HAVE_IRQ_LINE +#define __KVM_HAVE_READONLY_MEM +#define __KVM_HAVE_VCPU_EVENTS +#define KVM_COALESCED_MMIO_PAGE_OFFSET 1 +#define KVM_REG_SIZE(id) \ + (1U << (((id) & KVM_REG_SIZE_MASK) >> KVM_REG_SIZE_SHIFT)) +#define KVM_ARM_SVC_sp svc_regs[0] +#define KVM_ARM_SVC_lr svc_regs[1] +#define KVM_ARM_SVC_spsr svc_regs[2] +#define KVM_ARM_ABT_sp abt_regs[0] +#define KVM_ARM_ABT_lr abt_regs[1] +#define KVM_ARM_ABT_spsr abt_regs[2] +#define KVM_ARM_UND_sp und_regs[0] +#define KVM_ARM_UND_lr und_regs[1] +#define KVM_ARM_UND_spsr und_regs[2] +#define KVM_ARM_IRQ_sp irq_regs[0] +#define KVM_ARM_IRQ_lr irq_regs[1] +#define KVM_ARM_IRQ_spsr irq_regs[2] +#define KVM_ARM_FIQ_r8 fiq_regs[0] +#define KVM_ARM_FIQ_r9 fiq_regs[1] +#define KVM_ARM_FIQ_r10 fiq_regs[2] +#define KVM_ARM_FIQ_fp fiq_regs[3] +#define KVM_ARM_FIQ_ip fiq_regs[4] +#define KVM_ARM_FIQ_sp fiq_regs[5] +#define KVM_ARM_FIQ_lr fiq_regs[6] +#define KVM_ARM_FIQ_spsr fiq_regs[7] +struct kvm_regs { + struct pt_regs usr_regs; + unsigned long svc_regs[3]; + unsigned long abt_regs[3]; + unsigned long und_regs[3]; + unsigned long irq_regs[3]; + unsigned long fiq_regs[8]; +}; +#define KVM_ARM_TARGET_CORTEX_A15 0 +#define KVM_ARM_TARGET_CORTEX_A7 1 +#define KVM_ARM_NUM_TARGETS 2 +#define KVM_ARM_DEVICE_TYPE_SHIFT 0 +#define KVM_ARM_DEVICE_TYPE_MASK (0xffff << KVM_ARM_DEVICE_TYPE_SHIFT) +#define KVM_ARM_DEVICE_ID_SHIFT 16 +#define KVM_ARM_DEVICE_ID_MASK (0xffff << KVM_ARM_DEVICE_ID_SHIFT) +#define KVM_ARM_DEVICE_VGIC_V2 0 +#define KVM_VGIC_V2_ADDR_TYPE_DIST 0 +#define KVM_VGIC_V2_ADDR_TYPE_CPU 1 +#define KVM_VGIC_V2_DIST_SIZE 0x1000 +#define KVM_VGIC_V2_CPU_SIZE 0x2000 +#define KVM_VGIC_V3_ADDR_TYPE_DIST 2 +#define KVM_VGIC_V3_ADDR_TYPE_REDIST 3 +#define KVM_VGIC_ITS_ADDR_TYPE 4 +#define KVM_VGIC_V3_ADDR_TYPE_REDIST_REGION 5 +#define KVM_VGIC_V3_DIST_SIZE SZ_64K +#define KVM_VGIC_V3_REDIST_SIZE (2 * SZ_64K) +#define KVM_VGIC_V3_ITS_SIZE (2 * SZ_64K) +#define KVM_ARM_VCPU_POWER_OFF 0 +#define KVM_ARM_VCPU_PSCI_0_2 1 +struct kvm_vcpu_init { + __u32 target; + __u32 features[7]; +}; +struct kvm_sregs { +}; +struct kvm_fpu { +}; +struct kvm_guest_debug_arch { +}; +struct kvm_debug_exit_arch { +}; +struct kvm_sync_regs { + + __u64 device_irq_level; +}; +struct kvm_arch_memory_slot { +}; +struct kvm_vcpu_events { + struct { + __u8 serror_pending; + __u8 serror_has_esr; + + __u8 pad[6]; + __u64 serror_esr; + } exception; + __u32 reserved[12]; +}; +#define KVM_REG_ARM_COPROC_MASK 0x000000000FFF0000 +#define KVM_REG_ARM_COPROC_SHIFT 16 +#define KVM_REG_ARM_32_OPC2_MASK 0x0000000000000007 +#define KVM_REG_ARM_32_OPC2_SHIFT 0 +#define KVM_REG_ARM_OPC1_MASK 0x0000000000000078 +#define KVM_REG_ARM_OPC1_SHIFT 3 +#define KVM_REG_ARM_CRM_MASK 0x0000000000000780 +#define KVM_REG_ARM_CRM_SHIFT 7 +#define KVM_REG_ARM_32_CRN_MASK 0x0000000000007800 +#define KVM_REG_ARM_32_CRN_SHIFT 11 +#define KVM_REG_ARM_SECURE_MASK 0x0000000010000000 +#define KVM_REG_ARM_SECURE_SHIFT 28 +#define ARM_CP15_REG_SHIFT_MASK(x,n) \ + (((x) << KVM_REG_ARM_ ## n ## _SHIFT) & KVM_REG_ARM_ ## n ## _MASK) +#define __ARM_CP15_REG(op1,crn,crm,op2) \ + (KVM_REG_ARM | (15 << KVM_REG_ARM_COPROC_SHIFT) | \ + ARM_CP15_REG_SHIFT_MASK(op1, OPC1) | \ + ARM_CP15_REG_SHIFT_MASK(crn, 32_CRN) | \ + ARM_CP15_REG_SHIFT_MASK(crm, CRM) | \ + ARM_CP15_REG_SHIFT_MASK(op2, 32_OPC2)) +#define ARM_CP15_REG32(...) (__ARM_CP15_REG(__VA_ARGS__) | KVM_REG_SIZE_U32) +#define __ARM_CP15_REG64(op1,crm) \ + (__ARM_CP15_REG(op1, 0, crm, 0) | KVM_REG_SIZE_U64) +#define ARM_CP15_REG64(...) __ARM_CP15_REG64(__VA_ARGS__) +#define KVM_REG_ARM_PTIMER_CTL ARM_CP15_REG32(0, 14, 2, 1) +#define KVM_REG_ARM_PTIMER_CNT ARM_CP15_REG64(0, 14) +#define KVM_REG_ARM_PTIMER_CVAL ARM_CP15_REG64(2, 14) +#define KVM_REG_ARM_TIMER_CTL ARM_CP15_REG32(0, 14, 3, 1) +#define KVM_REG_ARM_TIMER_CNT ARM_CP15_REG64(1, 14) +#define KVM_REG_ARM_TIMER_CVAL ARM_CP15_REG64(3, 14) +#define KVM_REG_ARM_CORE (0x0010 << KVM_REG_ARM_COPROC_SHIFT) +#define KVM_REG_ARM_CORE_REG(name) (offsetof(struct kvm_regs, name) / 4) +#define KVM_REG_ARM_DEMUX (0x0011 << KVM_REG_ARM_COPROC_SHIFT) +#define KVM_REG_ARM_DEMUX_ID_MASK 0x000000000000FF00 +#define KVM_REG_ARM_DEMUX_ID_SHIFT 8 +#define KVM_REG_ARM_DEMUX_ID_CCSIDR (0x00 << KVM_REG_ARM_DEMUX_ID_SHIFT) +#define KVM_REG_ARM_DEMUX_VAL_MASK 0x00000000000000FF +#define KVM_REG_ARM_DEMUX_VAL_SHIFT 0 +#define KVM_REG_ARM_VFP (0x0012 << KVM_REG_ARM_COPROC_SHIFT) +#define KVM_REG_ARM_VFP_MASK 0x000000000000FFFF +#define KVM_REG_ARM_VFP_BASE_REG 0x0 +#define KVM_REG_ARM_VFP_FPSID 0x1000 +#define KVM_REG_ARM_VFP_FPSCR 0x1001 +#define KVM_REG_ARM_VFP_MVFR1 0x1006 +#define KVM_REG_ARM_VFP_MVFR0 0x1007 +#define KVM_REG_ARM_VFP_FPEXC 0x1008 +#define KVM_REG_ARM_VFP_FPINST 0x1009 +#define KVM_REG_ARM_VFP_FPINST2 0x100A +#define KVM_REG_ARM_FW (0x0014 << KVM_REG_ARM_COPROC_SHIFT) +#define KVM_REG_ARM_FW_REG(r) (KVM_REG_ARM | KVM_REG_SIZE_U64 | \ + KVM_REG_ARM_FW | ((r) & 0xffff)) +#define KVM_REG_ARM_PSCI_VERSION KVM_REG_ARM_FW_REG(0) +#define KVM_DEV_ARM_VGIC_GRP_ADDR 0 +#define KVM_DEV_ARM_VGIC_GRP_DIST_REGS 1 +#define KVM_DEV_ARM_VGIC_GRP_CPU_REGS 2 +#define KVM_DEV_ARM_VGIC_CPUID_SHIFT 32 +#define KVM_DEV_ARM_VGIC_CPUID_MASK (0xffULL << KVM_DEV_ARM_VGIC_CPUID_SHIFT) +#define KVM_DEV_ARM_VGIC_V3_MPIDR_SHIFT 32 +#define KVM_DEV_ARM_VGIC_V3_MPIDR_MASK \ + (0xffffffffULL << KVM_DEV_ARM_VGIC_V3_MPIDR_SHIFT) +#define KVM_DEV_ARM_VGIC_OFFSET_SHIFT 0 +#define KVM_DEV_ARM_VGIC_OFFSET_MASK (0xffffffffULL << KVM_DEV_ARM_VGIC_OFFSET_SHIFT) +#define KVM_DEV_ARM_VGIC_SYSREG_INSTR_MASK (0xffff) +#define KVM_DEV_ARM_VGIC_GRP_NR_IRQS 3 +#define KVM_DEV_ARM_VGIC_GRP_CTRL 4 +#define KVM_DEV_ARM_VGIC_GRP_REDIST_REGS 5 +#define KVM_DEV_ARM_VGIC_GRP_CPU_SYSREGS 6 +#define KVM_DEV_ARM_VGIC_GRP_LEVEL_INFO 7 +#define KVM_DEV_ARM_VGIC_GRP_ITS_REGS 8 +#define KVM_DEV_ARM_VGIC_LINE_LEVEL_INFO_SHIFT 10 +#define KVM_DEV_ARM_VGIC_LINE_LEVEL_INFO_MASK \ + (0x3fffffULL << KVM_DEV_ARM_VGIC_LINE_LEVEL_INFO_SHIFT) +#define KVM_DEV_ARM_VGIC_LINE_LEVEL_INTID_MASK 0x3ff +#define VGIC_LEVEL_INFO_LINE_LEVEL 0 +#define KVM_ARM_VCPU_PMU_V3_CTRL 0 +#define KVM_ARM_VCPU_PMU_V3_IRQ 0 +#define KVM_ARM_VCPU_PMU_V3_INIT 1 +#define KVM_ARM_VCPU_TIMER_CTRL 1 +#define KVM_ARM_VCPU_TIMER_IRQ_VTIMER 0 +#define KVM_ARM_VCPU_TIMER_IRQ_PTIMER 1 +#define KVM_DEV_ARM_VGIC_CTRL_INIT 0 +#define KVM_DEV_ARM_ITS_SAVE_TABLES 1 +#define KVM_DEV_ARM_ITS_RESTORE_TABLES 2 +#define KVM_DEV_ARM_VGIC_SAVE_PENDING_TABLES 3 +#define KVM_DEV_ARM_ITS_CTRL_RESET 4 +#define KVM_ARM_IRQ_TYPE_SHIFT 24 +#define KVM_ARM_IRQ_TYPE_MASK 0xff +#define KVM_ARM_IRQ_VCPU_SHIFT 16 +#define KVM_ARM_IRQ_VCPU_MASK 0xff +#define KVM_ARM_IRQ_NUM_SHIFT 0 +#define KVM_ARM_IRQ_NUM_MASK 0xffff +#define KVM_ARM_IRQ_TYPE_CPU 0 +#define KVM_ARM_IRQ_TYPE_SPI 1 +#define KVM_ARM_IRQ_TYPE_PPI 2 +#define KVM_ARM_IRQ_CPU_IRQ 0 +#define KVM_ARM_IRQ_CPU_FIQ 1 +#define KVM_ARM_IRQ_GIC_MAX 127 +#define KVM_NR_IRQCHIPS 1 +#define KVM_PSCI_FN_BASE 0x95c1ba5e +#define KVM_PSCI_FN(n) (KVM_PSCI_FN_BASE + (n)) +#define KVM_PSCI_FN_CPU_SUSPEND KVM_PSCI_FN(0) +#define KVM_PSCI_FN_CPU_OFF KVM_PSCI_FN(1) +#define KVM_PSCI_FN_CPU_ON KVM_PSCI_FN(2) +#define KVM_PSCI_FN_MIGRATE KVM_PSCI_FN(3) +#define KVM_PSCI_RET_SUCCESS PSCI_RET_SUCCESS +#define KVM_PSCI_RET_NI PSCI_RET_NOT_SUPPORTED +#define KVM_PSCI_RET_INVAL PSCI_RET_INVALID_PARAMS +#define KVM_PSCI_RET_DENIED PSCI_RET_DENIED +#endif diff --git a/linux-5.10/prebuilts/usr/include/asm-arm/asm/kvm_para.h b/linux-5.10/prebuilts/usr/include/asm-arm/asm/kvm_para.h new file mode 100644 index 0000000..c74c294 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/asm-arm/asm/kvm_para.h @@ -0,0 +1,6 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#include diff --git a/linux-5.10/prebuilts/usr/include/asm-arm/asm/mman.h b/linux-5.10/prebuilts/usr/include/asm-arm/asm/mman.h new file mode 100644 index 0000000..65a6a5c --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/asm-arm/asm/mman.h @@ -0,0 +1,8 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#include +#define arch_mmap_check(addr, len, flags) \ + (((flags) & MAP_FIXED && (addr) < FIRST_USER_ADDRESS) ? -EINVAL : 0) diff --git a/linux-5.10/prebuilts/usr/include/asm-arm/asm/msgbuf.h b/linux-5.10/prebuilts/usr/include/asm-arm/asm/msgbuf.h new file mode 100644 index 0000000..a361e7c --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/asm-arm/asm/msgbuf.h @@ -0,0 +1,6 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#include diff --git a/linux-5.10/prebuilts/usr/include/asm-arm/asm/param.h b/linux-5.10/prebuilts/usr/include/asm-arm/asm/param.h new file mode 100644 index 0000000..67e7728 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/asm-arm/asm/param.h @@ -0,0 +1,6 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#include diff --git a/linux-5.10/prebuilts/usr/include/asm-arm/asm/perf_regs.h b/linux-5.10/prebuilts/usr/include/asm-arm/asm/perf_regs.h new file mode 100644 index 0000000..1f7361c --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/asm-arm/asm/perf_regs.h @@ -0,0 +1,27 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _ASM_ARM_PERF_REGS_H +#define _ASM_ARM_PERF_REGS_H +enum perf_event_arm_regs { + PERF_REG_ARM_R0, + PERF_REG_ARM_R1, + PERF_REG_ARM_R2, + PERF_REG_ARM_R3, + PERF_REG_ARM_R4, + PERF_REG_ARM_R5, + PERF_REG_ARM_R6, + PERF_REG_ARM_R7, + PERF_REG_ARM_R8, + PERF_REG_ARM_R9, + PERF_REG_ARM_R10, + PERF_REG_ARM_FP, + PERF_REG_ARM_IP, + PERF_REG_ARM_SP, + PERF_REG_ARM_LR, + PERF_REG_ARM_PC, + PERF_REG_ARM_MAX, +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/asm-arm/asm/poll.h b/linux-5.10/prebuilts/usr/include/asm-arm/asm/poll.h new file mode 100644 index 0000000..93f531d --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/asm-arm/asm/poll.h @@ -0,0 +1,6 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#include diff --git a/linux-5.10/prebuilts/usr/include/asm-arm/asm/posix_types.h b/linux-5.10/prebuilts/usr/include/asm-arm/asm/posix_types.h new file mode 100644 index 0000000..8ba2dc2 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/asm-arm/asm/posix_types.h @@ -0,0 +1,18 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef __ARCH_ARM_POSIX_TYPES_H +#define __ARCH_ARM_POSIX_TYPES_H +typedef unsigned short __kernel_mode_t; +#define __kernel_mode_t __kernel_mode_t +typedef unsigned short __kernel_ipc_pid_t; +#define __kernel_ipc_pid_t __kernel_ipc_pid_t +typedef unsigned short __kernel_uid_t; +typedef unsigned short __kernel_gid_t; +#define __kernel_uid_t __kernel_uid_t +typedef unsigned short __kernel_old_dev_t; +#define __kernel_old_dev_t __kernel_old_dev_t +#include +#endif diff --git a/linux-5.10/prebuilts/usr/include/asm-arm/asm/ptrace.h b/linux-5.10/prebuilts/usr/include/asm-arm/asm/ptrace.h new file mode 100644 index 0000000..13fdbe4 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/asm-arm/asm/ptrace.h @@ -0,0 +1,106 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI__ASM_ARM_PTRACE_H +#define _UAPI__ASM_ARM_PTRACE_H +#include +#define PTRACE_GETREGS 12 +#define PTRACE_SETREGS 13 +#define PTRACE_GETFPREGS 14 +#define PTRACE_SETFPREGS 15 +#define PTRACE_GETWMMXREGS 18 +#define PTRACE_SETWMMXREGS 19 +#define PTRACE_OLDSETOPTIONS 21 +#define PTRACE_GET_THREAD_AREA 22 +#define PTRACE_SET_SYSCALL 23 +#define PTRACE_GETCRUNCHREGS 25 +#define PTRACE_SETCRUNCHREGS 26 +#define PTRACE_GETVFPREGS 27 +#define PTRACE_SETVFPREGS 28 +#define PTRACE_GETHBPREGS 29 +#define PTRACE_SETHBPREGS 30 +#define PTRACE_GETFDPIC 31 +#define PTRACE_GETFDPIC_EXEC 0 +#define PTRACE_GETFDPIC_INTERP 1 +#define USR26_MODE 0x00000000 +#define FIQ26_MODE 0x00000001 +#define IRQ26_MODE 0x00000002 +#define SVC26_MODE 0x00000003 +#if defined(__KERNEL__) && defined(CONFIG_CPU_V7M) +#define USR_MODE 0x00000000 +#define SVC_MODE 0x00000000 +#else +#define USR_MODE 0x00000010 +#define SVC_MODE 0x00000013 +#endif +#define FIQ_MODE 0x00000011 +#define IRQ_MODE 0x00000012 +#define MON_MODE 0x00000016 +#define ABT_MODE 0x00000017 +#define HYP_MODE 0x0000001a +#define UND_MODE 0x0000001b +#define SYSTEM_MODE 0x0000001f +#define MODE32_BIT 0x00000010 +#define MODE_MASK 0x0000001f +#define V4_PSR_T_BIT 0x00000020 +#define V7M_PSR_T_BIT 0x01000000 +#if defined(__KERNEL__) && defined(CONFIG_CPU_V7M) +#define PSR_T_BIT V7M_PSR_T_BIT +#else +#define PSR_T_BIT V4_PSR_T_BIT +#endif +#define PSR_F_BIT 0x00000040 +#define PSR_I_BIT 0x00000080 +#define PSR_A_BIT 0x00000100 +#define PSR_E_BIT 0x00000200 +#define PSR_J_BIT 0x01000000 +#define PSR_Q_BIT 0x08000000 +#define PSR_V_BIT 0x10000000 +#define PSR_C_BIT 0x20000000 +#define PSR_Z_BIT 0x40000000 +#define PSR_N_BIT 0x80000000 +#define PSR_f 0xff000000 +#define PSR_s 0x00ff0000 +#define PSR_x 0x0000ff00 +#define PSR_c 0x000000ff +#define APSR_MASK 0xf80f0000 +#define PSR_ISET_MASK 0x01000010 +#define PSR_IT_MASK 0x0600fc00 +#define PSR_ENDIAN_MASK 0x00000200 +#ifdef CONFIG_CPU_ENDIAN_BE8 +#define PSR_ENDSTATE PSR_E_BIT +#else +#define PSR_ENDSTATE 0 +#endif +#define PT_TEXT_ADDR 0x10000 +#define PT_DATA_ADDR 0x10004 +#define PT_TEXT_END_ADDR 0x10008 +#ifndef __ASSEMBLY__ +#ifndef __KERNEL__ +struct pt_regs { + long uregs[18]; +}; +#endif +#define ARM_cpsr uregs[16] +#define ARM_pc uregs[15] +#define ARM_lr uregs[14] +#define ARM_sp uregs[13] +#define ARM_ip uregs[12] +#define ARM_fp uregs[11] +#define ARM_r10 uregs[10] +#define ARM_r9 uregs[9] +#define ARM_r8 uregs[8] +#define ARM_r7 uregs[7] +#define ARM_r6 uregs[6] +#define ARM_r5 uregs[5] +#define ARM_r4 uregs[4] +#define ARM_r3 uregs[3] +#define ARM_r2 uregs[2] +#define ARM_r1 uregs[1] +#define ARM_r0 uregs[0] +#define ARM_ORIG_r0 uregs[17] +#define ARM_VFPREGS_SIZE ( 32 * 8 ) +#endif +#endif diff --git a/linux-5.10/prebuilts/usr/include/asm-arm/asm/resource.h b/linux-5.10/prebuilts/usr/include/asm-arm/asm/resource.h new file mode 100644 index 0000000..728000e --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/asm-arm/asm/resource.h @@ -0,0 +1,6 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#include diff --git a/linux-5.10/prebuilts/usr/include/asm-arm/asm/sembuf.h b/linux-5.10/prebuilts/usr/include/asm-arm/asm/sembuf.h new file mode 100644 index 0000000..1769cec --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/asm-arm/asm/sembuf.h @@ -0,0 +1,6 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#include diff --git a/linux-5.10/prebuilts/usr/include/asm-arm/asm/setup.h b/linux-5.10/prebuilts/usr/include/asm-arm/asm/setup.h new file mode 100644 index 0000000..3af5413 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/asm-arm/asm/setup.h @@ -0,0 +1,120 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI__ASMARM_SETUP_H +#define _UAPI__ASMARM_SETUP_H +#include +#define COMMAND_LINE_SIZE 1024 +#define ATAG_NONE 0x00000000 +struct tag_header { + __u32 size; + __u32 tag; +}; +#define ATAG_CORE 0x54410001 +struct tag_core { + __u32 flags; + __u32 pagesize; + __u32 rootdev; +}; +#define ATAG_MEM 0x54410002 +struct tag_mem32 { + __u32 size; + __u32 start; +}; +#define ATAG_VIDEOTEXT 0x54410003 +struct tag_videotext { + __u8 x; + __u8 y; + __u16 video_page; + __u8 video_mode; + __u8 video_cols; + __u16 video_ega_bx; + __u8 video_lines; + __u8 video_isvga; + __u16 video_points; +}; +#define ATAG_RAMDISK 0x54410004 +struct tag_ramdisk { + __u32 flags; + __u32 size; + __u32 start; +}; +#define ATAG_INITRD 0x54410005 +#define ATAG_INITRD2 0x54420005 +struct tag_initrd { + __u32 start; + __u32 size; +}; +#define ATAG_SERIAL 0x54410006 +struct tag_serialnr { + __u32 low; + __u32 high; +}; +#define ATAG_REVISION 0x54410007 +struct tag_revision { + __u32 rev; +}; +#define ATAG_VIDEOLFB 0x54410008 +struct tag_videolfb { + __u16 lfb_width; + __u16 lfb_height; + __u16 lfb_depth; + __u16 lfb_linelength; + __u32 lfb_base; + __u32 lfb_size; + __u8 red_size; + __u8 red_pos; + __u8 green_size; + __u8 green_pos; + __u8 blue_size; + __u8 blue_pos; + __u8 rsvd_size; + __u8 rsvd_pos; +}; +#define ATAG_CMDLINE 0x54410009 +struct tag_cmdline { + char cmdline[1]; +}; +#define ATAG_ACORN 0x41000101 +struct tag_acorn { + __u32 memc_control_reg; + __u32 vram_pages; + __u8 sounddefault; + __u8 adfsdrives; +}; +#define ATAG_MEMCLK 0x41000402 +struct tag_memclk { + __u32 fmemclk; +}; +struct tag { + struct tag_header hdr; + union { + struct tag_core core; + struct tag_mem32 mem; + struct tag_videotext videotext; + struct tag_ramdisk ramdisk; + struct tag_initrd initrd; + struct tag_serialnr serialnr; + struct tag_revision revision; + struct tag_videolfb videolfb; + struct tag_cmdline cmdline; + + struct tag_acorn acorn; + + struct tag_memclk memclk; + } u; +}; +struct tagtable { + __u32 tag; + int (*parse)(const struct tag *); +}; +#define tag_member_present(tag,member) \ + ((unsigned long)(&((struct tag *)0L)->member + 1) \ + <= (tag)->hdr.size * 4) +#define tag_next(t) ((struct tag *)((__u32 *)(t) + (t)->hdr.size)) +#define tag_size(type) ((sizeof(struct tag_header) + sizeof(struct type)) >> 2) +#define for_each_tag(t,base) \ + for (t = base; t->hdr.size; t = tag_next(t)) +#endif diff --git a/linux-5.10/prebuilts/usr/include/asm-arm/asm/shmbuf.h b/linux-5.10/prebuilts/usr/include/asm-arm/asm/shmbuf.h new file mode 100644 index 0000000..ada9904 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/asm-arm/asm/shmbuf.h @@ -0,0 +1,6 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#include diff --git a/linux-5.10/prebuilts/usr/include/asm-arm/asm/sigcontext.h b/linux-5.10/prebuilts/usr/include/asm-arm/asm/sigcontext.h new file mode 100644 index 0000000..fe3eee7 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/asm-arm/asm/sigcontext.h @@ -0,0 +1,31 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _ASMARM_SIGCONTEXT_H +#define _ASMARM_SIGCONTEXT_H +struct sigcontext { + unsigned long trap_no; + unsigned long error_code; + unsigned long oldmask; + unsigned long arm_r0; + unsigned long arm_r1; + unsigned long arm_r2; + unsigned long arm_r3; + unsigned long arm_r4; + unsigned long arm_r5; + unsigned long arm_r6; + unsigned long arm_r7; + unsigned long arm_r8; + unsigned long arm_r9; + unsigned long arm_r10; + unsigned long arm_fp; + unsigned long arm_ip; + unsigned long arm_sp; + unsigned long arm_lr; + unsigned long arm_pc; + unsigned long arm_cpsr; + unsigned long fault_address; +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/asm-arm/asm/siginfo.h b/linux-5.10/prebuilts/usr/include/asm-arm/asm/siginfo.h new file mode 100644 index 0000000..05b664d --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/asm-arm/asm/siginfo.h @@ -0,0 +1,6 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#include diff --git a/linux-5.10/prebuilts/usr/include/asm-arm/asm/signal.h b/linux-5.10/prebuilts/usr/include/asm-arm/asm/signal.h new file mode 100644 index 0000000..06721bd --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/asm-arm/asm/signal.h @@ -0,0 +1,83 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI_ASMARM_SIGNAL_H +#define _UAPI_ASMARM_SIGNAL_H +#include +struct siginfo; +#ifndef __KERNEL__ +#define _KERNEL_NSIG 32 +typedef unsigned long sigset_t; +#endif +#define SIGHUP 1 +#define SIGINT 2 +#define SIGQUIT 3 +#define SIGILL 4 +#define SIGTRAP 5 +#define SIGABRT 6 +#define SIGIOT 6 +#define SIGBUS 7 +#define SIGFPE 8 +#define SIGKILL 9 +#define SIGUSR1 10 +#define SIGSEGV 11 +#define SIGUSR2 12 +#define SIGPIPE 13 +#define SIGALRM 14 +#define SIGTERM 15 +#define SIGSTKFLT 16 +#define SIGCHLD 17 +#define SIGCONT 18 +#define SIGSTOP 19 +#define SIGTSTP 20 +#define SIGTTIN 21 +#define SIGTTOU 22 +#define SIGURG 23 +#define SIGXCPU 24 +#define SIGXFSZ 25 +#define SIGVTALRM 26 +#define SIGPROF 27 +#define SIGWINCH 28 +#define SIGIO 29 +#define SIGPOLL SIGIO +#define SIGPWR 30 +#define SIGSYS 31 +#define SIGUNUSED 31 +#define __SIGRTMIN 32 +#define __SIGRTMAX _KERNEL__NSIG +#define SIGSWI 32 +#define SA_NOCLDSTOP 0x00000001 +#define SA_NOCLDWAIT 0x00000002 +#define SA_SIGINFO 0x00000004 +#define SA_THIRTYTWO 0x02000000 +#define SA_RESTORER 0x04000000 +#define SA_ONSTACK 0x08000000 +#define SA_RESTART 0x10000000 +#define SA_NODEFER 0x40000000 +#define SA_RESETHAND 0x80000000 +#define SA_NOMASK SA_NODEFER +#define SA_ONESHOT SA_RESETHAND +#define MINSIGSTKSZ 2048 +#define SIGSTKSZ 8192 +#include +#ifndef __KERNEL__ +struct sigaction { + union { + __sighandler_t _sa_handler; + void (*_sa_sigaction)(int, struct siginfo *, void *); + } _u; + sigset_t sa_mask; + unsigned long sa_flags; + void (*sa_restorer)(void); +}; +#define sa_handler _u._sa_handler +#define sa_sigaction _u._sa_sigaction +#endif +typedef struct sigaltstack { + void __user *ss_sp; + int ss_flags; + size_t ss_size; +} stack_t; +#endif diff --git a/linux-5.10/prebuilts/usr/include/asm-arm/asm/socket.h b/linux-5.10/prebuilts/usr/include/asm-arm/asm/socket.h new file mode 100644 index 0000000..b61e0f4 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/asm-arm/asm/socket.h @@ -0,0 +1,6 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#include diff --git a/linux-5.10/prebuilts/usr/include/asm-arm/asm/sockios.h b/linux-5.10/prebuilts/usr/include/asm-arm/asm/sockios.h new file mode 100644 index 0000000..9cb632b --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/asm-arm/asm/sockios.h @@ -0,0 +1,6 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#include diff --git a/linux-5.10/prebuilts/usr/include/asm-arm/asm/stat.h b/linux-5.10/prebuilts/usr/include/asm-arm/asm/stat.h new file mode 100644 index 0000000..454abf0 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/asm-arm/asm/stat.h @@ -0,0 +1,74 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _ASMARM_STAT_H +#define _ASMARM_STAT_H +struct __old_kernel_stat { + unsigned short st_dev; + unsigned short st_ino; + unsigned short st_mode; + unsigned short st_nlink; + unsigned short st_uid; + unsigned short st_gid; + unsigned short st_rdev; + unsigned long st_size; + unsigned long st_atime; + unsigned long st_mtime; + unsigned long st_ctime; +}; +#define STAT_HAVE_NSEC +struct stat { +#if 0 + unsigned short st_dev; + unsigned short __pad1; +#else + unsigned long st_dev; +#endif + unsigned long st_ino; + unsigned short st_mode; + unsigned short st_nlink; + unsigned short st_uid; + unsigned short st_gid; +#if 0 + unsigned short st_rdev; + unsigned short __pad2; +#else + unsigned long st_rdev; +#endif + unsigned long st_size; + unsigned long st_blksize; + unsigned long st_blocks; + unsigned long st_atime; + unsigned long st_atime_nsec; + unsigned long st_mtime; + unsigned long st_mtime_nsec; + unsigned long st_ctime; + unsigned long st_ctime_nsec; + unsigned long __unused4; + unsigned long __unused5; +}; +struct stat64 { + unsigned long long st_dev; + unsigned char __pad0[4]; +#define STAT64_HAS_BROKEN_ST_INO 1 + unsigned long __st_ino; + unsigned int st_mode; + unsigned int st_nlink; + unsigned long st_uid; + unsigned long st_gid; + unsigned long long st_rdev; + unsigned char __pad3[4]; + long long st_size; + unsigned long st_blksize; + unsigned long long st_blocks; + unsigned long st_atime; + unsigned long st_atime_nsec; + unsigned long st_mtime; + unsigned long st_mtime_nsec; + unsigned long st_ctime; + unsigned long st_ctime_nsec; + unsigned long long st_ino; +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/asm-arm/asm/statfs.h b/linux-5.10/prebuilts/usr/include/asm-arm/asm/statfs.h new file mode 100644 index 0000000..3131a41 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/asm-arm/asm/statfs.h @@ -0,0 +1,10 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _ASMARM_STATFS_H +#define _ASMARM_STATFS_H +#define ARCH_PACK_STATFS64 __attribute__((packed,aligned(4))) +#include +#endif diff --git a/linux-5.10/prebuilts/usr/include/asm-arm/asm/swab.h b/linux-5.10/prebuilts/usr/include/asm-arm/asm/swab.h new file mode 100644 index 0000000..0ba6389 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/asm-arm/asm/swab.h @@ -0,0 +1,31 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI__ASM_ARM_SWAB_H +#define _UAPI__ASM_ARM_SWAB_H +#include +#include +#if !defined(__STRICT_ANSI__) || defined(__KERNEL__) +# define __SWAB_64_THRU_32__ +#endif +#if !defined(__KERNEL__) || __LINUX_ARM_ARCH__ < 6 +static inline __attribute_const__ __u32 __arch_swab32(__u32 x) +{ + __u32 t; +#ifndef __thumb__ + if (!__builtin_constant_p(x)) { + + asm ("eor\t%0, %1, %1, ror #16" : "=r" (t) : "r" (x)); + } else +#endif + t = x ^ ((x << 16) | (x >> 16)); + x = (x << 24) | (x >> 8); + t &= ~0x00FF0000; + x ^= (t >> 8); + return x; +} +#define __arch_swab32 __arch_swab32 +#endif +#endif diff --git a/linux-5.10/prebuilts/usr/include/asm-arm/asm/termbits.h b/linux-5.10/prebuilts/usr/include/asm-arm/asm/termbits.h new file mode 100644 index 0000000..a3723de --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/asm-arm/asm/termbits.h @@ -0,0 +1,6 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#include diff --git a/linux-5.10/prebuilts/usr/include/asm-arm/asm/termios.h b/linux-5.10/prebuilts/usr/include/asm-arm/asm/termios.h new file mode 100644 index 0000000..0555809 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/asm-arm/asm/termios.h @@ -0,0 +1,6 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#include diff --git a/linux-5.10/prebuilts/usr/include/asm-arm/asm/types.h b/linux-5.10/prebuilts/usr/include/asm-arm/asm/types.h new file mode 100644 index 0000000..11b0fee --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/asm-arm/asm/types.h @@ -0,0 +1,21 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI_ASM_TYPES_H +#define _UAPI_ASM_TYPES_H +#include +#ifdef __INT32_TYPE__ +#undef __INT32_TYPE__ +#define __INT32_TYPE__ int +#endif +#ifdef __UINT32_TYPE__ +#undef __UINT32_TYPE__ +#define __UINT32_TYPE__ unsigned int +#endif +#ifdef __UINTPTR_TYPE__ +#undef __UINTPTR_TYPE__ +#define __UINTPTR_TYPE__ unsigned long +#endif +#endif diff --git a/linux-5.10/prebuilts/usr/include/asm-arm/asm/unistd-common.h b/linux-5.10/prebuilts/usr/include/asm-arm/asm/unistd-common.h new file mode 100644 index 0000000..e1540dd --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/asm-arm/asm/unistd-common.h @@ -0,0 +1,363 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI_ASM_ARM_UNISTD_COMMON_H +#define _UAPI_ASM_ARM_UNISTD_COMMON_H 1 +#define __NR_restart_syscall (__NR_SYSCALL_BASE + 0) +#define __NR_exit (__NR_SYSCALL_BASE + 1) +#define __NR_fork (__NR_SYSCALL_BASE + 2) +#define __NR_read (__NR_SYSCALL_BASE + 3) +#define __NR_write (__NR_SYSCALL_BASE + 4) +#define __NR_open (__NR_SYSCALL_BASE + 5) +#define __NR_close (__NR_SYSCALL_BASE + 6) +#define __NR_creat (__NR_SYSCALL_BASE + 8) +#define __NR_link (__NR_SYSCALL_BASE + 9) +#define __NR_unlink (__NR_SYSCALL_BASE + 10) +#define __NR_execve (__NR_SYSCALL_BASE + 11) +#define __NR_chdir (__NR_SYSCALL_BASE + 12) +#define __NR_mknod (__NR_SYSCALL_BASE + 14) +#define __NR_chmod (__NR_SYSCALL_BASE + 15) +#define __NR_lchown (__NR_SYSCALL_BASE + 16) +#define __NR_lseek (__NR_SYSCALL_BASE + 19) +#define __NR_getpid (__NR_SYSCALL_BASE + 20) +#define __NR_mount (__NR_SYSCALL_BASE + 21) +#define __NR_setuid (__NR_SYSCALL_BASE + 23) +#define __NR_getuid (__NR_SYSCALL_BASE + 24) +#define __NR_ptrace (__NR_SYSCALL_BASE + 26) +#define __NR_pause (__NR_SYSCALL_BASE + 29) +#define __NR_access (__NR_SYSCALL_BASE + 33) +#define __NR_nice (__NR_SYSCALL_BASE + 34) +#define __NR_sync (__NR_SYSCALL_BASE + 36) +#define __NR_kill (__NR_SYSCALL_BASE + 37) +#define __NR_rename (__NR_SYSCALL_BASE + 38) +#define __NR_mkdir (__NR_SYSCALL_BASE + 39) +#define __NR_rmdir (__NR_SYSCALL_BASE + 40) +#define __NR_dup (__NR_SYSCALL_BASE + 41) +#define __NR_pipe (__NR_SYSCALL_BASE + 42) +#define __NR_times (__NR_SYSCALL_BASE + 43) +#define __NR_brk (__NR_SYSCALL_BASE + 45) +#define __NR_setgid (__NR_SYSCALL_BASE + 46) +#define __NR_getgid (__NR_SYSCALL_BASE + 47) +#define __NR_geteuid (__NR_SYSCALL_BASE + 49) +#define __NR_getegid (__NR_SYSCALL_BASE + 50) +#define __NR_acct (__NR_SYSCALL_BASE + 51) +#define __NR_umount2 (__NR_SYSCALL_BASE + 52) +#define __NR_ioctl (__NR_SYSCALL_BASE + 54) +#define __NR_fcntl (__NR_SYSCALL_BASE + 55) +#define __NR_setpgid (__NR_SYSCALL_BASE + 57) +#define __NR_umask (__NR_SYSCALL_BASE + 60) +#define __NR_chroot (__NR_SYSCALL_BASE + 61) +#define __NR_ustat (__NR_SYSCALL_BASE + 62) +#define __NR_dup2 (__NR_SYSCALL_BASE + 63) +#define __NR_getppid (__NR_SYSCALL_BASE + 64) +#define __NR_getpgrp (__NR_SYSCALL_BASE + 65) +#define __NR_setsid (__NR_SYSCALL_BASE + 66) +#define __NR_sigaction (__NR_SYSCALL_BASE + 67) +#define __NR_setreuid (__NR_SYSCALL_BASE + 70) +#define __NR_setregid (__NR_SYSCALL_BASE + 71) +#define __NR_sigsuspend (__NR_SYSCALL_BASE + 72) +#define __NR_sigpending (__NR_SYSCALL_BASE + 73) +#define __NR_sethostname (__NR_SYSCALL_BASE + 74) +#define __NR_setrlimit (__NR_SYSCALL_BASE + 75) +#define __NR_getrusage (__NR_SYSCALL_BASE + 77) +#define __NR_gettimeofday (__NR_SYSCALL_BASE + 78) +#define __NR_settimeofday (__NR_SYSCALL_BASE + 79) +#define __NR_getgroups (__NR_SYSCALL_BASE + 80) +#define __NR_setgroups (__NR_SYSCALL_BASE + 81) +#define __NR_symlink (__NR_SYSCALL_BASE + 83) +#define __NR_readlink (__NR_SYSCALL_BASE + 85) +#define __NR_uselib (__NR_SYSCALL_BASE + 86) +#define __NR_swapon (__NR_SYSCALL_BASE + 87) +#define __NR_reboot (__NR_SYSCALL_BASE + 88) +#define __NR_munmap (__NR_SYSCALL_BASE + 91) +#define __NR_truncate (__NR_SYSCALL_BASE + 92) +#define __NR_ftruncate (__NR_SYSCALL_BASE + 93) +#define __NR_fchmod (__NR_SYSCALL_BASE + 94) +#define __NR_fchown (__NR_SYSCALL_BASE + 95) +#define __NR_getpriority (__NR_SYSCALL_BASE + 96) +#define __NR_setpriority (__NR_SYSCALL_BASE + 97) +#define __NR_statfs (__NR_SYSCALL_BASE + 99) +#define __NR_fstatfs (__NR_SYSCALL_BASE + 100) +#define __NR_syslog (__NR_SYSCALL_BASE + 103) +#define __NR_setitimer (__NR_SYSCALL_BASE + 104) +#define __NR_getitimer (__NR_SYSCALL_BASE + 105) +#define __NR_stat (__NR_SYSCALL_BASE + 106) +#define __NR_lstat (__NR_SYSCALL_BASE + 107) +#define __NR_fstat (__NR_SYSCALL_BASE + 108) +#define __NR_vhangup (__NR_SYSCALL_BASE + 111) +#define __NR_wait4 (__NR_SYSCALL_BASE + 114) +#define __NR_swapoff (__NR_SYSCALL_BASE + 115) +#define __NR_sysinfo (__NR_SYSCALL_BASE + 116) +#define __NR_fsync (__NR_SYSCALL_BASE + 118) +#define __NR_sigreturn (__NR_SYSCALL_BASE + 119) +#define __NR_clone (__NR_SYSCALL_BASE + 120) +#define __NR_setdomainname (__NR_SYSCALL_BASE + 121) +#define __NR_uname (__NR_SYSCALL_BASE + 122) +#define __NR_adjtimex (__NR_SYSCALL_BASE + 124) +#define __NR_mprotect (__NR_SYSCALL_BASE + 125) +#define __NR_sigprocmask (__NR_SYSCALL_BASE + 126) +#define __NR_init_module (__NR_SYSCALL_BASE + 128) +#define __NR_delete_module (__NR_SYSCALL_BASE + 129) +#define __NR_quotactl (__NR_SYSCALL_BASE + 131) +#define __NR_getpgid (__NR_SYSCALL_BASE + 132) +#define __NR_fchdir (__NR_SYSCALL_BASE + 133) +#define __NR_bdflush (__NR_SYSCALL_BASE + 134) +#define __NR_sysfs (__NR_SYSCALL_BASE + 135) +#define __NR_personality (__NR_SYSCALL_BASE + 136) +#define __NR_setfsuid (__NR_SYSCALL_BASE + 138) +#define __NR_setfsgid (__NR_SYSCALL_BASE + 139) +#define __NR__llseek (__NR_SYSCALL_BASE + 140) +#define __NR_getdents (__NR_SYSCALL_BASE + 141) +#define __NR__newselect (__NR_SYSCALL_BASE + 142) +#define __NR_flock (__NR_SYSCALL_BASE + 143) +#define __NR_msync (__NR_SYSCALL_BASE + 144) +#define __NR_readv (__NR_SYSCALL_BASE + 145) +#define __NR_writev (__NR_SYSCALL_BASE + 146) +#define __NR_getsid (__NR_SYSCALL_BASE + 147) +#define __NR_fdatasync (__NR_SYSCALL_BASE + 148) +#define __NR__sysctl (__NR_SYSCALL_BASE + 149) +#define __NR_mlock (__NR_SYSCALL_BASE + 150) +#define __NR_munlock (__NR_SYSCALL_BASE + 151) +#define __NR_mlockall (__NR_SYSCALL_BASE + 152) +#define __NR_munlockall (__NR_SYSCALL_BASE + 153) +#define __NR_sched_setparam (__NR_SYSCALL_BASE + 154) +#define __NR_sched_getparam (__NR_SYSCALL_BASE + 155) +#define __NR_sched_setscheduler (__NR_SYSCALL_BASE + 156) +#define __NR_sched_getscheduler (__NR_SYSCALL_BASE + 157) +#define __NR_sched_yield (__NR_SYSCALL_BASE + 158) +#define __NR_sched_get_priority_max (__NR_SYSCALL_BASE + 159) +#define __NR_sched_get_priority_min (__NR_SYSCALL_BASE + 160) +#define __NR_sched_rr_get_interval (__NR_SYSCALL_BASE + 161) +#define __NR_nanosleep (__NR_SYSCALL_BASE + 162) +#define __NR_mremap (__NR_SYSCALL_BASE + 163) +#define __NR_setresuid (__NR_SYSCALL_BASE + 164) +#define __NR_getresuid (__NR_SYSCALL_BASE + 165) +#define __NR_poll (__NR_SYSCALL_BASE + 168) +#define __NR_nfsservctl (__NR_SYSCALL_BASE + 169) +#define __NR_setresgid (__NR_SYSCALL_BASE + 170) +#define __NR_getresgid (__NR_SYSCALL_BASE + 171) +#define __NR_prctl (__NR_SYSCALL_BASE + 172) +#define __NR_rt_sigreturn (__NR_SYSCALL_BASE + 173) +#define __NR_rt_sigaction (__NR_SYSCALL_BASE + 174) +#define __NR_rt_sigprocmask (__NR_SYSCALL_BASE + 175) +#define __NR_rt_sigpending (__NR_SYSCALL_BASE + 176) +#define __NR_rt_sigtimedwait (__NR_SYSCALL_BASE + 177) +#define __NR_rt_sigqueueinfo (__NR_SYSCALL_BASE + 178) +#define __NR_rt_sigsuspend (__NR_SYSCALL_BASE + 179) +#define __NR_pread64 (__NR_SYSCALL_BASE + 180) +#define __NR_pwrite64 (__NR_SYSCALL_BASE + 181) +#define __NR_chown (__NR_SYSCALL_BASE + 182) +#define __NR_getcwd (__NR_SYSCALL_BASE + 183) +#define __NR_capget (__NR_SYSCALL_BASE + 184) +#define __NR_capset (__NR_SYSCALL_BASE + 185) +#define __NR_sigaltstack (__NR_SYSCALL_BASE + 186) +#define __NR_sendfile (__NR_SYSCALL_BASE + 187) +#define __NR_vfork (__NR_SYSCALL_BASE + 190) +#define __NR_ugetrlimit (__NR_SYSCALL_BASE + 191) +#define __NR_mmap2 (__NR_SYSCALL_BASE + 192) +#define __NR_truncate64 (__NR_SYSCALL_BASE + 193) +#define __NR_ftruncate64 (__NR_SYSCALL_BASE + 194) +#define __NR_stat64 (__NR_SYSCALL_BASE + 195) +#define __NR_lstat64 (__NR_SYSCALL_BASE + 196) +#define __NR_fstat64 (__NR_SYSCALL_BASE + 197) +#define __NR_lchown32 (__NR_SYSCALL_BASE + 198) +#define __NR_getuid32 (__NR_SYSCALL_BASE + 199) +#define __NR_getgid32 (__NR_SYSCALL_BASE + 200) +#define __NR_geteuid32 (__NR_SYSCALL_BASE + 201) +#define __NR_getegid32 (__NR_SYSCALL_BASE + 202) +#define __NR_setreuid32 (__NR_SYSCALL_BASE + 203) +#define __NR_setregid32 (__NR_SYSCALL_BASE + 204) +#define __NR_getgroups32 (__NR_SYSCALL_BASE + 205) +#define __NR_setgroups32 (__NR_SYSCALL_BASE + 206) +#define __NR_fchown32 (__NR_SYSCALL_BASE + 207) +#define __NR_setresuid32 (__NR_SYSCALL_BASE + 208) +#define __NR_getresuid32 (__NR_SYSCALL_BASE + 209) +#define __NR_setresgid32 (__NR_SYSCALL_BASE + 210) +#define __NR_getresgid32 (__NR_SYSCALL_BASE + 211) +#define __NR_chown32 (__NR_SYSCALL_BASE + 212) +#define __NR_setuid32 (__NR_SYSCALL_BASE + 213) +#define __NR_setgid32 (__NR_SYSCALL_BASE + 214) +#define __NR_setfsuid32 (__NR_SYSCALL_BASE + 215) +#define __NR_setfsgid32 (__NR_SYSCALL_BASE + 216) +#define __NR_getdents64 (__NR_SYSCALL_BASE + 217) +#define __NR_pivot_root (__NR_SYSCALL_BASE + 218) +#define __NR_mincore (__NR_SYSCALL_BASE + 219) +#define __NR_madvise (__NR_SYSCALL_BASE + 220) +#define __NR_fcntl64 (__NR_SYSCALL_BASE + 221) +#define __NR_gettid (__NR_SYSCALL_BASE + 224) +#define __NR_readahead (__NR_SYSCALL_BASE + 225) +#define __NR_setxattr (__NR_SYSCALL_BASE + 226) +#define __NR_lsetxattr (__NR_SYSCALL_BASE + 227) +#define __NR_fsetxattr (__NR_SYSCALL_BASE + 228) +#define __NR_getxattr (__NR_SYSCALL_BASE + 229) +#define __NR_lgetxattr (__NR_SYSCALL_BASE + 230) +#define __NR_fgetxattr (__NR_SYSCALL_BASE + 231) +#define __NR_listxattr (__NR_SYSCALL_BASE + 232) +#define __NR_llistxattr (__NR_SYSCALL_BASE + 233) +#define __NR_flistxattr (__NR_SYSCALL_BASE + 234) +#define __NR_removexattr (__NR_SYSCALL_BASE + 235) +#define __NR_lremovexattr (__NR_SYSCALL_BASE + 236) +#define __NR_fremovexattr (__NR_SYSCALL_BASE + 237) +#define __NR_tkill (__NR_SYSCALL_BASE + 238) +#define __NR_sendfile64 (__NR_SYSCALL_BASE + 239) +#define __NR_futex (__NR_SYSCALL_BASE + 240) +#define __NR_sched_setaffinity (__NR_SYSCALL_BASE + 241) +#define __NR_sched_getaffinity (__NR_SYSCALL_BASE + 242) +#define __NR_io_setup (__NR_SYSCALL_BASE + 243) +#define __NR_io_destroy (__NR_SYSCALL_BASE + 244) +#define __NR_io_getevents (__NR_SYSCALL_BASE + 245) +#define __NR_io_submit (__NR_SYSCALL_BASE + 246) +#define __NR_io_cancel (__NR_SYSCALL_BASE + 247) +#define __NR_exit_group (__NR_SYSCALL_BASE + 248) +#define __NR_lookup_dcookie (__NR_SYSCALL_BASE + 249) +#define __NR_epoll_create (__NR_SYSCALL_BASE + 250) +#define __NR_epoll_ctl (__NR_SYSCALL_BASE + 251) +#define __NR_epoll_wait (__NR_SYSCALL_BASE + 252) +#define __NR_remap_file_pages (__NR_SYSCALL_BASE + 253) +#define __NR_set_tid_address (__NR_SYSCALL_BASE + 256) +#define __NR_timer_create (__NR_SYSCALL_BASE + 257) +#define __NR_timer_settime (__NR_SYSCALL_BASE + 258) +#define __NR_timer_gettime (__NR_SYSCALL_BASE + 259) +#define __NR_timer_getoverrun (__NR_SYSCALL_BASE + 260) +#define __NR_timer_delete (__NR_SYSCALL_BASE + 261) +#define __NR_clock_settime (__NR_SYSCALL_BASE + 262) +#define __NR_clock_gettime (__NR_SYSCALL_BASE + 263) +#define __NR_clock_getres (__NR_SYSCALL_BASE + 264) +#define __NR_clock_nanosleep (__NR_SYSCALL_BASE + 265) +#define __NR_statfs64 (__NR_SYSCALL_BASE + 266) +#define __NR_fstatfs64 (__NR_SYSCALL_BASE + 267) +#define __NR_tgkill (__NR_SYSCALL_BASE + 268) +#define __NR_utimes (__NR_SYSCALL_BASE + 269) +#define __NR_arm_fadvise64_64 (__NR_SYSCALL_BASE + 270) +#define __NR_pciconfig_iobase (__NR_SYSCALL_BASE + 271) +#define __NR_pciconfig_read (__NR_SYSCALL_BASE + 272) +#define __NR_pciconfig_write (__NR_SYSCALL_BASE + 273) +#define __NR_mq_open (__NR_SYSCALL_BASE + 274) +#define __NR_mq_unlink (__NR_SYSCALL_BASE + 275) +#define __NR_mq_timedsend (__NR_SYSCALL_BASE + 276) +#define __NR_mq_timedreceive (__NR_SYSCALL_BASE + 277) +#define __NR_mq_notify (__NR_SYSCALL_BASE + 278) +#define __NR_mq_getsetattr (__NR_SYSCALL_BASE + 279) +#define __NR_waitid (__NR_SYSCALL_BASE + 280) +#define __NR_socket (__NR_SYSCALL_BASE + 281) +#define __NR_bind (__NR_SYSCALL_BASE + 282) +#define __NR_connect (__NR_SYSCALL_BASE + 283) +#define __NR_listen (__NR_SYSCALL_BASE + 284) +#define __NR_accept (__NR_SYSCALL_BASE + 285) +#define __NR_getsockname (__NR_SYSCALL_BASE + 286) +#define __NR_getpeername (__NR_SYSCALL_BASE + 287) +#define __NR_socketpair (__NR_SYSCALL_BASE + 288) +#define __NR_send (__NR_SYSCALL_BASE + 289) +#define __NR_sendto (__NR_SYSCALL_BASE + 290) +#define __NR_recv (__NR_SYSCALL_BASE + 291) +#define __NR_recvfrom (__NR_SYSCALL_BASE + 292) +#define __NR_shutdown (__NR_SYSCALL_BASE + 293) +#define __NR_setsockopt (__NR_SYSCALL_BASE + 294) +#define __NR_getsockopt (__NR_SYSCALL_BASE + 295) +#define __NR_sendmsg (__NR_SYSCALL_BASE + 296) +#define __NR_recvmsg (__NR_SYSCALL_BASE + 297) +#define __NR_semop (__NR_SYSCALL_BASE + 298) +#define __NR_semget (__NR_SYSCALL_BASE + 299) +#define __NR_semctl (__NR_SYSCALL_BASE + 300) +#define __NR_msgsnd (__NR_SYSCALL_BASE + 301) +#define __NR_msgrcv (__NR_SYSCALL_BASE + 302) +#define __NR_msgget (__NR_SYSCALL_BASE + 303) +#define __NR_msgctl (__NR_SYSCALL_BASE + 304) +#define __NR_shmat (__NR_SYSCALL_BASE + 305) +#define __NR_shmdt (__NR_SYSCALL_BASE + 306) +#define __NR_shmget (__NR_SYSCALL_BASE + 307) +#define __NR_shmctl (__NR_SYSCALL_BASE + 308) +#define __NR_add_key (__NR_SYSCALL_BASE + 309) +#define __NR_request_key (__NR_SYSCALL_BASE + 310) +#define __NR_keyctl (__NR_SYSCALL_BASE + 311) +#define __NR_semtimedop (__NR_SYSCALL_BASE + 312) +#define __NR_vserver (__NR_SYSCALL_BASE + 313) +#define __NR_ioprio_set (__NR_SYSCALL_BASE + 314) +#define __NR_ioprio_get (__NR_SYSCALL_BASE + 315) +#define __NR_inotify_init (__NR_SYSCALL_BASE + 316) +#define __NR_inotify_add_watch (__NR_SYSCALL_BASE + 317) +#define __NR_inotify_rm_watch (__NR_SYSCALL_BASE + 318) +#define __NR_mbind (__NR_SYSCALL_BASE + 319) +#define __NR_get_mempolicy (__NR_SYSCALL_BASE + 320) +#define __NR_set_mempolicy (__NR_SYSCALL_BASE + 321) +#define __NR_openat (__NR_SYSCALL_BASE + 322) +#define __NR_mkdirat (__NR_SYSCALL_BASE + 323) +#define __NR_mknodat (__NR_SYSCALL_BASE + 324) +#define __NR_fchownat (__NR_SYSCALL_BASE + 325) +#define __NR_futimesat (__NR_SYSCALL_BASE + 326) +#define __NR_fstatat64 (__NR_SYSCALL_BASE + 327) +#define __NR_unlinkat (__NR_SYSCALL_BASE + 328) +#define __NR_renameat (__NR_SYSCALL_BASE + 329) +#define __NR_linkat (__NR_SYSCALL_BASE + 330) +#define __NR_symlinkat (__NR_SYSCALL_BASE + 331) +#define __NR_readlinkat (__NR_SYSCALL_BASE + 332) +#define __NR_fchmodat (__NR_SYSCALL_BASE + 333) +#define __NR_faccessat (__NR_SYSCALL_BASE + 334) +#define __NR_pselect6 (__NR_SYSCALL_BASE + 335) +#define __NR_ppoll (__NR_SYSCALL_BASE + 336) +#define __NR_unshare (__NR_SYSCALL_BASE + 337) +#define __NR_set_robust_list (__NR_SYSCALL_BASE + 338) +#define __NR_get_robust_list (__NR_SYSCALL_BASE + 339) +#define __NR_splice (__NR_SYSCALL_BASE + 340) +#define __NR_arm_sync_file_range (__NR_SYSCALL_BASE + 341) +#define __NR_tee (__NR_SYSCALL_BASE + 342) +#define __NR_vmsplice (__NR_SYSCALL_BASE + 343) +#define __NR_move_pages (__NR_SYSCALL_BASE + 344) +#define __NR_getcpu (__NR_SYSCALL_BASE + 345) +#define __NR_epoll_pwait (__NR_SYSCALL_BASE + 346) +#define __NR_kexec_load (__NR_SYSCALL_BASE + 347) +#define __NR_utimensat (__NR_SYSCALL_BASE + 348) +#define __NR_signalfd (__NR_SYSCALL_BASE + 349) +#define __NR_timerfd_create (__NR_SYSCALL_BASE + 350) +#define __NR_eventfd (__NR_SYSCALL_BASE + 351) +#define __NR_fallocate (__NR_SYSCALL_BASE + 352) +#define __NR_timerfd_settime (__NR_SYSCALL_BASE + 353) +#define __NR_timerfd_gettime (__NR_SYSCALL_BASE + 354) +#define __NR_signalfd4 (__NR_SYSCALL_BASE + 355) +#define __NR_eventfd2 (__NR_SYSCALL_BASE + 356) +#define __NR_epoll_create1 (__NR_SYSCALL_BASE + 357) +#define __NR_dup3 (__NR_SYSCALL_BASE + 358) +#define __NR_pipe2 (__NR_SYSCALL_BASE + 359) +#define __NR_inotify_init1 (__NR_SYSCALL_BASE + 360) +#define __NR_preadv (__NR_SYSCALL_BASE + 361) +#define __NR_pwritev (__NR_SYSCALL_BASE + 362) +#define __NR_rt_tgsigqueueinfo (__NR_SYSCALL_BASE + 363) +#define __NR_perf_event_open (__NR_SYSCALL_BASE + 364) +#define __NR_recvmmsg (__NR_SYSCALL_BASE + 365) +#define __NR_accept4 (__NR_SYSCALL_BASE + 366) +#define __NR_fanotify_init (__NR_SYSCALL_BASE + 367) +#define __NR_fanotify_mark (__NR_SYSCALL_BASE + 368) +#define __NR_prlimit64 (__NR_SYSCALL_BASE + 369) +#define __NR_name_to_handle_at (__NR_SYSCALL_BASE + 370) +#define __NR_open_by_handle_at (__NR_SYSCALL_BASE + 371) +#define __NR_clock_adjtime (__NR_SYSCALL_BASE + 372) +#define __NR_syncfs (__NR_SYSCALL_BASE + 373) +#define __NR_sendmmsg (__NR_SYSCALL_BASE + 374) +#define __NR_setns (__NR_SYSCALL_BASE + 375) +#define __NR_process_vm_readv (__NR_SYSCALL_BASE + 376) +#define __NR_process_vm_writev (__NR_SYSCALL_BASE + 377) +#define __NR_kcmp (__NR_SYSCALL_BASE + 378) +#define __NR_finit_module (__NR_SYSCALL_BASE + 379) +#define __NR_sched_setattr (__NR_SYSCALL_BASE + 380) +#define __NR_sched_getattr (__NR_SYSCALL_BASE + 381) +#define __NR_renameat2 (__NR_SYSCALL_BASE + 382) +#define __NR_seccomp (__NR_SYSCALL_BASE + 383) +#define __NR_getrandom (__NR_SYSCALL_BASE + 384) +#define __NR_memfd_create (__NR_SYSCALL_BASE + 385) +#define __NR_bpf (__NR_SYSCALL_BASE + 386) +#define __NR_execveat (__NR_SYSCALL_BASE + 387) +#define __NR_userfaultfd (__NR_SYSCALL_BASE + 388) +#define __NR_membarrier (__NR_SYSCALL_BASE + 389) +#define __NR_mlock2 (__NR_SYSCALL_BASE + 390) +#define __NR_copy_file_range (__NR_SYSCALL_BASE + 391) +#define __NR_preadv2 (__NR_SYSCALL_BASE + 392) +#define __NR_pwritev2 (__NR_SYSCALL_BASE + 393) +#define __NR_pkey_mprotect (__NR_SYSCALL_BASE + 394) +#define __NR_pkey_alloc (__NR_SYSCALL_BASE + 395) +#define __NR_pkey_free (__NR_SYSCALL_BASE + 396) +#define __NR_statx (__NR_SYSCALL_BASE + 397) +#define __NR_rseq (__NR_SYSCALL_BASE + 398) +#define __NR_io_pgetevents (__NR_SYSCALL_BASE + 399) +#endif diff --git a/linux-5.10/prebuilts/usr/include/asm-arm/asm/unistd-eabi.h b/linux-5.10/prebuilts/usr/include/asm-arm/asm/unistd-eabi.h new file mode 100644 index 0000000..95e54d3 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/asm-arm/asm/unistd-eabi.h @@ -0,0 +1,8 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI_ASM_ARM_UNISTD_EABI_H +#define _UAPI_ASM_ARM_UNISTD_EABI_H 1 +#endif diff --git a/linux-5.10/prebuilts/usr/include/asm-arm/asm/unistd-oabi.h b/linux-5.10/prebuilts/usr/include/asm-arm/asm/unistd-oabi.h new file mode 100644 index 0000000..16149e2 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/asm-arm/asm/unistd-oabi.h @@ -0,0 +1,20 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI_ASM_ARM_UNISTD_OABI_H +#define _UAPI_ASM_ARM_UNISTD_OABI_H 1 +#define __NR_time (__NR_SYSCALL_BASE + 13) +#define __NR_umount (__NR_SYSCALL_BASE + 22) +#define __NR_stime (__NR_SYSCALL_BASE + 25) +#define __NR_alarm (__NR_SYSCALL_BASE + 27) +#define __NR_utime (__NR_SYSCALL_BASE + 30) +#define __NR_getrlimit (__NR_SYSCALL_BASE + 76) +#define __NR_select (__NR_SYSCALL_BASE + 82) +#define __NR_readdir (__NR_SYSCALL_BASE + 89) +#define __NR_mmap (__NR_SYSCALL_BASE + 90) +#define __NR_socketcall (__NR_SYSCALL_BASE + 102) +#define __NR_syscall (__NR_SYSCALL_BASE + 113) +#define __NR_ipc (__NR_SYSCALL_BASE + 117) +#endif diff --git a/linux-5.10/prebuilts/usr/include/asm-arm/asm/unistd.h b/linux-5.10/prebuilts/usr/include/asm-arm/asm/unistd.h new file mode 100644 index 0000000..777a04d --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/asm-arm/asm/unistd.h @@ -0,0 +1,25 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI__ASM_ARM_UNISTD_H +#define _UAPI__ASM_ARM_UNISTD_H +#define __NR_OABI_SYSCALL_BASE 0x900000 +#if defined(__thumb__) || 1 +#define __NR_SYSCALL_BASE 0 +#include +#else +#define __NR_SYSCALL_BASE __NR_OABI_SYSCALL_BASE +#include +#endif +#include +#define __NR_sync_file_range2 __NR_arm_sync_file_range +#define __ARM_NR_BASE (__NR_SYSCALL_BASE+0x0f0000) +#define __ARM_NR_breakpoint (__ARM_NR_BASE+1) +#define __ARM_NR_cacheflush (__ARM_NR_BASE+2) +#define __ARM_NR_usr26 (__ARM_NR_BASE+3) +#define __ARM_NR_usr32 (__ARM_NR_BASE+4) +#define __ARM_NR_set_tls (__ARM_NR_BASE+5) +#define __ARM_NR_get_tls (__ARM_NR_BASE+6) +#endif diff --git a/linux-5.10/prebuilts/usr/include/asm-arm/uapi/asm/.unistd-common.h.cmd b/linux-5.10/prebuilts/usr/include/asm-arm/uapi/asm/.unistd-common.h.cmd new file mode 100644 index 0000000..b2a83d4 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/asm-arm/uapi/asm/.unistd-common.h.cmd @@ -0,0 +1 @@ +cmd_arch/arm/include/generated/uapi/asm/unistd-common.h := sh './arch/arm/tools/syscallhdr.sh' 'arch/arm/tools/syscall.tbl' 'arch/arm/include/generated/uapi/asm/unistd-common.h' 'common' '' '__NR_SYSCALL_BASE' diff --git a/linux-5.10/prebuilts/usr/include/asm-arm/uapi/asm/.unistd-eabi.h.cmd b/linux-5.10/prebuilts/usr/include/asm-arm/uapi/asm/.unistd-eabi.h.cmd new file mode 100644 index 0000000..0b00ac8 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/asm-arm/uapi/asm/.unistd-eabi.h.cmd @@ -0,0 +1 @@ +cmd_arch/arm/include/generated/uapi/asm/unistd-eabi.h := sh './arch/arm/tools/syscallhdr.sh' 'arch/arm/tools/syscall.tbl' 'arch/arm/include/generated/uapi/asm/unistd-eabi.h' 'eabi' '' '__NR_SYSCALL_BASE' diff --git a/linux-5.10/prebuilts/usr/include/asm-arm/uapi/asm/.unistd-oabi.h.cmd b/linux-5.10/prebuilts/usr/include/asm-arm/uapi/asm/.unistd-oabi.h.cmd new file mode 100644 index 0000000..fd36745 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/asm-arm/uapi/asm/.unistd-oabi.h.cmd @@ -0,0 +1 @@ +cmd_arch/arm/include/generated/uapi/asm/unistd-oabi.h := sh './arch/arm/tools/syscallhdr.sh' 'arch/arm/tools/syscall.tbl' 'arch/arm/include/generated/uapi/asm/unistd-oabi.h' 'oabi' '' '__NR_SYSCALL_BASE' diff --git a/linux-5.10/prebuilts/usr/include/asm-arm/uapi/asm/bitsperlong.h b/linux-5.10/prebuilts/usr/include/asm-arm/uapi/asm/bitsperlong.h new file mode 100644 index 0000000..3c87a8d --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/asm-arm/uapi/asm/bitsperlong.h @@ -0,0 +1,6 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#include diff --git a/linux-5.10/prebuilts/usr/include/asm-arm/uapi/asm/bpf_perf_event.h b/linux-5.10/prebuilts/usr/include/asm-arm/uapi/asm/bpf_perf_event.h new file mode 100644 index 0000000..5cef26b --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/asm-arm/uapi/asm/bpf_perf_event.h @@ -0,0 +1,6 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#include diff --git a/linux-5.10/prebuilts/usr/include/asm-arm/uapi/asm/errno.h b/linux-5.10/prebuilts/usr/include/asm-arm/uapi/asm/errno.h new file mode 100644 index 0000000..c1081c8 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/asm-arm/uapi/asm/errno.h @@ -0,0 +1,6 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#include diff --git a/linux-5.10/prebuilts/usr/include/asm-arm/uapi/asm/ioctl.h b/linux-5.10/prebuilts/usr/include/asm-arm/uapi/asm/ioctl.h new file mode 100644 index 0000000..32a259f --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/asm-arm/uapi/asm/ioctl.h @@ -0,0 +1,6 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#include diff --git a/linux-5.10/prebuilts/usr/include/asm-arm/uapi/asm/ipcbuf.h b/linux-5.10/prebuilts/usr/include/asm-arm/uapi/asm/ipcbuf.h new file mode 100644 index 0000000..d0004a4 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/asm-arm/uapi/asm/ipcbuf.h @@ -0,0 +1,6 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#include diff --git a/linux-5.10/prebuilts/usr/include/asm-arm/uapi/asm/kvm_para.h b/linux-5.10/prebuilts/usr/include/asm-arm/uapi/asm/kvm_para.h new file mode 100644 index 0000000..c74c294 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/asm-arm/uapi/asm/kvm_para.h @@ -0,0 +1,6 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#include diff --git a/linux-5.10/prebuilts/usr/include/asm-arm/uapi/asm/msgbuf.h b/linux-5.10/prebuilts/usr/include/asm-arm/uapi/asm/msgbuf.h new file mode 100644 index 0000000..a361e7c --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/asm-arm/uapi/asm/msgbuf.h @@ -0,0 +1,6 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#include diff --git a/linux-5.10/prebuilts/usr/include/asm-arm/uapi/asm/param.h b/linux-5.10/prebuilts/usr/include/asm-arm/uapi/asm/param.h new file mode 100644 index 0000000..67e7728 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/asm-arm/uapi/asm/param.h @@ -0,0 +1,6 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#include diff --git a/linux-5.10/prebuilts/usr/include/asm-arm/uapi/asm/poll.h b/linux-5.10/prebuilts/usr/include/asm-arm/uapi/asm/poll.h new file mode 100644 index 0000000..93f531d --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/asm-arm/uapi/asm/poll.h @@ -0,0 +1,6 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#include diff --git a/linux-5.10/prebuilts/usr/include/asm-arm/uapi/asm/resource.h b/linux-5.10/prebuilts/usr/include/asm-arm/uapi/asm/resource.h new file mode 100644 index 0000000..728000e --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/asm-arm/uapi/asm/resource.h @@ -0,0 +1,6 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#include diff --git a/linux-5.10/prebuilts/usr/include/asm-arm/uapi/asm/sembuf.h b/linux-5.10/prebuilts/usr/include/asm-arm/uapi/asm/sembuf.h new file mode 100644 index 0000000..1769cec --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/asm-arm/uapi/asm/sembuf.h @@ -0,0 +1,6 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#include diff --git a/linux-5.10/prebuilts/usr/include/asm-arm/uapi/asm/shmbuf.h b/linux-5.10/prebuilts/usr/include/asm-arm/uapi/asm/shmbuf.h new file mode 100644 index 0000000..ada9904 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/asm-arm/uapi/asm/shmbuf.h @@ -0,0 +1,6 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#include diff --git a/linux-5.10/prebuilts/usr/include/asm-arm/uapi/asm/siginfo.h b/linux-5.10/prebuilts/usr/include/asm-arm/uapi/asm/siginfo.h new file mode 100644 index 0000000..05b664d --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/asm-arm/uapi/asm/siginfo.h @@ -0,0 +1,6 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#include diff --git a/linux-5.10/prebuilts/usr/include/asm-arm/uapi/asm/socket.h b/linux-5.10/prebuilts/usr/include/asm-arm/uapi/asm/socket.h new file mode 100644 index 0000000..b61e0f4 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/asm-arm/uapi/asm/socket.h @@ -0,0 +1,6 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#include diff --git a/linux-5.10/prebuilts/usr/include/asm-arm/uapi/asm/sockios.h b/linux-5.10/prebuilts/usr/include/asm-arm/uapi/asm/sockios.h new file mode 100644 index 0000000..9cb632b --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/asm-arm/uapi/asm/sockios.h @@ -0,0 +1,6 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#include diff --git a/linux-5.10/prebuilts/usr/include/asm-arm/uapi/asm/termbits.h b/linux-5.10/prebuilts/usr/include/asm-arm/uapi/asm/termbits.h new file mode 100644 index 0000000..a3723de --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/asm-arm/uapi/asm/termbits.h @@ -0,0 +1,6 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#include diff --git a/linux-5.10/prebuilts/usr/include/asm-arm/uapi/asm/termios.h b/linux-5.10/prebuilts/usr/include/asm-arm/uapi/asm/termios.h new file mode 100644 index 0000000..0555809 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/asm-arm/uapi/asm/termios.h @@ -0,0 +1,6 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#include diff --git a/linux-5.10/prebuilts/usr/include/asm-arm/uapi/asm/unistd-common.h b/linux-5.10/prebuilts/usr/include/asm-arm/uapi/asm/unistd-common.h new file mode 100644 index 0000000..4ffa8f9 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/asm-arm/uapi/asm/unistd-common.h @@ -0,0 +1,402 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI_ASM_ARM_UNISTD_COMMON_H +#define _UAPI_ASM_ARM_UNISTD_COMMON_H 1 +#define __NR_restart_syscall (__NR_SYSCALL_BASE + 0) +#define __NR_exit (__NR_SYSCALL_BASE + 1) +#define __NR_fork (__NR_SYSCALL_BASE + 2) +#define __NR_read (__NR_SYSCALL_BASE + 3) +#define __NR_write (__NR_SYSCALL_BASE + 4) +#define __NR_open (__NR_SYSCALL_BASE + 5) +#define __NR_close (__NR_SYSCALL_BASE + 6) +#define __NR_creat (__NR_SYSCALL_BASE + 8) +#define __NR_link (__NR_SYSCALL_BASE + 9) +#define __NR_unlink (__NR_SYSCALL_BASE + 10) +#define __NR_execve (__NR_SYSCALL_BASE + 11) +#define __NR_chdir (__NR_SYSCALL_BASE + 12) +#define __NR_mknod (__NR_SYSCALL_BASE + 14) +#define __NR_chmod (__NR_SYSCALL_BASE + 15) +#define __NR_lchown (__NR_SYSCALL_BASE + 16) +#define __NR_lseek (__NR_SYSCALL_BASE + 19) +#define __NR_getpid (__NR_SYSCALL_BASE + 20) +#define __NR_mount (__NR_SYSCALL_BASE + 21) +#define __NR_setuid (__NR_SYSCALL_BASE + 23) +#define __NR_getuid (__NR_SYSCALL_BASE + 24) +#define __NR_ptrace (__NR_SYSCALL_BASE + 26) +#define __NR_pause (__NR_SYSCALL_BASE + 29) +#define __NR_access (__NR_SYSCALL_BASE + 33) +#define __NR_nice (__NR_SYSCALL_BASE + 34) +#define __NR_sync (__NR_SYSCALL_BASE + 36) +#define __NR_kill (__NR_SYSCALL_BASE + 37) +#define __NR_rename (__NR_SYSCALL_BASE + 38) +#define __NR_mkdir (__NR_SYSCALL_BASE + 39) +#define __NR_rmdir (__NR_SYSCALL_BASE + 40) +#define __NR_dup (__NR_SYSCALL_BASE + 41) +#define __NR_pipe (__NR_SYSCALL_BASE + 42) +#define __NR_times (__NR_SYSCALL_BASE + 43) +#define __NR_brk (__NR_SYSCALL_BASE + 45) +#define __NR_setgid (__NR_SYSCALL_BASE + 46) +#define __NR_getgid (__NR_SYSCALL_BASE + 47) +#define __NR_geteuid (__NR_SYSCALL_BASE + 49) +#define __NR_getegid (__NR_SYSCALL_BASE + 50) +#define __NR_acct (__NR_SYSCALL_BASE + 51) +#define __NR_umount2 (__NR_SYSCALL_BASE + 52) +#define __NR_ioctl (__NR_SYSCALL_BASE + 54) +#define __NR_fcntl (__NR_SYSCALL_BASE + 55) +#define __NR_setpgid (__NR_SYSCALL_BASE + 57) +#define __NR_umask (__NR_SYSCALL_BASE + 60) +#define __NR_chroot (__NR_SYSCALL_BASE + 61) +#define __NR_ustat (__NR_SYSCALL_BASE + 62) +#define __NR_dup2 (__NR_SYSCALL_BASE + 63) +#define __NR_getppid (__NR_SYSCALL_BASE + 64) +#define __NR_getpgrp (__NR_SYSCALL_BASE + 65) +#define __NR_setsid (__NR_SYSCALL_BASE + 66) +#define __NR_sigaction (__NR_SYSCALL_BASE + 67) +#define __NR_setreuid (__NR_SYSCALL_BASE + 70) +#define __NR_setregid (__NR_SYSCALL_BASE + 71) +#define __NR_sigsuspend (__NR_SYSCALL_BASE + 72) +#define __NR_sigpending (__NR_SYSCALL_BASE + 73) +#define __NR_sethostname (__NR_SYSCALL_BASE + 74) +#define __NR_setrlimit (__NR_SYSCALL_BASE + 75) +#define __NR_getrusage (__NR_SYSCALL_BASE + 77) +#define __NR_gettimeofday (__NR_SYSCALL_BASE + 78) +#define __NR_settimeofday (__NR_SYSCALL_BASE + 79) +#define __NR_getgroups (__NR_SYSCALL_BASE + 80) +#define __NR_setgroups (__NR_SYSCALL_BASE + 81) +#define __NR_symlink (__NR_SYSCALL_BASE + 83) +#define __NR_readlink (__NR_SYSCALL_BASE + 85) +#define __NR_uselib (__NR_SYSCALL_BASE + 86) +#define __NR_swapon (__NR_SYSCALL_BASE + 87) +#define __NR_reboot (__NR_SYSCALL_BASE + 88) +#define __NR_munmap (__NR_SYSCALL_BASE + 91) +#define __NR_truncate (__NR_SYSCALL_BASE + 92) +#define __NR_ftruncate (__NR_SYSCALL_BASE + 93) +#define __NR_fchmod (__NR_SYSCALL_BASE + 94) +#define __NR_fchown (__NR_SYSCALL_BASE + 95) +#define __NR_getpriority (__NR_SYSCALL_BASE + 96) +#define __NR_setpriority (__NR_SYSCALL_BASE + 97) +#define __NR_statfs (__NR_SYSCALL_BASE + 99) +#define __NR_fstatfs (__NR_SYSCALL_BASE + 100) +#define __NR_syslog (__NR_SYSCALL_BASE + 103) +#define __NR_setitimer (__NR_SYSCALL_BASE + 104) +#define __NR_getitimer (__NR_SYSCALL_BASE + 105) +#define __NR_stat (__NR_SYSCALL_BASE + 106) +#define __NR_lstat (__NR_SYSCALL_BASE + 107) +#define __NR_fstat (__NR_SYSCALL_BASE + 108) +#define __NR_vhangup (__NR_SYSCALL_BASE + 111) +#define __NR_wait4 (__NR_SYSCALL_BASE + 114) +#define __NR_swapoff (__NR_SYSCALL_BASE + 115) +#define __NR_sysinfo (__NR_SYSCALL_BASE + 116) +#define __NR_fsync (__NR_SYSCALL_BASE + 118) +#define __NR_sigreturn (__NR_SYSCALL_BASE + 119) +#define __NR_clone (__NR_SYSCALL_BASE + 120) +#define __NR_setdomainname (__NR_SYSCALL_BASE + 121) +#define __NR_uname (__NR_SYSCALL_BASE + 122) +#define __NR_adjtimex (__NR_SYSCALL_BASE + 124) +#define __NR_mprotect (__NR_SYSCALL_BASE + 125) +#define __NR_sigprocmask (__NR_SYSCALL_BASE + 126) +#define __NR_init_module (__NR_SYSCALL_BASE + 128) +#define __NR_delete_module (__NR_SYSCALL_BASE + 129) +#define __NR_quotactl (__NR_SYSCALL_BASE + 131) +#define __NR_getpgid (__NR_SYSCALL_BASE + 132) +#define __NR_fchdir (__NR_SYSCALL_BASE + 133) +#define __NR_bdflush (__NR_SYSCALL_BASE + 134) +#define __NR_sysfs (__NR_SYSCALL_BASE + 135) +#define __NR_personality (__NR_SYSCALL_BASE + 136) +#define __NR_setfsuid (__NR_SYSCALL_BASE + 138) +#define __NR_setfsgid (__NR_SYSCALL_BASE + 139) +#define __NR__llseek (__NR_SYSCALL_BASE + 140) +#define __NR_getdents (__NR_SYSCALL_BASE + 141) +#define __NR__newselect (__NR_SYSCALL_BASE + 142) +#define __NR_flock (__NR_SYSCALL_BASE + 143) +#define __NR_msync (__NR_SYSCALL_BASE + 144) +#define __NR_readv (__NR_SYSCALL_BASE + 145) +#define __NR_writev (__NR_SYSCALL_BASE + 146) +#define __NR_getsid (__NR_SYSCALL_BASE + 147) +#define __NR_fdatasync (__NR_SYSCALL_BASE + 148) +#define __NR__sysctl (__NR_SYSCALL_BASE + 149) +#define __NR_mlock (__NR_SYSCALL_BASE + 150) +#define __NR_munlock (__NR_SYSCALL_BASE + 151) +#define __NR_mlockall (__NR_SYSCALL_BASE + 152) +#define __NR_munlockall (__NR_SYSCALL_BASE + 153) +#define __NR_sched_setparam (__NR_SYSCALL_BASE + 154) +#define __NR_sched_getparam (__NR_SYSCALL_BASE + 155) +#define __NR_sched_setscheduler (__NR_SYSCALL_BASE + 156) +#define __NR_sched_getscheduler (__NR_SYSCALL_BASE + 157) +#define __NR_sched_yield (__NR_SYSCALL_BASE + 158) +#define __NR_sched_get_priority_max (__NR_SYSCALL_BASE + 159) +#define __NR_sched_get_priority_min (__NR_SYSCALL_BASE + 160) +#define __NR_sched_rr_get_interval (__NR_SYSCALL_BASE + 161) +#define __NR_nanosleep (__NR_SYSCALL_BASE + 162) +#define __NR_mremap (__NR_SYSCALL_BASE + 163) +#define __NR_setresuid (__NR_SYSCALL_BASE + 164) +#define __NR_getresuid (__NR_SYSCALL_BASE + 165) +#define __NR_poll (__NR_SYSCALL_BASE + 168) +#define __NR_nfsservctl (__NR_SYSCALL_BASE + 169) +#define __NR_setresgid (__NR_SYSCALL_BASE + 170) +#define __NR_getresgid (__NR_SYSCALL_BASE + 171) +#define __NR_prctl (__NR_SYSCALL_BASE + 172) +#define __NR_rt_sigreturn (__NR_SYSCALL_BASE + 173) +#define __NR_rt_sigaction (__NR_SYSCALL_BASE + 174) +#define __NR_rt_sigprocmask (__NR_SYSCALL_BASE + 175) +#define __NR_rt_sigpending (__NR_SYSCALL_BASE + 176) +#define __NR_rt_sigtimedwait (__NR_SYSCALL_BASE + 177) +#define __NR_rt_sigqueueinfo (__NR_SYSCALL_BASE + 178) +#define __NR_rt_sigsuspend (__NR_SYSCALL_BASE + 179) +#define __NR_pread64 (__NR_SYSCALL_BASE + 180) +#define __NR_pwrite64 (__NR_SYSCALL_BASE + 181) +#define __NR_chown (__NR_SYSCALL_BASE + 182) +#define __NR_getcwd (__NR_SYSCALL_BASE + 183) +#define __NR_capget (__NR_SYSCALL_BASE + 184) +#define __NR_capset (__NR_SYSCALL_BASE + 185) +#define __NR_sigaltstack (__NR_SYSCALL_BASE + 186) +#define __NR_sendfile (__NR_SYSCALL_BASE + 187) +#define __NR_vfork (__NR_SYSCALL_BASE + 190) +#define __NR_ugetrlimit (__NR_SYSCALL_BASE + 191) +#define __NR_mmap2 (__NR_SYSCALL_BASE + 192) +#define __NR_truncate64 (__NR_SYSCALL_BASE + 193) +#define __NR_ftruncate64 (__NR_SYSCALL_BASE + 194) +#define __NR_stat64 (__NR_SYSCALL_BASE + 195) +#define __NR_lstat64 (__NR_SYSCALL_BASE + 196) +#define __NR_fstat64 (__NR_SYSCALL_BASE + 197) +#define __NR_lchown32 (__NR_SYSCALL_BASE + 198) +#define __NR_getuid32 (__NR_SYSCALL_BASE + 199) +#define __NR_getgid32 (__NR_SYSCALL_BASE + 200) +#define __NR_geteuid32 (__NR_SYSCALL_BASE + 201) +#define __NR_getegid32 (__NR_SYSCALL_BASE + 202) +#define __NR_setreuid32 (__NR_SYSCALL_BASE + 203) +#define __NR_setregid32 (__NR_SYSCALL_BASE + 204) +#define __NR_getgroups32 (__NR_SYSCALL_BASE + 205) +#define __NR_setgroups32 (__NR_SYSCALL_BASE + 206) +#define __NR_fchown32 (__NR_SYSCALL_BASE + 207) +#define __NR_setresuid32 (__NR_SYSCALL_BASE + 208) +#define __NR_getresuid32 (__NR_SYSCALL_BASE + 209) +#define __NR_setresgid32 (__NR_SYSCALL_BASE + 210) +#define __NR_getresgid32 (__NR_SYSCALL_BASE + 211) +#define __NR_chown32 (__NR_SYSCALL_BASE + 212) +#define __NR_setuid32 (__NR_SYSCALL_BASE + 213) +#define __NR_setgid32 (__NR_SYSCALL_BASE + 214) +#define __NR_setfsuid32 (__NR_SYSCALL_BASE + 215) +#define __NR_setfsgid32 (__NR_SYSCALL_BASE + 216) +#define __NR_getdents64 (__NR_SYSCALL_BASE + 217) +#define __NR_pivot_root (__NR_SYSCALL_BASE + 218) +#define __NR_mincore (__NR_SYSCALL_BASE + 219) +#define __NR_madvise (__NR_SYSCALL_BASE + 220) +#define __NR_fcntl64 (__NR_SYSCALL_BASE + 221) +#define __NR_gettid (__NR_SYSCALL_BASE + 224) +#define __NR_readahead (__NR_SYSCALL_BASE + 225) +#define __NR_setxattr (__NR_SYSCALL_BASE + 226) +#define __NR_lsetxattr (__NR_SYSCALL_BASE + 227) +#define __NR_fsetxattr (__NR_SYSCALL_BASE + 228) +#define __NR_getxattr (__NR_SYSCALL_BASE + 229) +#define __NR_lgetxattr (__NR_SYSCALL_BASE + 230) +#define __NR_fgetxattr (__NR_SYSCALL_BASE + 231) +#define __NR_listxattr (__NR_SYSCALL_BASE + 232) +#define __NR_llistxattr (__NR_SYSCALL_BASE + 233) +#define __NR_flistxattr (__NR_SYSCALL_BASE + 234) +#define __NR_removexattr (__NR_SYSCALL_BASE + 235) +#define __NR_lremovexattr (__NR_SYSCALL_BASE + 236) +#define __NR_fremovexattr (__NR_SYSCALL_BASE + 237) +#define __NR_tkill (__NR_SYSCALL_BASE + 238) +#define __NR_sendfile64 (__NR_SYSCALL_BASE + 239) +#define __NR_futex (__NR_SYSCALL_BASE + 240) +#define __NR_sched_setaffinity (__NR_SYSCALL_BASE + 241) +#define __NR_sched_getaffinity (__NR_SYSCALL_BASE + 242) +#define __NR_io_setup (__NR_SYSCALL_BASE + 243) +#define __NR_io_destroy (__NR_SYSCALL_BASE + 244) +#define __NR_io_getevents (__NR_SYSCALL_BASE + 245) +#define __NR_io_submit (__NR_SYSCALL_BASE + 246) +#define __NR_io_cancel (__NR_SYSCALL_BASE + 247) +#define __NR_exit_group (__NR_SYSCALL_BASE + 248) +#define __NR_lookup_dcookie (__NR_SYSCALL_BASE + 249) +#define __NR_epoll_create (__NR_SYSCALL_BASE + 250) +#define __NR_epoll_ctl (__NR_SYSCALL_BASE + 251) +#define __NR_epoll_wait (__NR_SYSCALL_BASE + 252) +#define __NR_remap_file_pages (__NR_SYSCALL_BASE + 253) +#define __NR_set_tid_address (__NR_SYSCALL_BASE + 256) +#define __NR_timer_create (__NR_SYSCALL_BASE + 257) +#define __NR_timer_settime (__NR_SYSCALL_BASE + 258) +#define __NR_timer_gettime (__NR_SYSCALL_BASE + 259) +#define __NR_timer_getoverrun (__NR_SYSCALL_BASE + 260) +#define __NR_timer_delete (__NR_SYSCALL_BASE + 261) +#define __NR_clock_settime (__NR_SYSCALL_BASE + 262) +#define __NR_clock_gettime (__NR_SYSCALL_BASE + 263) +#define __NR_clock_getres (__NR_SYSCALL_BASE + 264) +#define __NR_clock_nanosleep (__NR_SYSCALL_BASE + 265) +#define __NR_statfs64 (__NR_SYSCALL_BASE + 266) +#define __NR_fstatfs64 (__NR_SYSCALL_BASE + 267) +#define __NR_tgkill (__NR_SYSCALL_BASE + 268) +#define __NR_utimes (__NR_SYSCALL_BASE + 269) +#define __NR_arm_fadvise64_64 (__NR_SYSCALL_BASE + 270) +#define __NR_pciconfig_iobase (__NR_SYSCALL_BASE + 271) +#define __NR_pciconfig_read (__NR_SYSCALL_BASE + 272) +#define __NR_pciconfig_write (__NR_SYSCALL_BASE + 273) +#define __NR_mq_open (__NR_SYSCALL_BASE + 274) +#define __NR_mq_unlink (__NR_SYSCALL_BASE + 275) +#define __NR_mq_timedsend (__NR_SYSCALL_BASE + 276) +#define __NR_mq_timedreceive (__NR_SYSCALL_BASE + 277) +#define __NR_mq_notify (__NR_SYSCALL_BASE + 278) +#define __NR_mq_getsetattr (__NR_SYSCALL_BASE + 279) +#define __NR_waitid (__NR_SYSCALL_BASE + 280) +#define __NR_socket (__NR_SYSCALL_BASE + 281) +#define __NR_bind (__NR_SYSCALL_BASE + 282) +#define __NR_connect (__NR_SYSCALL_BASE + 283) +#define __NR_listen (__NR_SYSCALL_BASE + 284) +#define __NR_accept (__NR_SYSCALL_BASE + 285) +#define __NR_getsockname (__NR_SYSCALL_BASE + 286) +#define __NR_getpeername (__NR_SYSCALL_BASE + 287) +#define __NR_socketpair (__NR_SYSCALL_BASE + 288) +#define __NR_send (__NR_SYSCALL_BASE + 289) +#define __NR_sendto (__NR_SYSCALL_BASE + 290) +#define __NR_recv (__NR_SYSCALL_BASE + 291) +#define __NR_recvfrom (__NR_SYSCALL_BASE + 292) +#define __NR_shutdown (__NR_SYSCALL_BASE + 293) +#define __NR_setsockopt (__NR_SYSCALL_BASE + 294) +#define __NR_getsockopt (__NR_SYSCALL_BASE + 295) +#define __NR_sendmsg (__NR_SYSCALL_BASE + 296) +#define __NR_recvmsg (__NR_SYSCALL_BASE + 297) +#define __NR_semop (__NR_SYSCALL_BASE + 298) +#define __NR_semget (__NR_SYSCALL_BASE + 299) +#define __NR_semctl (__NR_SYSCALL_BASE + 300) +#define __NR_msgsnd (__NR_SYSCALL_BASE + 301) +#define __NR_msgrcv (__NR_SYSCALL_BASE + 302) +#define __NR_msgget (__NR_SYSCALL_BASE + 303) +#define __NR_msgctl (__NR_SYSCALL_BASE + 304) +#define __NR_shmat (__NR_SYSCALL_BASE + 305) +#define __NR_shmdt (__NR_SYSCALL_BASE + 306) +#define __NR_shmget (__NR_SYSCALL_BASE + 307) +#define __NR_shmctl (__NR_SYSCALL_BASE + 308) +#define __NR_add_key (__NR_SYSCALL_BASE + 309) +#define __NR_request_key (__NR_SYSCALL_BASE + 310) +#define __NR_keyctl (__NR_SYSCALL_BASE + 311) +#define __NR_semtimedop (__NR_SYSCALL_BASE + 312) +#define __NR_vserver (__NR_SYSCALL_BASE + 313) +#define __NR_ioprio_set (__NR_SYSCALL_BASE + 314) +#define __NR_ioprio_get (__NR_SYSCALL_BASE + 315) +#define __NR_inotify_init (__NR_SYSCALL_BASE + 316) +#define __NR_inotify_add_watch (__NR_SYSCALL_BASE + 317) +#define __NR_inotify_rm_watch (__NR_SYSCALL_BASE + 318) +#define __NR_mbind (__NR_SYSCALL_BASE + 319) +#define __NR_get_mempolicy (__NR_SYSCALL_BASE + 320) +#define __NR_set_mempolicy (__NR_SYSCALL_BASE + 321) +#define __NR_openat (__NR_SYSCALL_BASE + 322) +#define __NR_mkdirat (__NR_SYSCALL_BASE + 323) +#define __NR_mknodat (__NR_SYSCALL_BASE + 324) +#define __NR_fchownat (__NR_SYSCALL_BASE + 325) +#define __NR_futimesat (__NR_SYSCALL_BASE + 326) +#define __NR_fstatat64 (__NR_SYSCALL_BASE + 327) +#define __NR_unlinkat (__NR_SYSCALL_BASE + 328) +#define __NR_renameat (__NR_SYSCALL_BASE + 329) +#define __NR_linkat (__NR_SYSCALL_BASE + 330) +#define __NR_symlinkat (__NR_SYSCALL_BASE + 331) +#define __NR_readlinkat (__NR_SYSCALL_BASE + 332) +#define __NR_fchmodat (__NR_SYSCALL_BASE + 333) +#define __NR_faccessat (__NR_SYSCALL_BASE + 334) +#define __NR_pselect6 (__NR_SYSCALL_BASE + 335) +#define __NR_ppoll (__NR_SYSCALL_BASE + 336) +#define __NR_unshare (__NR_SYSCALL_BASE + 337) +#define __NR_set_robust_list (__NR_SYSCALL_BASE + 338) +#define __NR_get_robust_list (__NR_SYSCALL_BASE + 339) +#define __NR_splice (__NR_SYSCALL_BASE + 340) +#define __NR_arm_sync_file_range (__NR_SYSCALL_BASE + 341) +#define __NR_tee (__NR_SYSCALL_BASE + 342) +#define __NR_vmsplice (__NR_SYSCALL_BASE + 343) +#define __NR_move_pages (__NR_SYSCALL_BASE + 344) +#define __NR_getcpu (__NR_SYSCALL_BASE + 345) +#define __NR_epoll_pwait (__NR_SYSCALL_BASE + 346) +#define __NR_kexec_load (__NR_SYSCALL_BASE + 347) +#define __NR_utimensat (__NR_SYSCALL_BASE + 348) +#define __NR_signalfd (__NR_SYSCALL_BASE + 349) +#define __NR_timerfd_create (__NR_SYSCALL_BASE + 350) +#define __NR_eventfd (__NR_SYSCALL_BASE + 351) +#define __NR_fallocate (__NR_SYSCALL_BASE + 352) +#define __NR_timerfd_settime (__NR_SYSCALL_BASE + 353) +#define __NR_timerfd_gettime (__NR_SYSCALL_BASE + 354) +#define __NR_signalfd4 (__NR_SYSCALL_BASE + 355) +#define __NR_eventfd2 (__NR_SYSCALL_BASE + 356) +#define __NR_epoll_create1 (__NR_SYSCALL_BASE + 357) +#define __NR_dup3 (__NR_SYSCALL_BASE + 358) +#define __NR_pipe2 (__NR_SYSCALL_BASE + 359) +#define __NR_inotify_init1 (__NR_SYSCALL_BASE + 360) +#define __NR_preadv (__NR_SYSCALL_BASE + 361) +#define __NR_pwritev (__NR_SYSCALL_BASE + 362) +#define __NR_rt_tgsigqueueinfo (__NR_SYSCALL_BASE + 363) +#define __NR_perf_event_open (__NR_SYSCALL_BASE + 364) +#define __NR_recvmmsg (__NR_SYSCALL_BASE + 365) +#define __NR_accept4 (__NR_SYSCALL_BASE + 366) +#define __NR_fanotify_init (__NR_SYSCALL_BASE + 367) +#define __NR_fanotify_mark (__NR_SYSCALL_BASE + 368) +#define __NR_prlimit64 (__NR_SYSCALL_BASE + 369) +#define __NR_name_to_handle_at (__NR_SYSCALL_BASE + 370) +#define __NR_open_by_handle_at (__NR_SYSCALL_BASE + 371) +#define __NR_clock_adjtime (__NR_SYSCALL_BASE + 372) +#define __NR_syncfs (__NR_SYSCALL_BASE + 373) +#define __NR_sendmmsg (__NR_SYSCALL_BASE + 374) +#define __NR_setns (__NR_SYSCALL_BASE + 375) +#define __NR_process_vm_readv (__NR_SYSCALL_BASE + 376) +#define __NR_process_vm_writev (__NR_SYSCALL_BASE + 377) +#define __NR_kcmp (__NR_SYSCALL_BASE + 378) +#define __NR_finit_module (__NR_SYSCALL_BASE + 379) +#define __NR_sched_setattr (__NR_SYSCALL_BASE + 380) +#define __NR_sched_getattr (__NR_SYSCALL_BASE + 381) +#define __NR_renameat2 (__NR_SYSCALL_BASE + 382) +#define __NR_seccomp (__NR_SYSCALL_BASE + 383) +#define __NR_getrandom (__NR_SYSCALL_BASE + 384) +#define __NR_memfd_create (__NR_SYSCALL_BASE + 385) +#define __NR_bpf (__NR_SYSCALL_BASE + 386) +#define __NR_execveat (__NR_SYSCALL_BASE + 387) +#define __NR_userfaultfd (__NR_SYSCALL_BASE + 388) +#define __NR_membarrier (__NR_SYSCALL_BASE + 389) +#define __NR_mlock2 (__NR_SYSCALL_BASE + 390) +#define __NR_copy_file_range (__NR_SYSCALL_BASE + 391) +#define __NR_preadv2 (__NR_SYSCALL_BASE + 392) +#define __NR_pwritev2 (__NR_SYSCALL_BASE + 393) +#define __NR_pkey_mprotect (__NR_SYSCALL_BASE + 394) +#define __NR_pkey_alloc (__NR_SYSCALL_BASE + 395) +#define __NR_pkey_free (__NR_SYSCALL_BASE + 396) +#define __NR_statx (__NR_SYSCALL_BASE + 397) +#define __NR_rseq (__NR_SYSCALL_BASE + 398) +#define __NR_io_pgetevents (__NR_SYSCALL_BASE + 399) +#define __NR_migrate_pages (__NR_SYSCALL_BASE + 400) +#define __NR_kexec_file_load (__NR_SYSCALL_BASE + 401) +#define __NR_clock_gettime64 (__NR_SYSCALL_BASE + 403) +#define __NR_clock_settime64 (__NR_SYSCALL_BASE + 404) +#define __NR_clock_adjtime64 (__NR_SYSCALL_BASE + 405) +#define __NR_clock_getres_time64 (__NR_SYSCALL_BASE + 406) +#define __NR_clock_nanosleep_time64 (__NR_SYSCALL_BASE + 407) +#define __NR_timer_gettime64 (__NR_SYSCALL_BASE + 408) +#define __NR_timer_settime64 (__NR_SYSCALL_BASE + 409) +#define __NR_timerfd_gettime64 (__NR_SYSCALL_BASE + 410) +#define __NR_timerfd_settime64 (__NR_SYSCALL_BASE + 411) +#define __NR_utimensat_time64 (__NR_SYSCALL_BASE + 412) +#define __NR_pselect6_time64 (__NR_SYSCALL_BASE + 413) +#define __NR_ppoll_time64 (__NR_SYSCALL_BASE + 414) +#define __NR_io_pgetevents_time64 (__NR_SYSCALL_BASE + 416) +#define __NR_recvmmsg_time64 (__NR_SYSCALL_BASE + 417) +#define __NR_mq_timedsend_time64 (__NR_SYSCALL_BASE + 418) +#define __NR_mq_timedreceive_time64 (__NR_SYSCALL_BASE + 419) +#define __NR_semtimedop_time64 (__NR_SYSCALL_BASE + 420) +#define __NR_rt_sigtimedwait_time64 (__NR_SYSCALL_BASE + 421) +#define __NR_futex_time64 (__NR_SYSCALL_BASE + 422) +#define __NR_sched_rr_get_interval_time64 (__NR_SYSCALL_BASE + 423) +#define __NR_pidfd_send_signal (__NR_SYSCALL_BASE + 424) +#define __NR_io_uring_setup (__NR_SYSCALL_BASE + 425) +#define __NR_io_uring_enter (__NR_SYSCALL_BASE + 426) +#define __NR_io_uring_register (__NR_SYSCALL_BASE + 427) +#define __NR_open_tree (__NR_SYSCALL_BASE + 428) +#define __NR_move_mount (__NR_SYSCALL_BASE + 429) +#define __NR_fsopen (__NR_SYSCALL_BASE + 430) +#define __NR_fsconfig (__NR_SYSCALL_BASE + 431) +#define __NR_fsmount (__NR_SYSCALL_BASE + 432) +#define __NR_fspick (__NR_SYSCALL_BASE + 433) +#define __NR_pidfd_open (__NR_SYSCALL_BASE + 434) +#define __NR_clone3 (__NR_SYSCALL_BASE + 435) +#define __NR_close_range (__NR_SYSCALL_BASE + 436) +#define __NR_openat2 (__NR_SYSCALL_BASE + 437) +#define __NR_pidfd_getfd (__NR_SYSCALL_BASE + 438) +#define __NR_faccessat2 (__NR_SYSCALL_BASE + 439) +#define __NR_process_madvise (__NR_SYSCALL_BASE + 440) +#endif diff --git a/linux-5.10/prebuilts/usr/include/asm-arm/uapi/asm/unistd-eabi.h b/linux-5.10/prebuilts/usr/include/asm-arm/uapi/asm/unistd-eabi.h new file mode 100644 index 0000000..95e54d3 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/asm-arm/uapi/asm/unistd-eabi.h @@ -0,0 +1,8 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI_ASM_ARM_UNISTD_EABI_H +#define _UAPI_ASM_ARM_UNISTD_EABI_H 1 +#endif diff --git a/linux-5.10/prebuilts/usr/include/asm-arm/uapi/asm/unistd-oabi.h b/linux-5.10/prebuilts/usr/include/asm-arm/uapi/asm/unistd-oabi.h new file mode 100644 index 0000000..16149e2 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/asm-arm/uapi/asm/unistd-oabi.h @@ -0,0 +1,20 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI_ASM_ARM_UNISTD_OABI_H +#define _UAPI_ASM_ARM_UNISTD_OABI_H 1 +#define __NR_time (__NR_SYSCALL_BASE + 13) +#define __NR_umount (__NR_SYSCALL_BASE + 22) +#define __NR_stime (__NR_SYSCALL_BASE + 25) +#define __NR_alarm (__NR_SYSCALL_BASE + 27) +#define __NR_utime (__NR_SYSCALL_BASE + 30) +#define __NR_getrlimit (__NR_SYSCALL_BASE + 76) +#define __NR_select (__NR_SYSCALL_BASE + 82) +#define __NR_readdir (__NR_SYSCALL_BASE + 89) +#define __NR_mmap (__NR_SYSCALL_BASE + 90) +#define __NR_socketcall (__NR_SYSCALL_BASE + 102) +#define __NR_syscall (__NR_SYSCALL_BASE + 113) +#define __NR_ipc (__NR_SYSCALL_BASE + 117) +#endif diff --git a/linux-5.10/prebuilts/usr/include/asm-arm64/asm/auxvec.h b/linux-5.10/prebuilts/usr/include/asm-arm64/asm/auxvec.h new file mode 100644 index 0000000..5d1f0f6 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/asm-arm64/asm/auxvec.h @@ -0,0 +1,11 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef __ASM_AUXVEC_H +#define __ASM_AUXVEC_H +#define AT_SYSINFO_EHDR 33 +#define AT_MINSIGSTKSZ 51 +#define AT_VECTOR_SIZE_ARCH 2 +#endif diff --git a/linux-5.10/prebuilts/usr/include/asm-arm64/asm/bitsperlong.h b/linux-5.10/prebuilts/usr/include/asm-arm64/asm/bitsperlong.h new file mode 100644 index 0000000..7975820 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/asm-arm64/asm/bitsperlong.h @@ -0,0 +1,10 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef __ASM_BITSPERLONG_H +#define __ASM_BITSPERLONG_H +#define __BITS_PER_LONG 64 +#include +#endif diff --git a/linux-5.10/prebuilts/usr/include/asm-arm64/asm/bpf_perf_event.h b/linux-5.10/prebuilts/usr/include/asm-arm64/asm/bpf_perf_event.h new file mode 100644 index 0000000..89078f7 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/asm-arm64/asm/bpf_perf_event.h @@ -0,0 +1,10 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef __ASM_BPF_PERF_EVENT_H__ +#define __ASM_BPF_PERF_EVENT_H__ +#include +typedef struct user_pt_regs bpf_user_pt_regs_t; +#endif diff --git a/linux-5.10/prebuilts/usr/include/asm-arm64/asm/byteorder.h b/linux-5.10/prebuilts/usr/include/asm-arm64/asm/byteorder.h new file mode 100644 index 0000000..7e11d24 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/asm-arm64/asm/byteorder.h @@ -0,0 +1,13 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef __ASM_BYTEORDER_H +#define __ASM_BYTEORDER_H +#ifdef __AARCH64EB__ +#include +#else +#include +#endif +#endif diff --git a/linux-5.10/prebuilts/usr/include/asm-arm64/asm/errno.h b/linux-5.10/prebuilts/usr/include/asm-arm64/asm/errno.h new file mode 100644 index 0000000..c1081c8 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/asm-arm64/asm/errno.h @@ -0,0 +1,6 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#include diff --git a/linux-5.10/prebuilts/usr/include/asm-arm64/asm/fcntl.h b/linux-5.10/prebuilts/usr/include/asm-arm64/asm/fcntl.h new file mode 100644 index 0000000..173f434 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/asm-arm64/asm/fcntl.h @@ -0,0 +1,13 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef __ASM_FCNTL_H +#define __ASM_FCNTL_H +#define O_DIRECTORY 040000 +#define O_NOFOLLOW 0100000 +#define O_DIRECT 0200000 +#define O_LARGEFILE 0400000 +#include +#endif diff --git a/linux-5.10/prebuilts/usr/include/asm-arm64/asm/hwcap.h b/linux-5.10/prebuilts/usr/include/asm-arm64/asm/hwcap.h new file mode 100644 index 0000000..dd212fc --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/asm-arm64/asm/hwcap.h @@ -0,0 +1,37 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef __ASM_HWCAP_H +#define __ASM_HWCAP_H +#define HWCAP_FP (1 << 0) +#define HWCAP_ASIMD (1 << 1) +#define HWCAP_EVTSTRM (1 << 2) +#define HWCAP_AES (1 << 3) +#define HWCAP_PMULL (1 << 4) +#define HWCAP_SHA1 (1 << 5) +#define HWCAP_SHA2 (1 << 6) +#define HWCAP_CRC32 (1 << 7) +#define HWCAP_ATOMICS (1 << 8) +#define HWCAP_FPHP (1 << 9) +#define HWCAP_ASIMDHP (1 << 10) +#define HWCAP_CPUID (1 << 11) +#define HWCAP_ASIMDRDM (1 << 12) +#define HWCAP_JSCVT (1 << 13) +#define HWCAP_FCMA (1 << 14) +#define HWCAP_LRCPC (1 << 15) +#define HWCAP_DCPOP (1 << 16) +#define HWCAP_SHA3 (1 << 17) +#define HWCAP_SM3 (1 << 18) +#define HWCAP_SM4 (1 << 19) +#define HWCAP_ASIMDDP (1 << 20) +#define HWCAP_SHA512 (1 << 21) +#define HWCAP_SVE (1 << 22) +#define HWCAP_ASIMDFHM (1 << 23) +#define HWCAP_DIT (1 << 24) +#define HWCAP_USCAT (1 << 25) +#define HWCAP_ILRCPC (1 << 26) +#define HWCAP_FLAGM (1 << 27) +#define HWCAP_SSBS (1 << 28) +#endif diff --git a/linux-5.10/prebuilts/usr/include/asm-arm64/asm/ioctl.h b/linux-5.10/prebuilts/usr/include/asm-arm64/asm/ioctl.h new file mode 100644 index 0000000..32a259f --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/asm-arm64/asm/ioctl.h @@ -0,0 +1,6 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#include diff --git a/linux-5.10/prebuilts/usr/include/asm-arm64/asm/ioctls.h b/linux-5.10/prebuilts/usr/include/asm-arm64/asm/ioctls.h new file mode 100644 index 0000000..58a92e2 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/asm-arm64/asm/ioctls.h @@ -0,0 +1,6 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#include diff --git a/linux-5.10/prebuilts/usr/include/asm-arm64/asm/ipcbuf.h b/linux-5.10/prebuilts/usr/include/asm-arm64/asm/ipcbuf.h new file mode 100644 index 0000000..d0004a4 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/asm-arm64/asm/ipcbuf.h @@ -0,0 +1,6 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#include diff --git a/linux-5.10/prebuilts/usr/include/asm-arm64/asm/kvm.h b/linux-5.10/prebuilts/usr/include/asm-arm64/asm/kvm.h new file mode 100644 index 0000000..486e60b --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/asm-arm64/asm/kvm.h @@ -0,0 +1,196 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef __ARM_KVM_H__ +#define __ARM_KVM_H__ +#define KVM_SPSR_EL1 0 +#define KVM_SPSR_SVC KVM_SPSR_EL1 +#define KVM_SPSR_ABT 1 +#define KVM_SPSR_UND 2 +#define KVM_SPSR_IRQ 3 +#define KVM_SPSR_FIQ 4 +#define KVM_NR_SPSR 5 +#ifndef __ASSEMBLY__ +#include +#include +#include +#define __KVM_HAVE_GUEST_DEBUG +#define __KVM_HAVE_IRQ_LINE +#define __KVM_HAVE_READONLY_MEM +#define __KVM_HAVE_VCPU_EVENTS +#define KVM_COALESCED_MMIO_PAGE_OFFSET 1 +#define KVM_REG_SIZE(id) \ + (1U << (((id) & KVM_REG_SIZE_MASK) >> KVM_REG_SIZE_SHIFT)) +struct kvm_regs { + struct user_pt_regs regs; + __u64 sp_el1; + __u64 elr_el1; + __u64 spsr[KVM_NR_SPSR]; + struct user_fpsimd_state fp_regs; +}; +#define KVM_ARM_TARGET_AEM_V8 0 +#define KVM_ARM_TARGET_FOUNDATION_V8 1 +#define KVM_ARM_TARGET_CORTEX_A57 2 +#define KVM_ARM_TARGET_XGENE_POTENZA 3 +#define KVM_ARM_TARGET_CORTEX_A53 4 +#define KVM_ARM_TARGET_GENERIC_V8 5 +#define KVM_ARM_NUM_TARGETS 6 +#define KVM_ARM_DEVICE_TYPE_SHIFT 0 +#define KVM_ARM_DEVICE_TYPE_MASK (0xffff << KVM_ARM_DEVICE_TYPE_SHIFT) +#define KVM_ARM_DEVICE_ID_SHIFT 16 +#define KVM_ARM_DEVICE_ID_MASK (0xffff << KVM_ARM_DEVICE_ID_SHIFT) +#define KVM_ARM_DEVICE_VGIC_V2 0 +#define KVM_VGIC_V2_ADDR_TYPE_DIST 0 +#define KVM_VGIC_V2_ADDR_TYPE_CPU 1 +#define KVM_VGIC_V2_DIST_SIZE 0x1000 +#define KVM_VGIC_V2_CPU_SIZE 0x2000 +#define KVM_VGIC_V3_ADDR_TYPE_DIST 2 +#define KVM_VGIC_V3_ADDR_TYPE_REDIST 3 +#define KVM_VGIC_ITS_ADDR_TYPE 4 +#define KVM_VGIC_V3_ADDR_TYPE_REDIST_REGION 5 +#define KVM_VGIC_V3_DIST_SIZE SZ_64K +#define KVM_VGIC_V3_REDIST_SIZE (2 * SZ_64K) +#define KVM_VGIC_V3_ITS_SIZE (2 * SZ_64K) +#define KVM_ARM_VCPU_POWER_OFF 0 +#define KVM_ARM_VCPU_EL1_32BIT 1 +#define KVM_ARM_VCPU_PSCI_0_2 2 +#define KVM_ARM_VCPU_PMU_V3 3 +struct kvm_vcpu_init { + __u32 target; + __u32 features[7]; +}; +struct kvm_sregs { +}; +struct kvm_fpu { +}; +#define KVM_ARM_MAX_DBG_REGS 16 +struct kvm_guest_debug_arch { + __u64 dbg_bcr[KVM_ARM_MAX_DBG_REGS]; + __u64 dbg_bvr[KVM_ARM_MAX_DBG_REGS]; + __u64 dbg_wcr[KVM_ARM_MAX_DBG_REGS]; + __u64 dbg_wvr[KVM_ARM_MAX_DBG_REGS]; +}; +struct kvm_debug_exit_arch { + __u32 hsr; + __u64 far; +}; +#define KVM_GUESTDBG_USE_SW_BP (1 << 16) +#define KVM_GUESTDBG_USE_HW (1 << 17) +struct kvm_sync_regs { + + __u64 device_irq_level; +}; +struct kvm_arch_memory_slot { +}; +struct kvm_vcpu_events { + struct { + __u8 serror_pending; + __u8 serror_has_esr; + + __u8 pad[6]; + __u64 serror_esr; + } exception; + __u32 reserved[12]; +}; +#define KVM_REG_ARM_COPROC_MASK 0x000000000FFF0000 +#define KVM_REG_ARM_COPROC_SHIFT 16 +#define KVM_REG_ARM_CORE (0x0010 << KVM_REG_ARM_COPROC_SHIFT) +#define KVM_REG_ARM_CORE_REG(name) (offsetof(struct kvm_regs, name) / sizeof(__u32)) +#define KVM_REG_ARM_DEMUX (0x0011 << KVM_REG_ARM_COPROC_SHIFT) +#define KVM_REG_ARM_DEMUX_ID_MASK 0x000000000000FF00 +#define KVM_REG_ARM_DEMUX_ID_SHIFT 8 +#define KVM_REG_ARM_DEMUX_ID_CCSIDR (0x00 << KVM_REG_ARM_DEMUX_ID_SHIFT) +#define KVM_REG_ARM_DEMUX_VAL_MASK 0x00000000000000FF +#define KVM_REG_ARM_DEMUX_VAL_SHIFT 0 +#define KVM_REG_ARM64_SYSREG (0x0013 << KVM_REG_ARM_COPROC_SHIFT) +#define KVM_REG_ARM64_SYSREG_OP0_MASK 0x000000000000c000 +#define KVM_REG_ARM64_SYSREG_OP0_SHIFT 14 +#define KVM_REG_ARM64_SYSREG_OP1_MASK 0x0000000000003800 +#define KVM_REG_ARM64_SYSREG_OP1_SHIFT 11 +#define KVM_REG_ARM64_SYSREG_CRN_MASK 0x0000000000000780 +#define KVM_REG_ARM64_SYSREG_CRN_SHIFT 7 +#define KVM_REG_ARM64_SYSREG_CRM_MASK 0x0000000000000078 +#define KVM_REG_ARM64_SYSREG_CRM_SHIFT 3 +#define KVM_REG_ARM64_SYSREG_OP2_MASK 0x0000000000000007 +#define KVM_REG_ARM64_SYSREG_OP2_SHIFT 0 +#define ARM64_SYS_REG_SHIFT_MASK(x,n) \ + (((x) << KVM_REG_ARM64_SYSREG_ ## n ## _SHIFT) & \ + KVM_REG_ARM64_SYSREG_ ## n ## _MASK) +#define __ARM64_SYS_REG(op0,op1,crn,crm,op2) \ + (KVM_REG_ARM64 | KVM_REG_ARM64_SYSREG | \ + ARM64_SYS_REG_SHIFT_MASK(op0, OP0) | \ + ARM64_SYS_REG_SHIFT_MASK(op1, OP1) | \ + ARM64_SYS_REG_SHIFT_MASK(crn, CRN) | \ + ARM64_SYS_REG_SHIFT_MASK(crm, CRM) | \ + ARM64_SYS_REG_SHIFT_MASK(op2, OP2)) +#define ARM64_SYS_REG(...) (__ARM64_SYS_REG(__VA_ARGS__) | KVM_REG_SIZE_U64) +#define KVM_REG_ARM_PTIMER_CTL ARM64_SYS_REG(3, 3, 14, 2, 1) +#define KVM_REG_ARM_PTIMER_CVAL ARM64_SYS_REG(3, 3, 14, 2, 2) +#define KVM_REG_ARM_PTIMER_CNT ARM64_SYS_REG(3, 3, 14, 0, 1) +#define KVM_REG_ARM_TIMER_CTL ARM64_SYS_REG(3, 3, 14, 3, 1) +#define KVM_REG_ARM_TIMER_CNT ARM64_SYS_REG(3, 3, 14, 3, 2) +#define KVM_REG_ARM_TIMER_CVAL ARM64_SYS_REG(3, 3, 14, 0, 2) +#define KVM_REG_ARM_FW (0x0014 << KVM_REG_ARM_COPROC_SHIFT) +#define KVM_REG_ARM_FW_REG(r) (KVM_REG_ARM64 | KVM_REG_SIZE_U64 | \ + KVM_REG_ARM_FW | ((r) & 0xffff)) +#define KVM_REG_ARM_PSCI_VERSION KVM_REG_ARM_FW_REG(0) +#define KVM_DEV_ARM_VGIC_GRP_ADDR 0 +#define KVM_DEV_ARM_VGIC_GRP_DIST_REGS 1 +#define KVM_DEV_ARM_VGIC_GRP_CPU_REGS 2 +#define KVM_DEV_ARM_VGIC_CPUID_SHIFT 32 +#define KVM_DEV_ARM_VGIC_CPUID_MASK (0xffULL << KVM_DEV_ARM_VGIC_CPUID_SHIFT) +#define KVM_DEV_ARM_VGIC_V3_MPIDR_SHIFT 32 +#define KVM_DEV_ARM_VGIC_V3_MPIDR_MASK \ + (0xffffffffULL << KVM_DEV_ARM_VGIC_V3_MPIDR_SHIFT) +#define KVM_DEV_ARM_VGIC_OFFSET_SHIFT 0 +#define KVM_DEV_ARM_VGIC_OFFSET_MASK (0xffffffffULL << KVM_DEV_ARM_VGIC_OFFSET_SHIFT) +#define KVM_DEV_ARM_VGIC_SYSREG_INSTR_MASK (0xffff) +#define KVM_DEV_ARM_VGIC_GRP_NR_IRQS 3 +#define KVM_DEV_ARM_VGIC_GRP_CTRL 4 +#define KVM_DEV_ARM_VGIC_GRP_REDIST_REGS 5 +#define KVM_DEV_ARM_VGIC_GRP_CPU_SYSREGS 6 +#define KVM_DEV_ARM_VGIC_GRP_LEVEL_INFO 7 +#define KVM_DEV_ARM_VGIC_GRP_ITS_REGS 8 +#define KVM_DEV_ARM_VGIC_LINE_LEVEL_INFO_SHIFT 10 +#define KVM_DEV_ARM_VGIC_LINE_LEVEL_INFO_MASK \ + (0x3fffffULL << KVM_DEV_ARM_VGIC_LINE_LEVEL_INFO_SHIFT) +#define KVM_DEV_ARM_VGIC_LINE_LEVEL_INTID_MASK 0x3ff +#define VGIC_LEVEL_INFO_LINE_LEVEL 0 +#define KVM_DEV_ARM_VGIC_CTRL_INIT 0 +#define KVM_DEV_ARM_ITS_SAVE_TABLES 1 +#define KVM_DEV_ARM_ITS_RESTORE_TABLES 2 +#define KVM_DEV_ARM_VGIC_SAVE_PENDING_TABLES 3 +#define KVM_DEV_ARM_ITS_CTRL_RESET 4 +#define KVM_ARM_VCPU_PMU_V3_CTRL 0 +#define KVM_ARM_VCPU_PMU_V3_IRQ 0 +#define KVM_ARM_VCPU_PMU_V3_INIT 1 +#define KVM_ARM_VCPU_TIMER_CTRL 1 +#define KVM_ARM_VCPU_TIMER_IRQ_VTIMER 0 +#define KVM_ARM_VCPU_TIMER_IRQ_PTIMER 1 +#define KVM_ARM_IRQ_TYPE_SHIFT 24 +#define KVM_ARM_IRQ_TYPE_MASK 0xff +#define KVM_ARM_IRQ_VCPU_SHIFT 16 +#define KVM_ARM_IRQ_VCPU_MASK 0xff +#define KVM_ARM_IRQ_NUM_SHIFT 0 +#define KVM_ARM_IRQ_NUM_MASK 0xffff +#define KVM_ARM_IRQ_TYPE_CPU 0 +#define KVM_ARM_IRQ_TYPE_SPI 1 +#define KVM_ARM_IRQ_TYPE_PPI 2 +#define KVM_ARM_IRQ_CPU_IRQ 0 +#define KVM_ARM_IRQ_CPU_FIQ 1 +#define KVM_ARM_IRQ_GIC_MAX 127 +#define KVM_NR_IRQCHIPS 1 +#define KVM_PSCI_FN_BASE 0x95c1ba5e +#define KVM_PSCI_FN(n) (KVM_PSCI_FN_BASE + (n)) +#define KVM_PSCI_FN_CPU_SUSPEND KVM_PSCI_FN(0) +#define KVM_PSCI_FN_CPU_OFF KVM_PSCI_FN(1) +#define KVM_PSCI_FN_CPU_ON KVM_PSCI_FN(2) +#define KVM_PSCI_FN_MIGRATE KVM_PSCI_FN(3) +#define KVM_PSCI_RET_SUCCESS PSCI_RET_SUCCESS +#define KVM_PSCI_RET_NI PSCI_RET_NOT_SUPPORTED +#define KVM_PSCI_RET_INVAL PSCI_RET_INVALID_PARAMS +#define KVM_PSCI_RET_DENIED PSCI_RET_DENIED +#endif +#endif diff --git a/linux-5.10/prebuilts/usr/include/asm-arm64/asm/kvm_para.h b/linux-5.10/prebuilts/usr/include/asm-arm64/asm/kvm_para.h new file mode 100644 index 0000000..c74c294 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/asm-arm64/asm/kvm_para.h @@ -0,0 +1,6 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#include diff --git a/linux-5.10/prebuilts/usr/include/asm-arm64/asm/mman.h b/linux-5.10/prebuilts/usr/include/asm-arm64/asm/mman.h new file mode 100644 index 0000000..4324326 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/asm-arm64/asm/mman.h @@ -0,0 +1,6 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#include diff --git a/linux-5.10/prebuilts/usr/include/asm-arm64/asm/msgbuf.h b/linux-5.10/prebuilts/usr/include/asm-arm64/asm/msgbuf.h new file mode 100644 index 0000000..a361e7c --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/asm-arm64/asm/msgbuf.h @@ -0,0 +1,6 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#include diff --git a/linux-5.10/prebuilts/usr/include/asm-arm64/asm/param.h b/linux-5.10/prebuilts/usr/include/asm-arm64/asm/param.h new file mode 100644 index 0000000..3346751 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/asm-arm64/asm/param.h @@ -0,0 +1,10 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef __ASM_PARAM_H +#define __ASM_PARAM_H +#define EXEC_PAGESIZE 65536 +#include +#endif diff --git a/linux-5.10/prebuilts/usr/include/asm-arm64/asm/perf_regs.h b/linux-5.10/prebuilts/usr/include/asm-arm64/asm/perf_regs.h new file mode 100644 index 0000000..4d62572 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/asm-arm64/asm/perf_regs.h @@ -0,0 +1,44 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _ASM_ARM64_PERF_REGS_H +#define _ASM_ARM64_PERF_REGS_H +enum perf_event_arm_regs { + PERF_REG_ARM64_X0, + PERF_REG_ARM64_X1, + PERF_REG_ARM64_X2, + PERF_REG_ARM64_X3, + PERF_REG_ARM64_X4, + PERF_REG_ARM64_X5, + PERF_REG_ARM64_X6, + PERF_REG_ARM64_X7, + PERF_REG_ARM64_X8, + PERF_REG_ARM64_X9, + PERF_REG_ARM64_X10, + PERF_REG_ARM64_X11, + PERF_REG_ARM64_X12, + PERF_REG_ARM64_X13, + PERF_REG_ARM64_X14, + PERF_REG_ARM64_X15, + PERF_REG_ARM64_X16, + PERF_REG_ARM64_X17, + PERF_REG_ARM64_X18, + PERF_REG_ARM64_X19, + PERF_REG_ARM64_X20, + PERF_REG_ARM64_X21, + PERF_REG_ARM64_X22, + PERF_REG_ARM64_X23, + PERF_REG_ARM64_X24, + PERF_REG_ARM64_X25, + PERF_REG_ARM64_X26, + PERF_REG_ARM64_X27, + PERF_REG_ARM64_X28, + PERF_REG_ARM64_X29, + PERF_REG_ARM64_LR, + PERF_REG_ARM64_SP, + PERF_REG_ARM64_PC, + PERF_REG_ARM64_MAX, +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/asm-arm64/asm/poll.h b/linux-5.10/prebuilts/usr/include/asm-arm64/asm/poll.h new file mode 100644 index 0000000..93f531d --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/asm-arm64/asm/poll.h @@ -0,0 +1,6 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#include diff --git a/linux-5.10/prebuilts/usr/include/asm-arm64/asm/posix_types.h b/linux-5.10/prebuilts/usr/include/asm-arm64/asm/posix_types.h new file mode 100644 index 0000000..a5d7eda --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/asm-arm64/asm/posix_types.h @@ -0,0 +1,12 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef __ASM_POSIX_TYPES_H +#define __ASM_POSIX_TYPES_H +typedef unsigned short __kernel_old_uid_t; +typedef unsigned short __kernel_old_gid_t; +#define __kernel_old_uid_t __kernel_old_uid_t +#include +#endif diff --git a/linux-5.10/prebuilts/usr/include/asm-arm64/asm/ptrace.h b/linux-5.10/prebuilts/usr/include/asm-arm64/asm/ptrace.h new file mode 100644 index 0000000..3d3a53a --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/asm-arm64/asm/ptrace.h @@ -0,0 +1,114 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef __ASM_PTRACE_H +#define __ASM_PTRACE_H +#include +#include +#include +#define PSR_MODE_EL0t 0x00000000 +#define PSR_MODE_EL1t 0x00000004 +#define PSR_MODE_EL1h 0x00000005 +#define PSR_MODE_EL2t 0x00000008 +#define PSR_MODE_EL2h 0x00000009 +#define PSR_MODE_EL3t 0x0000000c +#define PSR_MODE_EL3h 0x0000000d +#define PSR_MODE_MASK 0x0000000f +#define PSR_MODE32_BIT 0x00000010 +#define PSR_F_BIT 0x00000040 +#define PSR_I_BIT 0x00000080 +#define PSR_A_BIT 0x00000100 +#define PSR_D_BIT 0x00000200 +#define PSR_SSBS_BIT 0x00001000 +#define PSR_PAN_BIT 0x00400000 +#define PSR_UAO_BIT 0x00800000 +#define PSR_DIT_BIT 0x01000000 +#define PSR_V_BIT 0x10000000 +#define PSR_C_BIT 0x20000000 +#define PSR_Z_BIT 0x40000000 +#define PSR_N_BIT 0x80000000 +#define PSR_f 0xff000000 +#define PSR_s 0x00ff0000 +#define PSR_x 0x0000ff00 +#define PSR_c 0x000000ff +#ifndef __ASSEMBLY__ +struct user_pt_regs { + __u64 regs[31]; + __u64 sp; + __u64 pc; + __u64 pstate; +}; +struct user_fpsimd_state { + __uint128_t vregs[32]; + __u32 fpsr; + __u32 fpcr; + __u32 __reserved[2]; +}; +struct user_hwdebug_state { + __u32 dbg_info; + __u32 pad; + struct { + __u64 addr; + __u32 ctrl; + __u32 pad; + } dbg_regs[16]; +}; +struct user_sve_header { + __u32 size; + __u32 max_size; + __u16 vl; + __u16 max_vl; + __u16 flags; + __u16 __reserved; +}; +#define SVE_PT_REGS_MASK (1 << 0) +#define SVE_PT_REGS_FPSIMD 0 +#define SVE_PT_REGS_SVE SVE_PT_REGS_MASK +#define SVE_PT_VL_INHERIT ((1 << 17) >> 16) +#define SVE_PT_VL_ONEXEC ((1 << 18) >> 16) +#define SVE_PT_REGS_OFFSET \ + ((sizeof(struct user_sve_header) + (SVE_VQ_BYTES - 1)) \ + / SVE_VQ_BYTES * SVE_VQ_BYTES) +#define SVE_PT_FPSIMD_OFFSET SVE_PT_REGS_OFFSET +#define SVE_PT_FPSIMD_SIZE(vq, flags) (sizeof(struct user_fpsimd_state)) +#define SVE_PT_SVE_ZREG_SIZE(vq) SVE_SIG_ZREG_SIZE(vq) +#define SVE_PT_SVE_PREG_SIZE(vq) SVE_SIG_PREG_SIZE(vq) +#define SVE_PT_SVE_FFR_SIZE(vq) SVE_SIG_FFR_SIZE(vq) +#define SVE_PT_SVE_FPSR_SIZE sizeof(__u32) +#define SVE_PT_SVE_FPCR_SIZE sizeof(__u32) +#define __SVE_SIG_TO_PT(offset) \ + ((offset) - SVE_SIG_REGS_OFFSET + SVE_PT_REGS_OFFSET) +#define SVE_PT_SVE_OFFSET SVE_PT_REGS_OFFSET +#define SVE_PT_SVE_ZREGS_OFFSET \ + __SVE_SIG_TO_PT(SVE_SIG_ZREGS_OFFSET) +#define SVE_PT_SVE_ZREG_OFFSET(vq, n) \ + __SVE_SIG_TO_PT(SVE_SIG_ZREG_OFFSET(vq, n)) +#define SVE_PT_SVE_ZREGS_SIZE(vq) \ + (SVE_PT_SVE_ZREG_OFFSET(vq, SVE_NUM_ZREGS) - SVE_PT_SVE_ZREGS_OFFSET) +#define SVE_PT_SVE_PREGS_OFFSET(vq) \ + __SVE_SIG_TO_PT(SVE_SIG_PREGS_OFFSET(vq)) +#define SVE_PT_SVE_PREG_OFFSET(vq, n) \ + __SVE_SIG_TO_PT(SVE_SIG_PREG_OFFSET(vq, n)) +#define SVE_PT_SVE_PREGS_SIZE(vq) \ + (SVE_PT_SVE_PREG_OFFSET(vq, SVE_NUM_PREGS) - \ + SVE_PT_SVE_PREGS_OFFSET(vq)) +#define SVE_PT_SVE_FFR_OFFSET(vq) \ + __SVE_SIG_TO_PT(SVE_SIG_FFR_OFFSET(vq)) +#define SVE_PT_SVE_FPSR_OFFSET(vq) \ + ((SVE_PT_SVE_FFR_OFFSET(vq) + SVE_PT_SVE_FFR_SIZE(vq) + \ + (SVE_VQ_BYTES - 1)) \ + / SVE_VQ_BYTES * SVE_VQ_BYTES) +#define SVE_PT_SVE_FPCR_OFFSET(vq) \ + (SVE_PT_SVE_FPSR_OFFSET(vq) + SVE_PT_SVE_FPSR_SIZE) +#define SVE_PT_SVE_SIZE(vq, flags) \ + ((SVE_PT_SVE_FPCR_OFFSET(vq) + SVE_PT_SVE_FPCR_SIZE \ + - SVE_PT_SVE_OFFSET + (SVE_VQ_BYTES - 1)) \ + / SVE_VQ_BYTES * SVE_VQ_BYTES) +#define SVE_PT_SIZE(vq, flags) \ + (((flags) & SVE_PT_REGS_MASK) == SVE_PT_REGS_SVE ? \ + SVE_PT_SVE_OFFSET + SVE_PT_SVE_SIZE(vq, flags) \ + : SVE_PT_FPSIMD_OFFSET + SVE_PT_FPSIMD_SIZE(vq, flags)) +#endif +#endif diff --git a/linux-5.10/prebuilts/usr/include/asm-arm64/asm/resource.h b/linux-5.10/prebuilts/usr/include/asm-arm64/asm/resource.h new file mode 100644 index 0000000..728000e --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/asm-arm64/asm/resource.h @@ -0,0 +1,6 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#include diff --git a/linux-5.10/prebuilts/usr/include/asm-arm64/asm/sembuf.h b/linux-5.10/prebuilts/usr/include/asm-arm64/asm/sembuf.h new file mode 100644 index 0000000..1769cec --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/asm-arm64/asm/sembuf.h @@ -0,0 +1,6 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#include diff --git a/linux-5.10/prebuilts/usr/include/asm-arm64/asm/setup.h b/linux-5.10/prebuilts/usr/include/asm-arm64/asm/setup.h new file mode 100644 index 0000000..8a38565 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/asm-arm64/asm/setup.h @@ -0,0 +1,10 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef __ASM_SETUP_H +#define __ASM_SETUP_H +#include +#define COMMAND_LINE_SIZE 2048 +#endif diff --git a/linux-5.10/prebuilts/usr/include/asm-arm64/asm/shmbuf.h b/linux-5.10/prebuilts/usr/include/asm-arm64/asm/shmbuf.h new file mode 100644 index 0000000..ada9904 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/asm-arm64/asm/shmbuf.h @@ -0,0 +1,6 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#include diff --git a/linux-5.10/prebuilts/usr/include/asm-arm64/asm/sigcontext.h b/linux-5.10/prebuilts/usr/include/asm-arm64/asm/sigcontext.h new file mode 100644 index 0000000..e01162e --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/asm-arm64/asm/sigcontext.h @@ -0,0 +1,83 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef __ASM_SIGCONTEXT_H +#define __ASM_SIGCONTEXT_H +#ifndef __ASSEMBLY__ +#include +struct sigcontext { + __u64 fault_address; + + __u64 regs[31]; + __u64 sp; + __u64 pc; + __u64 pstate; + + __u8 __reserved[4096] __attribute__((__aligned__(16))); +}; +struct _aarch64_ctx { + __u32 magic; + __u32 size; +}; +#define FPSIMD_MAGIC 0x46508001 +struct fpsimd_context { + struct _aarch64_ctx head; + __u32 fpsr; + __u32 fpcr; + __uint128_t vregs[32]; +}; +#define ESR_MAGIC 0x45535201 +struct esr_context { + struct _aarch64_ctx head; + __u64 esr; +}; +#define EXTRA_MAGIC 0x45585401 +struct extra_context { + struct _aarch64_ctx head; + __u64 datap; + __u32 size; + __u32 __reserved[3]; +}; +#define SVE_MAGIC 0x53564501 +struct sve_context { + struct _aarch64_ctx head; + __u16 vl; + __u16 __reserved[3]; +}; +#endif +#define SVE_VQ_BYTES 16 +#define SVE_VQ_MIN 1 +#define SVE_VQ_MAX 512 +#define SVE_VL_MIN (SVE_VQ_MIN * SVE_VQ_BYTES) +#define SVE_VL_MAX (SVE_VQ_MAX * SVE_VQ_BYTES) +#define SVE_NUM_ZREGS 32 +#define SVE_NUM_PREGS 16 +#define sve_vl_valid(vl) \ + ((vl) % SVE_VQ_BYTES == 0 && (vl) >= SVE_VL_MIN && (vl) <= SVE_VL_MAX) +#define sve_vq_from_vl(vl) ((vl) / SVE_VQ_BYTES) +#define sve_vl_from_vq(vq) ((vq) * SVE_VQ_BYTES) +#define SVE_SIG_ZREG_SIZE(vq) ((__u32)(vq) * SVE_VQ_BYTES) +#define SVE_SIG_PREG_SIZE(vq) ((__u32)(vq) * (SVE_VQ_BYTES / 8)) +#define SVE_SIG_FFR_SIZE(vq) SVE_SIG_PREG_SIZE(vq) +#define SVE_SIG_REGS_OFFSET \ + ((sizeof(struct sve_context) + (SVE_VQ_BYTES - 1)) \ + / SVE_VQ_BYTES * SVE_VQ_BYTES) +#define SVE_SIG_ZREGS_OFFSET SVE_SIG_REGS_OFFSET +#define SVE_SIG_ZREG_OFFSET(vq, n) \ + (SVE_SIG_ZREGS_OFFSET + SVE_SIG_ZREG_SIZE(vq) * (n)) +#define SVE_SIG_ZREGS_SIZE(vq) \ + (SVE_SIG_ZREG_OFFSET(vq, SVE_NUM_ZREGS) - SVE_SIG_ZREGS_OFFSET) +#define SVE_SIG_PREGS_OFFSET(vq) \ + (SVE_SIG_ZREGS_OFFSET + SVE_SIG_ZREGS_SIZE(vq)) +#define SVE_SIG_PREG_OFFSET(vq, n) \ + (SVE_SIG_PREGS_OFFSET(vq) + SVE_SIG_PREG_SIZE(vq) * (n)) +#define SVE_SIG_PREGS_SIZE(vq) \ + (SVE_SIG_PREG_OFFSET(vq, SVE_NUM_PREGS) - SVE_SIG_PREGS_OFFSET(vq)) +#define SVE_SIG_FFR_OFFSET(vq) \ + (SVE_SIG_PREGS_OFFSET(vq) + SVE_SIG_PREGS_SIZE(vq)) +#define SVE_SIG_REGS_SIZE(vq) \ + (SVE_SIG_FFR_OFFSET(vq) + SVE_SIG_FFR_SIZE(vq) - SVE_SIG_REGS_OFFSET) +#define SVE_SIG_CONTEXT_SIZE(vq) (SVE_SIG_REGS_OFFSET + SVE_SIG_REGS_SIZE(vq)) +#endif diff --git a/linux-5.10/prebuilts/usr/include/asm-arm64/asm/siginfo.h b/linux-5.10/prebuilts/usr/include/asm-arm64/asm/siginfo.h new file mode 100644 index 0000000..a1f3c60 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/asm-arm64/asm/siginfo.h @@ -0,0 +1,10 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef __ASM_SIGINFO_H +#define __ASM_SIGINFO_H +#define __ARCH_SI_PREAMBLE_SIZE (4 * sizeof(int)) +#include +#endif diff --git a/linux-5.10/prebuilts/usr/include/asm-arm64/asm/signal.h b/linux-5.10/prebuilts/usr/include/asm-arm64/asm/signal.h new file mode 100644 index 0000000..92cecc0 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/asm-arm64/asm/signal.h @@ -0,0 +1,12 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef __ASM_SIGNAL_H +#define __ASM_SIGNAL_H +#define SA_RESTORER 0x04000000 +#define MINSIGSTKSZ 5120 +#define SIGSTKSZ 16384 +#include +#endif diff --git a/linux-5.10/prebuilts/usr/include/asm-arm64/asm/socket.h b/linux-5.10/prebuilts/usr/include/asm-arm64/asm/socket.h new file mode 100644 index 0000000..b61e0f4 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/asm-arm64/asm/socket.h @@ -0,0 +1,6 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#include diff --git a/linux-5.10/prebuilts/usr/include/asm-arm64/asm/sockios.h b/linux-5.10/prebuilts/usr/include/asm-arm64/asm/sockios.h new file mode 100644 index 0000000..9cb632b --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/asm-arm64/asm/sockios.h @@ -0,0 +1,6 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#include diff --git a/linux-5.10/prebuilts/usr/include/asm-arm64/asm/stat.h b/linux-5.10/prebuilts/usr/include/asm-arm64/asm/stat.h new file mode 100644 index 0000000..ca7a369 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/asm-arm64/asm/stat.h @@ -0,0 +1,6 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#include diff --git a/linux-5.10/prebuilts/usr/include/asm-arm64/asm/statfs.h b/linux-5.10/prebuilts/usr/include/asm-arm64/asm/statfs.h new file mode 100644 index 0000000..8575142 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/asm-arm64/asm/statfs.h @@ -0,0 +1,10 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef __ASM_STATFS_H +#define __ASM_STATFS_H +#define ARCH_PACK_COMPAT_STATFS64 __attribute__((packed,aligned(4))) +#include +#endif diff --git a/linux-5.10/prebuilts/usr/include/asm-arm64/asm/swab.h b/linux-5.10/prebuilts/usr/include/asm-arm64/asm/swab.h new file mode 100644 index 0000000..5a26646 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/asm-arm64/asm/swab.h @@ -0,0 +1,6 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#include diff --git a/linux-5.10/prebuilts/usr/include/asm-arm64/asm/termbits.h b/linux-5.10/prebuilts/usr/include/asm-arm64/asm/termbits.h new file mode 100644 index 0000000..a3723de --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/asm-arm64/asm/termbits.h @@ -0,0 +1,6 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#include diff --git a/linux-5.10/prebuilts/usr/include/asm-arm64/asm/termios.h b/linux-5.10/prebuilts/usr/include/asm-arm64/asm/termios.h new file mode 100644 index 0000000..0555809 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/asm-arm64/asm/termios.h @@ -0,0 +1,6 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#include diff --git a/linux-5.10/prebuilts/usr/include/asm-arm64/asm/types.h b/linux-5.10/prebuilts/usr/include/asm-arm64/asm/types.h new file mode 100644 index 0000000..f65195e --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/asm-arm64/asm/types.h @@ -0,0 +1,6 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#include diff --git a/linux-5.10/prebuilts/usr/include/asm-arm64/asm/ucontext.h b/linux-5.10/prebuilts/usr/include/asm-arm64/asm/ucontext.h new file mode 100644 index 0000000..273ff97 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/asm-arm64/asm/ucontext.h @@ -0,0 +1,19 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef __ASM_UCONTEXT_H +#define __ASM_UCONTEXT_H +#include +struct ucontext { + unsigned long uc_flags; + struct ucontext *uc_link; + stack_t uc_stack; + sigset_t uc_sigmask; + + __u8 __linux_unused[1024 / 8 - sizeof(sigset_t)]; + + struct sigcontext uc_mcontext; +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/asm-arm64/asm/unistd.h b/linux-5.10/prebuilts/usr/include/asm-arm64/asm/unistd.h new file mode 100644 index 0000000..61a6d66 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/asm-arm64/asm/unistd.h @@ -0,0 +1,7 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#define __ARCH_WANT_RENAMEAT +#include diff --git a/linux-5.10/prebuilts/usr/include/asm-generic/Kbuild b/linux-5.10/prebuilts/usr/include/asm-generic/Kbuild new file mode 100644 index 0000000..ebb180a --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/asm-generic/Kbuild @@ -0,0 +1,36 @@ +# SPDX-License-Identifier: GPL-2.0 +# +# Headers that are mandatory in usr/include/asm/ +# (This file is not included when SRCARCH=um since UML does not support UAPI.) + +mandatory-y += auxvec.h +mandatory-y += bitsperlong.h +mandatory-y += bpf_perf_event.h +mandatory-y += byteorder.h +mandatory-y += errno.h +mandatory-y += fcntl.h +mandatory-y += ioctl.h +mandatory-y += ioctls.h +mandatory-y += ipcbuf.h +mandatory-y += mman.h +mandatory-y += msgbuf.h +mandatory-y += param.h +mandatory-y += poll.h +mandatory-y += posix_types.h +mandatory-y += ptrace.h +mandatory-y += resource.h +mandatory-y += sembuf.h +mandatory-y += setup.h +mandatory-y += shmbuf.h +mandatory-y += sigcontext.h +mandatory-y += siginfo.h +mandatory-y += signal.h +mandatory-y += socket.h +mandatory-y += sockios.h +mandatory-y += stat.h +mandatory-y += statfs.h +mandatory-y += swab.h +mandatory-y += termbits.h +mandatory-y += termios.h +mandatory-y += types.h +mandatory-y += unistd.h diff --git a/linux-5.10/prebuilts/usr/include/asm-generic/auxvec.h b/linux-5.10/prebuilts/usr/include/asm-generic/auxvec.h new file mode 100644 index 0000000..8c5c600 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/asm-generic/auxvec.h @@ -0,0 +1,8 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef __ASM_GENERIC_AUXVEC_H +#define __ASM_GENERIC_AUXVEC_H +#endif diff --git a/linux-5.10/prebuilts/usr/include/asm-generic/bitsperlong.h b/linux-5.10/prebuilts/usr/include/asm-generic/bitsperlong.h new file mode 100644 index 0000000..6e1e108 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/asm-generic/bitsperlong.h @@ -0,0 +1,11 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI__ASM_GENERIC_BITS_PER_LONG +#define _UAPI__ASM_GENERIC_BITS_PER_LONG +#ifndef __BITS_PER_LONG +#define __BITS_PER_LONG 32 +#endif +#endif diff --git a/linux-5.10/prebuilts/usr/include/asm-generic/bpf_perf_event.h b/linux-5.10/prebuilts/usr/include/asm-generic/bpf_perf_event.h new file mode 100644 index 0000000..cdabc70 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/asm-generic/bpf_perf_event.h @@ -0,0 +1,10 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI__ASM_GENERIC_BPF_PERF_EVENT_H__ +#define _UAPI__ASM_GENERIC_BPF_PERF_EVENT_H__ +#include +typedef struct pt_regs bpf_user_pt_regs_t; +#endif diff --git a/linux-5.10/prebuilts/usr/include/asm-generic/errno-base.h b/linux-5.10/prebuilts/usr/include/asm-generic/errno-base.h new file mode 100644 index 0000000..8a5e61f --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/asm-generic/errno-base.h @@ -0,0 +1,42 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _ASM_GENERIC_ERRNO_BASE_H +#define _ASM_GENERIC_ERRNO_BASE_H +#define EPERM 1 +#define ENOENT 2 +#define ESRCH 3 +#define EINTR 4 +#define EIO 5 +#define ENXIO 6 +#define E2BIG 7 +#define ENOEXEC 8 +#define EBADF 9 +#define ECHILD 10 +#define EAGAIN 11 +#define ENOMEM 12 +#define EACCES 13 +#define EFAULT 14 +#define ENOTBLK 15 +#define EBUSY 16 +#define EEXIST 17 +#define EXDEV 18 +#define ENODEV 19 +#define ENOTDIR 20 +#define EISDIR 21 +#define EINVAL 22 +#define ENFILE 23 +#define EMFILE 24 +#define ENOTTY 25 +#define ETXTBSY 26 +#define EFBIG 27 +#define ENOSPC 28 +#define ESPIPE 29 +#define EROFS 30 +#define EMLINK 31 +#define EPIPE 32 +#define EDOM 33 +#define ERANGE 34 +#endif diff --git a/linux-5.10/prebuilts/usr/include/asm-generic/errno.h b/linux-5.10/prebuilts/usr/include/asm-generic/errno.h new file mode 100644 index 0000000..c6f7a49 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/asm-generic/errno.h @@ -0,0 +1,108 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _ASM_GENERIC_ERRNO_H +#define _ASM_GENERIC_ERRNO_H +#include +#define EDEADLK 35 +#define ENAMETOOLONG 36 +#define ENOLCK 37 +#define ENOSYS 38 +#define ENOTEMPTY 39 +#define ELOOP 40 +#define EWOULDBLOCK EAGAIN +#define ENOMSG 42 +#define EIDRM 43 +#define ECHRNG 44 +#define EL2NSYNC 45 +#define EL3HLT 46 +#define EL3RST 47 +#define ELNRNG 48 +#define EUNATCH 49 +#define ENOCSI 50 +#define EL2HLT 51 +#define EBADE 52 +#define EBADR 53 +#define EXFULL 54 +#define ENOANO 55 +#define EBADRQC 56 +#define EBADSLT 57 +#define EDEADLOCK EDEADLK +#define EBFONT 59 +#define ENOSTR 60 +#define ENODATA 61 +#define ETIME 62 +#define ENOSR 63 +#define ENONET 64 +#define ENOPKG 65 +#define EREMOTE 66 +#define ENOLINK 67 +#define EADV 68 +#define ESRMNT 69 +#define ECOMM 70 +#define EPROTO 71 +#define EMULTIHOP 72 +#define EDOTDOT 73 +#define EBADMSG 74 +#define EOVERFLOW 75 +#define ENOTUNIQ 76 +#define EBADFD 77 +#define EREMCHG 78 +#define ELIBACC 79 +#define ELIBBAD 80 +#define ELIBSCN 81 +#define ELIBMAX 82 +#define ELIBEXEC 83 +#define EILSEQ 84 +#define ERESTART 85 +#define ESTRPIPE 86 +#define EUSERS 87 +#define ENOTSOCK 88 +#define EDESTADDRREQ 89 +#define EMSGSIZE 90 +#define EPROTOTYPE 91 +#define ENOPROTOOPT 92 +#define EPROTONOSUPPORT 93 +#define ESOCKTNOSUPPORT 94 +#define EOPNOTSUPP 95 +#define EPFNOSUPPORT 96 +#define EAFNOSUPPORT 97 +#define EADDRINUSE 98 +#define EADDRNOTAVAIL 99 +#define ENETDOWN 100 +#define ENETUNREACH 101 +#define ENETRESET 102 +#define ECONNABORTED 103 +#define ECONNRESET 104 +#define ENOBUFS 105 +#define EISCONN 106 +#define ENOTCONN 107 +#define ESHUTDOWN 108 +#define ETOOMANYREFS 109 +#define ETIMEDOUT 110 +#define ECONNREFUSED 111 +#define EHOSTDOWN 112 +#define EHOSTUNREACH 113 +#define EALREADY 114 +#define EINPROGRESS 115 +#define ESTALE 116 +#define EUCLEAN 117 +#define ENOTNAM 118 +#define ENAVAIL 119 +#define EISNAM 120 +#define EREMOTEIO 121 +#define EDQUOT 122 +#define ENOMEDIUM 123 +#define EMEDIUMTYPE 124 +#define ECANCELED 125 +#define ENOKEY 126 +#define EKEYEXPIRED 127 +#define EKEYREVOKED 128 +#define EKEYREJECTED 129 +#define EOWNERDEAD 130 +#define ENOTRECOVERABLE 131 +#define ERFKILL 132 +#define EHWPOISON 133 +#endif diff --git a/linux-5.10/prebuilts/usr/include/asm-generic/fcntl.h b/linux-5.10/prebuilts/usr/include/asm-generic/fcntl.h new file mode 100644 index 0000000..add4feb --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/asm-generic/fcntl.h @@ -0,0 +1,157 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _ASM_GENERIC_FCNTL_H +#define _ASM_GENERIC_FCNTL_H +#include +#define O_ACCMODE 00000003 +#define O_RDONLY 00000000 +#define O_WRONLY 00000001 +#define O_RDWR 00000002 +#ifndef O_CREAT +#define O_CREAT 00000100 +#endif +#ifndef O_EXCL +#define O_EXCL 00000200 +#endif +#ifndef O_NOCTTY +#define O_NOCTTY 00000400 +#endif +#ifndef O_TRUNC +#define O_TRUNC 00001000 +#endif +#ifndef O_APPEND +#define O_APPEND 00002000 +#endif +#ifndef O_NONBLOCK +#define O_NONBLOCK 00004000 +#endif +#ifndef O_DSYNC +#define O_DSYNC 00010000 +#endif +#ifndef FASYNC +#define FASYNC 00020000 +#endif +#ifndef O_DIRECT +#define O_DIRECT 00040000 +#endif +#ifndef O_LARGEFILE +#define O_LARGEFILE 00100000 +#endif +#ifndef O_DIRECTORY +#define O_DIRECTORY 00200000 +#endif +#ifndef O_NOFOLLOW +#define O_NOFOLLOW 00400000 +#endif +#ifndef O_NOATIME +#define O_NOATIME 01000000 +#endif +#ifndef O_CLOEXEC +#define O_CLOEXEC 02000000 +#endif +#ifndef O_SYNC +#define __O_SYNC 04000000 +#define O_SYNC (__O_SYNC|O_DSYNC) +#endif +#ifndef O_PATH +#define O_PATH 010000000 +#endif +#ifndef __O_TMPFILE +#define __O_TMPFILE 020000000 +#endif +#define O_TMPFILE (__O_TMPFILE | O_DIRECTORY) +#define O_TMPFILE_MASK (__O_TMPFILE | O_DIRECTORY | O_CREAT) +#ifndef O_NDELAY +#define O_NDELAY O_NONBLOCK +#endif +#define F_DUPFD 0 +#define F_GETFD 1 +#define F_SETFD 2 +#define F_GETFL 3 +#define F_SETFL 4 +#ifndef F_GETLK +#define F_GETLK 5 +#define F_SETLK 6 +#define F_SETLKW 7 +#endif +#ifndef F_SETOWN +#define F_SETOWN 8 +#define F_GETOWN 9 +#endif +#ifndef F_SETSIG +#define F_SETSIG 10 +#define F_GETSIG 11 +#endif +#ifndef __LP64__ +#ifndef F_GETLK64 +#define F_GETLK64 12 +#define F_SETLK64 13 +#define F_SETLKW64 14 +#endif +#endif +#ifndef F_SETOWN_EX +#define F_SETOWN_EX 15 +#define F_GETOWN_EX 16 +#endif +#ifndef F_GETOWNER_UIDS +#define F_GETOWNER_UIDS 17 +#endif +#define F_OFD_GETLK 36 +#define F_OFD_SETLK 37 +#define F_OFD_SETLKW 38 +#define F_OWNER_TID 0 +#define F_OWNER_PID 1 +#define F_OWNER_PGRP 2 +struct f_owner_ex { + int type; + __kernel_pid_t pid; +}; +#define FD_CLOEXEC 1 +#ifndef F_RDLCK +#define F_RDLCK 0 +#define F_WRLCK 1 +#define F_UNLCK 2 +#endif +#ifndef F_EXLCK +#define F_EXLCK 4 +#define F_SHLCK 8 +#endif +#define LOCK_SH 1 +#define LOCK_EX 2 +#define LOCK_NB 4 +#define LOCK_UN 8 +#define LOCK_MAND 32 +#define LOCK_READ 64 +#define LOCK_WRITE 128 +#define LOCK_RW 192 +#define F_LINUX_SPECIFIC_BASE 1024 +#ifndef HAVE_ARCH_STRUCT_FLOCK +#ifndef __ARCH_FLOCK_PAD +#define __ARCH_FLOCK_PAD +#endif +struct flock { + short l_type; + short l_whence; + __kernel_off_t l_start; + __kernel_off_t l_len; + __kernel_pid_t l_pid; + __ARCH_FLOCK_PAD +}; +#endif +#ifndef HAVE_ARCH_STRUCT_FLOCK64 +#ifndef __ARCH_FLOCK64_PAD +#define __ARCH_FLOCK64_PAD +#endif +struct flock64 { + short l_type; + short l_whence; + __kernel_loff_t l_start; + __kernel_loff_t l_len; + __kernel_pid_t l_pid; + __ARCH_FLOCK64_PAD +}; +#endif +#endif diff --git a/linux-5.10/prebuilts/usr/include/asm-generic/hugetlb_encode.h b/linux-5.10/prebuilts/usr/include/asm-generic/hugetlb_encode.h new file mode 100644 index 0000000..4b73617 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/asm-generic/hugetlb_encode.h @@ -0,0 +1,23 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _ASM_GENERIC_HUGETLB_ENCODE_H_ +#define _ASM_GENERIC_HUGETLB_ENCODE_H_ +#define HUGETLB_FLAG_ENCODE_SHIFT 26 +#define HUGETLB_FLAG_ENCODE_MASK 0x3f +#define HUGETLB_FLAG_ENCODE_16KB (14 << HUGETLB_FLAG_ENCODE_SHIFT) +#define HUGETLB_FLAG_ENCODE_64KB (16 << HUGETLB_FLAG_ENCODE_SHIFT) +#define HUGETLB_FLAG_ENCODE_512KB (19 << HUGETLB_FLAG_ENCODE_SHIFT) +#define HUGETLB_FLAG_ENCODE_1MB (20 << HUGETLB_FLAG_ENCODE_SHIFT) +#define HUGETLB_FLAG_ENCODE_2MB (21 << HUGETLB_FLAG_ENCODE_SHIFT) +#define HUGETLB_FLAG_ENCODE_8MB (23 << HUGETLB_FLAG_ENCODE_SHIFT) +#define HUGETLB_FLAG_ENCODE_16MB (24 << HUGETLB_FLAG_ENCODE_SHIFT) +#define HUGETLB_FLAG_ENCODE_32MB (25 << HUGETLB_FLAG_ENCODE_SHIFT) +#define HUGETLB_FLAG_ENCODE_256MB (28 << HUGETLB_FLAG_ENCODE_SHIFT) +#define HUGETLB_FLAG_ENCODE_512MB (29 << HUGETLB_FLAG_ENCODE_SHIFT) +#define HUGETLB_FLAG_ENCODE_1GB (30 << HUGETLB_FLAG_ENCODE_SHIFT) +#define HUGETLB_FLAG_ENCODE_2GB (31 << HUGETLB_FLAG_ENCODE_SHIFT) +#define HUGETLB_FLAG_ENCODE_16GB (34 << HUGETLB_FLAG_ENCODE_SHIFT) +#endif diff --git a/linux-5.10/prebuilts/usr/include/asm-generic/int-l64.h b/linux-5.10/prebuilts/usr/include/asm-generic/int-l64.h new file mode 100644 index 0000000..39adb2d --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/asm-generic/int-l64.h @@ -0,0 +1,19 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI_ASM_GENERIC_INT_L64_H +#define _UAPI_ASM_GENERIC_INT_L64_H +#include +#ifndef __ASSEMBLY__ +typedef __signed__ char __s8; +typedef unsigned char __u8; +typedef __signed__ short __s16; +typedef unsigned short __u16; +typedef __signed__ int __s32; +typedef unsigned int __u32; +typedef __signed__ long __s64; +typedef unsigned long __u64; +#endif +#endif diff --git a/linux-5.10/prebuilts/usr/include/asm-generic/int-ll64.h b/linux-5.10/prebuilts/usr/include/asm-generic/int-ll64.h new file mode 100644 index 0000000..668470e --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/asm-generic/int-ll64.h @@ -0,0 +1,24 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI_ASM_GENERIC_INT_LL64_H +#define _UAPI_ASM_GENERIC_INT_LL64_H +#include +#ifndef __ASSEMBLY__ +typedef __signed__ char __s8; +typedef unsigned char __u8; +typedef __signed__ short __s16; +typedef unsigned short __u16; +typedef __signed__ int __s32; +typedef unsigned int __u32; +#ifdef __GNUC__ +__extension__ typedef __signed__ long long __s64; +__extension__ typedef unsigned long long __u64; +#else +typedef __signed__ long long __s64; +typedef unsigned long long __u64; +#endif +#endif +#endif diff --git a/linux-5.10/prebuilts/usr/include/asm-generic/ioctl.h b/linux-5.10/prebuilts/usr/include/asm-generic/ioctl.h new file mode 100644 index 0000000..bcf57f4 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/asm-generic/ioctl.h @@ -0,0 +1,57 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI_ASM_GENERIC_IOCTL_H +#define _UAPI_ASM_GENERIC_IOCTL_H +#define _IOC_NRBITS 8 +#define _IOC_TYPEBITS 8 +#ifndef _IOC_SIZEBITS +# define _IOC_SIZEBITS 14 +#endif +#ifndef _IOC_DIRBITS +# define _IOC_DIRBITS 2 +#endif +#define _IOC_NRMASK ((1 << _IOC_NRBITS)-1) +#define _IOC_TYPEMASK ((1 << _IOC_TYPEBITS)-1) +#define _IOC_SIZEMASK ((1 << _IOC_SIZEBITS)-1) +#define _IOC_DIRMASK ((1 << _IOC_DIRBITS)-1) +#define _IOC_NRSHIFT 0 +#define _IOC_TYPESHIFT (_IOC_NRSHIFT+_IOC_NRBITS) +#define _IOC_SIZESHIFT (_IOC_TYPESHIFT+_IOC_TYPEBITS) +#define _IOC_DIRSHIFT (_IOC_SIZESHIFT+_IOC_SIZEBITS) +#ifndef _IOC_NONE +# define _IOC_NONE 0U +#endif +#ifndef _IOC_WRITE +# define _IOC_WRITE 1U +#endif +#ifndef _IOC_READ +# define _IOC_READ 2U +#endif +#define _IOC(dir,type,nr,size) \ + (((dir) << _IOC_DIRSHIFT) | \ + ((type) << _IOC_TYPESHIFT) | \ + ((nr) << _IOC_NRSHIFT) | \ + ((size) << _IOC_SIZESHIFT)) +#ifndef __KERNEL__ +#define _IOC_TYPECHECK(t) (sizeof(t)) +#endif +#define _IO(type,nr) _IOC(_IOC_NONE,(type),(nr),0) +#define _IOR(type,nr,size) _IOC(_IOC_READ,(type),(nr),(_IOC_TYPECHECK(size))) +#define _IOW(type,nr,size) _IOC(_IOC_WRITE,(type),(nr),(_IOC_TYPECHECK(size))) +#define _IOWR(type,nr,size) _IOC(_IOC_READ|_IOC_WRITE,(type),(nr),(_IOC_TYPECHECK(size))) +#define _IOR_BAD(type,nr,size) _IOC(_IOC_READ,(type),(nr),sizeof(size)) +#define _IOW_BAD(type,nr,size) _IOC(_IOC_WRITE,(type),(nr),sizeof(size)) +#define _IOWR_BAD(type,nr,size) _IOC(_IOC_READ|_IOC_WRITE,(type),(nr),sizeof(size)) +#define _IOC_DIR(nr) (((nr) >> _IOC_DIRSHIFT) & _IOC_DIRMASK) +#define _IOC_TYPE(nr) (((nr) >> _IOC_TYPESHIFT) & _IOC_TYPEMASK) +#define _IOC_NR(nr) (((nr) >> _IOC_NRSHIFT) & _IOC_NRMASK) +#define _IOC_SIZE(nr) (((nr) >> _IOC_SIZESHIFT) & _IOC_SIZEMASK) +#define IOC_IN (_IOC_WRITE << _IOC_DIRSHIFT) +#define IOC_OUT (_IOC_READ << _IOC_DIRSHIFT) +#define IOC_INOUT ((_IOC_WRITE|_IOC_READ) << _IOC_DIRSHIFT) +#define IOCSIZE_MASK (_IOC_SIZEMASK << _IOC_SIZESHIFT) +#define IOCSIZE_SHIFT (_IOC_SIZESHIFT) +#endif diff --git a/linux-5.10/prebuilts/usr/include/asm-generic/ioctls.h b/linux-5.10/prebuilts/usr/include/asm-generic/ioctls.h new file mode 100644 index 0000000..046f1b3 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/asm-generic/ioctls.h @@ -0,0 +1,99 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef __ASM_GENERIC_IOCTLS_H +#define __ASM_GENERIC_IOCTLS_H +#include +#define TCGETS 0x5401 +#define TCSETS 0x5402 +#define TCSETSW 0x5403 +#define TCSETSF 0x5404 +#define TCGETA 0x5405 +#define TCSETA 0x5406 +#define TCSETAW 0x5407 +#define TCSETAF 0x5408 +#define TCSBRK 0x5409 +#define TCXONC 0x540A +#define TCFLSH 0x540B +#define TIOCEXCL 0x540C +#define TIOCNXCL 0x540D +#define TIOCSCTTY 0x540E +#define TIOCGPGRP 0x540F +#define TIOCSPGRP 0x5410 +#define TIOCOUTQ 0x5411 +#define TIOCSTI 0x5412 +#define TIOCGWINSZ 0x5413 +#define TIOCSWINSZ 0x5414 +#define TIOCMGET 0x5415 +#define TIOCMBIS 0x5416 +#define TIOCMBIC 0x5417 +#define TIOCMSET 0x5418 +#define TIOCGSOFTCAR 0x5419 +#define TIOCSSOFTCAR 0x541A +#define FIONREAD 0x541B +#define TIOCINQ FIONREAD +#define TIOCLINUX 0x541C +#define TIOCCONS 0x541D +#define TIOCGSERIAL 0x541E +#define TIOCSSERIAL 0x541F +#define TIOCPKT 0x5420 +#define FIONBIO 0x5421 +#define TIOCNOTTY 0x5422 +#define TIOCSETD 0x5423 +#define TIOCGETD 0x5424 +#define TCSBRKP 0x5425 +#define TIOCSBRK 0x5427 +#define TIOCCBRK 0x5428 +#define TIOCGSID 0x5429 +#define TCGETS2 _IOR('T', 0x2A, struct termios2) +#define TCSETS2 _IOW('T', 0x2B, struct termios2) +#define TCSETSW2 _IOW('T', 0x2C, struct termios2) +#define TCSETSF2 _IOW('T', 0x2D, struct termios2) +#define TIOCGRS485 0x542E +#ifndef TIOCSRS485 +#define TIOCSRS485 0x542F +#endif +#define TIOCGPTN _IOR('T', 0x30, unsigned int) +#define TIOCSPTLCK _IOW('T', 0x31, int) +#define TIOCGDEV _IOR('T', 0x32, unsigned int) +#define TCGETX 0x5432 +#define TCSETX 0x5433 +#define TCSETXF 0x5434 +#define TCSETXW 0x5435 +#define TIOCSIG _IOW('T', 0x36, int) +#define TIOCVHANGUP 0x5437 +#define TIOCGPKT _IOR('T', 0x38, int) +#define TIOCGPTLCK _IOR('T', 0x39, int) +#define TIOCGEXCL _IOR('T', 0x40, int) +#define TIOCGPTPEER _IO('T', 0x41) +#define TIOCGISO7816 _IOR('T', 0x42, struct serial_iso7816) +#define TIOCSISO7816 _IOWR('T', 0x43, struct serial_iso7816) +#define FIONCLEX 0x5450 +#define FIOCLEX 0x5451 +#define FIOASYNC 0x5452 +#define TIOCSERCONFIG 0x5453 +#define TIOCSERGWILD 0x5454 +#define TIOCSERSWILD 0x5455 +#define TIOCGLCKTRMIOS 0x5456 +#define TIOCSLCKTRMIOS 0x5457 +#define TIOCSERGSTRUCT 0x5458 +#define TIOCSERGETLSR 0x5459 +#define TIOCSERGETMULTI 0x545A +#define TIOCSERSETMULTI 0x545B +#define TIOCMIWAIT 0x545C +#define TIOCGICOUNT 0x545D +#ifndef FIOQSIZE +# define FIOQSIZE 0x5460 +#endif +#define TIOCPKT_DATA 0 +#define TIOCPKT_FLUSHREAD 1 +#define TIOCPKT_FLUSHWRITE 2 +#define TIOCPKT_STOP 4 +#define TIOCPKT_START 8 +#define TIOCPKT_NOSTOP 16 +#define TIOCPKT_DOSTOP 32 +#define TIOCPKT_IOCTL 64 +#define TIOCSER_TEMT 0x01 +#endif diff --git a/linux-5.10/prebuilts/usr/include/asm-generic/ipcbuf.h b/linux-5.10/prebuilts/usr/include/asm-generic/ipcbuf.h new file mode 100644 index 0000000..06abd1d --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/asm-generic/ipcbuf.h @@ -0,0 +1,23 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef __ASM_GENERIC_IPCBUF_H +#define __ASM_GENERIC_IPCBUF_H +#include +struct ipc64_perm { + __kernel_key_t key; + __kernel_uid32_t uid; + __kernel_gid32_t gid; + __kernel_uid32_t cuid; + __kernel_gid32_t cgid; + __kernel_mode_t mode; + + unsigned char __pad1[4 - sizeof(__kernel_mode_t)]; + unsigned short seq; + unsigned short __pad2; + __kernel_ulong_t __unused1; + __kernel_ulong_t __unused2; +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/asm-generic/kvm_para.h b/linux-5.10/prebuilts/usr/include/asm-generic/kvm_para.h new file mode 100644 index 0000000..4d42150 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/asm-generic/kvm_para.h @@ -0,0 +1,5 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ diff --git a/linux-5.10/prebuilts/usr/include/asm-generic/mman-common.h b/linux-5.10/prebuilts/usr/include/asm-generic/mman-common.h new file mode 100644 index 0000000..b538432 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/asm-generic/mman-common.h @@ -0,0 +1,55 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef __ASM_GENERIC_MMAN_COMMON_H +#define __ASM_GENERIC_MMAN_COMMON_H +#define PROT_READ 0x1 +#define PROT_WRITE 0x2 +#define PROT_EXEC 0x4 +#define PROT_SEM 0x8 +#define PROT_NONE 0x0 +#define PROT_GROWSDOWN 0x01000000 +#define PROT_GROWSUP 0x02000000 +#define MAP_TYPE 0x0f +#define MAP_FIXED 0x10 +#define MAP_ANONYMOUS 0x20 +#define MAP_POPULATE 0x008000 +#define MAP_NONBLOCK 0x010000 +#define MAP_STACK 0x020000 +#define MAP_HUGETLB 0x040000 +#define MAP_SYNC 0x080000 +#define MAP_FIXED_NOREPLACE 0x100000 +#define MAP_UNINITIALIZED 0x4000000 +#define MLOCK_ONFAULT 0x01 +#define MS_ASYNC 1 +#define MS_INVALIDATE 2 +#define MS_SYNC 4 +#define MADV_NORMAL 0 +#define MADV_RANDOM 1 +#define MADV_SEQUENTIAL 2 +#define MADV_WILLNEED 3 +#define MADV_DONTNEED 4 +#define MADV_FREE 8 +#define MADV_REMOVE 9 +#define MADV_DONTFORK 10 +#define MADV_DOFORK 11 +#define MADV_HWPOISON 100 +#define MADV_SOFT_OFFLINE 101 +#define MADV_MERGEABLE 12 +#define MADV_UNMERGEABLE 13 +#define MADV_HUGEPAGE 14 +#define MADV_NOHUGEPAGE 15 +#define MADV_DONTDUMP 16 +#define MADV_DODUMP 17 +#define MADV_WIPEONFORK 18 +#define MADV_KEEPONFORK 19 +#define MADV_COLD 20 +#define MADV_PAGEOUT 21 +#define MAP_FILE 0 +#define PKEY_DISABLE_ACCESS 0x1 +#define PKEY_DISABLE_WRITE 0x2 +#define PKEY_ACCESS_MASK (PKEY_DISABLE_ACCESS |\ + PKEY_DISABLE_WRITE) +#endif diff --git a/linux-5.10/prebuilts/usr/include/asm-generic/mman.h b/linux-5.10/prebuilts/usr/include/asm-generic/mman.h new file mode 100644 index 0000000..e52d887 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/asm-generic/mman.h @@ -0,0 +1,17 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef __ASM_GENERIC_MMAN_H +#define __ASM_GENERIC_MMAN_H +#include +#define MAP_GROWSDOWN 0x0100 +#define MAP_DENYWRITE 0x0800 +#define MAP_EXECUTABLE 0x1000 +#define MAP_LOCKED 0x2000 +#define MAP_NORESERVE 0x4000 +#define MCL_CURRENT 1 +#define MCL_FUTURE 2 +#define MCL_ONFAULT 4 +#endif diff --git a/linux-5.10/prebuilts/usr/include/asm-generic/msgbuf.h b/linux-5.10/prebuilts/usr/include/asm-generic/msgbuf.h new file mode 100644 index 0000000..5643045 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/asm-generic/msgbuf.h @@ -0,0 +1,32 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef __ASM_GENERIC_MSGBUF_H +#define __ASM_GENERIC_MSGBUF_H +#include +#include +struct msqid64_ds { + struct ipc64_perm msg_perm; +#if __BITS_PER_LONG == 64 + long msg_stime; + long msg_rtime; + long msg_ctime; +#else + unsigned long msg_stime; + unsigned long msg_stime_high; + unsigned long msg_rtime; + unsigned long msg_rtime_high; + unsigned long msg_ctime; + unsigned long msg_ctime_high; +#endif + unsigned long msg_cbytes; + unsigned long msg_qnum; + unsigned long msg_qbytes; + __kernel_pid_t msg_lspid; + __kernel_pid_t msg_lrpid; + unsigned long __unused4; + unsigned long __unused5; +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/asm-generic/param.h b/linux-5.10/prebuilts/usr/include/asm-generic/param.h new file mode 100644 index 0000000..eef41a7 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/asm-generic/param.h @@ -0,0 +1,18 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI__ASM_GENERIC_PARAM_H +#define _UAPI__ASM_GENERIC_PARAM_H +#ifndef HZ +#define HZ 100 +#endif +#ifndef EXEC_PAGESIZE +#define EXEC_PAGESIZE 4096 +#endif +#ifndef NOGROUP +#define NOGROUP (-1) +#endif +#define MAXHOSTNAMELEN 64 +#endif diff --git a/linux-5.10/prebuilts/usr/include/asm-generic/poll.h b/linux-5.10/prebuilts/usr/include/asm-generic/poll.h new file mode 100644 index 0000000..345be72 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/asm-generic/poll.h @@ -0,0 +1,38 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef __ASM_GENERIC_POLL_H +#define __ASM_GENERIC_POLL_H +#define POLLIN 0x0001 +#define POLLPRI 0x0002 +#define POLLOUT 0x0004 +#define POLLERR 0x0008 +#define POLLHUP 0x0010 +#define POLLNVAL 0x0020 +#define POLLRDNORM 0x0040 +#define POLLRDBAND 0x0080 +#ifndef POLLWRNORM +#define POLLWRNORM 0x0100 +#endif +#ifndef POLLWRBAND +#define POLLWRBAND 0x0200 +#endif +#ifndef POLLMSG +#define POLLMSG 0x0400 +#endif +#ifndef POLLREMOVE +#define POLLREMOVE 0x1000 +#endif +#ifndef POLLRDHUP +#define POLLRDHUP 0x2000 +#endif +#define POLLFREE (__force __poll_t)0x4000 +#define POLL_BUSY_LOOP (__force __poll_t)0x8000 +struct pollfd { + int fd; + short events; + short revents; +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/asm-generic/posix_types.h b/linux-5.10/prebuilts/usr/include/asm-generic/posix_types.h new file mode 100644 index 0000000..74b30a6 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/asm-generic/posix_types.h @@ -0,0 +1,75 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef __ASM_GENERIC_POSIX_TYPES_H +#define __ASM_GENERIC_POSIX_TYPES_H +#include +#ifndef __kernel_long_t +typedef long __kernel_long_t; +typedef unsigned long __kernel_ulong_t; +#endif +#ifndef __kernel_ino_t +typedef __kernel_ulong_t __kernel_ino_t; +#endif +#ifndef __kernel_mode_t +typedef unsigned int __kernel_mode_t; +#endif +#ifndef __kernel_pid_t +typedef int __kernel_pid_t; +#endif +#ifndef __kernel_ipc_pid_t +typedef int __kernel_ipc_pid_t; +#endif +#ifndef __kernel_uid_t +typedef unsigned int __kernel_uid_t; +typedef unsigned int __kernel_gid_t; +#endif +#ifndef __kernel_suseconds_t +typedef __kernel_long_t __kernel_suseconds_t; +#endif +#ifndef __kernel_daddr_t +typedef int __kernel_daddr_t; +#endif +#ifndef __kernel_uid32_t +typedef unsigned int __kernel_uid32_t; +typedef unsigned int __kernel_gid32_t; +#endif +#ifndef __kernel_old_uid_t +typedef __kernel_uid_t __kernel_old_uid_t; +typedef __kernel_gid_t __kernel_old_gid_t; +#endif +#ifndef __kernel_old_dev_t +typedef unsigned int __kernel_old_dev_t; +#endif +#ifndef __kernel_size_t +#if __BITS_PER_LONG != 64 +typedef unsigned int __kernel_size_t; +typedef int __kernel_ssize_t; +typedef int __kernel_ptrdiff_t; +#else +typedef __kernel_ulong_t __kernel_size_t; +typedef __kernel_long_t __kernel_ssize_t; +typedef __kernel_long_t __kernel_ptrdiff_t; +#endif +#endif +#ifndef __kernel_fsid_t +typedef struct { + int val[2]; +} __kernel_fsid_t; +#endif +typedef __kernel_long_t __kernel_off_t; +typedef long long __kernel_loff_t; +typedef __kernel_long_t __kernel_old_time_t; +#ifndef __KERNEL__ +typedef __kernel_long_t __kernel_time_t; +#endif +typedef long long __kernel_time64_t; +typedef __kernel_long_t __kernel_clock_t; +typedef int __kernel_timer_t; +typedef int __kernel_clockid_t; +typedef char * __kernel_caddr_t; +typedef unsigned short __kernel_uid16_t; +typedef unsigned short __kernel_gid16_t; +#endif diff --git a/linux-5.10/prebuilts/usr/include/asm-generic/resource.h b/linux-5.10/prebuilts/usr/include/asm-generic/resource.h new file mode 100644 index 0000000..c50de8c --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/asm-generic/resource.h @@ -0,0 +1,38 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI_ASM_GENERIC_RESOURCE_H +#define _UAPI_ASM_GENERIC_RESOURCE_H +#define RLIMIT_CPU 0 +#define RLIMIT_FSIZE 1 +#define RLIMIT_DATA 2 +#define RLIMIT_STACK 3 +#define RLIMIT_CORE 4 +#ifndef RLIMIT_RSS +# define RLIMIT_RSS 5 +#endif +#ifndef RLIMIT_NPROC +# define RLIMIT_NPROC 6 +#endif +#ifndef RLIMIT_NOFILE +# define RLIMIT_NOFILE 7 +#endif +#ifndef RLIMIT_MEMLOCK +# define RLIMIT_MEMLOCK 8 +#endif +#ifndef RLIMIT_AS +# define RLIMIT_AS 9 +#endif +#define RLIMIT_LOCKS 10 +#define RLIMIT_SIGPENDING 11 +#define RLIMIT_MSGQUEUE 12 +#define RLIMIT_NICE 13 +#define RLIMIT_RTPRIO 14 +#define RLIMIT_RTTIME 15 +#define RLIM_NLIMITS 16 +#ifndef RLIM_INFINITY +# define RLIM_INFINITY (~0UL) +#endif +#endif diff --git a/linux-5.10/prebuilts/usr/include/asm-generic/sembuf.h b/linux-5.10/prebuilts/usr/include/asm-generic/sembuf.h new file mode 100644 index 0000000..2ad4893 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/asm-generic/sembuf.h @@ -0,0 +1,25 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef __ASM_GENERIC_SEMBUF_H +#define __ASM_GENERIC_SEMBUF_H +#include +#include +struct semid64_ds { + struct ipc64_perm sem_perm; +#if __BITS_PER_LONG == 64 + long sem_otime; + long sem_ctime; +#else + unsigned long sem_otime; + unsigned long sem_otime_high; + unsigned long sem_ctime; + unsigned long sem_ctime_high; +#endif + unsigned long sem_nsems; + unsigned long __unused3; + unsigned long __unused4; +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/asm-generic/setup.h b/linux-5.10/prebuilts/usr/include/asm-generic/setup.h new file mode 100644 index 0000000..9a3cf37 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/asm-generic/setup.h @@ -0,0 +1,9 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef __ASM_GENERIC_SETUP_H +#define __ASM_GENERIC_SETUP_H +#define COMMAND_LINE_SIZE 512 +#endif diff --git a/linux-5.10/prebuilts/usr/include/asm-generic/shmbuf.h b/linux-5.10/prebuilts/usr/include/asm-generic/shmbuf.h new file mode 100644 index 0000000..dd013a8 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/asm-generic/shmbuf.h @@ -0,0 +1,41 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef __ASM_GENERIC_SHMBUF_H +#define __ASM_GENERIC_SHMBUF_H +#include +struct shmid64_ds { + struct ipc64_perm shm_perm; + size_t shm_segsz; +#if __BITS_PER_LONG == 64 + long shm_atime; + long shm_dtime; + long shm_ctime; +#else + unsigned long shm_atime; + unsigned long shm_atime_high; + unsigned long shm_dtime; + unsigned long shm_dtime_high; + unsigned long shm_ctime; + unsigned long shm_ctime_high; +#endif + __kernel_pid_t shm_cpid; + __kernel_pid_t shm_lpid; + unsigned long shm_nattch; + unsigned long __unused4; + unsigned long __unused5; +}; +struct shminfo64 { + unsigned long shmmax; + unsigned long shmmin; + unsigned long shmmni; + unsigned long shmseg; + unsigned long shmall; + unsigned long __unused1; + unsigned long __unused2; + unsigned long __unused3; + unsigned long __unused4; +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/asm-generic/shmparam.h b/linux-5.10/prebuilts/usr/include/asm-generic/shmparam.h new file mode 100644 index 0000000..c98928a --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/asm-generic/shmparam.h @@ -0,0 +1,9 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef __ASM_GENERIC_SHMPARAM_H +#define __ASM_GENERIC_SHMPARAM_H +#define SHMLBA PAGE_SIZE +#endif diff --git a/linux-5.10/prebuilts/usr/include/asm-generic/siginfo.h b/linux-5.10/prebuilts/usr/include/asm-generic/siginfo.h new file mode 100644 index 0000000..438ee19 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/asm-generic/siginfo.h @@ -0,0 +1,249 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI_ASM_GENERIC_SIGINFO_H +#define _UAPI_ASM_GENERIC_SIGINFO_H +#include +#include +typedef union sigval { + int sival_int; + void __user *sival_ptr; +} sigval_t; +#define SI_MAX_SIZE 128 +#ifndef __ARCH_SI_BAND_T +#define __ARCH_SI_BAND_T long +#endif +#ifndef __ARCH_SI_CLOCK_T +#define __ARCH_SI_CLOCK_T __kernel_clock_t +#endif +#ifndef __ARCH_SI_ATTRIBUTES +#define __ARCH_SI_ATTRIBUTES +#endif +union __sifields { + + struct { + __kernel_pid_t _pid; + __kernel_uid32_t _uid; + } _kill; + + struct { + __kernel_timer_t _tid; + int _overrun; + sigval_t _sigval; + int _sys_private; + } _timer; + + struct { + __kernel_pid_t _pid; + __kernel_uid32_t _uid; + sigval_t _sigval; + } _rt; + + struct { + __kernel_pid_t _pid; + __kernel_uid32_t _uid; + int _status; + __ARCH_SI_CLOCK_T _utime; + __ARCH_SI_CLOCK_T _stime; + } _sigchld; + + struct { + void __user *_addr; +#ifdef __ARCH_SI_TRAPNO + int _trapno; +#endif +#ifdef __ia64__ + int _imm; + unsigned int _flags; + unsigned long _isr; +#endif +#define __ADDR_BND_PKEY_PAD (__alignof__(void *) < sizeof(short) ? \ + sizeof(short) : __alignof__(void *)) + union { + + short _addr_lsb; + + struct { + char _dummy_bnd[__ADDR_BND_PKEY_PAD]; + void __user *_lower; + void __user *_upper; + } _addr_bnd; + + struct { + char _dummy_pkey[__ADDR_BND_PKEY_PAD]; + __u32 _pkey; + } _addr_pkey; + }; + } _sigfault; + + struct { + __ARCH_SI_BAND_T _band; + int _fd; + } _sigpoll; + + struct { + void __user *_call_addr; + int _syscall; + unsigned int _arch; + } _sigsys; +}; +#ifndef __ARCH_HAS_SWAPPED_SIGINFO +#define __SIGINFO \ +struct { \ + int si_signo; \ + int si_errno; \ + int si_code; \ + union __sifields _sifields; \ +} +#else +#define __SIGINFO \ +struct { \ + int si_signo; \ + int si_code; \ + int si_errno; \ + union __sifields _sifields; \ +} +#endif +typedef struct siginfo { + union { + __SIGINFO; + int _si_pad[SI_MAX_SIZE/sizeof(int)]; + }; +} __ARCH_SI_ATTRIBUTES siginfo_t; +#define si_pid _sifields._kill._pid +#define si_uid _sifields._kill._uid +#define si_tid _sifields._timer._tid +#define si_overrun _sifields._timer._overrun +#define si_sys_private _sifields._timer._sys_private +#define si_status _sifields._sigchld._status +#define si_utime _sifields._sigchld._utime +#define si_stime _sifields._sigchld._stime +#define si_value _sifields._rt._sigval +#define si_int _sifields._rt._sigval.sival_int +#define si_ptr _sifields._rt._sigval.sival_ptr +#define si_addr _sifields._sigfault._addr +#ifdef __ARCH_SI_TRAPNO +#define si_trapno _sifields._sigfault._trapno +#endif +#define si_addr_lsb _sifields._sigfault._addr_lsb +#define si_lower _sifields._sigfault._addr_bnd._lower +#define si_upper _sifields._sigfault._addr_bnd._upper +#define si_pkey _sifields._sigfault._addr_pkey._pkey +#define si_band _sifields._sigpoll._band +#define si_fd _sifields._sigpoll._fd +#define si_call_addr _sifields._sigsys._call_addr +#define si_syscall _sifields._sigsys._syscall +#define si_arch _sifields._sigsys._arch +#define SI_USER 0 +#define SI_KERNEL 0x80 +#define SI_QUEUE -1 +#define SI_TIMER -2 +#define SI_MESGQ -3 +#define SI_ASYNCIO -4 +#define SI_SIGIO -5 +#define SI_TKILL -6 +#define SI_DETHREAD -7 +#define SI_ASYNCNL -60 +#define SI_FROMUSER(siptr) ((siptr)->si_code <= 0) +#define SI_FROMKERNEL(siptr) ((siptr)->si_code > 0) +#define ILL_ILLOPC 1 +#define ILL_ILLOPN 2 +#define ILL_ILLADR 3 +#define ILL_ILLTRP 4 +#define ILL_PRVOPC 5 +#define ILL_PRVREG 6 +#define ILL_COPROC 7 +#define ILL_BADSTK 8 +#define ILL_BADIADDR 9 +#define __ILL_BREAK 10 +#define __ILL_BNDMOD 11 +#define NSIGILL 11 +#define FPE_INTDIV 1 +#define FPE_INTOVF 2 +#define FPE_FLTDIV 3 +#define FPE_FLTOVF 4 +#define FPE_FLTUND 5 +#define FPE_FLTRES 6 +#define FPE_FLTINV 7 +#define FPE_FLTSUB 8 +#define __FPE_DECOVF 9 +#define __FPE_DECDIV 10 +#define __FPE_DECERR 11 +#define __FPE_INVASC 12 +#define __FPE_INVDEC 13 +#define FPE_FLTUNK 14 +#define FPE_CONDTRAP 15 +#define NSIGFPE 15 +#define SEGV_MAPERR 1 +#define SEGV_ACCERR 2 +#define SEGV_BNDERR 3 +#ifdef __ia64__ +# define __SEGV_PSTKOVF 4 +#else +# define SEGV_PKUERR 4 +#endif +#define SEGV_ACCADI 5 +#define SEGV_ADIDERR 6 +#define SEGV_ADIPERR 7 +#define SEGV_MTEAERR 8 +#define SEGV_MTESERR 9 +#define NSIGSEGV 9 +#define BUS_ADRALN 1 +#define BUS_ADRERR 2 +#define BUS_OBJERR 3 +#define BUS_MCEERR_AR 4 +#define BUS_MCEERR_AO 5 +#define NSIGBUS 5 +#define TRAP_BRKPT 1 +#define TRAP_TRACE 2 +#define TRAP_BRANCH 3 +#define TRAP_HWBKPT 4 +#define TRAP_UNK 5 +#define NSIGTRAP 5 +#define CLD_EXITED 1 +#define CLD_KILLED 2 +#define CLD_DUMPED 3 +#define CLD_TRAPPED 4 +#define CLD_STOPPED 5 +#define CLD_CONTINUED 6 +#define NSIGCHLD 6 +#define POLL_IN 1 +#define POLL_OUT 2 +#define POLL_MSG 3 +#define POLL_ERR 4 +#define POLL_PRI 5 +#define POLL_HUP 6 +#define NSIGPOLL 6 +#define SYS_SECCOMP 1 +#define NSIGSYS 1 +#define EMT_TAGOVF 1 +#define NSIGEMT 1 +#define SIGEV_SIGNAL 0 +#define SIGEV_NONE 1 +#define SIGEV_THREAD 2 +#define SIGEV_THREAD_ID 4 +#ifndef __ARCH_SIGEV_PREAMBLE_SIZE +#define __ARCH_SIGEV_PREAMBLE_SIZE (sizeof(int) * 2 + sizeof(sigval_t)) +#endif +#define SIGEV_MAX_SIZE 64 +#define SIGEV_PAD_SIZE ((SIGEV_MAX_SIZE - __ARCH_SIGEV_PREAMBLE_SIZE) \ + / sizeof(int)) +typedef struct sigevent { + sigval_t sigev_value; + int sigev_signo; + int sigev_notify; + union { + int _pad[SIGEV_PAD_SIZE]; + int _tid; + struct { + void (*_function)(sigval_t); + void *_attribute; + } _sigev_thread; + } _sigev_un; +} sigevent_t; +#define sigev_notify_function _sigev_un._sigev_thread._function +#define sigev_notify_attributes _sigev_un._sigev_thread._attribute +#define sigev_notify_thread_id _sigev_un._tid +#endif diff --git a/linux-5.10/prebuilts/usr/include/asm-generic/signal-defs.h b/linux-5.10/prebuilts/usr/include/asm-generic/signal-defs.h new file mode 100644 index 0000000..6cde6c0 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/asm-generic/signal-defs.h @@ -0,0 +1,27 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef __ASM_GENERIC_SIGNAL_DEFS_H +#define __ASM_GENERIC_SIGNAL_DEFS_H +#include +#ifndef SIG_BLOCK +#define SIG_BLOCK 0 +#endif +#ifndef SIG_UNBLOCK +#define SIG_UNBLOCK 1 +#endif +#ifndef SIG_SETMASK +#define SIG_SETMASK 2 +#endif +#ifndef __ASSEMBLY__ +typedef void __signalfn_t(int); +typedef __signalfn_t __user *__sighandler_t; +typedef void __restorefn_t(void); +typedef __restorefn_t __user *__sigrestore_t; +#define SIG_DFL ((__force __sighandler_t)0) +#define SIG_IGN ((__force __sighandler_t)1) +#define SIG_ERR ((__force __sighandler_t)-1) +#endif +#endif diff --git a/linux-5.10/prebuilts/usr/include/asm-generic/signal.h b/linux-5.10/prebuilts/usr/include/asm-generic/signal.h new file mode 100644 index 0000000..30d3768 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/asm-generic/signal.h @@ -0,0 +1,88 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI__ASM_GENERIC_SIGNAL_H +#define _UAPI__ASM_GENERIC_SIGNAL_H +#include +#define _KERNEL__NSIG 64 +#define _NSIG_BPW __BITS_PER_LONG +#define _NSIG_WORDS (_KERNEL__NSIG / _NSIG_BPW) +#define SIGHUP 1 +#define SIGINT 2 +#define SIGQUIT 3 +#define SIGILL 4 +#define SIGTRAP 5 +#define SIGABRT 6 +#define SIGIOT 6 +#define SIGBUS 7 +#define SIGFPE 8 +#define SIGKILL 9 +#define SIGUSR1 10 +#define SIGSEGV 11 +#define SIGUSR2 12 +#define SIGPIPE 13 +#define SIGALRM 14 +#define SIGTERM 15 +#define SIGSTKFLT 16 +#define SIGCHLD 17 +#define SIGCONT 18 +#define SIGSTOP 19 +#define SIGTSTP 20 +#define SIGTTIN 21 +#define SIGTTOU 22 +#define SIGURG 23 +#define SIGXCPU 24 +#define SIGXFSZ 25 +#define SIGVTALRM 26 +#define SIGPROF 27 +#define SIGWINCH 28 +#define SIGIO 29 +#define SIGPOLL SIGIO +#define SIGPWR 30 +#define SIGSYS 31 +#define SIGUNUSED 31 +#define __SIGRTMIN 32 +#ifndef __SIGRTMAX +#define __SIGRTMAX _KERNEL__NSIG +#endif +#define SA_NOCLDSTOP 0x00000001 +#define SA_NOCLDWAIT 0x00000002 +#define SA_SIGINFO 0x00000004 +#define SA_ONSTACK 0x08000000 +#define SA_RESTART 0x10000000 +#define SA_NODEFER 0x40000000 +#define SA_RESETHAND 0x80000000 +#define SA_NOMASK SA_NODEFER +#define SA_ONESHOT SA_RESETHAND +#if !defined MINSIGSTKSZ || !defined SIGSTKSZ +#define MINSIGSTKSZ 2048 +#define SIGSTKSZ 8192 +#endif +#ifndef __ASSEMBLY__ +typedef struct { + unsigned long sig[_NSIG_WORDS]; +} sigset_t; +typedef unsigned long old_sigset_t; +#include +#ifdef SA_RESTORER +#define __ARCH_HAS_SA_RESTORER +#endif +#ifndef __KERNEL__ +struct sigaction { + __sighandler_t sa_handler; + unsigned long sa_flags; +#ifdef SA_RESTORER + __sigrestore_t sa_restorer; +#endif + sigset_t sa_mask; +}; +#endif +typedef struct sigaltstack { + void __user *ss_sp; + int ss_flags; + size_t ss_size; +} stack_t; +#endif +#endif diff --git a/linux-5.10/prebuilts/usr/include/asm-generic/socket.h b/linux-5.10/prebuilts/usr/include/asm-generic/socket.h new file mode 100644 index 0000000..41abdc3 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/asm-generic/socket.h @@ -0,0 +1,103 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef __ASM_GENERIC_SOCKET_H +#define __ASM_GENERIC_SOCKET_H +#include +#include +#define SOL_SOCKET 1 +#define SO_DEBUG 1 +#define SO_REUSEADDR 2 +#define SO_TYPE 3 +#define SO_ERROR 4 +#define SO_DONTROUTE 5 +#define SO_BROADCAST 6 +#define SO_SNDBUF 7 +#define SO_RCVBUF 8 +#define SO_SNDBUFFORCE 32 +#define SO_RCVBUFFORCE 33 +#define SO_KEEPALIVE 9 +#define SO_OOBINLINE 10 +#define SO_NO_CHECK 11 +#define SO_PRIORITY 12 +#define SO_LINGER 13 +#define SO_BSDCOMPAT 14 +#define SO_REUSEPORT 15 +#ifndef SO_PASSCRED +#define SO_PASSCRED 16 +#define SO_PEERCRED 17 +#define SO_RCVLOWAT 18 +#define SO_SNDLOWAT 19 +#define SO_RCVTIMEO_OLD 20 +#define SO_SNDTIMEO_OLD 21 +#endif +#define SO_SECURITY_AUTHENTICATION 22 +#define SO_SECURITY_ENCRYPTION_TRANSPORT 23 +#define SO_SECURITY_ENCRYPTION_NETWORK 24 +#define SO_BINDTODEVICE 25 +#define SO_ATTACH_FILTER 26 +#define SO_DETACH_FILTER 27 +#define SO_GET_FILTER SO_ATTACH_FILTER +#define SO_PEERNAME 28 +#define SO_ACCEPTCONN 30 +#define SO_PEERSEC 31 +#define SO_PASSSEC 34 +#define SO_MARK 36 +#define SO_PROTOCOL 38 +#define SO_DOMAIN 39 +#define SO_RXQ_OVFL 40 +#define SO_WIFI_STATUS 41 +#define SCM_WIFI_STATUS SO_WIFI_STATUS +#define SO_PEEK_OFF 42 +#define SO_NOFCS 43 +#define SO_LOCK_FILTER 44 +#define SO_SELECT_ERR_QUEUE 45 +#define SO_BUSY_POLL 46 +#define SO_MAX_PACING_RATE 47 +#define SO_BPF_EXTENSIONS 48 +#define SO_INCOMING_CPU 49 +#define SO_ATTACH_BPF 50 +#define SO_DETACH_BPF SO_DETACH_FILTER +#define SO_ATTACH_REUSEPORT_CBPF 51 +#define SO_ATTACH_REUSEPORT_EBPF 52 +#define SO_CNX_ADVICE 53 +#define SCM_TIMESTAMPING_OPT_STATS 54 +#define SO_MEMINFO 55 +#define SO_INCOMING_NAPI_ID 56 +#define SO_COOKIE 57 +#define SCM_TIMESTAMPING_PKTINFO 58 +#define SO_PEERGROUPS 59 +#define SO_ZEROCOPY 60 +#define SO_TXTIME 61 +#define SCM_TXTIME SO_TXTIME +#define SO_BINDTOIFINDEX 62 +#define SO_TIMESTAMP_OLD 29 +#define SO_TIMESTAMPNS_OLD 35 +#define SO_TIMESTAMPING_OLD 37 +#define SO_TIMESTAMP_NEW 63 +#define SO_TIMESTAMPNS_NEW 64 +#define SO_TIMESTAMPING_NEW 65 +#define SO_RCVTIMEO_NEW 66 +#define SO_SNDTIMEO_NEW 67 +#define SO_DETACH_REUSEPORT_BPF 68 +#if !defined(__KERNEL__) +#if __BITS_PER_LONG == 64 || (defined(__x86_64__) && defined(__ILP32__)) +#define SO_TIMESTAMP SO_TIMESTAMP_OLD +#define SO_TIMESTAMPNS SO_TIMESTAMPNS_OLD +#define SO_TIMESTAMPING SO_TIMESTAMPING_OLD +#define SO_RCVTIMEO SO_RCVTIMEO_OLD +#define SO_SNDTIMEO SO_SNDTIMEO_OLD +#else +#define SO_TIMESTAMP (sizeof(time_t) == sizeof(__kernel_long_t) ? SO_TIMESTAMP_OLD : SO_TIMESTAMP_NEW) +#define SO_TIMESTAMPNS (sizeof(time_t) == sizeof(__kernel_long_t) ? SO_TIMESTAMPNS_OLD : SO_TIMESTAMPNS_NEW) +#define SO_TIMESTAMPING (sizeof(time_t) == sizeof(__kernel_long_t) ? SO_TIMESTAMPING_OLD : SO_TIMESTAMPING_NEW) +#define SO_RCVTIMEO (sizeof(time_t) == sizeof(__kernel_long_t) ? SO_RCVTIMEO_OLD : SO_RCVTIMEO_NEW) +#define SO_SNDTIMEO (sizeof(time_t) == sizeof(__kernel_long_t) ? SO_SNDTIMEO_OLD : SO_SNDTIMEO_NEW) +#endif +#define SCM_TIMESTAMP SO_TIMESTAMP +#define SCM_TIMESTAMPNS SO_TIMESTAMPNS +#define SCM_TIMESTAMPING SO_TIMESTAMPING +#endif +#endif diff --git a/linux-5.10/prebuilts/usr/include/asm-generic/sockios.h b/linux-5.10/prebuilts/usr/include/asm-generic/sockios.h new file mode 100644 index 0000000..b0b968a --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/asm-generic/sockios.h @@ -0,0 +1,15 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef __ASM_GENERIC_SOCKIOS_H +#define __ASM_GENERIC_SOCKIOS_H +#define FIOSETOWN 0x8901 +#define SIOCSPGRP 0x8902 +#define FIOGETOWN 0x8903 +#define SIOCGPGRP 0x8904 +#define SIOCATMARK 0x8905 +#define SIOCGSTAMP_OLD 0x8906 +#define SIOCGSTAMPNS_OLD 0x8907 +#endif diff --git a/linux-5.10/prebuilts/usr/include/asm-generic/stat.h b/linux-5.10/prebuilts/usr/include/asm-generic/stat.h new file mode 100644 index 0000000..f8accc3 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/asm-generic/stat.h @@ -0,0 +1,56 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef __ASM_GENERIC_STAT_H +#define __ASM_GENERIC_STAT_H +#include +#define STAT_HAVE_NSEC 1 +struct stat { + unsigned long st_dev; + unsigned long st_ino; + unsigned int st_mode; + unsigned int st_nlink; + unsigned int st_uid; + unsigned int st_gid; + unsigned long st_rdev; + unsigned long __pad1; + long st_size; + int st_blksize; + int __pad2; + long st_blocks; + long st_atime; + unsigned long st_atime_nsec; + long st_mtime; + unsigned long st_mtime_nsec; + long st_ctime; + unsigned long st_ctime_nsec; + unsigned int __unused4; + unsigned int __unused5; +}; +#if __BITS_PER_LONG != 64 || defined(__ARCH_WANT_STAT64) +struct stat64 { + unsigned long long st_dev; + unsigned long long st_ino; + unsigned int st_mode; + unsigned int st_nlink; + unsigned int st_uid; + unsigned int st_gid; + unsigned long long st_rdev; + unsigned long long __pad1; + long long st_size; + int st_blksize; + int __pad2; + long long st_blocks; + int st_atime; + unsigned int st_atime_nsec; + int st_mtime; + unsigned int st_mtime_nsec; + int st_ctime; + unsigned int st_ctime_nsec; + unsigned int __unused4; + unsigned int __unused5; +}; +#endif +#endif diff --git a/linux-5.10/prebuilts/usr/include/asm-generic/statfs.h b/linux-5.10/prebuilts/usr/include/asm-generic/statfs.h new file mode 100644 index 0000000..0a095cd --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/asm-generic/statfs.h @@ -0,0 +1,64 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI_GENERIC_STATFS_H +#define _UAPI_GENERIC_STATFS_H +#include +#ifndef __statfs_word +#if __BITS_PER_LONG == 64 +#define __statfs_word __kernel_long_t +#else +#define __statfs_word __u32 +#endif +#endif +struct statfs { + __statfs_word f_type; + __statfs_word f_bsize; + __statfs_word f_blocks; + __statfs_word f_bfree; + __statfs_word f_bavail; + __statfs_word f_files; + __statfs_word f_ffree; + __kernel_fsid_t f_fsid; + __statfs_word f_namelen; + __statfs_word f_frsize; + __statfs_word f_flags; + __statfs_word f_spare[4]; +}; +#ifndef ARCH_PACK_STATFS64 +#define ARCH_PACK_STATFS64 +#endif +struct statfs64 { + __statfs_word f_type; + __statfs_word f_bsize; + __u64 f_blocks; + __u64 f_bfree; + __u64 f_bavail; + __u64 f_files; + __u64 f_ffree; + __kernel_fsid_t f_fsid; + __statfs_word f_namelen; + __statfs_word f_frsize; + __statfs_word f_flags; + __statfs_word f_spare[4]; +} ARCH_PACK_STATFS64; +#ifndef ARCH_PACK_COMPAT_STATFS64 +#define ARCH_PACK_COMPAT_STATFS64 +#endif +struct compat_statfs64 { + __u32 f_type; + __u32 f_bsize; + __u64 f_blocks; + __u64 f_bfree; + __u64 f_bavail; + __u64 f_files; + __u64 f_ffree; + __kernel_fsid_t f_fsid; + __u32 f_namelen; + __u32 f_frsize; + __u32 f_flags; + __u32 f_spare[4]; +} ARCH_PACK_COMPAT_STATFS64; +#endif diff --git a/linux-5.10/prebuilts/usr/include/asm-generic/swab.h b/linux-5.10/prebuilts/usr/include/asm-generic/swab.h new file mode 100644 index 0000000..69a9004 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/asm-generic/swab.h @@ -0,0 +1,14 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _ASM_GENERIC_SWAB_H +#define _ASM_GENERIC_SWAB_H +#include +#if __BITS_PER_LONG == 32 +#if defined(__GNUC__) && !defined(__STRICT_ANSI__) || defined(__KERNEL__) +#define __SWAB_64_THRU_32__ +#endif +#endif +#endif diff --git a/linux-5.10/prebuilts/usr/include/asm-generic/termbits.h b/linux-5.10/prebuilts/usr/include/asm-generic/termbits.h new file mode 100644 index 0000000..216c4e5 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/asm-generic/termbits.h @@ -0,0 +1,181 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef __ASM_GENERIC_TERMBITS_H +#define __ASM_GENERIC_TERMBITS_H +#include +typedef unsigned char cc_t; +typedef unsigned int speed_t; +typedef unsigned int tcflag_t; +#define NCCS 19 +struct termios { + tcflag_t c_iflag; + tcflag_t c_oflag; + tcflag_t c_cflag; + tcflag_t c_lflag; + cc_t c_line; + cc_t c_cc[NCCS]; +}; +struct termios2 { + tcflag_t c_iflag; + tcflag_t c_oflag; + tcflag_t c_cflag; + tcflag_t c_lflag; + cc_t c_line; + cc_t c_cc[NCCS]; + speed_t c_ispeed; + speed_t c_ospeed; +}; +struct ktermios { + tcflag_t c_iflag; + tcflag_t c_oflag; + tcflag_t c_cflag; + tcflag_t c_lflag; + cc_t c_line; + cc_t c_cc[NCCS]; + speed_t c_ispeed; + speed_t c_ospeed; +}; +#define VINTR 0 +#define VQUIT 1 +#define VERASE 2 +#define VKILL 3 +#define VEOF 4 +#define VTIME 5 +#define VMIN 6 +#define VSWTC 7 +#define VSTART 8 +#define VSTOP 9 +#define VSUSP 10 +#define VEOL 11 +#define VREPRINT 12 +#define VDISCARD 13 +#define VWERASE 14 +#define VLNEXT 15 +#define VEOL2 16 +#define IGNBRK 0000001 +#define BRKINT 0000002 +#define IGNPAR 0000004 +#define PARMRK 0000010 +#define INPCK 0000020 +#define ISTRIP 0000040 +#define INLCR 0000100 +#define IGNCR 0000200 +#define ICRNL 0000400 +#define IUCLC 0001000 +#define IXON 0002000 +#define IXANY 0004000 +#define IXOFF 0010000 +#define IMAXBEL 0020000 +#define IUTF8 0040000 +#define OPOST 0000001 +#define OLCUC 0000002 +#define ONLCR 0000004 +#define OCRNL 0000010 +#define ONOCR 0000020 +#define ONLRET 0000040 +#define OFILL 0000100 +#define OFDEL 0000200 +#define NLDLY 0000400 +#define NL0 0000000 +#define NL1 0000400 +#define CRDLY 0003000 +#define CR0 0000000 +#define CR1 0001000 +#define CR2 0002000 +#define CR3 0003000 +#define TABDLY 0014000 +#define TAB0 0000000 +#define TAB1 0004000 +#define TAB2 0010000 +#define TAB3 0014000 +#define XTABS 0014000 +#define BSDLY 0020000 +#define BS0 0000000 +#define BS1 0020000 +#define VTDLY 0040000 +#define VT0 0000000 +#define VT1 0040000 +#define FFDLY 0100000 +#define FF0 0000000 +#define FF1 0100000 +#define CBAUD 0010017 +#define B0 0000000 +#define B50 0000001 +#define B75 0000002 +#define B110 0000003 +#define B134 0000004 +#define B150 0000005 +#define B200 0000006 +#define B300 0000007 +#define B600 0000010 +#define B1200 0000011 +#define B1800 0000012 +#define B2400 0000013 +#define B4800 0000014 +#define B9600 0000015 +#define B19200 0000016 +#define B38400 0000017 +#define EXTA B19200 +#define EXTB B38400 +#define CSIZE 0000060 +#define CS5 0000000 +#define CS6 0000020 +#define CS7 0000040 +#define CS8 0000060 +#define CSTOPB 0000100 +#define CREAD 0000200 +#define PARENB 0000400 +#define PARODD 0001000 +#define HUPCL 0002000 +#define CLOCAL 0004000 +#define CBAUDEX 0010000 +#define BOTHER 0010000 +#define B57600 0010001 +#define B115200 0010002 +#define B230400 0010003 +#define B460800 0010004 +#define B500000 0010005 +#define B576000 0010006 +#define B921600 0010007 +#define B1000000 0010010 +#define B1152000 0010011 +#define B1500000 0010012 +#define B2000000 0010013 +#define B2500000 0010014 +#define B3000000 0010015 +#define B3500000 0010016 +#define B4000000 0010017 +#define CIBAUD 002003600000 +#define CMSPAR 010000000000 +#define CRTSCTS 020000000000 +#define IBSHIFT 16 +#define ISIG 0000001 +#define ICANON 0000002 +#define XCASE 0000004 +#define ECHO 0000010 +#define ECHOE 0000020 +#define ECHOK 0000040 +#define ECHONL 0000100 +#define NOFLSH 0000200 +#define TOSTOP 0000400 +#define ECHOCTL 0001000 +#define ECHOPRT 0002000 +#define ECHOKE 0004000 +#define FLUSHO 0010000 +#define PENDIN 0040000 +#define IEXTEN 0100000 +#define EXTPROC 0200000 +#define TCOOFF 0 +#define TCOON 1 +#define TCIOFF 2 +#define TCION 3 +#define TCIFLUSH 0 +#define TCOFLUSH 1 +#define TCIOFLUSH 2 +#define TCSANOW 0 +#define TCSADRAIN 1 +#define TCSAFLUSH 2 +#endif diff --git a/linux-5.10/prebuilts/usr/include/asm-generic/termios.h b/linux-5.10/prebuilts/usr/include/asm-generic/termios.h new file mode 100644 index 0000000..e98ad87 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/asm-generic/termios.h @@ -0,0 +1,39 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI_ASM_GENERIC_TERMIOS_H +#define _UAPI_ASM_GENERIC_TERMIOS_H +#include +#include +struct winsize { + unsigned short ws_row; + unsigned short ws_col; + unsigned short ws_xpixel; + unsigned short ws_ypixel; +}; +#define NCC 8 +struct termio { + unsigned short c_iflag; + unsigned short c_oflag; + unsigned short c_cflag; + unsigned short c_lflag; + unsigned char c_line; + unsigned char c_cc[NCC]; +}; +#define TIOCM_LE 0x001 +#define TIOCM_DTR 0x002 +#define TIOCM_RTS 0x004 +#define TIOCM_ST 0x008 +#define TIOCM_SR 0x010 +#define TIOCM_CTS 0x020 +#define TIOCM_CAR 0x040 +#define TIOCM_RNG 0x080 +#define TIOCM_DSR 0x100 +#define TIOCM_CD TIOCM_CAR +#define TIOCM_RI TIOCM_RNG +#define TIOCM_OUT1 0x2000 +#define TIOCM_OUT2 0x4000 +#define TIOCM_LOOP 0x8000 +#endif diff --git a/linux-5.10/prebuilts/usr/include/asm-generic/types.h b/linux-5.10/prebuilts/usr/include/asm-generic/types.h new file mode 100644 index 0000000..3d2f299 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/asm-generic/types.h @@ -0,0 +1,9 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _ASM_GENERIC_TYPES_H +#define _ASM_GENERIC_TYPES_H +#include +#endif diff --git a/linux-5.10/prebuilts/usr/include/asm-generic/ucontext.h b/linux-5.10/prebuilts/usr/include/asm-generic/ucontext.h new file mode 100644 index 0000000..537a301 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/asm-generic/ucontext.h @@ -0,0 +1,15 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef __ASM_GENERIC_UCONTEXT_H +#define __ASM_GENERIC_UCONTEXT_H +struct ucontext { + unsigned long uc_flags; + struct ucontext *uc_link; + stack_t uc_stack; + struct sigcontext uc_mcontext; + sigset_t uc_sigmask; +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/asm-generic/unistd.h b/linux-5.10/prebuilts/usr/include/asm-generic/unistd.h new file mode 100644 index 0000000..0c45eb3 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/asm-generic/unistd.h @@ -0,0 +1,764 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#include +#ifndef __SYSCALL +#define __SYSCALL(x, y) +#endif +#if __BITS_PER_LONG == 32 || defined(__SYSCALL_COMPAT) +#define __SC_3264(_nr, _32, _64) __SYSCALL(_nr, _32) +#else +#define __SC_3264(_nr, _32, _64) __SYSCALL(_nr, _64) +#endif +#ifdef __SYSCALL_COMPAT +#define __SC_COMP(_nr, _sys, _comp) __SYSCALL(_nr, _comp) +#define __SC_COMP_3264(_nr, _32, _64, _comp) __SYSCALL(_nr, _comp) +#else +#define __SC_COMP(_nr, _sys, _comp) __SYSCALL(_nr, _sys) +#define __SC_COMP_3264(_nr, _32, _64, _comp) __SC_3264(_nr, _32, _64) +#endif +#define __NR_io_setup 0 +__SC_COMP(__NR_io_setup, sys_io_setup, compat_sys_io_setup) +#define __NR_io_destroy 1 +__SYSCALL(__NR_io_destroy, sys_io_destroy) +#define __NR_io_submit 2 +__SC_COMP(__NR_io_submit, sys_io_submit, compat_sys_io_submit) +#define __NR_io_cancel 3 +__SYSCALL(__NR_io_cancel, sys_io_cancel) +#if defined(__ARCH_WANT_TIME32_SYSCALLS) || __BITS_PER_LONG != 32 +#define __NR_io_getevents 4 +__SC_3264(__NR_io_getevents, sys_io_getevents_time32, sys_io_getevents) +#endif +#define __NR_setxattr 5 +__SYSCALL(__NR_setxattr, sys_setxattr) +#define __NR_lsetxattr 6 +__SYSCALL(__NR_lsetxattr, sys_lsetxattr) +#define __NR_fsetxattr 7 +__SYSCALL(__NR_fsetxattr, sys_fsetxattr) +#define __NR_getxattr 8 +__SYSCALL(__NR_getxattr, sys_getxattr) +#define __NR_lgetxattr 9 +__SYSCALL(__NR_lgetxattr, sys_lgetxattr) +#define __NR_fgetxattr 10 +__SYSCALL(__NR_fgetxattr, sys_fgetxattr) +#define __NR_listxattr 11 +__SYSCALL(__NR_listxattr, sys_listxattr) +#define __NR_llistxattr 12 +__SYSCALL(__NR_llistxattr, sys_llistxattr) +#define __NR_flistxattr 13 +__SYSCALL(__NR_flistxattr, sys_flistxattr) +#define __NR_removexattr 14 +__SYSCALL(__NR_removexattr, sys_removexattr) +#define __NR_lremovexattr 15 +__SYSCALL(__NR_lremovexattr, sys_lremovexattr) +#define __NR_fremovexattr 16 +__SYSCALL(__NR_fremovexattr, sys_fremovexattr) +#define __NR_getcwd 17 +__SYSCALL(__NR_getcwd, sys_getcwd) +#define __NR_lookup_dcookie 18 +__SC_COMP(__NR_lookup_dcookie, sys_lookup_dcookie, compat_sys_lookup_dcookie) +#define __NR_eventfd2 19 +__SYSCALL(__NR_eventfd2, sys_eventfd2) +#define __NR_epoll_create1 20 +__SYSCALL(__NR_epoll_create1, sys_epoll_create1) +#define __NR_epoll_ctl 21 +__SYSCALL(__NR_epoll_ctl, sys_epoll_ctl) +#define __NR_epoll_pwait 22 +__SC_COMP(__NR_epoll_pwait, sys_epoll_pwait, compat_sys_epoll_pwait) +#define __NR_dup 23 +__SYSCALL(__NR_dup, sys_dup) +#define __NR_dup3 24 +__SYSCALL(__NR_dup3, sys_dup3) +#define __NR3264_fcntl 25 +__SC_COMP_3264(__NR3264_fcntl, sys_fcntl64, sys_fcntl, compat_sys_fcntl64) +#define __NR_inotify_init1 26 +__SYSCALL(__NR_inotify_init1, sys_inotify_init1) +#define __NR_inotify_add_watch 27 +__SYSCALL(__NR_inotify_add_watch, sys_inotify_add_watch) +#define __NR_inotify_rm_watch 28 +__SYSCALL(__NR_inotify_rm_watch, sys_inotify_rm_watch) +#define __NR_ioctl 29 +__SC_COMP(__NR_ioctl, sys_ioctl, compat_sys_ioctl) +#define __NR_ioprio_set 30 +__SYSCALL(__NR_ioprio_set, sys_ioprio_set) +#define __NR_ioprio_get 31 +__SYSCALL(__NR_ioprio_get, sys_ioprio_get) +#define __NR_flock 32 +__SYSCALL(__NR_flock, sys_flock) +#define __NR_mknodat 33 +__SYSCALL(__NR_mknodat, sys_mknodat) +#define __NR_mkdirat 34 +__SYSCALL(__NR_mkdirat, sys_mkdirat) +#define __NR_unlinkat 35 +__SYSCALL(__NR_unlinkat, sys_unlinkat) +#define __NR_symlinkat 36 +__SYSCALL(__NR_symlinkat, sys_symlinkat) +#define __NR_linkat 37 +__SYSCALL(__NR_linkat, sys_linkat) +#ifdef __ARCH_WANT_RENAMEAT +#define __NR_renameat 38 +__SYSCALL(__NR_renameat, sys_renameat) +#endif +#define __NR_umount2 39 +__SYSCALL(__NR_umount2, sys_umount) +#define __NR_mount 40 +__SYSCALL(__NR_mount, sys_mount) +#define __NR_pivot_root 41 +__SYSCALL(__NR_pivot_root, sys_pivot_root) +#define __NR_nfsservctl 42 +__SYSCALL(__NR_nfsservctl, sys_ni_syscall) +#define __NR3264_statfs 43 +__SC_COMP_3264(__NR3264_statfs, sys_statfs64, sys_statfs, \ + compat_sys_statfs64) +#define __NR3264_fstatfs 44 +__SC_COMP_3264(__NR3264_fstatfs, sys_fstatfs64, sys_fstatfs, \ + compat_sys_fstatfs64) +#define __NR3264_truncate 45 +__SC_COMP_3264(__NR3264_truncate, sys_truncate64, sys_truncate, \ + compat_sys_truncate64) +#define __NR3264_ftruncate 46 +__SC_COMP_3264(__NR3264_ftruncate, sys_ftruncate64, sys_ftruncate, \ + compat_sys_ftruncate64) +#define __NR_fallocate 47 +__SC_COMP(__NR_fallocate, sys_fallocate, compat_sys_fallocate) +#define __NR_faccessat 48 +__SYSCALL(__NR_faccessat, sys_faccessat) +#define __NR_chdir 49 +__SYSCALL(__NR_chdir, sys_chdir) +#define __NR_fchdir 50 +__SYSCALL(__NR_fchdir, sys_fchdir) +#define __NR_chroot 51 +__SYSCALL(__NR_chroot, sys_chroot) +#define __NR_fchmod 52 +__SYSCALL(__NR_fchmod, sys_fchmod) +#define __NR_fchmodat 53 +__SYSCALL(__NR_fchmodat, sys_fchmodat) +#define __NR_fchownat 54 +__SYSCALL(__NR_fchownat, sys_fchownat) +#define __NR_fchown 55 +__SYSCALL(__NR_fchown, sys_fchown) +#define __NR_openat 56 +__SYSCALL(__NR_openat, sys_openat) +#define __NR_close 57 +__SYSCALL(__NR_close, sys_close) +#define __NR_vhangup 58 +__SYSCALL(__NR_vhangup, sys_vhangup) +#define __NR_pipe2 59 +__SYSCALL(__NR_pipe2, sys_pipe2) +#define __NR_quotactl 60 +__SYSCALL(__NR_quotactl, sys_quotactl) +#define __NR_getdents64 61 +__SYSCALL(__NR_getdents64, sys_getdents64) +#define __NR3264_lseek 62 +__SC_3264(__NR3264_lseek, sys_llseek, sys_lseek) +#define __NR_read 63 +__SYSCALL(__NR_read, sys_read) +#define __NR_write 64 +__SYSCALL(__NR_write, sys_write) +#define __NR_readv 65 +__SC_COMP(__NR_readv, sys_readv, sys_readv) +#define __NR_writev 66 +__SC_COMP(__NR_writev, sys_writev, sys_writev) +#define __NR_pread64 67 +__SC_COMP(__NR_pread64, sys_pread64, compat_sys_pread64) +#define __NR_pwrite64 68 +__SC_COMP(__NR_pwrite64, sys_pwrite64, compat_sys_pwrite64) +#define __NR_preadv 69 +__SC_COMP(__NR_preadv, sys_preadv, compat_sys_preadv) +#define __NR_pwritev 70 +__SC_COMP(__NR_pwritev, sys_pwritev, compat_sys_pwritev) +#define __NR3264_sendfile 71 +__SYSCALL(__NR3264_sendfile, sys_sendfile64) +#if defined(__ARCH_WANT_TIME32_SYSCALLS) || __BITS_PER_LONG != 32 +#define __NR_pselect6 72 +__SC_COMP_3264(__NR_pselect6, sys_pselect6_time32, sys_pselect6, compat_sys_pselect6_time32) +#define __NR_ppoll 73 +__SC_COMP_3264(__NR_ppoll, sys_ppoll_time32, sys_ppoll, compat_sys_ppoll_time32) +#endif +#define __NR_signalfd4 74 +__SC_COMP(__NR_signalfd4, sys_signalfd4, compat_sys_signalfd4) +#define __NR_vmsplice 75 +__SYSCALL(__NR_vmsplice, sys_vmsplice) +#define __NR_splice 76 +__SYSCALL(__NR_splice, sys_splice) +#define __NR_tee 77 +__SYSCALL(__NR_tee, sys_tee) +#define __NR_readlinkat 78 +__SYSCALL(__NR_readlinkat, sys_readlinkat) +#if defined(__ARCH_WANT_NEW_STAT) || defined(__ARCH_WANT_STAT64) +#define __NR3264_fstatat 79 +__SC_3264(__NR3264_fstatat, sys_fstatat64, sys_newfstatat) +#define __NR3264_fstat 80 +__SC_3264(__NR3264_fstat, sys_fstat64, sys_newfstat) +#endif +#define __NR_sync 81 +__SYSCALL(__NR_sync, sys_sync) +#define __NR_fsync 82 +__SYSCALL(__NR_fsync, sys_fsync) +#define __NR_fdatasync 83 +__SYSCALL(__NR_fdatasync, sys_fdatasync) +#ifdef __ARCH_WANT_SYNC_FILE_RANGE2 +#define __NR_sync_file_range2 84 +__SC_COMP(__NR_sync_file_range2, sys_sync_file_range2, \ + compat_sys_sync_file_range2) +#else +#define __NR_sync_file_range 84 +__SC_COMP(__NR_sync_file_range, sys_sync_file_range, \ + compat_sys_sync_file_range) +#endif +#define __NR_timerfd_create 85 +__SYSCALL(__NR_timerfd_create, sys_timerfd_create) +#if defined(__ARCH_WANT_TIME32_SYSCALLS) || __BITS_PER_LONG != 32 +#define __NR_timerfd_settime 86 +__SC_3264(__NR_timerfd_settime, sys_timerfd_settime32, \ + sys_timerfd_settime) +#define __NR_timerfd_gettime 87 +__SC_3264(__NR_timerfd_gettime, sys_timerfd_gettime32, \ + sys_timerfd_gettime) +#endif +#if defined(__ARCH_WANT_TIME32_SYSCALLS) || __BITS_PER_LONG != 32 +#define __NR_utimensat 88 +__SC_3264(__NR_utimensat, sys_utimensat_time32, sys_utimensat) +#endif +#define __NR_acct 89 +__SYSCALL(__NR_acct, sys_acct) +#define __NR_capget 90 +__SYSCALL(__NR_capget, sys_capget) +#define __NR_capset 91 +__SYSCALL(__NR_capset, sys_capset) +#define __NR_personality 92 +__SYSCALL(__NR_personality, sys_personality) +#define __NR_exit 93 +__SYSCALL(__NR_exit, sys_exit) +#define __NR_exit_group 94 +__SYSCALL(__NR_exit_group, sys_exit_group) +#define __NR_waitid 95 +__SC_COMP(__NR_waitid, sys_waitid, compat_sys_waitid) +#define __NR_set_tid_address 96 +__SYSCALL(__NR_set_tid_address, sys_set_tid_address) +#define __NR_unshare 97 +__SYSCALL(__NR_unshare, sys_unshare) +#if defined(__ARCH_WANT_TIME32_SYSCALLS) || __BITS_PER_LONG != 32 +#define __NR_futex 98 +__SC_3264(__NR_futex, sys_futex_time32, sys_futex) +#endif +#define __NR_set_robust_list 99 +__SC_COMP(__NR_set_robust_list, sys_set_robust_list, \ + compat_sys_set_robust_list) +#define __NR_get_robust_list 100 +__SC_COMP(__NR_get_robust_list, sys_get_robust_list, \ + compat_sys_get_robust_list) +#if defined(__ARCH_WANT_TIME32_SYSCALLS) || __BITS_PER_LONG != 32 +#define __NR_nanosleep 101 +__SC_3264(__NR_nanosleep, sys_nanosleep_time32, sys_nanosleep) +#endif +#define __NR_getitimer 102 +__SC_COMP(__NR_getitimer, sys_getitimer, compat_sys_getitimer) +#define __NR_setitimer 103 +__SC_COMP(__NR_setitimer, sys_setitimer, compat_sys_setitimer) +#define __NR_kexec_load 104 +__SC_COMP(__NR_kexec_load, sys_kexec_load, compat_sys_kexec_load) +#define __NR_init_module 105 +__SYSCALL(__NR_init_module, sys_init_module) +#define __NR_delete_module 106 +__SYSCALL(__NR_delete_module, sys_delete_module) +#define __NR_timer_create 107 +__SC_COMP(__NR_timer_create, sys_timer_create, compat_sys_timer_create) +#if defined(__ARCH_WANT_TIME32_SYSCALLS) || __BITS_PER_LONG != 32 +#define __NR_timer_gettime 108 +__SC_3264(__NR_timer_gettime, sys_timer_gettime32, sys_timer_gettime) +#endif +#define __NR_timer_getoverrun 109 +__SYSCALL(__NR_timer_getoverrun, sys_timer_getoverrun) +#if defined(__ARCH_WANT_TIME32_SYSCALLS) || __BITS_PER_LONG != 32 +#define __NR_timer_settime 110 +__SC_3264(__NR_timer_settime, sys_timer_settime32, sys_timer_settime) +#endif +#define __NR_timer_delete 111 +__SYSCALL(__NR_timer_delete, sys_timer_delete) +#if defined(__ARCH_WANT_TIME32_SYSCALLS) || __BITS_PER_LONG != 32 +#define __NR_clock_settime 112 +__SC_3264(__NR_clock_settime, sys_clock_settime32, sys_clock_settime) +#define __NR_clock_gettime 113 +__SC_3264(__NR_clock_gettime, sys_clock_gettime32, sys_clock_gettime) +#define __NR_clock_getres 114 +__SC_3264(__NR_clock_getres, sys_clock_getres_time32, sys_clock_getres) +#define __NR_clock_nanosleep 115 +__SC_3264(__NR_clock_nanosleep, sys_clock_nanosleep_time32, \ + sys_clock_nanosleep) +#endif +#define __NR_syslog 116 +__SYSCALL(__NR_syslog, sys_syslog) +#define __NR_ptrace 117 +__SYSCALL(__NR_ptrace, sys_ptrace) +#define __NR_sched_setparam 118 +__SYSCALL(__NR_sched_setparam, sys_sched_setparam) +#define __NR_sched_setscheduler 119 +__SYSCALL(__NR_sched_setscheduler, sys_sched_setscheduler) +#define __NR_sched_getscheduler 120 +__SYSCALL(__NR_sched_getscheduler, sys_sched_getscheduler) +#define __NR_sched_getparam 121 +__SYSCALL(__NR_sched_getparam, sys_sched_getparam) +#define __NR_sched_setaffinity 122 +__SC_COMP(__NR_sched_setaffinity, sys_sched_setaffinity, \ + compat_sys_sched_setaffinity) +#define __NR_sched_getaffinity 123 +__SC_COMP(__NR_sched_getaffinity, sys_sched_getaffinity, \ + compat_sys_sched_getaffinity) +#define __NR_sched_yield 124 +__SYSCALL(__NR_sched_yield, sys_sched_yield) +#define __NR_sched_get_priority_max 125 +__SYSCALL(__NR_sched_get_priority_max, sys_sched_get_priority_max) +#define __NR_sched_get_priority_min 126 +__SYSCALL(__NR_sched_get_priority_min, sys_sched_get_priority_min) +#if defined(__ARCH_WANT_TIME32_SYSCALLS) || __BITS_PER_LONG != 32 +#define __NR_sched_rr_get_interval 127 +__SC_3264(__NR_sched_rr_get_interval, sys_sched_rr_get_interval_time32, \ + sys_sched_rr_get_interval) +#endif +#define __NR_restart_syscall 128 +__SYSCALL(__NR_restart_syscall, sys_restart_syscall) +#define __NR_kill 129 +__SYSCALL(__NR_kill, sys_kill) +#define __NR_tkill 130 +__SYSCALL(__NR_tkill, sys_tkill) +#define __NR_tgkill 131 +__SYSCALL(__NR_tgkill, sys_tgkill) +#define __NR_sigaltstack 132 +__SC_COMP(__NR_sigaltstack, sys_sigaltstack, compat_sys_sigaltstack) +#define __NR_rt_sigsuspend 133 +__SC_COMP(__NR_rt_sigsuspend, sys_rt_sigsuspend, compat_sys_rt_sigsuspend) +#define __NR_rt_sigaction 134 +__SC_COMP(__NR_rt_sigaction, sys_rt_sigaction, compat_sys_rt_sigaction) +#define __NR_rt_sigprocmask 135 +__SC_COMP(__NR_rt_sigprocmask, sys_rt_sigprocmask, compat_sys_rt_sigprocmask) +#define __NR_rt_sigpending 136 +__SC_COMP(__NR_rt_sigpending, sys_rt_sigpending, compat_sys_rt_sigpending) +#if defined(__ARCH_WANT_TIME32_SYSCALLS) || __BITS_PER_LONG != 32 +#define __NR_rt_sigtimedwait 137 +__SC_COMP_3264(__NR_rt_sigtimedwait, sys_rt_sigtimedwait_time32, \ + sys_rt_sigtimedwait, compat_sys_rt_sigtimedwait_time32) +#endif +#define __NR_rt_sigqueueinfo 138 +__SC_COMP(__NR_rt_sigqueueinfo, sys_rt_sigqueueinfo, \ + compat_sys_rt_sigqueueinfo) +#define __NR_rt_sigreturn 139 +__SC_COMP(__NR_rt_sigreturn, sys_rt_sigreturn, compat_sys_rt_sigreturn) +#define __NR_setpriority 140 +__SYSCALL(__NR_setpriority, sys_setpriority) +#define __NR_getpriority 141 +__SYSCALL(__NR_getpriority, sys_getpriority) +#define __NR_reboot 142 +__SYSCALL(__NR_reboot, sys_reboot) +#define __NR_setregid 143 +__SYSCALL(__NR_setregid, sys_setregid) +#define __NR_setgid 144 +__SYSCALL(__NR_setgid, sys_setgid) +#define __NR_setreuid 145 +__SYSCALL(__NR_setreuid, sys_setreuid) +#define __NR_setuid 146 +__SYSCALL(__NR_setuid, sys_setuid) +#define __NR_setresuid 147 +__SYSCALL(__NR_setresuid, sys_setresuid) +#define __NR_getresuid 148 +__SYSCALL(__NR_getresuid, sys_getresuid) +#define __NR_setresgid 149 +__SYSCALL(__NR_setresgid, sys_setresgid) +#define __NR_getresgid 150 +__SYSCALL(__NR_getresgid, sys_getresgid) +#define __NR_setfsuid 151 +__SYSCALL(__NR_setfsuid, sys_setfsuid) +#define __NR_setfsgid 152 +__SYSCALL(__NR_setfsgid, sys_setfsgid) +#define __NR_times 153 +__SC_COMP(__NR_times, sys_times, compat_sys_times) +#define __NR_setpgid 154 +__SYSCALL(__NR_setpgid, sys_setpgid) +#define __NR_getpgid 155 +__SYSCALL(__NR_getpgid, sys_getpgid) +#define __NR_getsid 156 +__SYSCALL(__NR_getsid, sys_getsid) +#define __NR_setsid 157 +__SYSCALL(__NR_setsid, sys_setsid) +#define __NR_getgroups 158 +__SYSCALL(__NR_getgroups, sys_getgroups) +#define __NR_setgroups 159 +__SYSCALL(__NR_setgroups, sys_setgroups) +#define __NR_uname 160 +__SYSCALL(__NR_uname, sys_newuname) +#define __NR_sethostname 161 +__SYSCALL(__NR_sethostname, sys_sethostname) +#define __NR_setdomainname 162 +__SYSCALL(__NR_setdomainname, sys_setdomainname) +#ifdef __ARCH_WANT_SET_GET_RLIMIT +#define __NR_getrlimit 163 +__SC_COMP(__NR_getrlimit, sys_getrlimit, compat_sys_getrlimit) +#define __NR_setrlimit 164 +__SC_COMP(__NR_setrlimit, sys_setrlimit, compat_sys_setrlimit) +#endif +#define __NR_getrusage 165 +__SC_COMP(__NR_getrusage, sys_getrusage, compat_sys_getrusage) +#define __NR_umask 166 +__SYSCALL(__NR_umask, sys_umask) +#define __NR_prctl 167 +__SYSCALL(__NR_prctl, sys_prctl) +#define __NR_getcpu 168 +__SYSCALL(__NR_getcpu, sys_getcpu) +#if defined(__ARCH_WANT_TIME32_SYSCALLS) || __BITS_PER_LONG != 32 +#define __NR_gettimeofday 169 +__SC_COMP(__NR_gettimeofday, sys_gettimeofday, compat_sys_gettimeofday) +#define __NR_settimeofday 170 +__SC_COMP(__NR_settimeofday, sys_settimeofday, compat_sys_settimeofday) +#define __NR_adjtimex 171 +__SC_3264(__NR_adjtimex, sys_adjtimex_time32, sys_adjtimex) +#endif +#define __NR_getpid 172 +__SYSCALL(__NR_getpid, sys_getpid) +#define __NR_getppid 173 +__SYSCALL(__NR_getppid, sys_getppid) +#define __NR_getuid 174 +__SYSCALL(__NR_getuid, sys_getuid) +#define __NR_geteuid 175 +__SYSCALL(__NR_geteuid, sys_geteuid) +#define __NR_getgid 176 +__SYSCALL(__NR_getgid, sys_getgid) +#define __NR_getegid 177 +__SYSCALL(__NR_getegid, sys_getegid) +#define __NR_gettid 178 +__SYSCALL(__NR_gettid, sys_gettid) +#define __NR_sysinfo 179 +__SC_COMP(__NR_sysinfo, sys_sysinfo, compat_sys_sysinfo) +#define __NR_mq_open 180 +__SC_COMP(__NR_mq_open, sys_mq_open, compat_sys_mq_open) +#define __NR_mq_unlink 181 +__SYSCALL(__NR_mq_unlink, sys_mq_unlink) +#if defined(__ARCH_WANT_TIME32_SYSCALLS) || __BITS_PER_LONG != 32 +#define __NR_mq_timedsend 182 +__SC_3264(__NR_mq_timedsend, sys_mq_timedsend_time32, sys_mq_timedsend) +#define __NR_mq_timedreceive 183 +__SC_3264(__NR_mq_timedreceive, sys_mq_timedreceive_time32, \ + sys_mq_timedreceive) +#endif +#define __NR_mq_notify 184 +__SC_COMP(__NR_mq_notify, sys_mq_notify, compat_sys_mq_notify) +#define __NR_mq_getsetattr 185 +__SC_COMP(__NR_mq_getsetattr, sys_mq_getsetattr, compat_sys_mq_getsetattr) +#define __NR_msgget 186 +__SYSCALL(__NR_msgget, sys_msgget) +#define __NR_msgctl 187 +__SC_COMP(__NR_msgctl, sys_msgctl, compat_sys_msgctl) +#define __NR_msgrcv 188 +__SC_COMP(__NR_msgrcv, sys_msgrcv, compat_sys_msgrcv) +#define __NR_msgsnd 189 +__SC_COMP(__NR_msgsnd, sys_msgsnd, compat_sys_msgsnd) +#define __NR_semget 190 +__SYSCALL(__NR_semget, sys_semget) +#define __NR_semctl 191 +__SC_COMP(__NR_semctl, sys_semctl, compat_sys_semctl) +#if defined(__ARCH_WANT_TIME32_SYSCALLS) || __BITS_PER_LONG != 32 +#define __NR_semtimedop 192 +__SC_3264(__NR_semtimedop, sys_semtimedop_time32, sys_semtimedop) +#endif +#define __NR_semop 193 +__SYSCALL(__NR_semop, sys_semop) +#define __NR_shmget 194 +__SYSCALL(__NR_shmget, sys_shmget) +#define __NR_shmctl 195 +__SC_COMP(__NR_shmctl, sys_shmctl, compat_sys_shmctl) +#define __NR_shmat 196 +__SC_COMP(__NR_shmat, sys_shmat, compat_sys_shmat) +#define __NR_shmdt 197 +__SYSCALL(__NR_shmdt, sys_shmdt) +#define __NR_socket 198 +__SYSCALL(__NR_socket, sys_socket) +#define __NR_socketpair 199 +__SYSCALL(__NR_socketpair, sys_socketpair) +#define __NR_bind 200 +__SYSCALL(__NR_bind, sys_bind) +#define __NR_listen 201 +__SYSCALL(__NR_listen, sys_listen) +#define __NR_accept 202 +__SYSCALL(__NR_accept, sys_accept) +#define __NR_connect 203 +__SYSCALL(__NR_connect, sys_connect) +#define __NR_getsockname 204 +__SYSCALL(__NR_getsockname, sys_getsockname) +#define __NR_getpeername 205 +__SYSCALL(__NR_getpeername, sys_getpeername) +#define __NR_sendto 206 +__SYSCALL(__NR_sendto, sys_sendto) +#define __NR_recvfrom 207 +__SC_COMP(__NR_recvfrom, sys_recvfrom, compat_sys_recvfrom) +#define __NR_setsockopt 208 +__SC_COMP(__NR_setsockopt, sys_setsockopt, sys_setsockopt) +#define __NR_getsockopt 209 +__SC_COMP(__NR_getsockopt, sys_getsockopt, sys_getsockopt) +#define __NR_shutdown 210 +__SYSCALL(__NR_shutdown, sys_shutdown) +#define __NR_sendmsg 211 +__SC_COMP(__NR_sendmsg, sys_sendmsg, compat_sys_sendmsg) +#define __NR_recvmsg 212 +__SC_COMP(__NR_recvmsg, sys_recvmsg, compat_sys_recvmsg) +#define __NR_readahead 213 +__SC_COMP(__NR_readahead, sys_readahead, compat_sys_readahead) +#define __NR_brk 214 +__SYSCALL(__NR_brk, sys_brk) +#define __NR_munmap 215 +__SYSCALL(__NR_munmap, sys_munmap) +#define __NR_mremap 216 +__SYSCALL(__NR_mremap, sys_mremap) +#define __NR_add_key 217 +__SYSCALL(__NR_add_key, sys_add_key) +#define __NR_request_key 218 +__SYSCALL(__NR_request_key, sys_request_key) +#define __NR_keyctl 219 +__SC_COMP(__NR_keyctl, sys_keyctl, compat_sys_keyctl) +#define __NR_clone 220 +__SYSCALL(__NR_clone, sys_clone) +#define __NR_execve 221 +__SC_COMP(__NR_execve, sys_execve, compat_sys_execve) +#define __NR3264_mmap 222 +__SC_3264(__NR3264_mmap, sys_mmap2, sys_mmap) +#define __NR3264_fadvise64 223 +__SC_COMP(__NR3264_fadvise64, sys_fadvise64_64, compat_sys_fadvise64_64) +#ifndef __ARCH_NOMMU +#define __NR_swapon 224 +__SYSCALL(__NR_swapon, sys_swapon) +#define __NR_swapoff 225 +__SYSCALL(__NR_swapoff, sys_swapoff) +#define __NR_mprotect 226 +__SYSCALL(__NR_mprotect, sys_mprotect) +#define __NR_msync 227 +__SYSCALL(__NR_msync, sys_msync) +#define __NR_mlock 228 +__SYSCALL(__NR_mlock, sys_mlock) +#define __NR_munlock 229 +__SYSCALL(__NR_munlock, sys_munlock) +#define __NR_mlockall 230 +__SYSCALL(__NR_mlockall, sys_mlockall) +#define __NR_munlockall 231 +__SYSCALL(__NR_munlockall, sys_munlockall) +#define __NR_mincore 232 +__SYSCALL(__NR_mincore, sys_mincore) +#define __NR_madvise 233 +__SYSCALL(__NR_madvise, sys_madvise) +#define __NR_remap_file_pages 234 +__SYSCALL(__NR_remap_file_pages, sys_remap_file_pages) +#define __NR_mbind 235 +__SC_COMP(__NR_mbind, sys_mbind, compat_sys_mbind) +#define __NR_get_mempolicy 236 +__SC_COMP(__NR_get_mempolicy, sys_get_mempolicy, compat_sys_get_mempolicy) +#define __NR_set_mempolicy 237 +__SC_COMP(__NR_set_mempolicy, sys_set_mempolicy, compat_sys_set_mempolicy) +#define __NR_migrate_pages 238 +__SC_COMP(__NR_migrate_pages, sys_migrate_pages, compat_sys_migrate_pages) +#define __NR_move_pages 239 +__SC_COMP(__NR_move_pages, sys_move_pages, compat_sys_move_pages) +#endif +#define __NR_rt_tgsigqueueinfo 240 +__SC_COMP(__NR_rt_tgsigqueueinfo, sys_rt_tgsigqueueinfo, \ + compat_sys_rt_tgsigqueueinfo) +#define __NR_perf_event_open 241 +__SYSCALL(__NR_perf_event_open, sys_perf_event_open) +#define __NR_accept4 242 +__SYSCALL(__NR_accept4, sys_accept4) +#if defined(__ARCH_WANT_TIME32_SYSCALLS) || __BITS_PER_LONG != 32 +#define __NR_recvmmsg 243 +__SC_COMP_3264(__NR_recvmmsg, sys_recvmmsg_time32, sys_recvmmsg, compat_sys_recvmmsg_time32) +#endif +#define __NR_arch_specific_syscall 244 +#if defined(__ARCH_WANT_TIME32_SYSCALLS) || __BITS_PER_LONG != 32 +#define __NR_wait4 260 +__SC_COMP(__NR_wait4, sys_wait4, compat_sys_wait4) +#endif +#define __NR_prlimit64 261 +__SYSCALL(__NR_prlimit64, sys_prlimit64) +#define __NR_fanotify_init 262 +__SYSCALL(__NR_fanotify_init, sys_fanotify_init) +#define __NR_fanotify_mark 263 +__SYSCALL(__NR_fanotify_mark, sys_fanotify_mark) +#define __NR_name_to_handle_at 264 +__SYSCALL(__NR_name_to_handle_at, sys_name_to_handle_at) +#define __NR_open_by_handle_at 265 +__SYSCALL(__NR_open_by_handle_at, sys_open_by_handle_at) +#if defined(__ARCH_WANT_TIME32_SYSCALLS) || __BITS_PER_LONG != 32 +#define __NR_clock_adjtime 266 +__SC_3264(__NR_clock_adjtime, sys_clock_adjtime32, sys_clock_adjtime) +#endif +#define __NR_syncfs 267 +__SYSCALL(__NR_syncfs, sys_syncfs) +#define __NR_setns 268 +__SYSCALL(__NR_setns, sys_setns) +#define __NR_sendmmsg 269 +__SC_COMP(__NR_sendmmsg, sys_sendmmsg, compat_sys_sendmmsg) +#define __NR_process_vm_readv 270 +__SYSCALL(__NR_process_vm_readv, sys_process_vm_readv) +#define __NR_process_vm_writev 271 +__SYSCALL(__NR_process_vm_writev, sys_process_vm_writev) +#define __NR_kcmp 272 +__SYSCALL(__NR_kcmp, sys_kcmp) +#define __NR_finit_module 273 +__SYSCALL(__NR_finit_module, sys_finit_module) +#define __NR_sched_setattr 274 +__SYSCALL(__NR_sched_setattr, sys_sched_setattr) +#define __NR_sched_getattr 275 +__SYSCALL(__NR_sched_getattr, sys_sched_getattr) +#define __NR_renameat2 276 +__SYSCALL(__NR_renameat2, sys_renameat2) +#define __NR_seccomp 277 +__SYSCALL(__NR_seccomp, sys_seccomp) +#define __NR_getrandom 278 +__SYSCALL(__NR_getrandom, sys_getrandom) +#define __NR_memfd_create 279 +__SYSCALL(__NR_memfd_create, sys_memfd_create) +#define __NR_bpf 280 +__SYSCALL(__NR_bpf, sys_bpf) +#define __NR_execveat 281 +__SC_COMP(__NR_execveat, sys_execveat, compat_sys_execveat) +#define __NR_userfaultfd 282 +__SYSCALL(__NR_userfaultfd, sys_userfaultfd) +#define __NR_membarrier 283 +__SYSCALL(__NR_membarrier, sys_membarrier) +#define __NR_mlock2 284 +__SYSCALL(__NR_mlock2, sys_mlock2) +#define __NR_copy_file_range 285 +__SYSCALL(__NR_copy_file_range, sys_copy_file_range) +#define __NR_preadv2 286 +__SC_COMP(__NR_preadv2, sys_preadv2, compat_sys_preadv2) +#define __NR_pwritev2 287 +__SC_COMP(__NR_pwritev2, sys_pwritev2, compat_sys_pwritev2) +#define __NR_pkey_mprotect 288 +__SYSCALL(__NR_pkey_mprotect, sys_pkey_mprotect) +#define __NR_pkey_alloc 289 +__SYSCALL(__NR_pkey_alloc, sys_pkey_alloc) +#define __NR_pkey_free 290 +__SYSCALL(__NR_pkey_free, sys_pkey_free) +#define __NR_statx 291 +__SYSCALL(__NR_statx, sys_statx) +#if defined(__ARCH_WANT_TIME32_SYSCALLS) || __BITS_PER_LONG != 32 +#define __NR_io_pgetevents 292 +__SC_COMP_3264(__NR_io_pgetevents, sys_io_pgetevents_time32, sys_io_pgetevents, compat_sys_io_pgetevents) +#endif +#define __NR_rseq 293 +__SYSCALL(__NR_rseq, sys_rseq) +#define __NR_kexec_file_load 294 +__SYSCALL(__NR_kexec_file_load, sys_kexec_file_load) +#if __BITS_PER_LONG == 32 +#define __NR_clock_gettime64 403 +__SYSCALL(__NR_clock_gettime64, sys_clock_gettime) +#define __NR_clock_settime64 404 +__SYSCALL(__NR_clock_settime64, sys_clock_settime) +#define __NR_clock_adjtime64 405 +__SYSCALL(__NR_clock_adjtime64, sys_clock_adjtime) +#define __NR_clock_getres_time64 406 +__SYSCALL(__NR_clock_getres_time64, sys_clock_getres) +#define __NR_clock_nanosleep_time64 407 +__SYSCALL(__NR_clock_nanosleep_time64, sys_clock_nanosleep) +#define __NR_timer_gettime64 408 +__SYSCALL(__NR_timer_gettime64, sys_timer_gettime) +#define __NR_timer_settime64 409 +__SYSCALL(__NR_timer_settime64, sys_timer_settime) +#define __NR_timerfd_gettime64 410 +__SYSCALL(__NR_timerfd_gettime64, sys_timerfd_gettime) +#define __NR_timerfd_settime64 411 +__SYSCALL(__NR_timerfd_settime64, sys_timerfd_settime) +#define __NR_utimensat_time64 412 +__SYSCALL(__NR_utimensat_time64, sys_utimensat) +#define __NR_pselect6_time64 413 +__SC_COMP(__NR_pselect6_time64, sys_pselect6, compat_sys_pselect6_time64) +#define __NR_ppoll_time64 414 +__SC_COMP(__NR_ppoll_time64, sys_ppoll, compat_sys_ppoll_time64) +#define __NR_io_pgetevents_time64 416 +__SYSCALL(__NR_io_pgetevents_time64, sys_io_pgetevents) +#define __NR_recvmmsg_time64 417 +__SC_COMP(__NR_recvmmsg_time64, sys_recvmmsg, compat_sys_recvmmsg_time64) +#define __NR_mq_timedsend_time64 418 +__SYSCALL(__NR_mq_timedsend_time64, sys_mq_timedsend) +#define __NR_mq_timedreceive_time64 419 +__SYSCALL(__NR_mq_timedreceive_time64, sys_mq_timedreceive) +#define __NR_semtimedop_time64 420 +__SYSCALL(__NR_semtimedop_time64, sys_semtimedop) +#define __NR_rt_sigtimedwait_time64 421 +__SC_COMP(__NR_rt_sigtimedwait_time64, sys_rt_sigtimedwait, compat_sys_rt_sigtimedwait_time64) +#define __NR_futex_time64 422 +__SYSCALL(__NR_futex_time64, sys_futex) +#define __NR_sched_rr_get_interval_time64 423 +__SYSCALL(__NR_sched_rr_get_interval_time64, sys_sched_rr_get_interval) +#endif +#define __NR_pidfd_send_signal 424 +__SYSCALL(__NR_pidfd_send_signal, sys_pidfd_send_signal) +#define __NR_io_uring_setup 425 +__SYSCALL(__NR_io_uring_setup, sys_io_uring_setup) +#define __NR_io_uring_enter 426 +__SYSCALL(__NR_io_uring_enter, sys_io_uring_enter) +#define __NR_io_uring_register 427 +__SYSCALL(__NR_io_uring_register, sys_io_uring_register) +#define __NR_open_tree 428 +__SYSCALL(__NR_open_tree, sys_open_tree) +#define __NR_move_mount 429 +__SYSCALL(__NR_move_mount, sys_move_mount) +#define __NR_fsopen 430 +__SYSCALL(__NR_fsopen, sys_fsopen) +#define __NR_fsconfig 431 +__SYSCALL(__NR_fsconfig, sys_fsconfig) +#define __NR_fsmount 432 +__SYSCALL(__NR_fsmount, sys_fsmount) +#define __NR_fspick 433 +__SYSCALL(__NR_fspick, sys_fspick) +#define __NR_pidfd_open 434 +__SYSCALL(__NR_pidfd_open, sys_pidfd_open) +#ifdef __ARCH_WANT_SYS_CLONE3 +#define __NR_clone3 435 +__SYSCALL(__NR_clone3, sys_clone3) +#endif +#define __NR_close_range 436 +__SYSCALL(__NR_close_range, sys_close_range) +#define __NR_openat2 437 +__SYSCALL(__NR_openat2, sys_openat2) +#define __NR_pidfd_getfd 438 +__SYSCALL(__NR_pidfd_getfd, sys_pidfd_getfd) +#define __NR_faccessat2 439 +__SYSCALL(__NR_faccessat2, sys_faccessat2) +#define __NR_process_madvise 440 +__SYSCALL(__NR_process_madvise, sys_process_madvise) +#undef __NR_syscalls +#define __NR_syscalls 441 +#if __BITS_PER_LONG == 64 && !defined(__SYSCALL_COMPAT) +#define __NR_fcntl __NR3264_fcntl +#define __NR_statfs __NR3264_statfs +#define __NR_fstatfs __NR3264_fstatfs +#define __NR_truncate __NR3264_truncate +#define __NR_ftruncate __NR3264_ftruncate +#define __NR_lseek __NR3264_lseek +#define __NR_sendfile __NR3264_sendfile +#if defined(__ARCH_WANT_NEW_STAT) || defined(__ARCH_WANT_STAT64) +#define __NR_newfstatat __NR3264_fstatat +#define __NR_fstat __NR3264_fstat +#endif +#define __NR_mmap __NR3264_mmap +#define __NR_fadvise64 __NR3264_fadvise64 +#ifdef __NR3264_stat +#define __NR_stat __NR3264_stat +#define __NR_lstat __NR3264_lstat +#endif +#else +#define __NR_fcntl64 __NR3264_fcntl +#define __NR_statfs64 __NR3264_statfs +#define __NR_fstatfs64 __NR3264_fstatfs +#define __NR_truncate64 __NR3264_truncate +#define __NR_ftruncate64 __NR3264_ftruncate +#define __NR_llseek __NR3264_lseek +#define __NR_sendfile64 __NR3264_sendfile +#if defined(__ARCH_WANT_NEW_STAT) || defined(__ARCH_WANT_STAT64) +#define __NR_fstatat64 __NR3264_fstatat +#define __NR_fstat64 __NR3264_fstat +#endif +#define __NR_mmap2 __NR3264_mmap +#define __NR_fadvise64_64 __NR3264_fadvise64 +#ifdef __NR3264_stat +#define __NR_stat64 __NR3264_stat +#define __NR_lstat64 __NR3264_lstat +#endif +#endif diff --git a/linux-5.10/prebuilts/usr/include/asm/auxvec.h b/linux-5.10/prebuilts/usr/include/asm/auxvec.h new file mode 100644 index 0000000..7416f18 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/asm/auxvec.h @@ -0,0 +1,9 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef __ASM_AUXVEC_H +#define __ASM_AUXVEC_H +#define AT_SYSINFO_EHDR 33 +#endif diff --git a/linux-5.10/prebuilts/usr/include/asm/bitsperlong.h b/linux-5.10/prebuilts/usr/include/asm/bitsperlong.h new file mode 100644 index 0000000..3c87a8d --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/asm/bitsperlong.h @@ -0,0 +1,6 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#include diff --git a/linux-5.10/prebuilts/usr/include/asm/bpf_perf_event.h b/linux-5.10/prebuilts/usr/include/asm/bpf_perf_event.h new file mode 100644 index 0000000..5cef26b --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/asm/bpf_perf_event.h @@ -0,0 +1,6 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#include diff --git a/linux-5.10/prebuilts/usr/include/asm/byteorder.h b/linux-5.10/prebuilts/usr/include/asm/byteorder.h new file mode 100644 index 0000000..c958030 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/asm/byteorder.h @@ -0,0 +1,13 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef __ASM_ARM_BYTEORDER_H +#define __ASM_ARM_BYTEORDER_H +#ifdef __ARMEB__ +#include +#else +#include +#endif +#endif diff --git a/linux-5.10/prebuilts/usr/include/asm/errno.h b/linux-5.10/prebuilts/usr/include/asm/errno.h new file mode 100644 index 0000000..c1081c8 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/asm/errno.h @@ -0,0 +1,6 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#include diff --git a/linux-5.10/prebuilts/usr/include/asm/fcntl.h b/linux-5.10/prebuilts/usr/include/asm/fcntl.h new file mode 100644 index 0000000..6004fa7 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/asm/fcntl.h @@ -0,0 +1,13 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _ARM_FCNTL_H +#define _ARM_FCNTL_H +#define O_DIRECTORY 040000 +#define O_NOFOLLOW 0100000 +#define O_DIRECT 0200000 +#define O_LARGEFILE 0400000 +#include +#endif diff --git a/linux-5.10/prebuilts/usr/include/asm/hwcap.h b/linux-5.10/prebuilts/usr/include/asm/hwcap.h new file mode 100644 index 0000000..5fc1027 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/asm/hwcap.h @@ -0,0 +1,36 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef __ASMARM_HWCAP_H +#define __ASMARM_HWCAP_H +#define HWCAP_SWP (1 << 0) +#define HWCAP_HALF (1 << 1) +#define HWCAP_THUMB (1 << 2) +#define HWCAP_26BIT (1 << 3) +#define HWCAP_FAST_MULT (1 << 4) +#define HWCAP_FPA (1 << 5) +#define HWCAP_VFP (1 << 6) +#define HWCAP_EDSP (1 << 7) +#define HWCAP_JAVA (1 << 8) +#define HWCAP_IWMMXT (1 << 9) +#define HWCAP_CRUNCH (1 << 10) +#define HWCAP_THUMBEE (1 << 11) +#define HWCAP_NEON (1 << 12) +#define HWCAP_VFPv3 (1 << 13) +#define HWCAP_VFPv3D16 (1 << 14) +#define HWCAP_TLS (1 << 15) +#define HWCAP_VFPv4 (1 << 16) +#define HWCAP_IDIVA (1 << 17) +#define HWCAP_IDIVT (1 << 18) +#define HWCAP_VFPD32 (1 << 19) +#define HWCAP_IDIV (HWCAP_IDIVA | HWCAP_IDIVT) +#define HWCAP_LPAE (1 << 20) +#define HWCAP_EVTSTRM (1 << 21) +#define HWCAP2_AES (1 << 0) +#define HWCAP2_PMULL (1 << 1) +#define HWCAP2_SHA1 (1 << 2) +#define HWCAP2_SHA2 (1 << 3) +#define HWCAP2_CRC32 (1 << 4) +#endif diff --git a/linux-5.10/prebuilts/usr/include/asm/ioctl.h b/linux-5.10/prebuilts/usr/include/asm/ioctl.h new file mode 100644 index 0000000..32a259f --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/asm/ioctl.h @@ -0,0 +1,6 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#include diff --git a/linux-5.10/prebuilts/usr/include/asm/ioctls.h b/linux-5.10/prebuilts/usr/include/asm/ioctls.h new file mode 100644 index 0000000..2d824e1 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/asm/ioctls.h @@ -0,0 +1,10 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef __ASM_ARM_IOCTLS_H +#define __ASM_ARM_IOCTLS_H +#define FIOQSIZE 0x545E +#include +#endif diff --git a/linux-5.10/prebuilts/usr/include/asm/ipcbuf.h b/linux-5.10/prebuilts/usr/include/asm/ipcbuf.h new file mode 100644 index 0000000..d0004a4 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/asm/ipcbuf.h @@ -0,0 +1,6 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#include diff --git a/linux-5.10/prebuilts/usr/include/asm/kvm_para.h b/linux-5.10/prebuilts/usr/include/asm/kvm_para.h new file mode 100644 index 0000000..c74c294 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/asm/kvm_para.h @@ -0,0 +1,6 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#include diff --git a/linux-5.10/prebuilts/usr/include/asm/mman.h b/linux-5.10/prebuilts/usr/include/asm/mman.h new file mode 100644 index 0000000..65a6a5c --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/asm/mman.h @@ -0,0 +1,8 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#include +#define arch_mmap_check(addr, len, flags) \ + (((flags) & MAP_FIXED && (addr) < FIRST_USER_ADDRESS) ? -EINVAL : 0) diff --git a/linux-5.10/prebuilts/usr/include/asm/msgbuf.h b/linux-5.10/prebuilts/usr/include/asm/msgbuf.h new file mode 100644 index 0000000..a361e7c --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/asm/msgbuf.h @@ -0,0 +1,6 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#include diff --git a/linux-5.10/prebuilts/usr/include/asm/param.h b/linux-5.10/prebuilts/usr/include/asm/param.h new file mode 100644 index 0000000..67e7728 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/asm/param.h @@ -0,0 +1,6 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#include diff --git a/linux-5.10/prebuilts/usr/include/asm/perf_regs.h b/linux-5.10/prebuilts/usr/include/asm/perf_regs.h new file mode 100644 index 0000000..1f7361c --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/asm/perf_regs.h @@ -0,0 +1,27 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _ASM_ARM_PERF_REGS_H +#define _ASM_ARM_PERF_REGS_H +enum perf_event_arm_regs { + PERF_REG_ARM_R0, + PERF_REG_ARM_R1, + PERF_REG_ARM_R2, + PERF_REG_ARM_R3, + PERF_REG_ARM_R4, + PERF_REG_ARM_R5, + PERF_REG_ARM_R6, + PERF_REG_ARM_R7, + PERF_REG_ARM_R8, + PERF_REG_ARM_R9, + PERF_REG_ARM_R10, + PERF_REG_ARM_FP, + PERF_REG_ARM_IP, + PERF_REG_ARM_SP, + PERF_REG_ARM_LR, + PERF_REG_ARM_PC, + PERF_REG_ARM_MAX, +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/asm/poll.h b/linux-5.10/prebuilts/usr/include/asm/poll.h new file mode 100644 index 0000000..93f531d --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/asm/poll.h @@ -0,0 +1,6 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#include diff --git a/linux-5.10/prebuilts/usr/include/asm/posix_types.h b/linux-5.10/prebuilts/usr/include/asm/posix_types.h new file mode 100644 index 0000000..8ba2dc2 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/asm/posix_types.h @@ -0,0 +1,18 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef __ARCH_ARM_POSIX_TYPES_H +#define __ARCH_ARM_POSIX_TYPES_H +typedef unsigned short __kernel_mode_t; +#define __kernel_mode_t __kernel_mode_t +typedef unsigned short __kernel_ipc_pid_t; +#define __kernel_ipc_pid_t __kernel_ipc_pid_t +typedef unsigned short __kernel_uid_t; +typedef unsigned short __kernel_gid_t; +#define __kernel_uid_t __kernel_uid_t +typedef unsigned short __kernel_old_dev_t; +#define __kernel_old_dev_t __kernel_old_dev_t +#include +#endif diff --git a/linux-5.10/prebuilts/usr/include/asm/ptrace.h b/linux-5.10/prebuilts/usr/include/asm/ptrace.h new file mode 100644 index 0000000..c45ee94 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/asm/ptrace.h @@ -0,0 +1,95 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef __ASM_ARM_PTRACE_H +#define __ASM_ARM_PTRACE_H +#include +#define PTRACE_GETREGS 12 +#define PTRACE_SETREGS 13 +#define PTRACE_GETFPREGS 14 +#define PTRACE_SETFPREGS 15 +#define PTRACE_GETWMMXREGS 18 +#define PTRACE_SETWMMXREGS 19 +#define PTRACE_OLDSETOPTIONS 21 +#define PTRACE_GET_THREAD_AREA 22 +#define PTRACE_SET_SYSCALL 23 +#define PTRACE_GETCRUNCHREGS 25 +#define PTRACE_SETCRUNCHREGS 26 +#define PTRACE_GETVFPREGS 27 +#define PTRACE_SETVFPREGS 28 +#define PTRACE_GETHBPREGS 29 +#define PTRACE_SETHBPREGS 30 +#define PTRACE_GETFDPIC 31 +#define PTRACE_GETFDPIC_EXEC 0 +#define PTRACE_GETFDPIC_INTERP 1 +#define USR26_MODE 0x00000000 +#define FIQ26_MODE 0x00000001 +#define IRQ26_MODE 0x00000002 +#define SVC26_MODE 0x00000003 +#define USR_MODE 0x00000010 +#define SVC_MODE 0x00000013 +#define FIQ_MODE 0x00000011 +#define IRQ_MODE 0x00000012 +#define MON_MODE 0x00000016 +#define ABT_MODE 0x00000017 +#define HYP_MODE 0x0000001a +#define UND_MODE 0x0000001b +#define SYSTEM_MODE 0x0000001f +#define MODE32_BIT 0x00000010 +#define MODE_MASK 0x0000001f +#define V4_PSR_T_BIT 0x00000020 +#define V7M_PSR_T_BIT 0x01000000 +#define PSR_T_BIT V4_PSR_T_BIT +#define PSR_F_BIT 0x00000040 +#define PSR_I_BIT 0x00000080 +#define PSR_A_BIT 0x00000100 +#define PSR_E_BIT 0x00000200 +#define PSR_J_BIT 0x01000000 +#define PSR_Q_BIT 0x08000000 +#define PSR_V_BIT 0x10000000 +#define PSR_C_BIT 0x20000000 +#define PSR_Z_BIT 0x40000000 +#define PSR_N_BIT 0x80000000 +#define PSR_f 0xff000000 +#define PSR_s 0x00ff0000 +#define PSR_x 0x0000ff00 +#define PSR_c 0x000000ff +#define APSR_MASK 0xf80f0000 +#define PSR_ISET_MASK 0x01000010 +#define PSR_IT_MASK 0x0600fc00 +#define PSR_ENDIAN_MASK 0x00000200 +#ifdef CONFIG_CPU_ENDIAN_BE8 +#define PSR_ENDSTATE PSR_E_BIT +#else +#define PSR_ENDSTATE 0 +#endif +#define PT_TEXT_ADDR 0x10000 +#define PT_DATA_ADDR 0x10004 +#define PT_TEXT_END_ADDR 0x10008 +#ifndef __ASSEMBLY__ +struct pt_regs { + long uregs[18]; +}; +#define ARM_cpsr uregs[16] +#define ARM_pc uregs[15] +#define ARM_lr uregs[14] +#define ARM_sp uregs[13] +#define ARM_ip uregs[12] +#define ARM_fp uregs[11] +#define ARM_r10 uregs[10] +#define ARM_r9 uregs[9] +#define ARM_r8 uregs[8] +#define ARM_r7 uregs[7] +#define ARM_r6 uregs[6] +#define ARM_r5 uregs[5] +#define ARM_r4 uregs[4] +#define ARM_r3 uregs[3] +#define ARM_r2 uregs[2] +#define ARM_r1 uregs[1] +#define ARM_r0 uregs[0] +#define ARM_ORIG_r0 uregs[17] +#define ARM_VFPREGS_SIZE ( 32 * 8 ) +#endif +#endif diff --git a/linux-5.10/prebuilts/usr/include/asm/resource.h b/linux-5.10/prebuilts/usr/include/asm/resource.h new file mode 100644 index 0000000..728000e --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/asm/resource.h @@ -0,0 +1,6 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#include diff --git a/linux-5.10/prebuilts/usr/include/asm/sembuf.h b/linux-5.10/prebuilts/usr/include/asm/sembuf.h new file mode 100644 index 0000000..1769cec --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/asm/sembuf.h @@ -0,0 +1,6 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#include diff --git a/linux-5.10/prebuilts/usr/include/asm/setup.h b/linux-5.10/prebuilts/usr/include/asm/setup.h new file mode 100644 index 0000000..b0a9172 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/asm/setup.h @@ -0,0 +1,120 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef __ASMARM_SETUP_H +#define __ASMARM_SETUP_H +#include +#define COMMAND_LINE_SIZE 1024 +#define ATAG_NONE 0x00000000 +struct tag_header { + __u32 size; + __u32 tag; +}; +#define ATAG_CORE 0x54410001 +struct tag_core { + __u32 flags; + __u32 pagesize; + __u32 rootdev; +}; +#define ATAG_MEM 0x54410002 +struct tag_mem32 { + __u32 size; + __u32 start; +}; +#define ATAG_VIDEOTEXT 0x54410003 +struct tag_videotext { + __u8 x; + __u8 y; + __u16 video_page; + __u8 video_mode; + __u8 video_cols; + __u16 video_ega_bx; + __u8 video_lines; + __u8 video_isvga; + __u16 video_points; +}; +#define ATAG_RAMDISK 0x54410004 +struct tag_ramdisk { + __u32 flags; + __u32 size; + __u32 start; +}; +#define ATAG_INITRD 0x54410005 +#define ATAG_INITRD2 0x54420005 +struct tag_initrd { + __u32 start; + __u32 size; +}; +#define ATAG_SERIAL 0x54410006 +struct tag_serialnr { + __u32 low; + __u32 high; +}; +#define ATAG_REVISION 0x54410007 +struct tag_revision { + __u32 rev; +}; +#define ATAG_VIDEOLFB 0x54410008 +struct tag_videolfb { + __u16 lfb_width; + __u16 lfb_height; + __u16 lfb_depth; + __u16 lfb_linelength; + __u32 lfb_base; + __u32 lfb_size; + __u8 red_size; + __u8 red_pos; + __u8 green_size; + __u8 green_pos; + __u8 blue_size; + __u8 blue_pos; + __u8 rsvd_size; + __u8 rsvd_pos; +}; +#define ATAG_CMDLINE 0x54410009 +struct tag_cmdline { + char cmdline[1]; +}; +#define ATAG_ACORN 0x41000101 +struct tag_acorn { + __u32 memc_control_reg; + __u32 vram_pages; + __u8 sounddefault; + __u8 adfsdrives; +}; +#define ATAG_MEMCLK 0x41000402 +struct tag_memclk { + __u32 fmemclk; +}; +struct tag { + struct tag_header hdr; + union { + struct tag_core core; + struct tag_mem32 mem; + struct tag_videotext videotext; + struct tag_ramdisk ramdisk; + struct tag_initrd initrd; + struct tag_serialnr serialnr; + struct tag_revision revision; + struct tag_videolfb videolfb; + struct tag_cmdline cmdline; + + struct tag_acorn acorn; + + struct tag_memclk memclk; + } u; +}; +struct tagtable { + __u32 tag; + int (*parse)(const struct tag *); +}; +#define tag_member_present(tag,member) \ + ((unsigned long)(&((struct tag *)0L)->member + 1) \ + <= (tag)->hdr.size * 4) +#define tag_next(t) ((struct tag *)((__u32 *)(t) + (t)->hdr.size)) +#define tag_size(type) ((sizeof(struct tag_header) + sizeof(struct type)) >> 2) +#define for_each_tag(t,base) \ + for (t = base; t->hdr.size; t = tag_next(t)) +#endif diff --git a/linux-5.10/prebuilts/usr/include/asm/shmbuf.h b/linux-5.10/prebuilts/usr/include/asm/shmbuf.h new file mode 100644 index 0000000..ada9904 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/asm/shmbuf.h @@ -0,0 +1,6 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#include diff --git a/linux-5.10/prebuilts/usr/include/asm/sigcontext.h b/linux-5.10/prebuilts/usr/include/asm/sigcontext.h new file mode 100644 index 0000000..fe3eee7 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/asm/sigcontext.h @@ -0,0 +1,31 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _ASMARM_SIGCONTEXT_H +#define _ASMARM_SIGCONTEXT_H +struct sigcontext { + unsigned long trap_no; + unsigned long error_code; + unsigned long oldmask; + unsigned long arm_r0; + unsigned long arm_r1; + unsigned long arm_r2; + unsigned long arm_r3; + unsigned long arm_r4; + unsigned long arm_r5; + unsigned long arm_r6; + unsigned long arm_r7; + unsigned long arm_r8; + unsigned long arm_r9; + unsigned long arm_r10; + unsigned long arm_fp; + unsigned long arm_ip; + unsigned long arm_sp; + unsigned long arm_lr; + unsigned long arm_pc; + unsigned long arm_cpsr; + unsigned long fault_address; +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/asm/siginfo.h b/linux-5.10/prebuilts/usr/include/asm/siginfo.h new file mode 100644 index 0000000..05b664d --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/asm/siginfo.h @@ -0,0 +1,6 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#include diff --git a/linux-5.10/prebuilts/usr/include/asm/signal.h b/linux-5.10/prebuilts/usr/include/asm/signal.h new file mode 100644 index 0000000..2e20abb --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/asm/signal.h @@ -0,0 +1,79 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _ASMARM_SIGNAL_H +#define _ASMARM_SIGNAL_H +#include +struct siginfo; +#define _KERNEL_NSIG 32 +typedef unsigned long sigset_t; +#define SIGHUP 1 +#define SIGINT 2 +#define SIGQUIT 3 +#define SIGILL 4 +#define SIGTRAP 5 +#define SIGABRT 6 +#define SIGIOT 6 +#define SIGBUS 7 +#define SIGFPE 8 +#define SIGKILL 9 +#define SIGUSR1 10 +#define SIGSEGV 11 +#define SIGUSR2 12 +#define SIGPIPE 13 +#define SIGALRM 14 +#define SIGTERM 15 +#define SIGSTKFLT 16 +#define SIGCHLD 17 +#define SIGCONT 18 +#define SIGSTOP 19 +#define SIGTSTP 20 +#define SIGTTIN 21 +#define SIGTTOU 22 +#define SIGURG 23 +#define SIGXCPU 24 +#define SIGXFSZ 25 +#define SIGVTALRM 26 +#define SIGPROF 27 +#define SIGWINCH 28 +#define SIGIO 29 +#define SIGPOLL SIGIO +#define SIGPWR 30 +#define SIGSYS 31 +#define SIGUNUSED 31 +#define __SIGRTMIN 32 +#define __SIGRTMAX _KERNEL__NSIG +#define SIGSWI 32 +#define SA_NOCLDSTOP 0x00000001 +#define SA_NOCLDWAIT 0x00000002 +#define SA_SIGINFO 0x00000004 +#define SA_THIRTYTWO 0x02000000 +#define SA_RESTORER 0x04000000 +#define SA_ONSTACK 0x08000000 +#define SA_RESTART 0x10000000 +#define SA_NODEFER 0x40000000 +#define SA_RESETHAND 0x80000000 +#define SA_NOMASK SA_NODEFER +#define SA_ONESHOT SA_RESETHAND +#define MINSIGSTKSZ 2048 +#define SIGSTKSZ 8192 +#include +struct sigaction { + union { + __sighandler_t _sa_handler; + void (*_sa_sigaction)(int, struct siginfo *, void *); + } _u; + sigset_t sa_mask; + unsigned long sa_flags; + void (*sa_restorer)(void); +}; +#define sa_handler _u._sa_handler +#define sa_sigaction _u._sa_sigaction +typedef struct sigaltstack { + void *ss_sp; + int ss_flags; + size_t ss_size; +} stack_t; +#endif diff --git a/linux-5.10/prebuilts/usr/include/asm/socket.h b/linux-5.10/prebuilts/usr/include/asm/socket.h new file mode 100644 index 0000000..b61e0f4 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/asm/socket.h @@ -0,0 +1,6 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#include diff --git a/linux-5.10/prebuilts/usr/include/asm/sockios.h b/linux-5.10/prebuilts/usr/include/asm/sockios.h new file mode 100644 index 0000000..9cb632b --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/asm/sockios.h @@ -0,0 +1,6 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#include diff --git a/linux-5.10/prebuilts/usr/include/asm/stat.h b/linux-5.10/prebuilts/usr/include/asm/stat.h new file mode 100644 index 0000000..5a5bf86 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/asm/stat.h @@ -0,0 +1,74 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _ASMARM_STAT_H +#define _ASMARM_STAT_H +struct __old_kernel_stat { + unsigned short st_dev; + unsigned short st_ino; + unsigned short st_mode; + unsigned short st_nlink; + unsigned short st_uid; + unsigned short st_gid; + unsigned short st_rdev; + unsigned long st_size; + unsigned long st_atime; + unsigned long st_mtime; + unsigned long st_ctime; +}; +#define STAT_HAVE_NSEC +struct stat { +#if defined(__ARMEB__) + unsigned short st_dev; + unsigned short __pad1; +#else + unsigned long st_dev; +#endif + unsigned long st_ino; + unsigned short st_mode; + unsigned short st_nlink; + unsigned short st_uid; + unsigned short st_gid; +#if defined(__ARMEB__) + unsigned short st_rdev; + unsigned short __pad2; +#else + unsigned long st_rdev; +#endif + unsigned long st_size; + unsigned long st_blksize; + unsigned long st_blocks; + unsigned long st_atime; + unsigned long st_atime_nsec; + unsigned long st_mtime; + unsigned long st_mtime_nsec; + unsigned long st_ctime; + unsigned long st_ctime_nsec; + unsigned long __unused4; + unsigned long __unused5; +}; +struct stat64 { + unsigned long long st_dev; + unsigned char __pad0[4]; +#define STAT64_HAS_BROKEN_ST_INO 1 + unsigned long __st_ino; + unsigned int st_mode; + unsigned int st_nlink; + unsigned long st_uid; + unsigned long st_gid; + unsigned long long st_rdev; + unsigned char __pad3[4]; + long long st_size; + unsigned long st_blksize; + unsigned long long st_blocks; + unsigned long st_atime; + unsigned long st_atime_nsec; + unsigned long st_mtime; + unsigned long st_mtime_nsec; + unsigned long st_ctime; + unsigned long st_ctime_nsec; + unsigned long long st_ino; +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/asm/statfs.h b/linux-5.10/prebuilts/usr/include/asm/statfs.h new file mode 100644 index 0000000..3131a41 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/asm/statfs.h @@ -0,0 +1,10 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _ASMARM_STATFS_H +#define _ASMARM_STATFS_H +#define ARCH_PACK_STATFS64 __attribute__((packed,aligned(4))) +#include +#endif diff --git a/linux-5.10/prebuilts/usr/include/asm/swab.h b/linux-5.10/prebuilts/usr/include/asm/swab.h new file mode 100644 index 0000000..8b8bf24 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/asm/swab.h @@ -0,0 +1,28 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef __ASM_ARM_SWAB_H +#define __ASM_ARM_SWAB_H +#include +#if !defined(__STRICT_ANSI__) || defined(__KERNEL__) +# define __SWAB_64_THRU_32__ +#endif +static __inline__ __u32 __arch_swab32(__u32 x) +{ + __u32 t; +#ifndef __thumb__ + if (!__builtin_constant_p(x)) { + + __asm__ ("eor\t%0, %1, %1, ror #16" : "=r" (t) : "r" (x)); + } else +#endif + t = x ^ ((x << 16) | (x >> 16)); + x = (x << 24) | (x >> 8); + t &= ~0x00FF0000; + x ^= (t >> 8); + return x; +} +#define __arch_swab32 __arch_swab32 +#endif diff --git a/linux-5.10/prebuilts/usr/include/asm/termbits.h b/linux-5.10/prebuilts/usr/include/asm/termbits.h new file mode 100644 index 0000000..a3723de --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/asm/termbits.h @@ -0,0 +1,6 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#include diff --git a/linux-5.10/prebuilts/usr/include/asm/termios.h b/linux-5.10/prebuilts/usr/include/asm/termios.h new file mode 100644 index 0000000..0555809 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/asm/termios.h @@ -0,0 +1,6 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#include diff --git a/linux-5.10/prebuilts/usr/include/asm/types.h b/linux-5.10/prebuilts/usr/include/asm/types.h new file mode 100644 index 0000000..04764cf --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/asm/types.h @@ -0,0 +1,21 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _ASM_TYPES_H +#define _ASM_TYPES_H +#include +#ifdef __INT32_TYPE__ +#undef __INT32_TYPE__ +#define __INT32_TYPE__ int +#endif +#ifdef __UINT32_TYPE__ +#undef __UINT32_TYPE__ +#define __UINT32_TYPE__ unsigned int +#endif +#ifdef __UINTPTR_TYPE__ +#undef __UINTPTR_TYPE__ +#define __UINTPTR_TYPE__ unsigned long +#endif +#endif diff --git a/linux-5.10/prebuilts/usr/include/asm/unistd-common.h b/linux-5.10/prebuilts/usr/include/asm/unistd-common.h new file mode 100644 index 0000000..9770529 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/asm/unistd-common.h @@ -0,0 +1,402 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _ASM_ARM_UNISTD_COMMON_H +#define _ASM_ARM_UNISTD_COMMON_H 1 +#define __NR_restart_syscall (__NR_SYSCALL_BASE + 0) +#define __NR_exit (__NR_SYSCALL_BASE + 1) +#define __NR_fork (__NR_SYSCALL_BASE + 2) +#define __NR_read (__NR_SYSCALL_BASE + 3) +#define __NR_write (__NR_SYSCALL_BASE + 4) +#define __NR_open (__NR_SYSCALL_BASE + 5) +#define __NR_close (__NR_SYSCALL_BASE + 6) +#define __NR_creat (__NR_SYSCALL_BASE + 8) +#define __NR_link (__NR_SYSCALL_BASE + 9) +#define __NR_unlink (__NR_SYSCALL_BASE + 10) +#define __NR_execve (__NR_SYSCALL_BASE + 11) +#define __NR_chdir (__NR_SYSCALL_BASE + 12) +#define __NR_mknod (__NR_SYSCALL_BASE + 14) +#define __NR_chmod (__NR_SYSCALL_BASE + 15) +#define __NR_lchown (__NR_SYSCALL_BASE + 16) +#define __NR_lseek (__NR_SYSCALL_BASE + 19) +#define __NR_getpid (__NR_SYSCALL_BASE + 20) +#define __NR_mount (__NR_SYSCALL_BASE + 21) +#define __NR_setuid (__NR_SYSCALL_BASE + 23) +#define __NR_getuid (__NR_SYSCALL_BASE + 24) +#define __NR_ptrace (__NR_SYSCALL_BASE + 26) +#define __NR_pause (__NR_SYSCALL_BASE + 29) +#define __NR_access (__NR_SYSCALL_BASE + 33) +#define __NR_nice (__NR_SYSCALL_BASE + 34) +#define __NR_sync (__NR_SYSCALL_BASE + 36) +#define __NR_kill (__NR_SYSCALL_BASE + 37) +#define __NR_rename (__NR_SYSCALL_BASE + 38) +#define __NR_mkdir (__NR_SYSCALL_BASE + 39) +#define __NR_rmdir (__NR_SYSCALL_BASE + 40) +#define __NR_dup (__NR_SYSCALL_BASE + 41) +#define __NR_pipe (__NR_SYSCALL_BASE + 42) +#define __NR_times (__NR_SYSCALL_BASE + 43) +#define __NR_brk (__NR_SYSCALL_BASE + 45) +#define __NR_setgid (__NR_SYSCALL_BASE + 46) +#define __NR_getgid (__NR_SYSCALL_BASE + 47) +#define __NR_geteuid (__NR_SYSCALL_BASE + 49) +#define __NR_getegid (__NR_SYSCALL_BASE + 50) +#define __NR_acct (__NR_SYSCALL_BASE + 51) +#define __NR_umount2 (__NR_SYSCALL_BASE + 52) +#define __NR_ioctl (__NR_SYSCALL_BASE + 54) +#define __NR_fcntl (__NR_SYSCALL_BASE + 55) +#define __NR_setpgid (__NR_SYSCALL_BASE + 57) +#define __NR_umask (__NR_SYSCALL_BASE + 60) +#define __NR_chroot (__NR_SYSCALL_BASE + 61) +#define __NR_ustat (__NR_SYSCALL_BASE + 62) +#define __NR_dup2 (__NR_SYSCALL_BASE + 63) +#define __NR_getppid (__NR_SYSCALL_BASE + 64) +#define __NR_getpgrp (__NR_SYSCALL_BASE + 65) +#define __NR_setsid (__NR_SYSCALL_BASE + 66) +#define __NR_sigaction (__NR_SYSCALL_BASE + 67) +#define __NR_setreuid (__NR_SYSCALL_BASE + 70) +#define __NR_setregid (__NR_SYSCALL_BASE + 71) +#define __NR_sigsuspend (__NR_SYSCALL_BASE + 72) +#define __NR_sigpending (__NR_SYSCALL_BASE + 73) +#define __NR_sethostname (__NR_SYSCALL_BASE + 74) +#define __NR_setrlimit (__NR_SYSCALL_BASE + 75) +#define __NR_getrusage (__NR_SYSCALL_BASE + 77) +#define __NR_gettimeofday (__NR_SYSCALL_BASE + 78) +#define __NR_settimeofday (__NR_SYSCALL_BASE + 79) +#define __NR_getgroups (__NR_SYSCALL_BASE + 80) +#define __NR_setgroups (__NR_SYSCALL_BASE + 81) +#define __NR_symlink (__NR_SYSCALL_BASE + 83) +#define __NR_readlink (__NR_SYSCALL_BASE + 85) +#define __NR_uselib (__NR_SYSCALL_BASE + 86) +#define __NR_swapon (__NR_SYSCALL_BASE + 87) +#define __NR_reboot (__NR_SYSCALL_BASE + 88) +#define __NR_munmap (__NR_SYSCALL_BASE + 91) +#define __NR_truncate (__NR_SYSCALL_BASE + 92) +#define __NR_ftruncate (__NR_SYSCALL_BASE + 93) +#define __NR_fchmod (__NR_SYSCALL_BASE + 94) +#define __NR_fchown (__NR_SYSCALL_BASE + 95) +#define __NR_getpriority (__NR_SYSCALL_BASE + 96) +#define __NR_setpriority (__NR_SYSCALL_BASE + 97) +#define __NR_statfs (__NR_SYSCALL_BASE + 99) +#define __NR_fstatfs (__NR_SYSCALL_BASE + 100) +#define __NR_syslog (__NR_SYSCALL_BASE + 103) +#define __NR_setitimer (__NR_SYSCALL_BASE + 104) +#define __NR_getitimer (__NR_SYSCALL_BASE + 105) +#define __NR_stat (__NR_SYSCALL_BASE + 106) +#define __NR_lstat (__NR_SYSCALL_BASE + 107) +#define __NR_fstat (__NR_SYSCALL_BASE + 108) +#define __NR_vhangup (__NR_SYSCALL_BASE + 111) +#define __NR_wait4 (__NR_SYSCALL_BASE + 114) +#define __NR_swapoff (__NR_SYSCALL_BASE + 115) +#define __NR_sysinfo (__NR_SYSCALL_BASE + 116) +#define __NR_fsync (__NR_SYSCALL_BASE + 118) +#define __NR_sigreturn (__NR_SYSCALL_BASE + 119) +#define __NR_clone (__NR_SYSCALL_BASE + 120) +#define __NR_setdomainname (__NR_SYSCALL_BASE + 121) +#define __NR_uname (__NR_SYSCALL_BASE + 122) +#define __NR_adjtimex (__NR_SYSCALL_BASE + 124) +#define __NR_mprotect (__NR_SYSCALL_BASE + 125) +#define __NR_sigprocmask (__NR_SYSCALL_BASE + 126) +#define __NR_init_module (__NR_SYSCALL_BASE + 128) +#define __NR_delete_module (__NR_SYSCALL_BASE + 129) +#define __NR_quotactl (__NR_SYSCALL_BASE + 131) +#define __NR_getpgid (__NR_SYSCALL_BASE + 132) +#define __NR_fchdir (__NR_SYSCALL_BASE + 133) +#define __NR_bdflush (__NR_SYSCALL_BASE + 134) +#define __NR_sysfs (__NR_SYSCALL_BASE + 135) +#define __NR_personality (__NR_SYSCALL_BASE + 136) +#define __NR_setfsuid (__NR_SYSCALL_BASE + 138) +#define __NR_setfsgid (__NR_SYSCALL_BASE + 139) +#define __NR__llseek (__NR_SYSCALL_BASE + 140) +#define __NR_getdents (__NR_SYSCALL_BASE + 141) +#define __NR__newselect (__NR_SYSCALL_BASE + 142) +#define __NR_flock (__NR_SYSCALL_BASE + 143) +#define __NR_msync (__NR_SYSCALL_BASE + 144) +#define __NR_readv (__NR_SYSCALL_BASE + 145) +#define __NR_writev (__NR_SYSCALL_BASE + 146) +#define __NR_getsid (__NR_SYSCALL_BASE + 147) +#define __NR_fdatasync (__NR_SYSCALL_BASE + 148) +#define __NR__sysctl (__NR_SYSCALL_BASE + 149) +#define __NR_mlock (__NR_SYSCALL_BASE + 150) +#define __NR_munlock (__NR_SYSCALL_BASE + 151) +#define __NR_mlockall (__NR_SYSCALL_BASE + 152) +#define __NR_munlockall (__NR_SYSCALL_BASE + 153) +#define __NR_sched_setparam (__NR_SYSCALL_BASE + 154) +#define __NR_sched_getparam (__NR_SYSCALL_BASE + 155) +#define __NR_sched_setscheduler (__NR_SYSCALL_BASE + 156) +#define __NR_sched_getscheduler (__NR_SYSCALL_BASE + 157) +#define __NR_sched_yield (__NR_SYSCALL_BASE + 158) +#define __NR_sched_get_priority_max (__NR_SYSCALL_BASE + 159) +#define __NR_sched_get_priority_min (__NR_SYSCALL_BASE + 160) +#define __NR_sched_rr_get_interval (__NR_SYSCALL_BASE + 161) +#define __NR_nanosleep (__NR_SYSCALL_BASE + 162) +#define __NR_mremap (__NR_SYSCALL_BASE + 163) +#define __NR_setresuid (__NR_SYSCALL_BASE + 164) +#define __NR_getresuid (__NR_SYSCALL_BASE + 165) +#define __NR_poll (__NR_SYSCALL_BASE + 168) +#define __NR_nfsservctl (__NR_SYSCALL_BASE + 169) +#define __NR_setresgid (__NR_SYSCALL_BASE + 170) +#define __NR_getresgid (__NR_SYSCALL_BASE + 171) +#define __NR_prctl (__NR_SYSCALL_BASE + 172) +#define __NR_rt_sigreturn (__NR_SYSCALL_BASE + 173) +#define __NR_rt_sigaction (__NR_SYSCALL_BASE + 174) +#define __NR_rt_sigprocmask (__NR_SYSCALL_BASE + 175) +#define __NR_rt_sigpending (__NR_SYSCALL_BASE + 176) +#define __NR_rt_sigtimedwait (__NR_SYSCALL_BASE + 177) +#define __NR_rt_sigqueueinfo (__NR_SYSCALL_BASE + 178) +#define __NR_rt_sigsuspend (__NR_SYSCALL_BASE + 179) +#define __NR_pread64 (__NR_SYSCALL_BASE + 180) +#define __NR_pwrite64 (__NR_SYSCALL_BASE + 181) +#define __NR_chown (__NR_SYSCALL_BASE + 182) +#define __NR_getcwd (__NR_SYSCALL_BASE + 183) +#define __NR_capget (__NR_SYSCALL_BASE + 184) +#define __NR_capset (__NR_SYSCALL_BASE + 185) +#define __NR_sigaltstack (__NR_SYSCALL_BASE + 186) +#define __NR_sendfile (__NR_SYSCALL_BASE + 187) +#define __NR_vfork (__NR_SYSCALL_BASE + 190) +#define __NR_ugetrlimit (__NR_SYSCALL_BASE + 191) +#define __NR_mmap2 (__NR_SYSCALL_BASE + 192) +#define __NR_truncate64 (__NR_SYSCALL_BASE + 193) +#define __NR_ftruncate64 (__NR_SYSCALL_BASE + 194) +#define __NR_stat64 (__NR_SYSCALL_BASE + 195) +#define __NR_lstat64 (__NR_SYSCALL_BASE + 196) +#define __NR_fstat64 (__NR_SYSCALL_BASE + 197) +#define __NR_lchown32 (__NR_SYSCALL_BASE + 198) +#define __NR_getuid32 (__NR_SYSCALL_BASE + 199) +#define __NR_getgid32 (__NR_SYSCALL_BASE + 200) +#define __NR_geteuid32 (__NR_SYSCALL_BASE + 201) +#define __NR_getegid32 (__NR_SYSCALL_BASE + 202) +#define __NR_setreuid32 (__NR_SYSCALL_BASE + 203) +#define __NR_setregid32 (__NR_SYSCALL_BASE + 204) +#define __NR_getgroups32 (__NR_SYSCALL_BASE + 205) +#define __NR_setgroups32 (__NR_SYSCALL_BASE + 206) +#define __NR_fchown32 (__NR_SYSCALL_BASE + 207) +#define __NR_setresuid32 (__NR_SYSCALL_BASE + 208) +#define __NR_getresuid32 (__NR_SYSCALL_BASE + 209) +#define __NR_setresgid32 (__NR_SYSCALL_BASE + 210) +#define __NR_getresgid32 (__NR_SYSCALL_BASE + 211) +#define __NR_chown32 (__NR_SYSCALL_BASE + 212) +#define __NR_setuid32 (__NR_SYSCALL_BASE + 213) +#define __NR_setgid32 (__NR_SYSCALL_BASE + 214) +#define __NR_setfsuid32 (__NR_SYSCALL_BASE + 215) +#define __NR_setfsgid32 (__NR_SYSCALL_BASE + 216) +#define __NR_getdents64 (__NR_SYSCALL_BASE + 217) +#define __NR_pivot_root (__NR_SYSCALL_BASE + 218) +#define __NR_mincore (__NR_SYSCALL_BASE + 219) +#define __NR_madvise (__NR_SYSCALL_BASE + 220) +#define __NR_fcntl64 (__NR_SYSCALL_BASE + 221) +#define __NR_gettid (__NR_SYSCALL_BASE + 224) +#define __NR_readahead (__NR_SYSCALL_BASE + 225) +#define __NR_setxattr (__NR_SYSCALL_BASE + 226) +#define __NR_lsetxattr (__NR_SYSCALL_BASE + 227) +#define __NR_fsetxattr (__NR_SYSCALL_BASE + 228) +#define __NR_getxattr (__NR_SYSCALL_BASE + 229) +#define __NR_lgetxattr (__NR_SYSCALL_BASE + 230) +#define __NR_fgetxattr (__NR_SYSCALL_BASE + 231) +#define __NR_listxattr (__NR_SYSCALL_BASE + 232) +#define __NR_llistxattr (__NR_SYSCALL_BASE + 233) +#define __NR_flistxattr (__NR_SYSCALL_BASE + 234) +#define __NR_removexattr (__NR_SYSCALL_BASE + 235) +#define __NR_lremovexattr (__NR_SYSCALL_BASE + 236) +#define __NR_fremovexattr (__NR_SYSCALL_BASE + 237) +#define __NR_tkill (__NR_SYSCALL_BASE + 238) +#define __NR_sendfile64 (__NR_SYSCALL_BASE + 239) +#define __NR_futex (__NR_SYSCALL_BASE + 240) +#define __NR_sched_setaffinity (__NR_SYSCALL_BASE + 241) +#define __NR_sched_getaffinity (__NR_SYSCALL_BASE + 242) +#define __NR_io_setup (__NR_SYSCALL_BASE + 243) +#define __NR_io_destroy (__NR_SYSCALL_BASE + 244) +#define __NR_io_getevents (__NR_SYSCALL_BASE + 245) +#define __NR_io_submit (__NR_SYSCALL_BASE + 246) +#define __NR_io_cancel (__NR_SYSCALL_BASE + 247) +#define __NR_exit_group (__NR_SYSCALL_BASE + 248) +#define __NR_lookup_dcookie (__NR_SYSCALL_BASE + 249) +#define __NR_epoll_create (__NR_SYSCALL_BASE + 250) +#define __NR_epoll_ctl (__NR_SYSCALL_BASE + 251) +#define __NR_epoll_wait (__NR_SYSCALL_BASE + 252) +#define __NR_remap_file_pages (__NR_SYSCALL_BASE + 253) +#define __NR_set_tid_address (__NR_SYSCALL_BASE + 256) +#define __NR_timer_create (__NR_SYSCALL_BASE + 257) +#define __NR_timer_settime (__NR_SYSCALL_BASE + 258) +#define __NR_timer_gettime (__NR_SYSCALL_BASE + 259) +#define __NR_timer_getoverrun (__NR_SYSCALL_BASE + 260) +#define __NR_timer_delete (__NR_SYSCALL_BASE + 261) +#define __NR_clock_settime (__NR_SYSCALL_BASE + 262) +#define __NR_clock_gettime (__NR_SYSCALL_BASE + 263) +#define __NR_clock_getres (__NR_SYSCALL_BASE + 264) +#define __NR_clock_nanosleep (__NR_SYSCALL_BASE + 265) +#define __NR_statfs64 (__NR_SYSCALL_BASE + 266) +#define __NR_fstatfs64 (__NR_SYSCALL_BASE + 267) +#define __NR_tgkill (__NR_SYSCALL_BASE + 268) +#define __NR_utimes (__NR_SYSCALL_BASE + 269) +#define __NR_arm_fadvise64_64 (__NR_SYSCALL_BASE + 270) +#define __NR_pciconfig_iobase (__NR_SYSCALL_BASE + 271) +#define __NR_pciconfig_read (__NR_SYSCALL_BASE + 272) +#define __NR_pciconfig_write (__NR_SYSCALL_BASE + 273) +#define __NR_mq_open (__NR_SYSCALL_BASE + 274) +#define __NR_mq_unlink (__NR_SYSCALL_BASE + 275) +#define __NR_mq_timedsend (__NR_SYSCALL_BASE + 276) +#define __NR_mq_timedreceive (__NR_SYSCALL_BASE + 277) +#define __NR_mq_notify (__NR_SYSCALL_BASE + 278) +#define __NR_mq_getsetattr (__NR_SYSCALL_BASE + 279) +#define __NR_waitid (__NR_SYSCALL_BASE + 280) +#define __NR_socket (__NR_SYSCALL_BASE + 281) +#define __NR_bind (__NR_SYSCALL_BASE + 282) +#define __NR_connect (__NR_SYSCALL_BASE + 283) +#define __NR_listen (__NR_SYSCALL_BASE + 284) +#define __NR_accept (__NR_SYSCALL_BASE + 285) +#define __NR_getsockname (__NR_SYSCALL_BASE + 286) +#define __NR_getpeername (__NR_SYSCALL_BASE + 287) +#define __NR_socketpair (__NR_SYSCALL_BASE + 288) +#define __NR_send (__NR_SYSCALL_BASE + 289) +#define __NR_sendto (__NR_SYSCALL_BASE + 290) +#define __NR_recv (__NR_SYSCALL_BASE + 291) +#define __NR_recvfrom (__NR_SYSCALL_BASE + 292) +#define __NR_shutdown (__NR_SYSCALL_BASE + 293) +#define __NR_setsockopt (__NR_SYSCALL_BASE + 294) +#define __NR_getsockopt (__NR_SYSCALL_BASE + 295) +#define __NR_sendmsg (__NR_SYSCALL_BASE + 296) +#define __NR_recvmsg (__NR_SYSCALL_BASE + 297) +#define __NR_semop (__NR_SYSCALL_BASE + 298) +#define __NR_semget (__NR_SYSCALL_BASE + 299) +#define __NR_semctl (__NR_SYSCALL_BASE + 300) +#define __NR_msgsnd (__NR_SYSCALL_BASE + 301) +#define __NR_msgrcv (__NR_SYSCALL_BASE + 302) +#define __NR_msgget (__NR_SYSCALL_BASE + 303) +#define __NR_msgctl (__NR_SYSCALL_BASE + 304) +#define __NR_shmat (__NR_SYSCALL_BASE + 305) +#define __NR_shmdt (__NR_SYSCALL_BASE + 306) +#define __NR_shmget (__NR_SYSCALL_BASE + 307) +#define __NR_shmctl (__NR_SYSCALL_BASE + 308) +#define __NR_add_key (__NR_SYSCALL_BASE + 309) +#define __NR_request_key (__NR_SYSCALL_BASE + 310) +#define __NR_keyctl (__NR_SYSCALL_BASE + 311) +#define __NR_semtimedop (__NR_SYSCALL_BASE + 312) +#define __NR_vserver (__NR_SYSCALL_BASE + 313) +#define __NR_ioprio_set (__NR_SYSCALL_BASE + 314) +#define __NR_ioprio_get (__NR_SYSCALL_BASE + 315) +#define __NR_inotify_init (__NR_SYSCALL_BASE + 316) +#define __NR_inotify_add_watch (__NR_SYSCALL_BASE + 317) +#define __NR_inotify_rm_watch (__NR_SYSCALL_BASE + 318) +#define __NR_mbind (__NR_SYSCALL_BASE + 319) +#define __NR_get_mempolicy (__NR_SYSCALL_BASE + 320) +#define __NR_set_mempolicy (__NR_SYSCALL_BASE + 321) +#define __NR_openat (__NR_SYSCALL_BASE + 322) +#define __NR_mkdirat (__NR_SYSCALL_BASE + 323) +#define __NR_mknodat (__NR_SYSCALL_BASE + 324) +#define __NR_fchownat (__NR_SYSCALL_BASE + 325) +#define __NR_futimesat (__NR_SYSCALL_BASE + 326) +#define __NR_fstatat64 (__NR_SYSCALL_BASE + 327) +#define __NR_unlinkat (__NR_SYSCALL_BASE + 328) +#define __NR_renameat (__NR_SYSCALL_BASE + 329) +#define __NR_linkat (__NR_SYSCALL_BASE + 330) +#define __NR_symlinkat (__NR_SYSCALL_BASE + 331) +#define __NR_readlinkat (__NR_SYSCALL_BASE + 332) +#define __NR_fchmodat (__NR_SYSCALL_BASE + 333) +#define __NR_faccessat (__NR_SYSCALL_BASE + 334) +#define __NR_pselect6 (__NR_SYSCALL_BASE + 335) +#define __NR_ppoll (__NR_SYSCALL_BASE + 336) +#define __NR_unshare (__NR_SYSCALL_BASE + 337) +#define __NR_set_robust_list (__NR_SYSCALL_BASE + 338) +#define __NR_get_robust_list (__NR_SYSCALL_BASE + 339) +#define __NR_splice (__NR_SYSCALL_BASE + 340) +#define __NR_arm_sync_file_range (__NR_SYSCALL_BASE + 341) +#define __NR_tee (__NR_SYSCALL_BASE + 342) +#define __NR_vmsplice (__NR_SYSCALL_BASE + 343) +#define __NR_move_pages (__NR_SYSCALL_BASE + 344) +#define __NR_getcpu (__NR_SYSCALL_BASE + 345) +#define __NR_epoll_pwait (__NR_SYSCALL_BASE + 346) +#define __NR_kexec_load (__NR_SYSCALL_BASE + 347) +#define __NR_utimensat (__NR_SYSCALL_BASE + 348) +#define __NR_signalfd (__NR_SYSCALL_BASE + 349) +#define __NR_timerfd_create (__NR_SYSCALL_BASE + 350) +#define __NR_eventfd (__NR_SYSCALL_BASE + 351) +#define __NR_fallocate (__NR_SYSCALL_BASE + 352) +#define __NR_timerfd_settime (__NR_SYSCALL_BASE + 353) +#define __NR_timerfd_gettime (__NR_SYSCALL_BASE + 354) +#define __NR_signalfd4 (__NR_SYSCALL_BASE + 355) +#define __NR_eventfd2 (__NR_SYSCALL_BASE + 356) +#define __NR_epoll_create1 (__NR_SYSCALL_BASE + 357) +#define __NR_dup3 (__NR_SYSCALL_BASE + 358) +#define __NR_pipe2 (__NR_SYSCALL_BASE + 359) +#define __NR_inotify_init1 (__NR_SYSCALL_BASE + 360) +#define __NR_preadv (__NR_SYSCALL_BASE + 361) +#define __NR_pwritev (__NR_SYSCALL_BASE + 362) +#define __NR_rt_tgsigqueueinfo (__NR_SYSCALL_BASE + 363) +#define __NR_perf_event_open (__NR_SYSCALL_BASE + 364) +#define __NR_recvmmsg (__NR_SYSCALL_BASE + 365) +#define __NR_accept4 (__NR_SYSCALL_BASE + 366) +#define __NR_fanotify_init (__NR_SYSCALL_BASE + 367) +#define __NR_fanotify_mark (__NR_SYSCALL_BASE + 368) +#define __NR_prlimit64 (__NR_SYSCALL_BASE + 369) +#define __NR_name_to_handle_at (__NR_SYSCALL_BASE + 370) +#define __NR_open_by_handle_at (__NR_SYSCALL_BASE + 371) +#define __NR_clock_adjtime (__NR_SYSCALL_BASE + 372) +#define __NR_syncfs (__NR_SYSCALL_BASE + 373) +#define __NR_sendmmsg (__NR_SYSCALL_BASE + 374) +#define __NR_setns (__NR_SYSCALL_BASE + 375) +#define __NR_process_vm_readv (__NR_SYSCALL_BASE + 376) +#define __NR_process_vm_writev (__NR_SYSCALL_BASE + 377) +#define __NR_kcmp (__NR_SYSCALL_BASE + 378) +#define __NR_finit_module (__NR_SYSCALL_BASE + 379) +#define __NR_sched_setattr (__NR_SYSCALL_BASE + 380) +#define __NR_sched_getattr (__NR_SYSCALL_BASE + 381) +#define __NR_renameat2 (__NR_SYSCALL_BASE + 382) +#define __NR_seccomp (__NR_SYSCALL_BASE + 383) +#define __NR_getrandom (__NR_SYSCALL_BASE + 384) +#define __NR_memfd_create (__NR_SYSCALL_BASE + 385) +#define __NR_bpf (__NR_SYSCALL_BASE + 386) +#define __NR_execveat (__NR_SYSCALL_BASE + 387) +#define __NR_userfaultfd (__NR_SYSCALL_BASE + 388) +#define __NR_membarrier (__NR_SYSCALL_BASE + 389) +#define __NR_mlock2 (__NR_SYSCALL_BASE + 390) +#define __NR_copy_file_range (__NR_SYSCALL_BASE + 391) +#define __NR_preadv2 (__NR_SYSCALL_BASE + 392) +#define __NR_pwritev2 (__NR_SYSCALL_BASE + 393) +#define __NR_pkey_mprotect (__NR_SYSCALL_BASE + 394) +#define __NR_pkey_alloc (__NR_SYSCALL_BASE + 395) +#define __NR_pkey_free (__NR_SYSCALL_BASE + 396) +#define __NR_statx (__NR_SYSCALL_BASE + 397) +#define __NR_rseq (__NR_SYSCALL_BASE + 398) +#define __NR_io_pgetevents (__NR_SYSCALL_BASE + 399) +#define __NR_migrate_pages (__NR_SYSCALL_BASE + 400) +#define __NR_kexec_file_load (__NR_SYSCALL_BASE + 401) +#define __NR_clock_gettime64 (__NR_SYSCALL_BASE + 403) +#define __NR_clock_settime64 (__NR_SYSCALL_BASE + 404) +#define __NR_clock_adjtime64 (__NR_SYSCALL_BASE + 405) +#define __NR_clock_getres_time64 (__NR_SYSCALL_BASE + 406) +#define __NR_clock_nanosleep_time64 (__NR_SYSCALL_BASE + 407) +#define __NR_timer_gettime64 (__NR_SYSCALL_BASE + 408) +#define __NR_timer_settime64 (__NR_SYSCALL_BASE + 409) +#define __NR_timerfd_gettime64 (__NR_SYSCALL_BASE + 410) +#define __NR_timerfd_settime64 (__NR_SYSCALL_BASE + 411) +#define __NR_utimensat_time64 (__NR_SYSCALL_BASE + 412) +#define __NR_pselect6_time64 (__NR_SYSCALL_BASE + 413) +#define __NR_ppoll_time64 (__NR_SYSCALL_BASE + 414) +#define __NR_io_pgetevents_time64 (__NR_SYSCALL_BASE + 416) +#define __NR_recvmmsg_time64 (__NR_SYSCALL_BASE + 417) +#define __NR_mq_timedsend_time64 (__NR_SYSCALL_BASE + 418) +#define __NR_mq_timedreceive_time64 (__NR_SYSCALL_BASE + 419) +#define __NR_semtimedop_time64 (__NR_SYSCALL_BASE + 420) +#define __NR_rt_sigtimedwait_time64 (__NR_SYSCALL_BASE + 421) +#define __NR_futex_time64 (__NR_SYSCALL_BASE + 422) +#define __NR_sched_rr_get_interval_time64 (__NR_SYSCALL_BASE + 423) +#define __NR_pidfd_send_signal (__NR_SYSCALL_BASE + 424) +#define __NR_io_uring_setup (__NR_SYSCALL_BASE + 425) +#define __NR_io_uring_enter (__NR_SYSCALL_BASE + 426) +#define __NR_io_uring_register (__NR_SYSCALL_BASE + 427) +#define __NR_open_tree (__NR_SYSCALL_BASE + 428) +#define __NR_move_mount (__NR_SYSCALL_BASE + 429) +#define __NR_fsopen (__NR_SYSCALL_BASE + 430) +#define __NR_fsconfig (__NR_SYSCALL_BASE + 431) +#define __NR_fsmount (__NR_SYSCALL_BASE + 432) +#define __NR_fspick (__NR_SYSCALL_BASE + 433) +#define __NR_pidfd_open (__NR_SYSCALL_BASE + 434) +#define __NR_clone3 (__NR_SYSCALL_BASE + 435) +#define __NR_close_range (__NR_SYSCALL_BASE + 436) +#define __NR_openat2 (__NR_SYSCALL_BASE + 437) +#define __NR_pidfd_getfd (__NR_SYSCALL_BASE + 438) +#define __NR_faccessat2 (__NR_SYSCALL_BASE + 439) +#define __NR_process_madvise (__NR_SYSCALL_BASE + 440) +#endif diff --git a/linux-5.10/prebuilts/usr/include/asm/unistd-eabi.h b/linux-5.10/prebuilts/usr/include/asm/unistd-eabi.h new file mode 100644 index 0000000..151eabf --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/asm/unistd-eabi.h @@ -0,0 +1,8 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _ASM_ARM_UNISTD_EABI_H +#define _ASM_ARM_UNISTD_EABI_H 1 +#endif diff --git a/linux-5.10/prebuilts/usr/include/asm/unistd-oabi.h b/linux-5.10/prebuilts/usr/include/asm/unistd-oabi.h new file mode 100644 index 0000000..a795bbf --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/asm/unistd-oabi.h @@ -0,0 +1,20 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _ASM_ARM_UNISTD_OABI_H +#define _ASM_ARM_UNISTD_OABI_H 1 +#define __NR_time (__NR_SYSCALL_BASE + 13) +#define __NR_umount (__NR_SYSCALL_BASE + 22) +#define __NR_stime (__NR_SYSCALL_BASE + 25) +#define __NR_alarm (__NR_SYSCALL_BASE + 27) +#define __NR_utime (__NR_SYSCALL_BASE + 30) +#define __NR_getrlimit (__NR_SYSCALL_BASE + 76) +#define __NR_select (__NR_SYSCALL_BASE + 82) +#define __NR_readdir (__NR_SYSCALL_BASE + 89) +#define __NR_mmap (__NR_SYSCALL_BASE + 90) +#define __NR_socketcall (__NR_SYSCALL_BASE + 102) +#define __NR_syscall (__NR_SYSCALL_BASE + 113) +#define __NR_ipc (__NR_SYSCALL_BASE + 117) +#endif diff --git a/linux-5.10/prebuilts/usr/include/asm/unistd.h b/linux-5.10/prebuilts/usr/include/asm/unistd.h new file mode 100644 index 0000000..8927d1c --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/asm/unistd.h @@ -0,0 +1,25 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef __ASM_ARM_UNISTD_H +#define __ASM_ARM_UNISTD_H +#define __NR_OABI_SYSCALL_BASE 0x900000 +#if defined(__thumb__) || defined(__ARM_EABI__) +#define __NR_SYSCALL_BASE 0 +#include +#else +#define __NR_SYSCALL_BASE __NR_OABI_SYSCALL_BASE +#include +#endif +#include +#define __NR_sync_file_range2 __NR_arm_sync_file_range +#define __ARM_NR_BASE (__NR_SYSCALL_BASE+0x0f0000) +#define __ARM_NR_breakpoint (__ARM_NR_BASE+1) +#define __ARM_NR_cacheflush (__ARM_NR_BASE+2) +#define __ARM_NR_usr26 (__ARM_NR_BASE+3) +#define __ARM_NR_usr32 (__ARM_NR_BASE+4) +#define __ARM_NR_set_tls (__ARM_NR_BASE+5) +#define __ARM_NR_get_tls (__ARM_NR_BASE+6) +#endif diff --git a/linux-5.10/prebuilts/usr/include/drm/amdgpu_drm.h b/linux-5.10/prebuilts/usr/include/drm/amdgpu_drm.h new file mode 100644 index 0000000..e429ea4 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/drm/amdgpu_drm.h @@ -0,0 +1,793 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef __AMDGPU_DRM_H__ +#define __AMDGPU_DRM_H__ +#include "drm.h" +#if defined(__cplusplus) +extern "C" { +#endif +#define DRM_AMDGPU_GEM_CREATE 0x00 +#define DRM_AMDGPU_GEM_MMAP 0x01 +#define DRM_AMDGPU_CTX 0x02 +#define DRM_AMDGPU_BO_LIST 0x03 +#define DRM_AMDGPU_CS 0x04 +#define DRM_AMDGPU_INFO 0x05 +#define DRM_AMDGPU_GEM_METADATA 0x06 +#define DRM_AMDGPU_GEM_WAIT_IDLE 0x07 +#define DRM_AMDGPU_GEM_VA 0x08 +#define DRM_AMDGPU_WAIT_CS 0x09 +#define DRM_AMDGPU_GEM_OP 0x10 +#define DRM_AMDGPU_GEM_USERPTR 0x11 +#define DRM_AMDGPU_WAIT_FENCES 0x12 +#define DRM_AMDGPU_VM 0x13 +#define DRM_AMDGPU_FENCE_TO_HANDLE 0x14 +#define DRM_AMDGPU_SCHED 0x15 +#define DRM_IOCTL_AMDGPU_GEM_CREATE DRM_IOWR(DRM_COMMAND_BASE + DRM_AMDGPU_GEM_CREATE, union drm_amdgpu_gem_create) +#define DRM_IOCTL_AMDGPU_GEM_MMAP DRM_IOWR(DRM_COMMAND_BASE + DRM_AMDGPU_GEM_MMAP, union drm_amdgpu_gem_mmap) +#define DRM_IOCTL_AMDGPU_CTX DRM_IOWR(DRM_COMMAND_BASE + DRM_AMDGPU_CTX, union drm_amdgpu_ctx) +#define DRM_IOCTL_AMDGPU_BO_LIST DRM_IOWR(DRM_COMMAND_BASE + DRM_AMDGPU_BO_LIST, union drm_amdgpu_bo_list) +#define DRM_IOCTL_AMDGPU_CS DRM_IOWR(DRM_COMMAND_BASE + DRM_AMDGPU_CS, union drm_amdgpu_cs) +#define DRM_IOCTL_AMDGPU_INFO DRM_IOW(DRM_COMMAND_BASE + DRM_AMDGPU_INFO, struct drm_amdgpu_info) +#define DRM_IOCTL_AMDGPU_GEM_METADATA DRM_IOWR(DRM_COMMAND_BASE + DRM_AMDGPU_GEM_METADATA, struct drm_amdgpu_gem_metadata) +#define DRM_IOCTL_AMDGPU_GEM_WAIT_IDLE DRM_IOWR(DRM_COMMAND_BASE + DRM_AMDGPU_GEM_WAIT_IDLE, union drm_amdgpu_gem_wait_idle) +#define DRM_IOCTL_AMDGPU_GEM_VA DRM_IOW(DRM_COMMAND_BASE + DRM_AMDGPU_GEM_VA, struct drm_amdgpu_gem_va) +#define DRM_IOCTL_AMDGPU_WAIT_CS DRM_IOWR(DRM_COMMAND_BASE + DRM_AMDGPU_WAIT_CS, union drm_amdgpu_wait_cs) +#define DRM_IOCTL_AMDGPU_GEM_OP DRM_IOWR(DRM_COMMAND_BASE + DRM_AMDGPU_GEM_OP, struct drm_amdgpu_gem_op) +#define DRM_IOCTL_AMDGPU_GEM_USERPTR DRM_IOWR(DRM_COMMAND_BASE + DRM_AMDGPU_GEM_USERPTR, struct drm_amdgpu_gem_userptr) +#define DRM_IOCTL_AMDGPU_WAIT_FENCES DRM_IOWR(DRM_COMMAND_BASE + DRM_AMDGPU_WAIT_FENCES, union drm_amdgpu_wait_fences) +#define DRM_IOCTL_AMDGPU_VM DRM_IOWR(DRM_COMMAND_BASE + DRM_AMDGPU_VM, union drm_amdgpu_vm) +#define DRM_IOCTL_AMDGPU_FENCE_TO_HANDLE DRM_IOWR(DRM_COMMAND_BASE + DRM_AMDGPU_FENCE_TO_HANDLE, union drm_amdgpu_fence_to_handle) +#define DRM_IOCTL_AMDGPU_SCHED DRM_IOW(DRM_COMMAND_BASE + DRM_AMDGPU_SCHED, union drm_amdgpu_sched) +#define AMDGPU_GEM_DOMAIN_CPU 0x1 +#define AMDGPU_GEM_DOMAIN_GTT 0x2 +#define AMDGPU_GEM_DOMAIN_VRAM 0x4 +#define AMDGPU_GEM_DOMAIN_GDS 0x8 +#define AMDGPU_GEM_DOMAIN_GWS 0x10 +#define AMDGPU_GEM_DOMAIN_OA 0x20 +#define AMDGPU_GEM_DOMAIN_MASK (AMDGPU_GEM_DOMAIN_CPU | \ + AMDGPU_GEM_DOMAIN_GTT | \ + AMDGPU_GEM_DOMAIN_VRAM | \ + AMDGPU_GEM_DOMAIN_GDS | \ + AMDGPU_GEM_DOMAIN_GWS | \ + AMDGPU_GEM_DOMAIN_OA) +#define AMDGPU_GEM_CREATE_CPU_ACCESS_REQUIRED (1 << 0) +#define AMDGPU_GEM_CREATE_NO_CPU_ACCESS (1 << 1) +#define AMDGPU_GEM_CREATE_CPU_GTT_USWC (1 << 2) +#define AMDGPU_GEM_CREATE_VRAM_CLEARED (1 << 3) +#define AMDGPU_GEM_CREATE_SHADOW (1 << 4) +#define AMDGPU_GEM_CREATE_VRAM_CONTIGUOUS (1 << 5) +#define AMDGPU_GEM_CREATE_VM_ALWAYS_VALID (1 << 6) +#define AMDGPU_GEM_CREATE_EXPLICIT_SYNC (1 << 7) +#define AMDGPU_GEM_CREATE_CP_MQD_GFX9 (1 << 8) +#define AMDGPU_GEM_CREATE_VRAM_WIPE_ON_RELEASE (1 << 9) +#define AMDGPU_GEM_CREATE_ENCRYPTED (1 << 10) +struct drm_amdgpu_gem_create_in { + + __u64 bo_size; + + __u64 alignment; + + __u64 domains; + + __u64 domain_flags; +}; +struct drm_amdgpu_gem_create_out { + + __u32 handle; + __u32 _pad; +}; +union drm_amdgpu_gem_create { + struct drm_amdgpu_gem_create_in in; + struct drm_amdgpu_gem_create_out out; +}; +#define AMDGPU_BO_LIST_OP_CREATE 0 +#define AMDGPU_BO_LIST_OP_DESTROY 1 +#define AMDGPU_BO_LIST_OP_UPDATE 2 +struct drm_amdgpu_bo_list_in { + + __u32 operation; + + __u32 list_handle; + + __u32 bo_number; + + __u32 bo_info_size; + + __u64 bo_info_ptr; +}; +struct drm_amdgpu_bo_list_entry { + + __u32 bo_handle; + + __u32 bo_priority; +}; +struct drm_amdgpu_bo_list_out { + + __u32 list_handle; + __u32 _pad; +}; +union drm_amdgpu_bo_list { + struct drm_amdgpu_bo_list_in in; + struct drm_amdgpu_bo_list_out out; +}; +#define AMDGPU_CTX_OP_ALLOC_CTX 1 +#define AMDGPU_CTX_OP_FREE_CTX 2 +#define AMDGPU_CTX_OP_QUERY_STATE 3 +#define AMDGPU_CTX_OP_QUERY_STATE2 4 +#define AMDGPU_CTX_NO_RESET 0 +#define AMDGPU_CTX_GUILTY_RESET 1 +#define AMDGPU_CTX_INNOCENT_RESET 2 +#define AMDGPU_CTX_UNKNOWN_RESET 3 +#define AMDGPU_CTX_QUERY2_FLAGS_RESET (1<<0) +#define AMDGPU_CTX_QUERY2_FLAGS_VRAMLOST (1<<1) +#define AMDGPU_CTX_QUERY2_FLAGS_GUILTY (1<<2) +#define AMDGPU_CTX_QUERY2_FLAGS_RAS_CE (1<<3) +#define AMDGPU_CTX_QUERY2_FLAGS_RAS_UE (1<<4) +#define AMDGPU_CTX_PRIORITY_UNSET -2048 +#define AMDGPU_CTX_PRIORITY_VERY_LOW -1023 +#define AMDGPU_CTX_PRIORITY_LOW -512 +#define AMDGPU_CTX_PRIORITY_NORMAL 0 +#define AMDGPU_CTX_PRIORITY_HIGH 512 +#define AMDGPU_CTX_PRIORITY_VERY_HIGH 1023 +struct drm_amdgpu_ctx_in { + + __u32 op; + + __u32 flags; + __u32 ctx_id; + + __s32 priority; +}; +union drm_amdgpu_ctx_out { + struct { + __u32 ctx_id; + __u32 _pad; + } alloc; + struct { + + __u64 flags; + + __u32 hangs; + + __u32 reset_status; + } state; +}; +union drm_amdgpu_ctx { + struct drm_amdgpu_ctx_in in; + union drm_amdgpu_ctx_out out; +}; +#define AMDGPU_VM_OP_RESERVE_VMID 1 +#define AMDGPU_VM_OP_UNRESERVE_VMID 2 +struct drm_amdgpu_vm_in { + + __u32 op; + __u32 flags; +}; +struct drm_amdgpu_vm_out { + + __u64 flags; +}; +union drm_amdgpu_vm { + struct drm_amdgpu_vm_in in; + struct drm_amdgpu_vm_out out; +}; +#define AMDGPU_SCHED_OP_PROCESS_PRIORITY_OVERRIDE 1 +#define AMDGPU_SCHED_OP_CONTEXT_PRIORITY_OVERRIDE 2 +struct drm_amdgpu_sched_in { + + __u32 op; + __u32 fd; + + __s32 priority; + __u32 ctx_id; +}; +union drm_amdgpu_sched { + struct drm_amdgpu_sched_in in; +}; +#define AMDGPU_GEM_USERPTR_READONLY (1 << 0) +#define AMDGPU_GEM_USERPTR_ANONONLY (1 << 1) +#define AMDGPU_GEM_USERPTR_VALIDATE (1 << 2) +#define AMDGPU_GEM_USERPTR_REGISTER (1 << 3) +struct drm_amdgpu_gem_userptr { + __u64 addr; + __u64 size; + + __u32 flags; + + __u32 handle; +}; +#define AMDGPU_TILING_ARRAY_MODE_SHIFT 0 +#define AMDGPU_TILING_ARRAY_MODE_MASK 0xf +#define AMDGPU_TILING_PIPE_CONFIG_SHIFT 4 +#define AMDGPU_TILING_PIPE_CONFIG_MASK 0x1f +#define AMDGPU_TILING_TILE_SPLIT_SHIFT 9 +#define AMDGPU_TILING_TILE_SPLIT_MASK 0x7 +#define AMDGPU_TILING_MICRO_TILE_MODE_SHIFT 12 +#define AMDGPU_TILING_MICRO_TILE_MODE_MASK 0x7 +#define AMDGPU_TILING_BANK_WIDTH_SHIFT 15 +#define AMDGPU_TILING_BANK_WIDTH_MASK 0x3 +#define AMDGPU_TILING_BANK_HEIGHT_SHIFT 17 +#define AMDGPU_TILING_BANK_HEIGHT_MASK 0x3 +#define AMDGPU_TILING_MACRO_TILE_ASPECT_SHIFT 19 +#define AMDGPU_TILING_MACRO_TILE_ASPECT_MASK 0x3 +#define AMDGPU_TILING_NUM_BANKS_SHIFT 21 +#define AMDGPU_TILING_NUM_BANKS_MASK 0x3 +#define AMDGPU_TILING_SWIZZLE_MODE_SHIFT 0 +#define AMDGPU_TILING_SWIZZLE_MODE_MASK 0x1f +#define AMDGPU_TILING_DCC_OFFSET_256B_SHIFT 5 +#define AMDGPU_TILING_DCC_OFFSET_256B_MASK 0xFFFFFF +#define AMDGPU_TILING_DCC_PITCH_MAX_SHIFT 29 +#define AMDGPU_TILING_DCC_PITCH_MAX_MASK 0x3FFF +#define AMDGPU_TILING_DCC_INDEPENDENT_64B_SHIFT 43 +#define AMDGPU_TILING_DCC_INDEPENDENT_64B_MASK 0x1 +#define AMDGPU_TILING_DCC_INDEPENDENT_128B_SHIFT 44 +#define AMDGPU_TILING_DCC_INDEPENDENT_128B_MASK 0x1 +#define AMDGPU_TILING_SCANOUT_SHIFT 63 +#define AMDGPU_TILING_SCANOUT_MASK 0x1 +#define AMDGPU_TILING_SET(field, value) \ + (((__u64)(value) & AMDGPU_TILING_##field##_MASK) << AMDGPU_TILING_##field##_SHIFT) +#define AMDGPU_TILING_GET(value, field) \ + (((__u64)(value) >> AMDGPU_TILING_##field##_SHIFT) & AMDGPU_TILING_##field##_MASK) +#define AMDGPU_GEM_METADATA_OP_SET_METADATA 1 +#define AMDGPU_GEM_METADATA_OP_GET_METADATA 2 +struct drm_amdgpu_gem_metadata { + + __u32 handle; + + __u32 op; + struct { + + __u64 flags; + + __u64 tiling_info; + __u32 data_size_bytes; + __u32 data[64]; + } data; +}; +struct drm_amdgpu_gem_mmap_in { + + __u32 handle; + __u32 _pad; +}; +struct drm_amdgpu_gem_mmap_out { + + __u64 addr_ptr; +}; +union drm_amdgpu_gem_mmap { + struct drm_amdgpu_gem_mmap_in in; + struct drm_amdgpu_gem_mmap_out out; +}; +struct drm_amdgpu_gem_wait_idle_in { + + __u32 handle; + + __u32 flags; + + __u64 timeout; +}; +struct drm_amdgpu_gem_wait_idle_out { + + __u32 status; + + __u32 domain; +}; +union drm_amdgpu_gem_wait_idle { + struct drm_amdgpu_gem_wait_idle_in in; + struct drm_amdgpu_gem_wait_idle_out out; +}; +struct drm_amdgpu_wait_cs_in { + + __u64 handle; + + __u64 timeout; + __u32 ip_type; + __u32 ip_instance; + __u32 ring; + __u32 ctx_id; +}; +struct drm_amdgpu_wait_cs_out { + + __u64 status; +}; +union drm_amdgpu_wait_cs { + struct drm_amdgpu_wait_cs_in in; + struct drm_amdgpu_wait_cs_out out; +}; +struct drm_amdgpu_fence { + __u32 ctx_id; + __u32 ip_type; + __u32 ip_instance; + __u32 ring; + __u64 seq_no; +}; +struct drm_amdgpu_wait_fences_in { + + __u64 fences; + __u32 fence_count; + __u32 wait_all; + __u64 timeout_ns; +}; +struct drm_amdgpu_wait_fences_out { + __u32 status; + __u32 first_signaled; +}; +union drm_amdgpu_wait_fences { + struct drm_amdgpu_wait_fences_in in; + struct drm_amdgpu_wait_fences_out out; +}; +#define AMDGPU_GEM_OP_GET_GEM_CREATE_INFO 0 +#define AMDGPU_GEM_OP_SET_PLACEMENT 1 +struct drm_amdgpu_gem_op { + + __u32 handle; + + __u32 op; + + __u64 value; +}; +#define AMDGPU_VA_OP_MAP 1 +#define AMDGPU_VA_OP_UNMAP 2 +#define AMDGPU_VA_OP_CLEAR 3 +#define AMDGPU_VA_OP_REPLACE 4 +#define AMDGPU_VM_DELAY_UPDATE (1 << 0) +#define AMDGPU_VM_PAGE_READABLE (1 << 1) +#define AMDGPU_VM_PAGE_WRITEABLE (1 << 2) +#define AMDGPU_VM_PAGE_EXECUTABLE (1 << 3) +#define AMDGPU_VM_PAGE_PRT (1 << 4) +#define AMDGPU_VM_MTYPE_MASK (0xf << 5) +#define AMDGPU_VM_MTYPE_DEFAULT (0 << 5) +#define AMDGPU_VM_MTYPE_NC (1 << 5) +#define AMDGPU_VM_MTYPE_WC (2 << 5) +#define AMDGPU_VM_MTYPE_CC (3 << 5) +#define AMDGPU_VM_MTYPE_UC (4 << 5) +#define AMDGPU_VM_MTYPE_RW (5 << 5) +struct drm_amdgpu_gem_va { + + __u32 handle; + __u32 _pad; + + __u32 operation; + + __u32 flags; + + __u64 va_address; + + __u64 offset_in_bo; + + __u64 map_size; +}; +#define AMDGPU_HW_IP_GFX 0 +#define AMDGPU_HW_IP_COMPUTE 1 +#define AMDGPU_HW_IP_DMA 2 +#define AMDGPU_HW_IP_UVD 3 +#define AMDGPU_HW_IP_VCE 4 +#define AMDGPU_HW_IP_UVD_ENC 5 +#define AMDGPU_HW_IP_VCN_DEC 6 +#define AMDGPU_HW_IP_VCN_ENC 7 +#define AMDGPU_HW_IP_VCN_JPEG 8 +#define AMDGPU_HW_IP_NUM 9 +#define AMDGPU_HW_IP_INSTANCE_MAX_COUNT 1 +#define AMDGPU_CHUNK_ID_IB 0x01 +#define AMDGPU_CHUNK_ID_FENCE 0x02 +#define AMDGPU_CHUNK_ID_DEPENDENCIES 0x03 +#define AMDGPU_CHUNK_ID_SYNCOBJ_IN 0x04 +#define AMDGPU_CHUNK_ID_SYNCOBJ_OUT 0x05 +#define AMDGPU_CHUNK_ID_BO_HANDLES 0x06 +#define AMDGPU_CHUNK_ID_SCHEDULED_DEPENDENCIES 0x07 +#define AMDGPU_CHUNK_ID_SYNCOBJ_TIMELINE_WAIT 0x08 +#define AMDGPU_CHUNK_ID_SYNCOBJ_TIMELINE_SIGNAL 0x09 +struct drm_amdgpu_cs_chunk { + __u32 chunk_id; + __u32 length_dw; + __u64 chunk_data; +}; +struct drm_amdgpu_cs_in { + + __u32 ctx_id; + + __u32 bo_list_handle; + __u32 num_chunks; + __u32 flags; + + __u64 chunks; +}; +struct drm_amdgpu_cs_out { + __u64 handle; +}; +union drm_amdgpu_cs { + struct drm_amdgpu_cs_in in; + struct drm_amdgpu_cs_out out; +}; +#define AMDGPU_IB_FLAG_CE (1<<0) +#define AMDGPU_IB_FLAG_PREAMBLE (1<<1) +#define AMDGPU_IB_FLAG_PREEMPT (1<<2) +#define AMDGPU_IB_FLAG_TC_WB_NOT_INVALIDATE (1 << 3) +#define AMDGPU_IB_FLAG_RESET_GDS_MAX_WAVE_ID (1 << 4) +#define AMDGPU_IB_FLAGS_SECURE (1 << 5) +#define AMDGPU_IB_FLAG_EMIT_MEM_SYNC (1 << 6) +struct drm_amdgpu_cs_chunk_ib { + __u32 _pad; + + __u32 flags; + + __u64 va_start; + + __u32 ib_bytes; + + __u32 ip_type; + + __u32 ip_instance; + + __u32 ring; +}; +struct drm_amdgpu_cs_chunk_dep { + __u32 ip_type; + __u32 ip_instance; + __u32 ring; + __u32 ctx_id; + __u64 handle; +}; +struct drm_amdgpu_cs_chunk_fence { + __u32 handle; + __u32 offset; +}; +struct drm_amdgpu_cs_chunk_sem { + __u32 handle; +}; +struct drm_amdgpu_cs_chunk_syncobj { + __u32 handle; + __u32 flags; + __u64 point; +}; +#define AMDGPU_FENCE_TO_HANDLE_GET_SYNCOBJ 0 +#define AMDGPU_FENCE_TO_HANDLE_GET_SYNCOBJ_FD 1 +#define AMDGPU_FENCE_TO_HANDLE_GET_SYNC_FILE_FD 2 +union drm_amdgpu_fence_to_handle { + struct { + struct drm_amdgpu_fence fence; + __u32 what; + __u32 pad; + } in; + struct { + __u32 handle; + } out; +}; +struct drm_amdgpu_cs_chunk_data { + union { + struct drm_amdgpu_cs_chunk_ib ib_data; + struct drm_amdgpu_cs_chunk_fence fence_data; + }; +}; +#define AMDGPU_IDS_FLAGS_FUSION 0x1 +#define AMDGPU_IDS_FLAGS_PREEMPTION 0x2 +#define AMDGPU_IDS_FLAGS_TMZ 0x4 +#define AMDGPU_INFO_ACCEL_WORKING 0x00 +#define AMDGPU_INFO_CRTC_FROM_ID 0x01 +#define AMDGPU_INFO_HW_IP_INFO 0x02 +#define AMDGPU_INFO_HW_IP_COUNT 0x03 +#define AMDGPU_INFO_TIMESTAMP 0x05 +#define AMDGPU_INFO_FW_VERSION 0x0e + + #define AMDGPU_INFO_FW_VCE 0x1 + + #define AMDGPU_INFO_FW_UVD 0x2 + + #define AMDGPU_INFO_FW_GMC 0x03 + + #define AMDGPU_INFO_FW_GFX_ME 0x04 + + #define AMDGPU_INFO_FW_GFX_PFP 0x05 + + #define AMDGPU_INFO_FW_GFX_CE 0x06 + + #define AMDGPU_INFO_FW_GFX_RLC 0x07 + + #define AMDGPU_INFO_FW_GFX_MEC 0x08 + + #define AMDGPU_INFO_FW_SMC 0x0a + + #define AMDGPU_INFO_FW_SDMA 0x0b + + #define AMDGPU_INFO_FW_SOS 0x0c + + #define AMDGPU_INFO_FW_ASD 0x0d + + #define AMDGPU_INFO_FW_VCN 0x0e + + #define AMDGPU_INFO_FW_GFX_RLC_RESTORE_LIST_CNTL 0x0f + + #define AMDGPU_INFO_FW_GFX_RLC_RESTORE_LIST_GPM_MEM 0x10 + + #define AMDGPU_INFO_FW_GFX_RLC_RESTORE_LIST_SRM_MEM 0x11 + + #define AMDGPU_INFO_FW_DMCU 0x12 + #define AMDGPU_INFO_FW_TA 0x13 + + #define AMDGPU_INFO_FW_DMCUB 0x14 +#define AMDGPU_INFO_NUM_BYTES_MOVED 0x0f +#define AMDGPU_INFO_VRAM_USAGE 0x10 +#define AMDGPU_INFO_GTT_USAGE 0x11 +#define AMDGPU_INFO_GDS_CONFIG 0x13 +#define AMDGPU_INFO_VRAM_GTT 0x14 +#define AMDGPU_INFO_READ_MMR_REG 0x15 +#define AMDGPU_INFO_DEV_INFO 0x16 +#define AMDGPU_INFO_VIS_VRAM_USAGE 0x17 +#define AMDGPU_INFO_NUM_EVICTIONS 0x18 +#define AMDGPU_INFO_MEMORY 0x19 +#define AMDGPU_INFO_VCE_CLOCK_TABLE 0x1A +#define AMDGPU_INFO_VBIOS 0x1B + + #define AMDGPU_INFO_VBIOS_SIZE 0x1 + + #define AMDGPU_INFO_VBIOS_IMAGE 0x2 +#define AMDGPU_INFO_NUM_HANDLES 0x1C +#define AMDGPU_INFO_SENSOR 0x1D + + #define AMDGPU_INFO_SENSOR_GFX_SCLK 0x1 + + #define AMDGPU_INFO_SENSOR_GFX_MCLK 0x2 + + #define AMDGPU_INFO_SENSOR_GPU_TEMP 0x3 + + #define AMDGPU_INFO_SENSOR_GPU_LOAD 0x4 + + #define AMDGPU_INFO_SENSOR_GPU_AVG_POWER 0x5 + + #define AMDGPU_INFO_SENSOR_VDDNB 0x6 + + #define AMDGPU_INFO_SENSOR_VDDGFX 0x7 + + #define AMDGPU_INFO_SENSOR_STABLE_PSTATE_GFX_SCLK 0x8 + + #define AMDGPU_INFO_SENSOR_STABLE_PSTATE_GFX_MCLK 0x9 +#define AMDGPU_INFO_NUM_VRAM_CPU_PAGE_FAULTS 0x1E +#define AMDGPU_INFO_VRAM_LOST_COUNTER 0x1F +#define AMDGPU_INFO_RAS_ENABLED_FEATURES 0x20 +#define AMDGPU_INFO_RAS_ENABLED_UMC (1 << 0) +#define AMDGPU_INFO_RAS_ENABLED_SDMA (1 << 1) +#define AMDGPU_INFO_RAS_ENABLED_GFX (1 << 2) +#define AMDGPU_INFO_RAS_ENABLED_MMHUB (1 << 3) +#define AMDGPU_INFO_RAS_ENABLED_ATHUB (1 << 4) +#define AMDGPU_INFO_RAS_ENABLED_PCIE (1 << 5) +#define AMDGPU_INFO_RAS_ENABLED_HDP (1 << 6) +#define AMDGPU_INFO_RAS_ENABLED_XGMI (1 << 7) +#define AMDGPU_INFO_RAS_ENABLED_DF (1 << 8) +#define AMDGPU_INFO_RAS_ENABLED_SMN (1 << 9) +#define AMDGPU_INFO_RAS_ENABLED_SEM (1 << 10) +#define AMDGPU_INFO_RAS_ENABLED_MP0 (1 << 11) +#define AMDGPU_INFO_RAS_ENABLED_MP1 (1 << 12) +#define AMDGPU_INFO_RAS_ENABLED_FUSE (1 << 13) +#define AMDGPU_INFO_MMR_SE_INDEX_SHIFT 0 +#define AMDGPU_INFO_MMR_SE_INDEX_MASK 0xff +#define AMDGPU_INFO_MMR_SH_INDEX_SHIFT 8 +#define AMDGPU_INFO_MMR_SH_INDEX_MASK 0xff +struct drm_amdgpu_query_fw { + + __u32 fw_type; + + __u32 ip_instance; + + __u32 index; + __u32 _pad; +}; +struct drm_amdgpu_info { + + __u64 return_pointer; + + __u32 return_size; + + __u32 query; + union { + struct { + __u32 id; + __u32 _pad; + } mode_crtc; + struct { + + __u32 type; + + __u32 ip_instance; + } query_hw_ip; + struct { + __u32 dword_offset; + + __u32 count; + __u32 instance; + + __u32 flags; + } read_mmr_reg; + struct drm_amdgpu_query_fw query_fw; + struct { + __u32 type; + __u32 offset; + } vbios_info; + struct { + __u32 type; + } sensor_info; + }; +}; +struct drm_amdgpu_info_gds { + + __u32 gds_gfx_partition_size; + + __u32 compute_partition_size; + + __u32 gds_total_size; + + __u32 gws_per_gfx_partition; + + __u32 gws_per_compute_partition; + + __u32 oa_per_gfx_partition; + + __u32 oa_per_compute_partition; + __u32 _pad; +}; +struct drm_amdgpu_info_vram_gtt { + __u64 vram_size; + __u64 vram_cpu_accessible_size; + __u64 gtt_size; +}; +struct drm_amdgpu_heap_info { + + __u64 total_heap_size; + + __u64 usable_heap_size; + + __u64 heap_usage; + + __u64 max_allocation; +}; +struct drm_amdgpu_memory_info { + struct drm_amdgpu_heap_info vram; + struct drm_amdgpu_heap_info cpu_accessible_vram; + struct drm_amdgpu_heap_info gtt; +}; +struct drm_amdgpu_info_firmware { + __u32 ver; + __u32 feature; +}; +#define AMDGPU_VRAM_TYPE_UNKNOWN 0 +#define AMDGPU_VRAM_TYPE_GDDR1 1 +#define AMDGPU_VRAM_TYPE_DDR2 2 +#define AMDGPU_VRAM_TYPE_GDDR3 3 +#define AMDGPU_VRAM_TYPE_GDDR4 4 +#define AMDGPU_VRAM_TYPE_GDDR5 5 +#define AMDGPU_VRAM_TYPE_HBM 6 +#define AMDGPU_VRAM_TYPE_DDR3 7 +#define AMDGPU_VRAM_TYPE_DDR4 8 +#define AMDGPU_VRAM_TYPE_GDDR6 9 +struct drm_amdgpu_info_device { + + __u32 device_id; + + __u32 chip_rev; + __u32 external_rev; + + __u32 pci_rev; + __u32 family; + __u32 num_shader_engines; + __u32 num_shader_arrays_per_engine; + + __u32 gpu_counter_freq; + __u64 max_engine_clock; + __u64 max_memory_clock; + + __u32 cu_active_number; + + __u32 cu_ao_mask; + __u32 cu_bitmap[4][4]; + + __u32 enabled_rb_pipes_mask; + __u32 num_rb_pipes; + __u32 num_hw_gfx_contexts; + __u32 _pad; + __u64 ids_flags; + + __u64 virtual_address_offset; + + __u64 virtual_address_max; + + __u32 virtual_address_alignment; + + __u32 pte_fragment_size; + __u32 gart_page_size; + + __u32 ce_ram_size; + + __u32 vram_type; + + __u32 vram_bit_width; + + __u32 vce_harvest_config; + + __u32 gc_double_offchip_lds_buf; + + __u64 prim_buf_gpu_addr; + + __u64 pos_buf_gpu_addr; + + __u64 cntl_sb_buf_gpu_addr; + + __u64 param_buf_gpu_addr; + __u32 prim_buf_size; + __u32 pos_buf_size; + __u32 cntl_sb_buf_size; + __u32 param_buf_size; + + __u32 wave_front_size; + + __u32 num_shader_visible_vgprs; + + __u32 num_cu_per_sh; + + __u32 num_tcc_blocks; + + __u32 gs_vgt_table_depth; + + __u32 gs_prim_buffer_depth; + + __u32 max_gs_waves_per_vgt; + __u32 _pad1; + + __u32 cu_ao_bitmap[4][4]; + + __u64 high_va_offset; + + __u64 high_va_max; + + __u32 pa_sc_tile_steering_override; + + __u64 tcc_disabled_mask; +}; +struct drm_amdgpu_info_hw_ip { + + __u32 hw_ip_version_major; + __u32 hw_ip_version_minor; + + __u64 capabilities_flags; + + __u32 ib_start_alignment; + + __u32 ib_size_alignment; + + __u32 available_rings; + __u32 _pad; +}; +struct drm_amdgpu_info_num_handles { + + __u32 uvd_max_handles; + + __u32 uvd_used_handles; +}; +#define AMDGPU_VCE_CLOCK_TABLE_ENTRIES 6 +struct drm_amdgpu_info_vce_clock_table_entry { + + __u32 sclk; + + __u32 mclk; + + __u32 eclk; + __u32 pad; +}; +struct drm_amdgpu_info_vce_clock_table { + struct drm_amdgpu_info_vce_clock_table_entry entries[AMDGPU_VCE_CLOCK_TABLE_ENTRIES]; + __u32 num_valid_entries; + __u32 pad; +}; +#define AMDGPU_FAMILY_UNKNOWN 0 +#define AMDGPU_FAMILY_SI 110 +#define AMDGPU_FAMILY_CI 120 +#define AMDGPU_FAMILY_KV 125 +#define AMDGPU_FAMILY_VI 130 +#define AMDGPU_FAMILY_CZ 135 +#define AMDGPU_FAMILY_AI 141 +#define AMDGPU_FAMILY_RV 142 +#define AMDGPU_FAMILY_NV 143 +#if defined(__cplusplus) +} +#endif +#endif diff --git a/linux-5.10/prebuilts/usr/include/drm/armada_drm.h b/linux-5.10/prebuilts/usr/include/drm/armada_drm.h new file mode 100644 index 0000000..a4f83d5 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/drm/armada_drm.h @@ -0,0 +1,43 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef DRM_ARMADA_IOCTL_H +#define DRM_ARMADA_IOCTL_H +#include "drm.h" +#if defined(__cplusplus) +extern "C" { +#endif +#define DRM_ARMADA_GEM_CREATE 0x00 +#define DRM_ARMADA_GEM_MMAP 0x02 +#define DRM_ARMADA_GEM_PWRITE 0x03 +#define ARMADA_IOCTL(dir, name, str) \ + DRM_##dir(DRM_COMMAND_BASE + DRM_ARMADA_##name, struct drm_armada_##str) +struct drm_armada_gem_create { + __u32 handle; + __u32 size; +}; +#define DRM_IOCTL_ARMADA_GEM_CREATE \ + ARMADA_IOCTL(IOWR, GEM_CREATE, gem_create) +struct drm_armada_gem_mmap { + __u32 handle; + __u32 pad; + __u64 offset; + __u64 size; + __u64 addr; +}; +#define DRM_IOCTL_ARMADA_GEM_MMAP \ + ARMADA_IOCTL(IOWR, GEM_MMAP, gem_mmap) +struct drm_armada_gem_pwrite { + __u64 ptr; + __u32 handle; + __u32 offset; + __u32 size; +}; +#define DRM_IOCTL_ARMADA_GEM_PWRITE \ + ARMADA_IOCTL(IOW, GEM_PWRITE, gem_pwrite) +#if defined(__cplusplus) +} +#endif +#endif diff --git a/linux-5.10/prebuilts/usr/include/drm/drm.h b/linux-5.10/prebuilts/usr/include/drm/drm.h new file mode 100644 index 0000000..2f5c96c --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/drm/drm.h @@ -0,0 +1,656 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _DRM_H_ +#define _DRM_H_ +#if defined(__KERNEL__) +#include +#include +typedef unsigned int drm_handle_t; +#elif defined(__linux__) +#include +#include +typedef unsigned int drm_handle_t; +#else +#include +#include +#include +typedef int8_t __s8; +typedef uint8_t __u8; +typedef int16_t __s16; +typedef uint16_t __u16; +typedef int32_t __s32; +typedef uint32_t __u32; +typedef int64_t __s64; +typedef uint64_t __u64; +typedef size_t __kernel_size_t; +typedef unsigned long drm_handle_t; +#endif +#if defined(__cplusplus) +extern "C" { +#endif +#define DRM_NAME "drm" +#define DRM_MIN_ORDER 5 +#define DRM_MAX_ORDER 22 +#define DRM_RAM_PERCENT 10 +#define _DRM_LOCK_HELD 0x80000000U +#define _DRM_LOCK_CONT 0x40000000U +#define _DRM_LOCK_IS_HELD(lock) ((lock) & _DRM_LOCK_HELD) +#define _DRM_LOCK_IS_CONT(lock) ((lock) & _DRM_LOCK_CONT) +#define _DRM_LOCKING_CONTEXT(lock) ((lock) & ~(_DRM_LOCK_HELD|_DRM_LOCK_CONT)) +typedef unsigned int drm_context_t; +typedef unsigned int drm_drawable_t; +typedef unsigned int drm_magic_t; +struct drm_clip_rect { + unsigned short x1; + unsigned short y1; + unsigned short x2; + unsigned short y2; +}; +struct drm_drawable_info { + unsigned int num_rects; + struct drm_clip_rect *rects; +}; +struct drm_tex_region { + unsigned char next; + unsigned char prev; + unsigned char in_use; + unsigned char padding; + unsigned int age; +}; +struct drm_hw_lock { + __volatile__ unsigned int lock; + char padding[60]; +}; +struct drm_version { + int version_major; + int version_minor; + int version_patchlevel; + __kernel_size_t name_len; + char __user *name; + __kernel_size_t date_len; + char __user *date; + __kernel_size_t desc_len; + char __user *desc; +}; +struct drm_unique { + __kernel_size_t unique_len; + char __user *unique; +}; +struct drm_list { + int count; + struct drm_version __user *version; +}; +struct drm_block { + int unused; +}; +struct drm_control { + enum { + DRM_ADD_COMMAND, + DRM_RM_COMMAND, + DRM_INST_HANDLER, + DRM_UNINST_HANDLER + } func; + int irq; +}; +enum drm_map_type { + _DRM_FRAME_BUFFER = 0, + _DRM_REGISTERS = 1, + _DRM_SHM = 2, + _DRM_AGP = 3, + _DRM_SCATTER_GATHER = 4, + _DRM_CONSISTENT = 5 +}; +enum drm_map_flags { + _DRM_RESTRICTED = 0x01, + _DRM_READ_ONLY = 0x02, + _DRM_LOCKED = 0x04, + _DRM_KERNEL = 0x08, + _DRM_WRITE_COMBINING = 0x10, + _DRM_CONTAINS_LOCK = 0x20, + _DRM_REMOVABLE = 0x40, + _DRM_DRIVER = 0x80 +}; +struct drm_ctx_priv_map { + unsigned int ctx_id; + void *handle; +}; +struct drm_map { + unsigned long offset; + unsigned long size; + enum drm_map_type type; + enum drm_map_flags flags; + void *handle; + + int mtrr; + +}; +struct drm_client { + int idx; + int auth; + unsigned long pid; + unsigned long uid; + unsigned long magic; + unsigned long iocs; +}; +enum drm_stat_type { + _DRM_STAT_LOCK, + _DRM_STAT_OPENS, + _DRM_STAT_CLOSES, + _DRM_STAT_IOCTLS, + _DRM_STAT_LOCKS, + _DRM_STAT_UNLOCKS, + _DRM_STAT_VALUE, + _DRM_STAT_BYTE, + _DRM_STAT_COUNT, + _DRM_STAT_IRQ, + _DRM_STAT_PRIMARY, + _DRM_STAT_SECONDARY, + _DRM_STAT_DMA, + _DRM_STAT_SPECIAL, + _DRM_STAT_MISSED + +}; +struct drm_stats { + unsigned long count; + struct { + unsigned long value; + enum drm_stat_type type; + } data[15]; +}; +enum drm_lock_flags { + _DRM_LOCK_READY = 0x01, + _DRM_LOCK_QUIESCENT = 0x02, + _DRM_LOCK_FLUSH = 0x04, + _DRM_LOCK_FLUSH_ALL = 0x08, + + _DRM_HALT_ALL_QUEUES = 0x10, + _DRM_HALT_CUR_QUEUES = 0x20 +}; +struct drm_lock { + int context; + enum drm_lock_flags flags; +}; +enum drm_dma_flags { + + _DRM_DMA_BLOCK = 0x01, + _DRM_DMA_WHILE_LOCKED = 0x02, + _DRM_DMA_PRIORITY = 0x04, + + _DRM_DMA_WAIT = 0x10, + _DRM_DMA_SMALLER_OK = 0x20, + _DRM_DMA_LARGER_OK = 0x40 +}; +struct drm_buf_desc { + int count; + int size; + int low_mark; + int high_mark; + enum { + _DRM_PAGE_ALIGN = 0x01, + _DRM_AGP_BUFFER = 0x02, + _DRM_SG_BUFFER = 0x04, + _DRM_FB_BUFFER = 0x08, + _DRM_PCI_BUFFER_RO = 0x10 + } flags; + unsigned long agp_start; +}; +struct drm_buf_info { + int count; + struct drm_buf_desc __user *list; +}; +struct drm_buf_free { + int count; + int __user *list; +}; +struct drm_buf_pub { + int idx; + int total; + int used; + void __user *address; +}; +struct drm_buf_map { + int count; +#ifdef __cplusplus + void __user *virt; +#else + void __user * __linux_virtual; +#endif + struct drm_buf_pub __user *list; +}; +struct drm_dma { + int context; + int send_count; + int __user *send_indices; + int __user *send_sizes; + enum drm_dma_flags flags; + int request_count; + int request_size; + int __user *request_indices; + int __user *request_sizes; + int granted_count; +}; +enum drm_ctx_flags { + _DRM_CONTEXT_PRESERVED = 0x01, + _DRM_CONTEXT_2DONLY = 0x02 +}; +struct drm_ctx { + drm_context_t handle; + enum drm_ctx_flags flags; +}; +struct drm_ctx_res { + int count; + struct drm_ctx __user *contexts; +}; +struct drm_draw { + drm_drawable_t handle; +}; +typedef enum { + DRM_DRAWABLE_CLIPRECTS +} drm_drawable_info_type_t; +struct drm_update_draw { + drm_drawable_t handle; + unsigned int type; + unsigned int num; + unsigned long long data; +}; +struct drm_auth { + drm_magic_t magic; +}; +struct drm_irq_busid { + int irq; + int busnum; + int devnum; + int funcnum; +}; +enum drm_vblank_seq_type { + _DRM_VBLANK_ABSOLUTE = 0x0, + _DRM_VBLANK_RELATIVE = 0x1, + + _DRM_VBLANK_HIGH_CRTC_MASK = 0x0000003e, + _DRM_VBLANK_EVENT = 0x4000000, + _DRM_VBLANK_FLIP = 0x8000000, + _DRM_VBLANK_NEXTONMISS = 0x10000000, + _DRM_VBLANK_SECONDARY = 0x20000000, + _DRM_VBLANK_SIGNAL = 0x40000000 +}; +#define _DRM_VBLANK_HIGH_CRTC_SHIFT 1 +#define _DRM_VBLANK_TYPES_MASK (_DRM_VBLANK_ABSOLUTE | _DRM_VBLANK_RELATIVE) +#define _DRM_VBLANK_FLAGS_MASK (_DRM_VBLANK_EVENT | _DRM_VBLANK_SIGNAL | \ + _DRM_VBLANK_SECONDARY | _DRM_VBLANK_NEXTONMISS) +struct drm_wait_vblank_request { + enum drm_vblank_seq_type type; + unsigned int sequence; + unsigned long signal; +}; +struct drm_wait_vblank_reply { + enum drm_vblank_seq_type type; + unsigned int sequence; + long tval_sec; + long tval_usec; +}; +union drm_wait_vblank { + struct drm_wait_vblank_request request; + struct drm_wait_vblank_reply reply; +}; +#define _DRM_PRE_MODESET 1 +#define _DRM_POST_MODESET 2 +struct drm_modeset_ctl { + __u32 crtc; + __u32 cmd; +}; +struct drm_agp_mode { + unsigned long mode; +}; +struct drm_agp_buffer { + unsigned long size; + unsigned long handle; + unsigned long type; + unsigned long physical; +}; +struct drm_agp_binding { + unsigned long handle; + unsigned long offset; +}; +struct drm_agp_info { + int agp_version_major; + int agp_version_minor; + unsigned long mode; + unsigned long aperture_base; + unsigned long aperture_size; + unsigned long memory_allowed; + unsigned long memory_used; + + unsigned short id_vendor; + unsigned short id_device; +}; +struct drm_scatter_gather { + unsigned long size; + unsigned long handle; +}; +struct drm_set_version { + int drm_di_major; + int drm_di_minor; + int drm_dd_major; + int drm_dd_minor; +}; +struct drm_gem_close { + + __u32 handle; + __u32 pad; +}; +struct drm_gem_flink { + + __u32 handle; + + __u32 name; +}; +struct drm_gem_open { + + __u32 name; + + __u32 handle; + + __u64 size; +}; +#define DRM_CAP_DUMB_BUFFER 0x1 +#define DRM_CAP_VBLANK_HIGH_CRTC 0x2 +#define DRM_CAP_DUMB_PREFERRED_DEPTH 0x3 +#define DRM_CAP_DUMB_PREFER_SHADOW 0x4 +#define DRM_CAP_PRIME 0x5 +#define DRM_PRIME_CAP_IMPORT 0x1 +#define DRM_PRIME_CAP_EXPORT 0x2 +#define DRM_CAP_TIMESTAMP_MONOTONIC 0x6 +#define DRM_CAP_ASYNC_PAGE_FLIP 0x7 +#define DRM_CAP_CURSOR_WIDTH 0x8 +#define DRM_CAP_CURSOR_HEIGHT 0x9 +#define DRM_CAP_ADDFB2_MODIFIERS 0x10 +#define DRM_CAP_PAGE_FLIP_TARGET 0x11 +#define DRM_CAP_CRTC_IN_VBLANK_EVENT 0x12 +#define DRM_CAP_SYNCOBJ 0x13 +#define DRM_CAP_SYNCOBJ_TIMELINE 0x14 +struct drm_get_cap { + __u64 capability; + __u64 value; +}; +#define DRM_CLIENT_CAP_STEREO_3D 1 +#define DRM_CLIENT_CAP_UNIVERSAL_PLANES 2 +#define DRM_CLIENT_CAP_ATOMIC 3 +#define DRM_CLIENT_CAP_ASPECT_RATIO 4 +#define DRM_CLIENT_CAP_WRITEBACK_CONNECTORS 5 +struct drm_set_client_cap { + __u64 capability; + __u64 value; +}; +#define DRM_RDWR O_RDWR +#define DRM_CLOEXEC O_CLOEXEC +struct drm_prime_handle { + __u32 handle; + + __u32 flags; + + __s32 fd; +}; +struct drm_syncobj_create { + __u32 handle; +#define DRM_SYNCOBJ_CREATE_SIGNALED (1 << 0) + __u32 flags; +}; +struct drm_syncobj_destroy { + __u32 handle; + __u32 pad; +}; +#define DRM_SYNCOBJ_FD_TO_HANDLE_FLAGS_IMPORT_SYNC_FILE (1 << 0) +#define DRM_SYNCOBJ_HANDLE_TO_FD_FLAGS_EXPORT_SYNC_FILE (1 << 0) +struct drm_syncobj_handle { + __u32 handle; + __u32 flags; + __s32 fd; + __u32 pad; +}; +struct drm_syncobj_transfer { + __u32 src_handle; + __u32 dst_handle; + __u64 src_point; + __u64 dst_point; + __u32 flags; + __u32 pad; +}; +#define DRM_SYNCOBJ_WAIT_FLAGS_WAIT_ALL (1 << 0) +#define DRM_SYNCOBJ_WAIT_FLAGS_WAIT_FOR_SUBMIT (1 << 1) +#define DRM_SYNCOBJ_WAIT_FLAGS_WAIT_AVAILABLE (1 << 2) +struct drm_syncobj_wait { + __u64 handles; + + __s64 timeout_nsec; + __u32 count_handles; + __u32 flags; + __u32 first_signaled; + __u32 pad; +}; +struct drm_syncobj_timeline_wait { + __u64 handles; + + __u64 points; + + __s64 timeout_nsec; + __u32 count_handles; + __u32 flags; + __u32 first_signaled; + __u32 pad; +}; +struct drm_syncobj_array { + __u64 handles; + __u32 count_handles; + __u32 pad; +}; +#define DRM_SYNCOBJ_QUERY_FLAGS_LAST_SUBMITTED (1 << 0) +struct drm_syncobj_timeline_array { + __u64 handles; + __u64 points; + __u32 count_handles; + __u32 flags; +}; +struct drm_crtc_get_sequence { + __u32 crtc_id; + __u32 active; + __u64 sequence; + __s64 sequence_ns; +}; +#define DRM_CRTC_SEQUENCE_RELATIVE 0x00000001 +#define DRM_CRTC_SEQUENCE_NEXT_ON_MISS 0x00000002 +struct drm_crtc_queue_sequence { + __u32 crtc_id; + __u32 flags; + __u64 sequence; + __u64 user_data; +}; +#if defined(__cplusplus) +} +#endif +#include "drm_mode.h" +#if defined(__cplusplus) +extern "C" { +#endif +#define DRM_IOCTL_BASE 'd' +#define DRM_IO(nr) _IO(DRM_IOCTL_BASE,nr) +#define DRM_IOR(nr,type) _IOR(DRM_IOCTL_BASE,nr,type) +#define DRM_IOW(nr,type) _IOW(DRM_IOCTL_BASE,nr,type) +#define DRM_IOWR(nr,type) _IOWR(DRM_IOCTL_BASE,nr,type) +#define DRM_IOCTL_VERSION DRM_IOWR(0x00, struct drm_version) +#define DRM_IOCTL_GET_UNIQUE DRM_IOWR(0x01, struct drm_unique) +#define DRM_IOCTL_GET_MAGIC DRM_IOR( 0x02, struct drm_auth) +#define DRM_IOCTL_IRQ_BUSID DRM_IOWR(0x03, struct drm_irq_busid) +#define DRM_IOCTL_GET_MAP DRM_IOWR(0x04, struct drm_map) +#define DRM_IOCTL_GET_CLIENT DRM_IOWR(0x05, struct drm_client) +#define DRM_IOCTL_GET_STATS DRM_IOR( 0x06, struct drm_stats) +#define DRM_IOCTL_SET_VERSION DRM_IOWR(0x07, struct drm_set_version) +#define DRM_IOCTL_MODESET_CTL DRM_IOW(0x08, struct drm_modeset_ctl) +#define DRM_IOCTL_GEM_CLOSE DRM_IOW (0x09, struct drm_gem_close) +#define DRM_IOCTL_GEM_FLINK DRM_IOWR(0x0a, struct drm_gem_flink) +#define DRM_IOCTL_GEM_OPEN DRM_IOWR(0x0b, struct drm_gem_open) +#define DRM_IOCTL_GET_CAP DRM_IOWR(0x0c, struct drm_get_cap) +#define DRM_IOCTL_SET_CLIENT_CAP DRM_IOW( 0x0d, struct drm_set_client_cap) +#define DRM_IOCTL_SET_UNIQUE DRM_IOW( 0x10, struct drm_unique) +#define DRM_IOCTL_AUTH_MAGIC DRM_IOW( 0x11, struct drm_auth) +#define DRM_IOCTL_BLOCK DRM_IOWR(0x12, struct drm_block) +#define DRM_IOCTL_UNBLOCK DRM_IOWR(0x13, struct drm_block) +#define DRM_IOCTL_CONTROL DRM_IOW( 0x14, struct drm_control) +#define DRM_IOCTL_ADD_MAP DRM_IOWR(0x15, struct drm_map) +#define DRM_IOCTL_ADD_BUFS DRM_IOWR(0x16, struct drm_buf_desc) +#define DRM_IOCTL_MARK_BUFS DRM_IOW( 0x17, struct drm_buf_desc) +#define DRM_IOCTL_INFO_BUFS DRM_IOWR(0x18, struct drm_buf_info) +#define DRM_IOCTL_MAP_BUFS DRM_IOWR(0x19, struct drm_buf_map) +#define DRM_IOCTL_FREE_BUFS DRM_IOW( 0x1a, struct drm_buf_free) +#define DRM_IOCTL_RM_MAP DRM_IOW( 0x1b, struct drm_map) +#define DRM_IOCTL_SET_SAREA_CTX DRM_IOW( 0x1c, struct drm_ctx_priv_map) +#define DRM_IOCTL_GET_SAREA_CTX DRM_IOWR(0x1d, struct drm_ctx_priv_map) +#define DRM_IOCTL_SET_MASTER DRM_IO(0x1e) +#define DRM_IOCTL_DROP_MASTER DRM_IO(0x1f) +#define DRM_IOCTL_ADD_CTX DRM_IOWR(0x20, struct drm_ctx) +#define DRM_IOCTL_RM_CTX DRM_IOWR(0x21, struct drm_ctx) +#define DRM_IOCTL_MOD_CTX DRM_IOW( 0x22, struct drm_ctx) +#define DRM_IOCTL_GET_CTX DRM_IOWR(0x23, struct drm_ctx) +#define DRM_IOCTL_SWITCH_CTX DRM_IOW( 0x24, struct drm_ctx) +#define DRM_IOCTL_NEW_CTX DRM_IOW( 0x25, struct drm_ctx) +#define DRM_IOCTL_RES_CTX DRM_IOWR(0x26, struct drm_ctx_res) +#define DRM_IOCTL_ADD_DRAW DRM_IOWR(0x27, struct drm_draw) +#define DRM_IOCTL_RM_DRAW DRM_IOWR(0x28, struct drm_draw) +#define DRM_IOCTL_DMA DRM_IOWR(0x29, struct drm_dma) +#define DRM_IOCTL_LOCK DRM_IOW( 0x2a, struct drm_lock) +#define DRM_IOCTL_UNLOCK DRM_IOW( 0x2b, struct drm_lock) +#define DRM_IOCTL_FINISH DRM_IOW( 0x2c, struct drm_lock) +#define DRM_IOCTL_PRIME_HANDLE_TO_FD DRM_IOWR(0x2d, struct drm_prime_handle) +#define DRM_IOCTL_PRIME_FD_TO_HANDLE DRM_IOWR(0x2e, struct drm_prime_handle) +#define DRM_IOCTL_AGP_ACQUIRE DRM_IO( 0x30) +#define DRM_IOCTL_AGP_RELEASE DRM_IO( 0x31) +#define DRM_IOCTL_AGP_ENABLE DRM_IOW( 0x32, struct drm_agp_mode) +#define DRM_IOCTL_AGP_INFO DRM_IOR( 0x33, struct drm_agp_info) +#define DRM_IOCTL_AGP_ALLOC DRM_IOWR(0x34, struct drm_agp_buffer) +#define DRM_IOCTL_AGP_FREE DRM_IOW( 0x35, struct drm_agp_buffer) +#define DRM_IOCTL_AGP_BIND DRM_IOW( 0x36, struct drm_agp_binding) +#define DRM_IOCTL_AGP_UNBIND DRM_IOW( 0x37, struct drm_agp_binding) +#define DRM_IOCTL_SG_ALLOC DRM_IOWR(0x38, struct drm_scatter_gather) +#define DRM_IOCTL_SG_FREE DRM_IOW( 0x39, struct drm_scatter_gather) +#define DRM_IOCTL_WAIT_VBLANK DRM_IOWR(0x3a, union drm_wait_vblank) +#define DRM_IOCTL_CRTC_GET_SEQUENCE DRM_IOWR(0x3b, struct drm_crtc_get_sequence) +#define DRM_IOCTL_CRTC_QUEUE_SEQUENCE DRM_IOWR(0x3c, struct drm_crtc_queue_sequence) +#define DRM_IOCTL_UPDATE_DRAW DRM_IOW(0x3f, struct drm_update_draw) +#define DRM_IOCTL_MODE_GETRESOURCES DRM_IOWR(0xA0, struct drm_mode_card_res) +#define DRM_IOCTL_MODE_GETCRTC DRM_IOWR(0xA1, struct drm_mode_crtc) +#define DRM_IOCTL_MODE_SETCRTC DRM_IOWR(0xA2, struct drm_mode_crtc) +#define DRM_IOCTL_MODE_CURSOR DRM_IOWR(0xA3, struct drm_mode_cursor) +#define DRM_IOCTL_MODE_GETGAMMA DRM_IOWR(0xA4, struct drm_mode_crtc_lut) +#define DRM_IOCTL_MODE_SETGAMMA DRM_IOWR(0xA5, struct drm_mode_crtc_lut) +#define DRM_IOCTL_MODE_GETENCODER DRM_IOWR(0xA6, struct drm_mode_get_encoder) +#define DRM_IOCTL_MODE_GETCONNECTOR DRM_IOWR(0xA7, struct drm_mode_get_connector) +#define DRM_IOCTL_MODE_ATTACHMODE DRM_IOWR(0xA8, struct drm_mode_mode_cmd) +#define DRM_IOCTL_MODE_DETACHMODE DRM_IOWR(0xA9, struct drm_mode_mode_cmd) +#define DRM_IOCTL_MODE_GETPROPERTY DRM_IOWR(0xAA, struct drm_mode_get_property) +#define DRM_IOCTL_MODE_SETPROPERTY DRM_IOWR(0xAB, struct drm_mode_connector_set_property) +#define DRM_IOCTL_MODE_GETPROPBLOB DRM_IOWR(0xAC, struct drm_mode_get_blob) +#define DRM_IOCTL_MODE_GETFB DRM_IOWR(0xAD, struct drm_mode_fb_cmd) +#define DRM_IOCTL_MODE_ADDFB DRM_IOWR(0xAE, struct drm_mode_fb_cmd) +#define DRM_IOCTL_MODE_RMFB DRM_IOWR(0xAF, unsigned int) +#define DRM_IOCTL_MODE_PAGE_FLIP DRM_IOWR(0xB0, struct drm_mode_crtc_page_flip) +#define DRM_IOCTL_MODE_DIRTYFB DRM_IOWR(0xB1, struct drm_mode_fb_dirty_cmd) +#define DRM_IOCTL_MODE_CREATE_DUMB DRM_IOWR(0xB2, struct drm_mode_create_dumb) +#define DRM_IOCTL_MODE_MAP_DUMB DRM_IOWR(0xB3, struct drm_mode_map_dumb) +#define DRM_IOCTL_MODE_DESTROY_DUMB DRM_IOWR(0xB4, struct drm_mode_destroy_dumb) +#define DRM_IOCTL_MODE_GETPLANERESOURCES DRM_IOWR(0xB5, struct drm_mode_get_plane_res) +#define DRM_IOCTL_MODE_GETPLANE DRM_IOWR(0xB6, struct drm_mode_get_plane) +#define DRM_IOCTL_MODE_SETPLANE DRM_IOWR(0xB7, struct drm_mode_set_plane) +#define DRM_IOCTL_MODE_ADDFB2 DRM_IOWR(0xB8, struct drm_mode_fb_cmd2) +#define DRM_IOCTL_MODE_OBJ_GETPROPERTIES DRM_IOWR(0xB9, struct drm_mode_obj_get_properties) +#define DRM_IOCTL_MODE_OBJ_SETPROPERTY DRM_IOWR(0xBA, struct drm_mode_obj_set_property) +#define DRM_IOCTL_MODE_CURSOR2 DRM_IOWR(0xBB, struct drm_mode_cursor2) +#define DRM_IOCTL_MODE_ATOMIC DRM_IOWR(0xBC, struct drm_mode_atomic) +#define DRM_IOCTL_MODE_CREATEPROPBLOB DRM_IOWR(0xBD, struct drm_mode_create_blob) +#define DRM_IOCTL_MODE_DESTROYPROPBLOB DRM_IOWR(0xBE, struct drm_mode_destroy_blob) +#define DRM_IOCTL_SYNCOBJ_CREATE DRM_IOWR(0xBF, struct drm_syncobj_create) +#define DRM_IOCTL_SYNCOBJ_DESTROY DRM_IOWR(0xC0, struct drm_syncobj_destroy) +#define DRM_IOCTL_SYNCOBJ_HANDLE_TO_FD DRM_IOWR(0xC1, struct drm_syncobj_handle) +#define DRM_IOCTL_SYNCOBJ_FD_TO_HANDLE DRM_IOWR(0xC2, struct drm_syncobj_handle) +#define DRM_IOCTL_SYNCOBJ_WAIT DRM_IOWR(0xC3, struct drm_syncobj_wait) +#define DRM_IOCTL_SYNCOBJ_RESET DRM_IOWR(0xC4, struct drm_syncobj_array) +#define DRM_IOCTL_SYNCOBJ_SIGNAL DRM_IOWR(0xC5, struct drm_syncobj_array) +#define DRM_IOCTL_MODE_CREATE_LEASE DRM_IOWR(0xC6, struct drm_mode_create_lease) +#define DRM_IOCTL_MODE_LIST_LESSEES DRM_IOWR(0xC7, struct drm_mode_list_lessees) +#define DRM_IOCTL_MODE_GET_LEASE DRM_IOWR(0xC8, struct drm_mode_get_lease) +#define DRM_IOCTL_MODE_REVOKE_LEASE DRM_IOWR(0xC9, struct drm_mode_revoke_lease) +#define DRM_IOCTL_SYNCOBJ_TIMELINE_WAIT DRM_IOWR(0xCA, struct drm_syncobj_timeline_wait) +#define DRM_IOCTL_SYNCOBJ_QUERY DRM_IOWR(0xCB, struct drm_syncobj_timeline_array) +#define DRM_IOCTL_SYNCOBJ_TRANSFER DRM_IOWR(0xCC, struct drm_syncobj_transfer) +#define DRM_IOCTL_SYNCOBJ_TIMELINE_SIGNAL DRM_IOWR(0xCD, struct drm_syncobj_timeline_array) +#define DRM_IOCTL_MODE_GETFB2 DRM_IOWR(0xCE, struct drm_mode_fb_cmd2) +#define DRM_COMMAND_BASE 0x40 +#define DRM_COMMAND_END 0xA0 +struct drm_event { + __u32 type; + __u32 length; +}; +#define DRM_EVENT_VBLANK 0x01 +#define DRM_EVENT_FLIP_COMPLETE 0x02 +#define DRM_EVENT_CRTC_SEQUENCE 0x03 +struct drm_event_vblank { + struct drm_event base; + __u64 user_data; + __u32 tv_sec; + __u32 tv_usec; + __u32 sequence; + __u32 crtc_id; +}; +struct drm_event_crtc_sequence { + struct drm_event base; + __u64 user_data; + __s64 time_ns; + __u64 sequence; +}; +#ifndef __KERNEL__ +typedef struct drm_clip_rect drm_clip_rect_t; +typedef struct drm_drawable_info drm_drawable_info_t; +typedef struct drm_tex_region drm_tex_region_t; +typedef struct drm_hw_lock drm_hw_lock_t; +typedef struct drm_version drm_version_t; +typedef struct drm_unique drm_unique_t; +typedef struct drm_list drm_list_t; +typedef struct drm_block drm_block_t; +typedef struct drm_control drm_control_t; +typedef enum drm_map_type drm_map_type_t; +typedef enum drm_map_flags drm_map_flags_t; +typedef struct drm_ctx_priv_map drm_ctx_priv_map_t; +typedef struct drm_map drm_map_t; +typedef struct drm_client drm_client_t; +typedef enum drm_stat_type drm_stat_type_t; +typedef struct drm_stats drm_stats_t; +typedef enum drm_lock_flags drm_lock_flags_t; +typedef struct drm_lock drm_lock_t; +typedef enum drm_dma_flags drm_dma_flags_t; +typedef struct drm_buf_desc drm_buf_desc_t; +typedef struct drm_buf_info drm_buf_info_t; +typedef struct drm_buf_free drm_buf_free_t; +typedef struct drm_buf_pub drm_buf_pub_t; +typedef struct drm_buf_map drm_buf_map_t; +typedef struct drm_dma drm_dma_t; +typedef union drm_wait_vblank drm_wait_vblank_t; +typedef struct drm_agp_mode drm_agp_mode_t; +typedef enum drm_ctx_flags drm_ctx_flags_t; +typedef struct drm_ctx drm_ctx_t; +typedef struct drm_ctx_res drm_ctx_res_t; +typedef struct drm_draw drm_draw_t; +typedef struct drm_update_draw drm_update_draw_t; +typedef struct drm_auth drm_auth_t; +typedef struct drm_irq_busid drm_irq_busid_t; +typedef enum drm_vblank_seq_type drm_vblank_seq_type_t; +typedef struct drm_agp_buffer drm_agp_buffer_t; +typedef struct drm_agp_binding drm_agp_binding_t; +typedef struct drm_agp_info drm_agp_info_t; +typedef struct drm_scatter_gather drm_scatter_gather_t; +typedef struct drm_set_version drm_set_version_t; +#endif +#if defined(__cplusplus) +} +#endif +#endif diff --git a/linux-5.10/prebuilts/usr/include/drm/drm_fourcc.h b/linux-5.10/prebuilts/usr/include/drm/drm_fourcc.h new file mode 100644 index 0000000..c2896de --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/drm/drm_fourcc.h @@ -0,0 +1,246 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef DRM_FOURCC_H +#define DRM_FOURCC_H +#include "drm.h" +#if defined(__cplusplus) +extern "C" { +#endif +#define fourcc_code(a, b, c, d) ((__u32)(a) | ((__u32)(b) << 8) | \ + ((__u32)(c) << 16) | ((__u32)(d) << 24)) +#define DRM_FORMAT_BIG_ENDIAN (1U<<31) +#define DRM_FORMAT_INVALID 0 +#define DRM_FORMAT_C8 fourcc_code('C', '8', ' ', ' ') +#define DRM_FORMAT_R8 fourcc_code('R', '8', ' ', ' ') +#define DRM_FORMAT_R16 fourcc_code('R', '1', '6', ' ') +#define DRM_FORMAT_RG88 fourcc_code('R', 'G', '8', '8') +#define DRM_FORMAT_GR88 fourcc_code('G', 'R', '8', '8') +#define DRM_FORMAT_RG1616 fourcc_code('R', 'G', '3', '2') +#define DRM_FORMAT_GR1616 fourcc_code('G', 'R', '3', '2') +#define DRM_FORMAT_RGB332 fourcc_code('R', 'G', 'B', '8') +#define DRM_FORMAT_BGR233 fourcc_code('B', 'G', 'R', '8') +#define DRM_FORMAT_XRGB4444 fourcc_code('X', 'R', '1', '2') +#define DRM_FORMAT_XBGR4444 fourcc_code('X', 'B', '1', '2') +#define DRM_FORMAT_RGBX4444 fourcc_code('R', 'X', '1', '2') +#define DRM_FORMAT_BGRX4444 fourcc_code('B', 'X', '1', '2') +#define DRM_FORMAT_ARGB4444 fourcc_code('A', 'R', '1', '2') +#define DRM_FORMAT_ABGR4444 fourcc_code('A', 'B', '1', '2') +#define DRM_FORMAT_RGBA4444 fourcc_code('R', 'A', '1', '2') +#define DRM_FORMAT_BGRA4444 fourcc_code('B', 'A', '1', '2') +#define DRM_FORMAT_XRGB1555 fourcc_code('X', 'R', '1', '5') +#define DRM_FORMAT_XBGR1555 fourcc_code('X', 'B', '1', '5') +#define DRM_FORMAT_RGBX5551 fourcc_code('R', 'X', '1', '5') +#define DRM_FORMAT_BGRX5551 fourcc_code('B', 'X', '1', '5') +#define DRM_FORMAT_ARGB1555 fourcc_code('A', 'R', '1', '5') +#define DRM_FORMAT_ABGR1555 fourcc_code('A', 'B', '1', '5') +#define DRM_FORMAT_RGBA5551 fourcc_code('R', 'A', '1', '5') +#define DRM_FORMAT_BGRA5551 fourcc_code('B', 'A', '1', '5') +#define DRM_FORMAT_RGB565 fourcc_code('R', 'G', '1', '6') +#define DRM_FORMAT_BGR565 fourcc_code('B', 'G', '1', '6') +#define DRM_FORMAT_RGB888 fourcc_code('R', 'G', '2', '4') +#define DRM_FORMAT_BGR888 fourcc_code('B', 'G', '2', '4') +#define DRM_FORMAT_XRGB8888 fourcc_code('X', 'R', '2', '4') +#define DRM_FORMAT_XBGR8888 fourcc_code('X', 'B', '2', '4') +#define DRM_FORMAT_RGBX8888 fourcc_code('R', 'X', '2', '4') +#define DRM_FORMAT_BGRX8888 fourcc_code('B', 'X', '2', '4') +#define DRM_FORMAT_ARGB8888 fourcc_code('A', 'R', '2', '4') +#define DRM_FORMAT_ABGR8888 fourcc_code('A', 'B', '2', '4') +#define DRM_FORMAT_RGBA8888 fourcc_code('R', 'A', '2', '4') +#define DRM_FORMAT_BGRA8888 fourcc_code('B', 'A', '2', '4') +#define DRM_FORMAT_XRGB2101010 fourcc_code('X', 'R', '3', '0') +#define DRM_FORMAT_XBGR2101010 fourcc_code('X', 'B', '3', '0') +#define DRM_FORMAT_RGBX1010102 fourcc_code('R', 'X', '3', '0') +#define DRM_FORMAT_BGRX1010102 fourcc_code('B', 'X', '3', '0') +#define DRM_FORMAT_ARGB2101010 fourcc_code('A', 'R', '3', '0') +#define DRM_FORMAT_ABGR2101010 fourcc_code('A', 'B', '3', '0') +#define DRM_FORMAT_RGBA1010102 fourcc_code('R', 'A', '3', '0') +#define DRM_FORMAT_BGRA1010102 fourcc_code('B', 'A', '3', '0') +#define DRM_FORMAT_XRGB16161616F fourcc_code('X', 'R', '4', 'H') +#define DRM_FORMAT_XBGR16161616F fourcc_code('X', 'B', '4', 'H') +#define DRM_FORMAT_ARGB16161616F fourcc_code('A', 'R', '4', 'H') +#define DRM_FORMAT_ABGR16161616F fourcc_code('A', 'B', '4', 'H') +#define DRM_FORMAT_YUYV fourcc_code('Y', 'U', 'Y', 'V') +#define DRM_FORMAT_YVYU fourcc_code('Y', 'V', 'Y', 'U') +#define DRM_FORMAT_UYVY fourcc_code('U', 'Y', 'V', 'Y') +#define DRM_FORMAT_VYUY fourcc_code('V', 'Y', 'U', 'Y') +#define DRM_FORMAT_AYUV fourcc_code('A', 'Y', 'U', 'V') +#define DRM_FORMAT_XYUV8888 fourcc_code('X', 'Y', 'U', 'V') +#define DRM_FORMAT_VUY888 fourcc_code('V', 'U', '2', '4') +#define DRM_FORMAT_VUY101010 fourcc_code('V', 'U', '3', '0') +#define DRM_FORMAT_Y210 fourcc_code('Y', '2', '1', '0') +#define DRM_FORMAT_Y212 fourcc_code('Y', '2', '1', '2') +#define DRM_FORMAT_Y216 fourcc_code('Y', '2', '1', '6') +#define DRM_FORMAT_Y410 fourcc_code('Y', '4', '1', '0') +#define DRM_FORMAT_Y412 fourcc_code('Y', '4', '1', '2') +#define DRM_FORMAT_Y416 fourcc_code('Y', '4', '1', '6') +#define DRM_FORMAT_XVYU2101010 fourcc_code('X', 'V', '3', '0') +#define DRM_FORMAT_XVYU12_16161616 fourcc_code('X', 'V', '3', '6') +#define DRM_FORMAT_XVYU16161616 fourcc_code('X', 'V', '4', '8') +#define DRM_FORMAT_Y0L0 fourcc_code('Y', '0', 'L', '0') +#define DRM_FORMAT_X0L0 fourcc_code('X', '0', 'L', '0') +#define DRM_FORMAT_Y0L2 fourcc_code('Y', '0', 'L', '2') +#define DRM_FORMAT_X0L2 fourcc_code('X', '0', 'L', '2') +#define DRM_FORMAT_YUV420_8BIT fourcc_code('Y', 'U', '0', '8') +#define DRM_FORMAT_YUV420_10BIT fourcc_code('Y', 'U', '1', '0') +#define DRM_FORMAT_XRGB8888_A8 fourcc_code('X', 'R', 'A', '8') +#define DRM_FORMAT_XBGR8888_A8 fourcc_code('X', 'B', 'A', '8') +#define DRM_FORMAT_RGBX8888_A8 fourcc_code('R', 'X', 'A', '8') +#define DRM_FORMAT_BGRX8888_A8 fourcc_code('B', 'X', 'A', '8') +#define DRM_FORMAT_RGB888_A8 fourcc_code('R', '8', 'A', '8') +#define DRM_FORMAT_BGR888_A8 fourcc_code('B', '8', 'A', '8') +#define DRM_FORMAT_RGB565_A8 fourcc_code('R', '5', 'A', '8') +#define DRM_FORMAT_BGR565_A8 fourcc_code('B', '5', 'A', '8') +#define DRM_FORMAT_NV12 fourcc_code('N', 'V', '1', '2') +#define DRM_FORMAT_NV21 fourcc_code('N', 'V', '2', '1') +#define DRM_FORMAT_NV16 fourcc_code('N', 'V', '1', '6') +#define DRM_FORMAT_NV61 fourcc_code('N', 'V', '6', '1') +#define DRM_FORMAT_NV24 fourcc_code('N', 'V', '2', '4') +#define DRM_FORMAT_NV42 fourcc_code('N', 'V', '4', '2') +#define DRM_FORMAT_NV15 fourcc_code('N', 'V', '1', '5') +#define DRM_FORMAT_P210 fourcc_code('P', '2', '1', '0') +#define DRM_FORMAT_P010 fourcc_code('P', '0', '1', '0') +#define DRM_FORMAT_P012 fourcc_code('P', '0', '1', '2') +#define DRM_FORMAT_P016 fourcc_code('P', '0', '1', '6') +#define DRM_FORMAT_Q410 fourcc_code('Q', '4', '1', '0') +#define DRM_FORMAT_Q401 fourcc_code('Q', '4', '0', '1') +#define DRM_FORMAT_YUV410 fourcc_code('Y', 'U', 'V', '9') +#define DRM_FORMAT_YVU410 fourcc_code('Y', 'V', 'U', '9') +#define DRM_FORMAT_YUV411 fourcc_code('Y', 'U', '1', '1') +#define DRM_FORMAT_YVU411 fourcc_code('Y', 'V', '1', '1') +#define DRM_FORMAT_YUV420 fourcc_code('Y', 'U', '1', '2') +#define DRM_FORMAT_YVU420 fourcc_code('Y', 'V', '1', '2') +#define DRM_FORMAT_YUV422 fourcc_code('Y', 'U', '1', '6') +#define DRM_FORMAT_YVU422 fourcc_code('Y', 'V', '1', '6') +#define DRM_FORMAT_YUV444 fourcc_code('Y', 'U', '2', '4') +#define DRM_FORMAT_YVU444 fourcc_code('Y', 'V', '2', '4') +#define DRM_FORMAT_MOD_NONE 0 +#define DRM_FORMAT_MOD_VENDOR_NONE 0 +#define DRM_FORMAT_MOD_VENDOR_INTEL 0x01 +#define DRM_FORMAT_MOD_VENDOR_AMD 0x02 +#define DRM_FORMAT_MOD_VENDOR_NVIDIA 0x03 +#define DRM_FORMAT_MOD_VENDOR_SAMSUNG 0x04 +#define DRM_FORMAT_MOD_VENDOR_QCOM 0x05 +#define DRM_FORMAT_MOD_VENDOR_VIVANTE 0x06 +#define DRM_FORMAT_MOD_VENDOR_BROADCOM 0x07 +#define DRM_FORMAT_MOD_VENDOR_ARM 0x08 +#define DRM_FORMAT_MOD_VENDOR_ALLWINNER 0x09 +#define DRM_FORMAT_MOD_VENDOR_AMLOGIC 0x0a +#define DRM_FORMAT_RESERVED ((1ULL << 56) - 1) +#define fourcc_mod_code(vendor, val) \ + ((((__u64)DRM_FORMAT_MOD_VENDOR_## vendor) << 56) | ((val) & 0x00ffffffffffffffULL)) +#define DRM_FORMAT_MOD_GENERIC_16_16_TILE DRM_FORMAT_MOD_SAMSUNG_16_16_TILE +#define DRM_FORMAT_MOD_INVALID fourcc_mod_code(NONE, DRM_FORMAT_RESERVED) +#define DRM_FORMAT_MOD_LINEAR fourcc_mod_code(NONE, 0) +#define I915_FORMAT_MOD_X_TILED fourcc_mod_code(INTEL, 1) +#define I915_FORMAT_MOD_Y_TILED fourcc_mod_code(INTEL, 2) +#define I915_FORMAT_MOD_Yf_TILED fourcc_mod_code(INTEL, 3) +#define I915_FORMAT_MOD_Y_TILED_CCS fourcc_mod_code(INTEL, 4) +#define I915_FORMAT_MOD_Yf_TILED_CCS fourcc_mod_code(INTEL, 5) +#define I915_FORMAT_MOD_Y_TILED_GEN12_RC_CCS fourcc_mod_code(INTEL, 6) +#define I915_FORMAT_MOD_Y_TILED_GEN12_MC_CCS fourcc_mod_code(INTEL, 7) +#define DRM_FORMAT_MOD_SAMSUNG_64_32_TILE fourcc_mod_code(SAMSUNG, 1) +#define DRM_FORMAT_MOD_SAMSUNG_16_16_TILE fourcc_mod_code(SAMSUNG, 2) +#define DRM_FORMAT_MOD_QCOM_COMPRESSED fourcc_mod_code(QCOM, 1) +#define DRM_FORMAT_MOD_VIVANTE_TILED fourcc_mod_code(VIVANTE, 1) +#define DRM_FORMAT_MOD_VIVANTE_SUPER_TILED fourcc_mod_code(VIVANTE, 2) +#define DRM_FORMAT_MOD_VIVANTE_SPLIT_TILED fourcc_mod_code(VIVANTE, 3) +#define DRM_FORMAT_MOD_VIVANTE_SPLIT_SUPER_TILED fourcc_mod_code(VIVANTE, 4) +#define DRM_FORMAT_MOD_NVIDIA_TEGRA_TILED fourcc_mod_code(NVIDIA, 1) +#define DRM_FORMAT_MOD_NVIDIA_BLOCK_LINEAR_2D(c, s, g, k, h) \ + fourcc_mod_code(NVIDIA, (0x10 | \ + ((h) & 0xf) | \ + (((k) & 0xff) << 12) | \ + (((g) & 0x3) << 20) | \ + (((s) & 0x1) << 22) | \ + (((c) & 0x7) << 23))) +static inline __u64 +drm_fourcc_canonicalize_nvidia_format_mod(__u64 modifier) +{ + if (!(modifier & 0x10) || (modifier & (0xff << 12))) + return modifier; + else + return modifier | (0xfe << 12); +} +#define DRM_FORMAT_MOD_NVIDIA_16BX2_BLOCK(v) \ + DRM_FORMAT_MOD_NVIDIA_BLOCK_LINEAR_2D(0, 0, 0, 0, (v)) +#define DRM_FORMAT_MOD_NVIDIA_16BX2_BLOCK_ONE_GOB \ + DRM_FORMAT_MOD_NVIDIA_16BX2_BLOCK(0) +#define DRM_FORMAT_MOD_NVIDIA_16BX2_BLOCK_TWO_GOB \ + DRM_FORMAT_MOD_NVIDIA_16BX2_BLOCK(1) +#define DRM_FORMAT_MOD_NVIDIA_16BX2_BLOCK_FOUR_GOB \ + DRM_FORMAT_MOD_NVIDIA_16BX2_BLOCK(2) +#define DRM_FORMAT_MOD_NVIDIA_16BX2_BLOCK_EIGHT_GOB \ + DRM_FORMAT_MOD_NVIDIA_16BX2_BLOCK(3) +#define DRM_FORMAT_MOD_NVIDIA_16BX2_BLOCK_SIXTEEN_GOB \ + DRM_FORMAT_MOD_NVIDIA_16BX2_BLOCK(4) +#define DRM_FORMAT_MOD_NVIDIA_16BX2_BLOCK_THIRTYTWO_GOB \ + DRM_FORMAT_MOD_NVIDIA_16BX2_BLOCK(5) +#define __fourcc_mod_broadcom_param_shift 8 +#define __fourcc_mod_broadcom_param_bits 48 +#define fourcc_mod_broadcom_code(val, params) \ + fourcc_mod_code(BROADCOM, ((((__u64)params) << __fourcc_mod_broadcom_param_shift) | val)) +#define fourcc_mod_broadcom_param(m) \ + ((int)(((m) >> __fourcc_mod_broadcom_param_shift) & \ + ((1ULL << __fourcc_mod_broadcom_param_bits) - 1))) +#define fourcc_mod_broadcom_mod(m) \ + ((m) & ~(((1ULL << __fourcc_mod_broadcom_param_bits) - 1) << \ + __fourcc_mod_broadcom_param_shift)) +#define DRM_FORMAT_MOD_BROADCOM_VC4_T_TILED fourcc_mod_code(BROADCOM, 1) +#define DRM_FORMAT_MOD_BROADCOM_SAND32_COL_HEIGHT(v) \ + fourcc_mod_broadcom_code(2, v) +#define DRM_FORMAT_MOD_BROADCOM_SAND64_COL_HEIGHT(v) \ + fourcc_mod_broadcom_code(3, v) +#define DRM_FORMAT_MOD_BROADCOM_SAND128_COL_HEIGHT(v) \ + fourcc_mod_broadcom_code(4, v) +#define DRM_FORMAT_MOD_BROADCOM_SAND256_COL_HEIGHT(v) \ + fourcc_mod_broadcom_code(5, v) +#define DRM_FORMAT_MOD_BROADCOM_SAND32 \ + DRM_FORMAT_MOD_BROADCOM_SAND32_COL_HEIGHT(0) +#define DRM_FORMAT_MOD_BROADCOM_SAND64 \ + DRM_FORMAT_MOD_BROADCOM_SAND64_COL_HEIGHT(0) +#define DRM_FORMAT_MOD_BROADCOM_SAND128 \ + DRM_FORMAT_MOD_BROADCOM_SAND128_COL_HEIGHT(0) +#define DRM_FORMAT_MOD_BROADCOM_SAND256 \ + DRM_FORMAT_MOD_BROADCOM_SAND256_COL_HEIGHT(0) +#define DRM_FORMAT_MOD_BROADCOM_UIF fourcc_mod_code(BROADCOM, 6) +#define DRM_FORMAT_MOD_ARM_CODE(__type, __val) \ + fourcc_mod_code(ARM, ((__u64)(__type) << 52) | ((__val) & 0x000fffffffffffffULL)) +#define DRM_FORMAT_MOD_ARM_TYPE_AFBC 0x00 +#define DRM_FORMAT_MOD_ARM_TYPE_MISC 0x01 +#define DRM_FORMAT_MOD_ARM_AFBC(__afbc_mode) \ + DRM_FORMAT_MOD_ARM_CODE(DRM_FORMAT_MOD_ARM_TYPE_AFBC, __afbc_mode) +#define AFBC_FORMAT_MOD_BLOCK_SIZE_MASK 0xf +#define AFBC_FORMAT_MOD_BLOCK_SIZE_16x16 (1ULL) +#define AFBC_FORMAT_MOD_BLOCK_SIZE_32x8 (2ULL) +#define AFBC_FORMAT_MOD_BLOCK_SIZE_64x4 (3ULL) +#define AFBC_FORMAT_MOD_BLOCK_SIZE_32x8_64x4 (4ULL) +#define AFBC_FORMAT_MOD_YTR (1ULL << 4) +#define AFBC_FORMAT_MOD_SPLIT (1ULL << 5) +#define AFBC_FORMAT_MOD_SPARSE (1ULL << 6) +#define AFBC_FORMAT_MOD_CBR (1ULL << 7) +#define AFBC_FORMAT_MOD_TILED (1ULL << 8) +#define AFBC_FORMAT_MOD_SC (1ULL << 9) +#define AFBC_FORMAT_MOD_DB (1ULL << 10) +#define AFBC_FORMAT_MOD_BCH (1ULL << 11) +#define AFBC_FORMAT_MOD_USM (1ULL << 12) +#define DRM_FORMAT_MOD_ARM_16X16_BLOCK_U_INTERLEAVED \ + DRM_FORMAT_MOD_ARM_CODE(DRM_FORMAT_MOD_ARM_TYPE_MISC, 1ULL) +#define DRM_FORMAT_MOD_ALLWINNER_TILED fourcc_mod_code(ALLWINNER, 1) +#define __fourcc_mod_amlogic_layout_mask 0xff +#define __fourcc_mod_amlogic_options_shift 8 +#define __fourcc_mod_amlogic_options_mask 0xff +#define DRM_FORMAT_MOD_AMLOGIC_FBC(__layout, __options) \ + fourcc_mod_code(AMLOGIC, \ + ((__layout) & __fourcc_mod_amlogic_layout_mask) | \ + (((__options) & __fourcc_mod_amlogic_options_mask) \ + << __fourcc_mod_amlogic_options_shift)) +#define AMLOGIC_FBC_LAYOUT_BASIC (1ULL) +#define AMLOGIC_FBC_LAYOUT_SCATTER (2ULL) +#define AMLOGIC_FBC_OPTION_MEM_SAVING (1ULL << 0) +#if defined(__cplusplus) +} +#endif +#endif diff --git a/linux-5.10/prebuilts/usr/include/drm/drm_mode.h b/linux-5.10/prebuilts/usr/include/drm/drm_mode.h new file mode 100644 index 0000000..b326cc9 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/drm/drm_mode.h @@ -0,0 +1,571 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _DRM_MODE_H +#define _DRM_MODE_H +#include "drm.h" +#if defined(__cplusplus) +extern "C" { +#endif +#define DRM_CONNECTOR_NAME_LEN 32 +#define DRM_DISPLAY_MODE_LEN 32 +#define DRM_PROP_NAME_LEN 32 +#define DRM_MODE_TYPE_BUILTIN (1<<0) +#define DRM_MODE_TYPE_CLOCK_C ((1<<1) | DRM_MODE_TYPE_BUILTIN) +#define DRM_MODE_TYPE_CRTC_C ((1<<2) | DRM_MODE_TYPE_BUILTIN) +#define DRM_MODE_TYPE_PREFERRED (1<<3) +#define DRM_MODE_TYPE_DEFAULT (1<<4) +#define DRM_MODE_TYPE_USERDEF (1<<5) +#define DRM_MODE_TYPE_DRIVER (1<<6) +#define DRM_MODE_TYPE_ALL (DRM_MODE_TYPE_PREFERRED | \ + DRM_MODE_TYPE_USERDEF | \ + DRM_MODE_TYPE_DRIVER) +#define DRM_MODE_FLAG_PHSYNC (1<<0) +#define DRM_MODE_FLAG_NHSYNC (1<<1) +#define DRM_MODE_FLAG_PVSYNC (1<<2) +#define DRM_MODE_FLAG_NVSYNC (1<<3) +#define DRM_MODE_FLAG_INTERLACE (1<<4) +#define DRM_MODE_FLAG_DBLSCAN (1<<5) +#define DRM_MODE_FLAG_CSYNC (1<<6) +#define DRM_MODE_FLAG_PCSYNC (1<<7) +#define DRM_MODE_FLAG_NCSYNC (1<<8) +#define DRM_MODE_FLAG_HSKEW (1<<9) +#define DRM_MODE_FLAG_BCAST (1<<10) +#define DRM_MODE_FLAG_PIXMUX (1<<11) +#define DRM_MODE_FLAG_DBLCLK (1<<12) +#define DRM_MODE_FLAG_CLKDIV2 (1<<13) + +#define DRM_MODE_FLAG_3D_MASK (0x1f<<14) +#define DRM_MODE_FLAG_3D_NONE (0<<14) +#define DRM_MODE_FLAG_3D_FRAME_PACKING (1<<14) +#define DRM_MODE_FLAG_3D_FIELD_ALTERNATIVE (2<<14) +#define DRM_MODE_FLAG_3D_LINE_ALTERNATIVE (3<<14) +#define DRM_MODE_FLAG_3D_SIDE_BY_SIDE_FULL (4<<14) +#define DRM_MODE_FLAG_3D_L_DEPTH (5<<14) +#define DRM_MODE_FLAG_3D_L_DEPTH_GFX_GFX_DEPTH (6<<14) +#define DRM_MODE_FLAG_3D_TOP_AND_BOTTOM (7<<14) +#define DRM_MODE_FLAG_3D_SIDE_BY_SIDE_HALF (8<<14) +#define DRM_MODE_PICTURE_ASPECT_NONE 0 +#define DRM_MODE_PICTURE_ASPECT_4_3 1 +#define DRM_MODE_PICTURE_ASPECT_16_9 2 +#define DRM_MODE_PICTURE_ASPECT_64_27 3 +#define DRM_MODE_PICTURE_ASPECT_256_135 4 +#define DRM_MODE_CONTENT_TYPE_NO_DATA 0 +#define DRM_MODE_CONTENT_TYPE_GRAPHICS 1 +#define DRM_MODE_CONTENT_TYPE_PHOTO 2 +#define DRM_MODE_CONTENT_TYPE_CINEMA 3 +#define DRM_MODE_CONTENT_TYPE_GAME 4 +#define DRM_MODE_FLAG_PIC_AR_MASK (0x0F<<19) +#define DRM_MODE_FLAG_PIC_AR_NONE \ + (DRM_MODE_PICTURE_ASPECT_NONE<<19) +#define DRM_MODE_FLAG_PIC_AR_4_3 \ + (DRM_MODE_PICTURE_ASPECT_4_3<<19) +#define DRM_MODE_FLAG_PIC_AR_16_9 \ + (DRM_MODE_PICTURE_ASPECT_16_9<<19) +#define DRM_MODE_FLAG_PIC_AR_64_27 \ + (DRM_MODE_PICTURE_ASPECT_64_27<<19) +#define DRM_MODE_FLAG_PIC_AR_256_135 \ + (DRM_MODE_PICTURE_ASPECT_256_135<<19) +#define DRM_MODE_FLAG_ALL (DRM_MODE_FLAG_PHSYNC | \ + DRM_MODE_FLAG_NHSYNC | \ + DRM_MODE_FLAG_PVSYNC | \ + DRM_MODE_FLAG_NVSYNC | \ + DRM_MODE_FLAG_INTERLACE | \ + DRM_MODE_FLAG_DBLSCAN | \ + DRM_MODE_FLAG_CSYNC | \ + DRM_MODE_FLAG_PCSYNC | \ + DRM_MODE_FLAG_NCSYNC | \ + DRM_MODE_FLAG_HSKEW | \ + DRM_MODE_FLAG_DBLCLK | \ + DRM_MODE_FLAG_CLKDIV2 | \ + DRM_MODE_FLAG_3D_MASK) +#define DRM_MODE_DPMS_ON 0 +#define DRM_MODE_DPMS_STANDBY 1 +#define DRM_MODE_DPMS_SUSPEND 2 +#define DRM_MODE_DPMS_OFF 3 +#define DRM_MODE_SCALE_NONE 0 +#define DRM_MODE_SCALE_FULLSCREEN 1 +#define DRM_MODE_SCALE_CENTER 2 +#define DRM_MODE_SCALE_ASPECT 3 +#define DRM_MODE_DITHERING_OFF 0 +#define DRM_MODE_DITHERING_ON 1 +#define DRM_MODE_DITHERING_AUTO 2 +#define DRM_MODE_DIRTY_OFF 0 +#define DRM_MODE_DIRTY_ON 1 +#define DRM_MODE_DIRTY_ANNOTATE 2 +#define DRM_MODE_LINK_STATUS_GOOD 0 +#define DRM_MODE_LINK_STATUS_BAD 1 +#define DRM_MODE_ROTATE_0 (1<<0) +#define DRM_MODE_ROTATE_90 (1<<1) +#define DRM_MODE_ROTATE_180 (1<<2) +#define DRM_MODE_ROTATE_270 (1<<3) +#define DRM_MODE_ROTATE_MASK (\ + DRM_MODE_ROTATE_0 | \ + DRM_MODE_ROTATE_90 | \ + DRM_MODE_ROTATE_180 | \ + DRM_MODE_ROTATE_270) +#define DRM_MODE_REFLECT_X (1<<4) +#define DRM_MODE_REFLECT_Y (1<<5) +#define DRM_MODE_REFLECT_MASK (\ + DRM_MODE_REFLECT_X | \ + DRM_MODE_REFLECT_Y) +#define DRM_MODE_CONTENT_PROTECTION_UNDESIRED 0 +#define DRM_MODE_CONTENT_PROTECTION_DESIRED 1 +#define DRM_MODE_CONTENT_PROTECTION_ENABLED 2 +struct drm_mode_modeinfo { + __u32 clock; + __u16 hdisplay; + __u16 hsync_start; + __u16 hsync_end; + __u16 htotal; + __u16 hskew; + __u16 vdisplay; + __u16 vsync_start; + __u16 vsync_end; + __u16 vtotal; + __u16 vscan; + __u32 vrefresh; + __u32 flags; + __u32 type; + char name[DRM_DISPLAY_MODE_LEN]; +}; +struct drm_mode_card_res { + __u64 fb_id_ptr; + __u64 crtc_id_ptr; + __u64 connector_id_ptr; + __u64 encoder_id_ptr; + __u32 count_fbs; + __u32 count_crtcs; + __u32 count_connectors; + __u32 count_encoders; + __u32 min_width; + __u32 max_width; + __u32 min_height; + __u32 max_height; +}; +struct drm_mode_crtc { + __u64 set_connectors_ptr; + __u32 count_connectors; + __u32 crtc_id; + __u32 fb_id; + __u32 x; + __u32 y; + __u32 gamma_size; + __u32 mode_valid; + struct drm_mode_modeinfo mode; +}; +#define DRM_MODE_PRESENT_TOP_FIELD (1<<0) +#define DRM_MODE_PRESENT_BOTTOM_FIELD (1<<1) +struct drm_mode_set_plane { + __u32 plane_id; + __u32 crtc_id; + __u32 fb_id; + __u32 flags; + + __s32 crtc_x; + __s32 crtc_y; + __u32 crtc_w; + __u32 crtc_h; + + __u32 src_x; + __u32 src_y; + __u32 src_h; + __u32 src_w; +}; +struct drm_mode_get_plane { + __u32 plane_id; + __u32 crtc_id; + __u32 fb_id; + __u32 possible_crtcs; + __u32 gamma_size; + __u32 count_format_types; + __u64 format_type_ptr; +}; +struct drm_mode_get_plane_res { + __u64 plane_id_ptr; + __u32 count_planes; +}; +#define DRM_MODE_ENCODER_NONE 0 +#define DRM_MODE_ENCODER_DAC 1 +#define DRM_MODE_ENCODER_TMDS 2 +#define DRM_MODE_ENCODER_LVDS 3 +#define DRM_MODE_ENCODER_TVDAC 4 +#define DRM_MODE_ENCODER_VIRTUAL 5 +#define DRM_MODE_ENCODER_DSI 6 +#define DRM_MODE_ENCODER_DPMST 7 +#define DRM_MODE_ENCODER_DPI 8 +struct drm_mode_get_encoder { + __u32 encoder_id; + __u32 encoder_type; + __u32 crtc_id; + __u32 possible_crtcs; + __u32 possible_clones; +}; +enum drm_mode_subconnector { + DRM_MODE_SUBCONNECTOR_Automatic = 0, + DRM_MODE_SUBCONNECTOR_Unknown = 0, + DRM_MODE_SUBCONNECTOR_VGA = 1, + DRM_MODE_SUBCONNECTOR_DVID = 3, + DRM_MODE_SUBCONNECTOR_DVIA = 4, + DRM_MODE_SUBCONNECTOR_Composite = 5, + DRM_MODE_SUBCONNECTOR_SVIDEO = 6, + DRM_MODE_SUBCONNECTOR_Component = 8, + DRM_MODE_SUBCONNECTOR_SCART = 9, + DRM_MODE_SUBCONNECTOR_DisplayPort = 10, + DRM_MODE_SUBCONNECTOR_HDMIA = 11, + DRM_MODE_SUBCONNECTOR_Native = 15, + DRM_MODE_SUBCONNECTOR_Wireless = 18, +}; +#define DRM_MODE_CONNECTOR_Unknown 0 +#define DRM_MODE_CONNECTOR_VGA 1 +#define DRM_MODE_CONNECTOR_DVII 2 +#define DRM_MODE_CONNECTOR_DVID 3 +#define DRM_MODE_CONNECTOR_DVIA 4 +#define DRM_MODE_CONNECTOR_Composite 5 +#define DRM_MODE_CONNECTOR_SVIDEO 6 +#define DRM_MODE_CONNECTOR_LVDS 7 +#define DRM_MODE_CONNECTOR_Component 8 +#define DRM_MODE_CONNECTOR_9PinDIN 9 +#define DRM_MODE_CONNECTOR_DisplayPort 10 +#define DRM_MODE_CONNECTOR_HDMIA 11 +#define DRM_MODE_CONNECTOR_HDMIB 12 +#define DRM_MODE_CONNECTOR_TV 13 +#define DRM_MODE_CONNECTOR_eDP 14 +#define DRM_MODE_CONNECTOR_VIRTUAL 15 +#define DRM_MODE_CONNECTOR_DSI 16 +#define DRM_MODE_CONNECTOR_DPI 17 +#define DRM_MODE_CONNECTOR_WRITEBACK 18 +#define DRM_MODE_CONNECTOR_SPI 19 +struct drm_mode_get_connector { + __u64 encoders_ptr; + __u64 modes_ptr; + __u64 props_ptr; + __u64 prop_values_ptr; + __u32 count_modes; + __u32 count_props; + __u32 count_encoders; + __u32 encoder_id; + __u32 connector_id; + __u32 connector_type; + __u32 connector_type_id; + __u32 connection; + __u32 mm_width; + __u32 mm_height; + __u32 subpixel; + __u32 pad; +}; +#define DRM_MODE_PROP_PENDING (1<<0) +#define DRM_MODE_PROP_RANGE (1<<1) +#define DRM_MODE_PROP_IMMUTABLE (1<<2) +#define DRM_MODE_PROP_ENUM (1<<3) +#define DRM_MODE_PROP_BLOB (1<<4) +#define DRM_MODE_PROP_BITMASK (1<<5) +#define DRM_MODE_PROP_LEGACY_TYPE ( \ + DRM_MODE_PROP_RANGE | \ + DRM_MODE_PROP_ENUM | \ + DRM_MODE_PROP_BLOB | \ + DRM_MODE_PROP_BITMASK) +#define DRM_MODE_PROP_EXTENDED_TYPE 0x0000ffc0 +#define DRM_MODE_PROP_TYPE(n) ((n) << 6) +#define DRM_MODE_PROP_OBJECT DRM_MODE_PROP_TYPE(1) +#define DRM_MODE_PROP_SIGNED_RANGE DRM_MODE_PROP_TYPE(2) +#define DRM_MODE_PROP_ATOMIC 0x80000000 +struct drm_mode_property_enum { + __u64 value; + char name[DRM_PROP_NAME_LEN]; +}; +struct drm_mode_get_property { + __u64 values_ptr; + __u64 enum_blob_ptr; + __u32 prop_id; + __u32 flags; + char name[DRM_PROP_NAME_LEN]; + __u32 count_values; + + __u32 count_enum_blobs; +}; +struct drm_mode_connector_set_property { + __u64 value; + __u32 prop_id; + __u32 connector_id; +}; +#define DRM_MODE_OBJECT_CRTC 0xcccccccc +#define DRM_MODE_OBJECT_CONNECTOR 0xc0c0c0c0 +#define DRM_MODE_OBJECT_ENCODER 0xe0e0e0e0 +#define DRM_MODE_OBJECT_MODE 0xdededede +#define DRM_MODE_OBJECT_PROPERTY 0xb0b0b0b0 +#define DRM_MODE_OBJECT_FB 0xfbfbfbfb +#define DRM_MODE_OBJECT_BLOB 0xbbbbbbbb +#define DRM_MODE_OBJECT_PLANE 0xeeeeeeee +#define DRM_MODE_OBJECT_ANY 0 +struct drm_mode_obj_get_properties { + __u64 props_ptr; + __u64 prop_values_ptr; + __u32 count_props; + __u32 obj_id; + __u32 obj_type; +}; +struct drm_mode_obj_set_property { + __u64 value; + __u32 prop_id; + __u32 obj_id; + __u32 obj_type; +}; +struct drm_mode_get_blob { + __u32 blob_id; + __u32 length; + __u64 data; +}; +struct drm_mode_fb_cmd { + __u32 fb_id; + __u32 width; + __u32 height; + __u32 pitch; + __u32 bpp; + __u32 depth; + + __u32 handle; +}; +#define DRM_MODE_FB_INTERLACED (1<<0) +#define DRM_MODE_FB_MODIFIERS (1<<1) +struct drm_mode_fb_cmd2 { + __u32 fb_id; + __u32 width; + __u32 height; + __u32 pixel_format; + __u32 flags; + + __u32 handles[4]; + __u32 pitches[4]; + __u32 offsets[4]; + __u64 modifier[4]; +}; +#define DRM_MODE_FB_DIRTY_ANNOTATE_COPY 0x01 +#define DRM_MODE_FB_DIRTY_ANNOTATE_FILL 0x02 +#define DRM_MODE_FB_DIRTY_FLAGS 0x03 +#define DRM_MODE_FB_DIRTY_MAX_CLIPS 256 +struct drm_mode_fb_dirty_cmd { + __u32 fb_id; + __u32 flags; + __u32 color; + __u32 num_clips; + __u64 clips_ptr; +}; +struct drm_mode_mode_cmd { + __u32 connector_id; + struct drm_mode_modeinfo mode; +}; +#define DRM_MODE_CURSOR_BO 0x01 +#define DRM_MODE_CURSOR_MOVE 0x02 +#define DRM_MODE_CURSOR_FLAGS 0x03 +struct drm_mode_cursor { + __u32 flags; + __u32 crtc_id; + __s32 x; + __s32 y; + __u32 width; + __u32 height; + + __u32 handle; +}; +struct drm_mode_cursor2 { + __u32 flags; + __u32 crtc_id; + __s32 x; + __s32 y; + __u32 width; + __u32 height; + + __u32 handle; + __s32 hot_x; + __s32 hot_y; +}; +struct drm_mode_crtc_lut { + __u32 crtc_id; + __u32 gamma_size; + + __u64 red; + __u64 green; + __u64 blue; +}; +struct drm_color_ctm { + + __u64 matrix[9]; +}; +struct drm_color_lut { + + __u16 red; + __u16 green; + __u16 blue; + __u16 reserved; +}; +struct hdr_metadata_infoframe { + + __u8 eotf; + + __u8 metadata_type; + + struct { + __u16 x, y; + } display_primaries[3]; + + struct { + __u16 x, y; + } white_point; + + __u16 max_display_mastering_luminance; + + __u16 min_display_mastering_luminance; + + __u16 max_cll; + + __u16 max_fall; +}; +struct hdr_output_metadata { + + __u32 metadata_type; + + union { + struct hdr_metadata_infoframe hdmi_metadata_type1; + }; +}; +#define DRM_MODE_PAGE_FLIP_EVENT 0x01 +#define DRM_MODE_PAGE_FLIP_ASYNC 0x02 +#define DRM_MODE_PAGE_FLIP_TARGET_ABSOLUTE 0x4 +#define DRM_MODE_PAGE_FLIP_TARGET_RELATIVE 0x8 +#define DRM_MODE_PAGE_FLIP_TARGET (DRM_MODE_PAGE_FLIP_TARGET_ABSOLUTE | \ + DRM_MODE_PAGE_FLIP_TARGET_RELATIVE) +#define DRM_MODE_PAGE_FLIP_FLAGS (DRM_MODE_PAGE_FLIP_EVENT | \ + DRM_MODE_PAGE_FLIP_ASYNC | \ + DRM_MODE_PAGE_FLIP_TARGET) +struct drm_mode_crtc_page_flip { + __u32 crtc_id; + __u32 fb_id; + __u32 flags; + __u32 reserved; + __u64 user_data; +}; +struct drm_mode_crtc_page_flip_target { + __u32 crtc_id; + __u32 fb_id; + __u32 flags; + __u32 sequence; + __u64 user_data; +}; +struct drm_mode_create_dumb { + __u32 height; + __u32 width; + __u32 bpp; + __u32 flags; + + __u32 handle; + __u32 pitch; + __u64 size; +}; +struct drm_mode_map_dumb { + + __u32 handle; + __u32 pad; + + __u64 offset; +}; +struct drm_mode_destroy_dumb { + __u32 handle; +}; +#define DRM_MODE_ATOMIC_TEST_ONLY 0x0100 +#define DRM_MODE_ATOMIC_NONBLOCK 0x0200 +#define DRM_MODE_ATOMIC_ALLOW_MODESET 0x0400 +#define DRM_MODE_ATOMIC_FLAGS (\ + DRM_MODE_PAGE_FLIP_EVENT |\ + DRM_MODE_PAGE_FLIP_ASYNC |\ + DRM_MODE_ATOMIC_TEST_ONLY |\ + DRM_MODE_ATOMIC_NONBLOCK |\ + DRM_MODE_ATOMIC_ALLOW_MODESET) +struct drm_mode_atomic { + __u32 flags; + __u32 count_objs; + __u64 objs_ptr; + __u64 count_props_ptr; + __u64 props_ptr; + __u64 prop_values_ptr; + __u64 reserved; + __u64 user_data; +}; +struct drm_format_modifier_blob { +#define FORMAT_BLOB_CURRENT 1 + + __u32 version; + + __u32 flags; + + __u32 count_formats; + + __u32 formats_offset; + + __u32 count_modifiers; + + __u32 modifiers_offset; + + +}; +struct drm_format_modifier { + + __u64 formats; + __u32 offset; + __u32 pad; + + __u64 modifier; +}; +struct drm_mode_create_blob { + + __u64 data; + + __u32 length; + + __u32 blob_id; +}; +struct drm_mode_destroy_blob { + __u32 blob_id; +}; +struct drm_mode_create_lease { + + __u64 object_ids; + + __u32 object_count; + + __u32 flags; + + __u32 lessee_id; + + __u32 fd; +}; +struct drm_mode_list_lessees { + + __u32 count_lessees; + __u32 pad; + + __u64 lessees_ptr; +}; +struct drm_mode_get_lease { + + __u32 count_objects; + __u32 pad; + + __u64 objects_ptr; +}; +struct drm_mode_revoke_lease { + + __u32 lessee_id; +}; +struct drm_mode_rect { + __s32 x1; + __s32 y1; + __s32 x2; + __s32 y2; +}; +#if defined(__cplusplus) +} +#endif +#endif diff --git a/linux-5.10/prebuilts/usr/include/drm/drm_sarea.h b/linux-5.10/prebuilts/usr/include/drm/drm_sarea.h new file mode 100644 index 0000000..bc25fb0 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/drm/drm_sarea.h @@ -0,0 +1,51 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _DRM_SAREA_H_ +#define _DRM_SAREA_H_ +#include "drm.h" +#if defined(__cplusplus) +extern "C" { +#endif +#if defined(__alpha__) +#define SAREA_MAX 0x2000U +#elif defined(__mips__) +#define SAREA_MAX 0x4000U +#elif defined(__ia64__) +#define SAREA_MAX 0x10000U +#else +#define SAREA_MAX 0x2000U +#endif +#define SAREA_MAX_DRAWABLES 256 +#define SAREA_DRAWABLE_CLAIMED_ENTRY 0x80000000 +struct drm_sarea_drawable { + unsigned int stamp; + unsigned int flags; +}; +struct drm_sarea_frame { + unsigned int x; + unsigned int y; + unsigned int width; + unsigned int height; + unsigned int fullscreen; +}; +struct drm_sarea { + + struct drm_hw_lock lock; + + struct drm_hw_lock drawable_lock; + struct drm_sarea_drawable drawableTable[SAREA_MAX_DRAWABLES]; + struct drm_sarea_frame frame; + drm_context_t dummy_context; +}; +#ifndef __KERNEL__ +typedef struct drm_sarea_drawable drm_sarea_drawable_t; +typedef struct drm_sarea_frame drm_sarea_frame_t; +typedef struct drm_sarea drm_sarea_t; +#endif +#if defined(__cplusplus) +} +#endif +#endif diff --git a/linux-5.10/prebuilts/usr/include/drm/etnaviv_drm.h b/linux-5.10/prebuilts/usr/include/drm/etnaviv_drm.h new file mode 100644 index 0000000..aacfbe0 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/drm/etnaviv_drm.h @@ -0,0 +1,191 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef __ETNAVIV_DRM_H__ +#define __ETNAVIV_DRM_H__ +#include "drm.h" +#if defined(__cplusplus) +extern "C" { +#endif +struct drm_etnaviv_timespec { + __s64 tv_sec; + __s64 tv_nsec; +}; +#define ETNAVIV_PARAM_GPU_MODEL 0x01 +#define ETNAVIV_PARAM_GPU_REVISION 0x02 +#define ETNAVIV_PARAM_GPU_FEATURES_0 0x03 +#define ETNAVIV_PARAM_GPU_FEATURES_1 0x04 +#define ETNAVIV_PARAM_GPU_FEATURES_2 0x05 +#define ETNAVIV_PARAM_GPU_FEATURES_3 0x06 +#define ETNAVIV_PARAM_GPU_FEATURES_4 0x07 +#define ETNAVIV_PARAM_GPU_FEATURES_5 0x08 +#define ETNAVIV_PARAM_GPU_FEATURES_6 0x09 +#define ETNAVIV_PARAM_GPU_FEATURES_7 0x0a +#define ETNAVIV_PARAM_GPU_FEATURES_8 0x0b +#define ETNAVIV_PARAM_GPU_FEATURES_9 0x0c +#define ETNAVIV_PARAM_GPU_FEATURES_10 0x0d +#define ETNAVIV_PARAM_GPU_FEATURES_11 0x0e +#define ETNAVIV_PARAM_GPU_FEATURES_12 0x0f +#define ETNAVIV_PARAM_GPU_STREAM_COUNT 0x10 +#define ETNAVIV_PARAM_GPU_REGISTER_MAX 0x11 +#define ETNAVIV_PARAM_GPU_THREAD_COUNT 0x12 +#define ETNAVIV_PARAM_GPU_VERTEX_CACHE_SIZE 0x13 +#define ETNAVIV_PARAM_GPU_SHADER_CORE_COUNT 0x14 +#define ETNAVIV_PARAM_GPU_PIXEL_PIPES 0x15 +#define ETNAVIV_PARAM_GPU_VERTEX_OUTPUT_BUFFER_SIZE 0x16 +#define ETNAVIV_PARAM_GPU_BUFFER_SIZE 0x17 +#define ETNAVIV_PARAM_GPU_INSTRUCTION_COUNT 0x18 +#define ETNAVIV_PARAM_GPU_NUM_CONSTANTS 0x19 +#define ETNAVIV_PARAM_GPU_NUM_VARYINGS 0x1a +#define ETNAVIV_PARAM_SOFTPIN_START_ADDR 0x1b +#define ETNA_MAX_PIPES 4 +struct drm_etnaviv_param { + __u32 pipe; + __u32 param; + __u64 value; +}; +#define ETNA_BO_CACHE_MASK 0x000f0000 +#define ETNA_BO_CACHED 0x00010000 +#define ETNA_BO_WC 0x00020000 +#define ETNA_BO_UNCACHED 0x00040000 +#define ETNA_BO_FORCE_MMU 0x00100000 +struct drm_etnaviv_gem_new { + __u64 size; + __u32 flags; + __u32 handle; +}; +struct drm_etnaviv_gem_info { + __u32 handle; + __u32 pad; + __u64 offset; +}; +#define ETNA_PREP_READ 0x01 +#define ETNA_PREP_WRITE 0x02 +#define ETNA_PREP_NOSYNC 0x04 +struct drm_etnaviv_gem_cpu_prep { + __u32 handle; + __u32 op; + struct drm_etnaviv_timespec timeout; +}; +struct drm_etnaviv_gem_cpu_fini { + __u32 handle; + __u32 flags; +}; +struct drm_etnaviv_gem_submit_reloc { + __u32 submit_offset; + __u32 reloc_idx; + __u64 reloc_offset; + __u32 flags; +}; +#define ETNA_SUBMIT_BO_READ 0x0001 +#define ETNA_SUBMIT_BO_WRITE 0x0002 +struct drm_etnaviv_gem_submit_bo { + __u32 flags; + __u32 handle; + __u64 presumed; +}; +#define ETNA_PM_PROCESS_PRE 0x0001 +#define ETNA_PM_PROCESS_POST 0x0002 +struct drm_etnaviv_gem_submit_pmr { + __u32 flags; + __u8 domain; + __u8 pad; + __u16 signal; + __u32 sequence; + __u32 read_offset; + __u32 read_idx; +}; +#define ETNA_SUBMIT_NO_IMPLICIT 0x0001 +#define ETNA_SUBMIT_FENCE_FD_IN 0x0002 +#define ETNA_SUBMIT_FENCE_FD_OUT 0x0004 +#define ETNA_SUBMIT_SOFTPIN 0x0008 +#define ETNA_SUBMIT_FLAGS (ETNA_SUBMIT_NO_IMPLICIT | \ + ETNA_SUBMIT_FENCE_FD_IN | \ + ETNA_SUBMIT_FENCE_FD_OUT| \ + ETNA_SUBMIT_SOFTPIN) +#define ETNA_PIPE_3D 0x00 +#define ETNA_PIPE_2D 0x01 +#define ETNA_PIPE_VG 0x02 +struct drm_etnaviv_gem_submit { + __u32 fence; + __u32 pipe; + __u32 exec_state; + __u32 nr_bos; + __u32 nr_relocs; + __u32 stream_size; + __u64 bos; + __u64 relocs; + __u64 stream; + __u32 flags; + __s32 fence_fd; + __u64 pmrs; + __u32 nr_pmrs; + __u32 pad; +}; +#define ETNA_WAIT_NONBLOCK 0x01 +struct drm_etnaviv_wait_fence { + __u32 pipe; + __u32 fence; + __u32 flags; + __u32 pad; + struct drm_etnaviv_timespec timeout; +}; +#define ETNA_USERPTR_READ 0x01 +#define ETNA_USERPTR_WRITE 0x02 +struct drm_etnaviv_gem_userptr { + __u64 user_ptr; + __u64 user_size; + __u32 flags; + __u32 handle; +}; +struct drm_etnaviv_gem_wait { + __u32 pipe; + __u32 handle; + __u32 flags; + __u32 pad; + struct drm_etnaviv_timespec timeout; +}; +struct drm_etnaviv_pm_domain { + __u32 pipe; + __u8 iter; + __u8 id; + __u16 nr_signals; + char name[64]; +}; +struct drm_etnaviv_pm_signal { + __u32 pipe; + __u8 domain; + __u8 pad; + __u16 iter; + __u16 id; + char name[64]; +}; +#define DRM_ETNAVIV_GET_PARAM 0x00 +#define DRM_ETNAVIV_GEM_NEW 0x02 +#define DRM_ETNAVIV_GEM_INFO 0x03 +#define DRM_ETNAVIV_GEM_CPU_PREP 0x04 +#define DRM_ETNAVIV_GEM_CPU_FINI 0x05 +#define DRM_ETNAVIV_GEM_SUBMIT 0x06 +#define DRM_ETNAVIV_WAIT_FENCE 0x07 +#define DRM_ETNAVIV_GEM_USERPTR 0x08 +#define DRM_ETNAVIV_GEM_WAIT 0x09 +#define DRM_ETNAVIV_PM_QUERY_DOM 0x0a +#define DRM_ETNAVIV_PM_QUERY_SIG 0x0b +#define DRM_ETNAVIV_NUM_IOCTLS 0x0c +#define DRM_IOCTL_ETNAVIV_GET_PARAM DRM_IOWR(DRM_COMMAND_BASE + DRM_ETNAVIV_GET_PARAM, struct drm_etnaviv_param) +#define DRM_IOCTL_ETNAVIV_GEM_NEW DRM_IOWR(DRM_COMMAND_BASE + DRM_ETNAVIV_GEM_NEW, struct drm_etnaviv_gem_new) +#define DRM_IOCTL_ETNAVIV_GEM_INFO DRM_IOWR(DRM_COMMAND_BASE + DRM_ETNAVIV_GEM_INFO, struct drm_etnaviv_gem_info) +#define DRM_IOCTL_ETNAVIV_GEM_CPU_PREP DRM_IOW(DRM_COMMAND_BASE + DRM_ETNAVIV_GEM_CPU_PREP, struct drm_etnaviv_gem_cpu_prep) +#define DRM_IOCTL_ETNAVIV_GEM_CPU_FINI DRM_IOW(DRM_COMMAND_BASE + DRM_ETNAVIV_GEM_CPU_FINI, struct drm_etnaviv_gem_cpu_fini) +#define DRM_IOCTL_ETNAVIV_GEM_SUBMIT DRM_IOWR(DRM_COMMAND_BASE + DRM_ETNAVIV_GEM_SUBMIT, struct drm_etnaviv_gem_submit) +#define DRM_IOCTL_ETNAVIV_WAIT_FENCE DRM_IOW(DRM_COMMAND_BASE + DRM_ETNAVIV_WAIT_FENCE, struct drm_etnaviv_wait_fence) +#define DRM_IOCTL_ETNAVIV_GEM_USERPTR DRM_IOWR(DRM_COMMAND_BASE + DRM_ETNAVIV_GEM_USERPTR, struct drm_etnaviv_gem_userptr) +#define DRM_IOCTL_ETNAVIV_GEM_WAIT DRM_IOW(DRM_COMMAND_BASE + DRM_ETNAVIV_GEM_WAIT, struct drm_etnaviv_gem_wait) +#define DRM_IOCTL_ETNAVIV_PM_QUERY_DOM DRM_IOWR(DRM_COMMAND_BASE + DRM_ETNAVIV_PM_QUERY_DOM, struct drm_etnaviv_pm_domain) +#define DRM_IOCTL_ETNAVIV_PM_QUERY_SIG DRM_IOWR(DRM_COMMAND_BASE + DRM_ETNAVIV_PM_QUERY_SIG, struct drm_etnaviv_pm_signal) +#if defined(__cplusplus) +} +#endif +#endif diff --git a/linux-5.10/prebuilts/usr/include/drm/exynos_drm.h b/linux-5.10/prebuilts/usr/include/drm/exynos_drm.h new file mode 100644 index 0000000..15de88a --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/drm/exynos_drm.h @@ -0,0 +1,253 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI_EXYNOS_DRM_H_ +#define _UAPI_EXYNOS_DRM_H_ +#include "drm.h" +#if defined(__cplusplus) +extern "C" { +#endif +struct drm_exynos_gem_create { + __u64 size; + __u32 flags; + __u32 handle; +}; +struct drm_exynos_gem_map { + __u32 handle; + __u32 reserved; + __u64 offset; +}; +struct drm_exynos_gem_info { + __u32 handle; + __u32 flags; + __u64 size; +}; +struct drm_exynos_vidi_connection { + __u32 connection; + __u32 extensions; + __u64 edid; +}; +enum e_drm_exynos_gem_mem_type { + + EXYNOS_BO_CONTIG = 0 << 0, + + EXYNOS_BO_NONCONTIG = 1 << 0, + + EXYNOS_BO_NONCACHABLE = 0 << 1, + + EXYNOS_BO_CACHABLE = 1 << 1, + + EXYNOS_BO_WC = 1 << 2, + EXYNOS_BO_MASK = EXYNOS_BO_NONCONTIG | EXYNOS_BO_CACHABLE | + EXYNOS_BO_WC +}; +struct drm_exynos_g2d_get_ver { + __u32 major; + __u32 minor; +}; +struct drm_exynos_g2d_cmd { + __u32 offset; + __u32 data; +}; +enum drm_exynos_g2d_buf_type { + G2D_BUF_USERPTR = 1 << 31, +}; +enum drm_exynos_g2d_event_type { + G2D_EVENT_NOT, + G2D_EVENT_NONSTOP, + G2D_EVENT_STOP, +}; +struct drm_exynos_g2d_userptr { + unsigned long userptr; + unsigned long size; +}; +struct drm_exynos_g2d_set_cmdlist { + __u64 cmd; + __u64 cmd_buf; + __u32 cmd_nr; + __u32 cmd_buf_nr; + + __u64 event_type; + __u64 user_data; +}; +struct drm_exynos_g2d_exec { + __u64 async; +}; +struct drm_exynos_ioctl_ipp_get_res { + __u32 count_ipps; + __u32 reserved; + __u64 ipp_id_ptr; +}; +enum drm_exynos_ipp_format_type { + DRM_EXYNOS_IPP_FORMAT_SOURCE = 0x01, + DRM_EXYNOS_IPP_FORMAT_DESTINATION = 0x02, +}; +struct drm_exynos_ipp_format { + __u32 fourcc; + __u32 type; + __u64 modifier; +}; +enum drm_exynos_ipp_capability { + DRM_EXYNOS_IPP_CAP_CROP = 0x01, + DRM_EXYNOS_IPP_CAP_ROTATE = 0x02, + DRM_EXYNOS_IPP_CAP_SCALE = 0x04, + DRM_EXYNOS_IPP_CAP_CONVERT = 0x08, +}; +struct drm_exynos_ioctl_ipp_get_caps { + __u32 ipp_id; + __u32 capabilities; + __u32 reserved; + __u32 formats_count; + __u64 formats_ptr; +}; +enum drm_exynos_ipp_limit_type { + + DRM_EXYNOS_IPP_LIMIT_TYPE_SIZE = 0x0001, + + DRM_EXYNOS_IPP_LIMIT_TYPE_SCALE = 0x0002, + + DRM_EXYNOS_IPP_LIMIT_SIZE_BUFFER = 0x0001 << 16, + + DRM_EXYNOS_IPP_LIMIT_SIZE_AREA = 0x0002 << 16, + + DRM_EXYNOS_IPP_LIMIT_SIZE_ROTATED = 0x0003 << 16, + DRM_EXYNOS_IPP_LIMIT_TYPE_MASK = 0x000f, + DRM_EXYNOS_IPP_LIMIT_SIZE_MASK = 0x000f << 16, +}; +struct drm_exynos_ipp_limit_val { + __u32 min; + __u32 max; + __u32 align; + __u32 reserved; +}; +struct drm_exynos_ipp_limit { + __u32 type; + __u32 reserved; + struct drm_exynos_ipp_limit_val h; + struct drm_exynos_ipp_limit_val v; +}; +struct drm_exynos_ioctl_ipp_get_limits { + __u32 ipp_id; + __u32 fourcc; + __u64 modifier; + __u32 type; + __u32 limits_count; + __u64 limits_ptr; +}; +enum drm_exynos_ipp_task_id { + + DRM_EXYNOS_IPP_TASK_BUFFER = 0x0001, + + DRM_EXYNOS_IPP_TASK_RECTANGLE = 0x0002, + + DRM_EXYNOS_IPP_TASK_TRANSFORM = 0x0003, + + DRM_EXYNOS_IPP_TASK_ALPHA = 0x0004, + + DRM_EXYNOS_IPP_TASK_TYPE_SOURCE = 0x0001 << 16, + + DRM_EXYNOS_IPP_TASK_TYPE_DESTINATION = 0x0002 << 16, +}; +struct drm_exynos_ipp_task_buffer { + __u32 id; + __u32 fourcc; + __u32 width, height; + __u32 gem_id[4]; + __u32 offset[4]; + __u32 pitch[4]; + __u64 modifier; +}; +struct drm_exynos_ipp_task_rect { + __u32 id; + __u32 reserved; + __u32 x; + __u32 y; + __u32 w; + __u32 h; +}; +struct drm_exynos_ipp_task_transform { + __u32 id; + __u32 rotation; +}; +struct drm_exynos_ipp_task_alpha { + __u32 id; + __u32 value; +}; +enum drm_exynos_ipp_flag { + + DRM_EXYNOS_IPP_FLAG_EVENT = 0x01, + + DRM_EXYNOS_IPP_FLAG_TEST_ONLY = 0x02, + + DRM_EXYNOS_IPP_FLAG_NONBLOCK = 0x04, +}; +#define DRM_EXYNOS_IPP_FLAGS (DRM_EXYNOS_IPP_FLAG_EVENT |\ + DRM_EXYNOS_IPP_FLAG_TEST_ONLY | DRM_EXYNOS_IPP_FLAG_NONBLOCK) +struct drm_exynos_ioctl_ipp_commit { + __u32 ipp_id; + __u32 flags; + __u32 reserved; + __u32 params_size; + __u64 params_ptr; + __u64 user_data; +}; +#define DRM_EXYNOS_GEM_CREATE 0x00 +#define DRM_EXYNOS_GEM_MAP 0x01 +#define DRM_EXYNOS_GEM_GET 0x04 +#define DRM_EXYNOS_VIDI_CONNECTION 0x07 +#define DRM_EXYNOS_G2D_GET_VER 0x20 +#define DRM_EXYNOS_G2D_SET_CMDLIST 0x21 +#define DRM_EXYNOS_G2D_EXEC 0x22 +#define DRM_EXYNOS_IPP_GET_RESOURCES 0x40 +#define DRM_EXYNOS_IPP_GET_CAPS 0x41 +#define DRM_EXYNOS_IPP_GET_LIMITS 0x42 +#define DRM_EXYNOS_IPP_COMMIT 0x43 +#define DRM_IOCTL_EXYNOS_GEM_CREATE DRM_IOWR(DRM_COMMAND_BASE + \ + DRM_EXYNOS_GEM_CREATE, struct drm_exynos_gem_create) +#define DRM_IOCTL_EXYNOS_GEM_MAP DRM_IOWR(DRM_COMMAND_BASE + \ + DRM_EXYNOS_GEM_MAP, struct drm_exynos_gem_map) +#define DRM_IOCTL_EXYNOS_GEM_GET DRM_IOWR(DRM_COMMAND_BASE + \ + DRM_EXYNOS_GEM_GET, struct drm_exynos_gem_info) +#define DRM_IOCTL_EXYNOS_VIDI_CONNECTION DRM_IOWR(DRM_COMMAND_BASE + \ + DRM_EXYNOS_VIDI_CONNECTION, struct drm_exynos_vidi_connection) +#define DRM_IOCTL_EXYNOS_G2D_GET_VER DRM_IOWR(DRM_COMMAND_BASE + \ + DRM_EXYNOS_G2D_GET_VER, struct drm_exynos_g2d_get_ver) +#define DRM_IOCTL_EXYNOS_G2D_SET_CMDLIST DRM_IOWR(DRM_COMMAND_BASE + \ + DRM_EXYNOS_G2D_SET_CMDLIST, struct drm_exynos_g2d_set_cmdlist) +#define DRM_IOCTL_EXYNOS_G2D_EXEC DRM_IOWR(DRM_COMMAND_BASE + \ + DRM_EXYNOS_G2D_EXEC, struct drm_exynos_g2d_exec) +#define DRM_IOCTL_EXYNOS_IPP_GET_RESOURCES DRM_IOWR(DRM_COMMAND_BASE + \ + DRM_EXYNOS_IPP_GET_RESOURCES, \ + struct drm_exynos_ioctl_ipp_get_res) +#define DRM_IOCTL_EXYNOS_IPP_GET_CAPS DRM_IOWR(DRM_COMMAND_BASE + \ + DRM_EXYNOS_IPP_GET_CAPS, struct drm_exynos_ioctl_ipp_get_caps) +#define DRM_IOCTL_EXYNOS_IPP_GET_LIMITS DRM_IOWR(DRM_COMMAND_BASE + \ + DRM_EXYNOS_IPP_GET_LIMITS, \ + struct drm_exynos_ioctl_ipp_get_limits) +#define DRM_IOCTL_EXYNOS_IPP_COMMIT DRM_IOWR(DRM_COMMAND_BASE + \ + DRM_EXYNOS_IPP_COMMIT, struct drm_exynos_ioctl_ipp_commit) +#define DRM_EXYNOS_G2D_EVENT 0x80000000 +#define DRM_EXYNOS_IPP_EVENT 0x80000002 +struct drm_exynos_g2d_event { + struct drm_event base; + __u64 user_data; + __u32 tv_sec; + __u32 tv_usec; + __u32 cmdlist_no; + __u32 reserved; +}; +struct drm_exynos_ipp_event { + struct drm_event base; + __u64 user_data; + __u32 tv_sec; + __u32 tv_usec; + __u32 ipp_id; + __u32 sequence; + __u64 reserved; +}; +#if defined(__cplusplus) +} +#endif +#endif diff --git a/linux-5.10/prebuilts/usr/include/drm/i810_drm.h b/linux-5.10/prebuilts/usr/include/drm/i810_drm.h new file mode 100644 index 0000000..747fe4c --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/drm/i810_drm.h @@ -0,0 +1,209 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _I810_DRM_H_ +#define _I810_DRM_H_ +#include "drm.h" +#if defined(__cplusplus) +extern "C" { +#endif +#ifndef _I810_DEFINES_ +#define _I810_DEFINES_ +#define I810_DMA_BUF_ORDER 12 +#define I810_DMA_BUF_SZ (1<XvMCLockArea) + \ + (VIA_MAX_CACHELINE_SIZE - 1)) & \ + ~(VIA_MAX_CACHELINE_SIZE - 1)) + \ + VIA_MAX_CACHELINE_SIZE*(lockNo))) +#define VIA_NR_TEX_REGIONS 64 +#define VIA_LOG_MIN_TEX_REGION_SIZE 16 +#endif +#define VIA_UPLOAD_TEX0IMAGE 0x1 +#define VIA_UPLOAD_TEX1IMAGE 0x2 +#define VIA_UPLOAD_CTX 0x4 +#define VIA_UPLOAD_BUFFERS 0x8 +#define VIA_UPLOAD_TEX0 0x10 +#define VIA_UPLOAD_TEX1 0x20 +#define VIA_UPLOAD_CLIPRECTS 0x40 +#define VIA_UPLOAD_ALL 0xff +#define DRM_VIA_ALLOCMEM 0x00 +#define DRM_VIA_FREEMEM 0x01 +#define DRM_VIA_AGP_INIT 0x02 +#define DRM_VIA_FB_INIT 0x03 +#define DRM_VIA_MAP_INIT 0x04 +#define DRM_VIA_DEC_FUTEX 0x05 +#define NOT_USED +#define DRM_VIA_DMA_INIT 0x07 +#define DRM_VIA_CMDBUFFER 0x08 +#define DRM_VIA_FLUSH 0x09 +#define DRM_VIA_PCICMD 0x0a +#define DRM_VIA_CMDBUF_SIZE 0x0b +#define NOT_USED +#define DRM_VIA_WAIT_IRQ 0x0d +#define DRM_VIA_DMA_BLIT 0x0e +#define DRM_VIA_BLIT_SYNC 0x0f +#define DRM_IOCTL_VIA_ALLOCMEM DRM_IOWR(DRM_COMMAND_BASE + DRM_VIA_ALLOCMEM, drm_via_mem_t) +#define DRM_IOCTL_VIA_FREEMEM DRM_IOW( DRM_COMMAND_BASE + DRM_VIA_FREEMEM, drm_via_mem_t) +#define DRM_IOCTL_VIA_AGP_INIT DRM_IOWR(DRM_COMMAND_BASE + DRM_VIA_AGP_INIT, drm_via_agp_t) +#define DRM_IOCTL_VIA_FB_INIT DRM_IOWR(DRM_COMMAND_BASE + DRM_VIA_FB_INIT, drm_via_fb_t) +#define DRM_IOCTL_VIA_MAP_INIT DRM_IOWR(DRM_COMMAND_BASE + DRM_VIA_MAP_INIT, drm_via_init_t) +#define DRM_IOCTL_VIA_DEC_FUTEX DRM_IOW( DRM_COMMAND_BASE + DRM_VIA_DEC_FUTEX, drm_via_futex_t) +#define DRM_IOCTL_VIA_DMA_INIT DRM_IOWR(DRM_COMMAND_BASE + DRM_VIA_DMA_INIT, drm_via_dma_init_t) +#define DRM_IOCTL_VIA_CMDBUFFER DRM_IOW( DRM_COMMAND_BASE + DRM_VIA_CMDBUFFER, drm_via_cmdbuffer_t) +#define DRM_IOCTL_VIA_FLUSH DRM_IO( DRM_COMMAND_BASE + DRM_VIA_FLUSH) +#define DRM_IOCTL_VIA_PCICMD DRM_IOW( DRM_COMMAND_BASE + DRM_VIA_PCICMD, drm_via_cmdbuffer_t) +#define DRM_IOCTL_VIA_CMDBUF_SIZE DRM_IOWR( DRM_COMMAND_BASE + DRM_VIA_CMDBUF_SIZE, \ + drm_via_cmdbuf_size_t) +#define DRM_IOCTL_VIA_WAIT_IRQ DRM_IOWR( DRM_COMMAND_BASE + DRM_VIA_WAIT_IRQ, drm_via_irqwait_t) +#define DRM_IOCTL_VIA_DMA_BLIT DRM_IOW(DRM_COMMAND_BASE + DRM_VIA_DMA_BLIT, drm_via_dmablit_t) +#define DRM_IOCTL_VIA_BLIT_SYNC DRM_IOW(DRM_COMMAND_BASE + DRM_VIA_BLIT_SYNC, drm_via_blitsync_t) +#define VIA_TEX_SETUP_SIZE 8 +#define VIA_FRONT 0x1 +#define VIA_BACK 0x2 +#define VIA_DEPTH 0x4 +#define VIA_STENCIL 0x8 +#define VIA_MEM_VIDEO 0 +#define VIA_MEM_AGP 1 +#define VIA_MEM_SYSTEM 2 +#define VIA_MEM_MIXED 3 +#define VIA_MEM_UNKNOWN 4 +typedef struct { + __u32 offset; + __u32 size; +} drm_via_agp_t; +typedef struct { + __u32 offset; + __u32 size; +} drm_via_fb_t; +typedef struct { + __u32 context; + __u32 type; + __u32 size; + unsigned long index; + unsigned long offset; +} drm_via_mem_t; +typedef struct _drm_via_init { + enum { + VIA_INIT_MAP = 0x01, + VIA_CLEANUP_MAP = 0x02 + } func; + unsigned long sarea_priv_offset; + unsigned long fb_offset; + unsigned long mmio_offset; + unsigned long agpAddr; +} drm_via_init_t; +typedef struct _drm_via_futex { + enum { + VIA_FUTEX_WAIT = 0x00, + VIA_FUTEX_WAKE = 0X01 + } func; + __u32 ms; + __u32 lock; + __u32 val; +} drm_via_futex_t; +typedef struct _drm_via_dma_init { + enum { + VIA_INIT_DMA = 0x01, + VIA_CLEANUP_DMA = 0x02, + VIA_DMA_INITIALIZED = 0x03 + } func; + unsigned long offset; + unsigned long size; + unsigned long reg_pause_addr; +} drm_via_dma_init_t; +typedef struct _drm_via_cmdbuffer { + char __user *buf; + unsigned long size; +} drm_via_cmdbuffer_t; +typedef struct _drm_via_tex_region { + unsigned char next, prev; + unsigned char inUse; + int age; +} drm_via_tex_region_t; +typedef struct _drm_via_sarea { + unsigned int dirty; + unsigned int nbox; + struct drm_clip_rect boxes[VIA_NR_SAREA_CLIPRECTS]; + drm_via_tex_region_t texList[VIA_NR_TEX_REGIONS + 1]; + int texAge; + int ctxOwner; + int vertexPrim; + + char XvMCLockArea[VIA_MAX_CACHELINE_SIZE * (VIA_NR_XVMC_LOCKS + 1)]; + unsigned int XvMCDisplaying[VIA_NR_XVMC_PORTS]; + unsigned int XvMCSubPicOn[VIA_NR_XVMC_PORTS]; + unsigned int XvMCCtxNoGrabbed; + + unsigned int pfCurrentOffset; +} drm_via_sarea_t; +typedef struct _drm_via_cmdbuf_size { + enum { + VIA_CMDBUF_SPACE = 0x01, + VIA_CMDBUF_LAG = 0x02 + } func; + int wait; + __u32 size; +} drm_via_cmdbuf_size_t; +typedef enum { + VIA_IRQ_ABSOLUTE = 0x0, + VIA_IRQ_RELATIVE = 0x1, + VIA_IRQ_SIGNAL = 0x10000000, + VIA_IRQ_FORCE_SEQUENCE = 0x20000000 +} via_irq_seq_type_t; +#define VIA_IRQ_FLAGS_MASK 0xF0000000 +enum drm_via_irqs { + drm_via_irq_hqv0 = 0, + drm_via_irq_hqv1, + drm_via_irq_dma0_dd, + drm_via_irq_dma0_td, + drm_via_irq_dma1_dd, + drm_via_irq_dma1_td, + drm_via_irq_num +}; +struct drm_via_wait_irq_request { + unsigned irq; + via_irq_seq_type_t type; + __u32 sequence; + __u32 signal; +}; +typedef union drm_via_irqwait { + struct drm_via_wait_irq_request request; + struct drm_wait_vblank_reply reply; +} drm_via_irqwait_t; +typedef struct drm_via_blitsync { + __u32 sync_handle; + unsigned engine; +} drm_via_blitsync_t; +typedef struct drm_via_dmablit { + __u32 num_lines; + __u32 line_length; + __u32 fb_addr; + __u32 fb_stride; + unsigned char *mem_addr; + __u32 mem_stride; + __u32 flags; + int to_fb; + drm_via_blitsync_t sync; +} drm_via_dmablit_t; +#if defined(__cplusplus) +} +#endif +#endif diff --git a/linux-5.10/prebuilts/usr/include/drm/virtgpu_drm.h b/linux-5.10/prebuilts/usr/include/drm/virtgpu_drm.h new file mode 100644 index 0000000..48eaa88 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/drm/virtgpu_drm.h @@ -0,0 +1,129 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef VIRTGPU_DRM_H +#define VIRTGPU_DRM_H +#include "drm.h" +#if defined(__cplusplus) +extern "C" { +#endif +#define DRM_VIRTGPU_MAP 0x01 +#define DRM_VIRTGPU_EXECBUFFER 0x02 +#define DRM_VIRTGPU_GETPARAM 0x03 +#define DRM_VIRTGPU_RESOURCE_CREATE 0x04 +#define DRM_VIRTGPU_RESOURCE_INFO 0x05 +#define DRM_VIRTGPU_TRANSFER_FROM_HOST 0x06 +#define DRM_VIRTGPU_TRANSFER_TO_HOST 0x07 +#define DRM_VIRTGPU_WAIT 0x08 +#define DRM_VIRTGPU_GET_CAPS 0x09 +#define VIRTGPU_EXECBUF_FENCE_FD_IN 0x01 +#define VIRTGPU_EXECBUF_FENCE_FD_OUT 0x02 +#define VIRTGPU_EXECBUF_FLAGS (\ + VIRTGPU_EXECBUF_FENCE_FD_IN |\ + VIRTGPU_EXECBUF_FENCE_FD_OUT |\ + 0) +struct drm_virtgpu_map { + __u64 offset; + __u32 handle; + __u32 pad; +}; +struct drm_virtgpu_execbuffer { + __u32 flags; + __u32 size; + __u64 command; + __u64 bo_handles; + __u32 num_bo_handles; + __s32 fence_fd; +}; +#define VIRTGPU_PARAM_3D_FEATURES 1 +#define VIRTGPU_PARAM_CAPSET_QUERY_FIX 2 +struct drm_virtgpu_getparam { + __u64 param; + __u64 value; +}; +struct drm_virtgpu_resource_create { + __u32 target; + __u32 format; + __u32 bind; + __u32 width; + __u32 height; + __u32 depth; + __u32 array_size; + __u32 last_level; + __u32 nr_samples; + __u32 flags; + __u32 bo_handle; + __u32 res_handle; + __u32 size; + __u32 stride; +}; +struct drm_virtgpu_resource_info { + __u32 bo_handle; + __u32 res_handle; + __u32 size; + __u32 stride; +}; +struct drm_virtgpu_3d_box { + __u32 x; + __u32 y; + __u32 z; + __u32 w; + __u32 h; + __u32 d; +}; +struct drm_virtgpu_3d_transfer_to_host { + __u32 bo_handle; + struct drm_virtgpu_3d_box box; + __u32 level; + __u32 offset; +}; +struct drm_virtgpu_3d_transfer_from_host { + __u32 bo_handle; + struct drm_virtgpu_3d_box box; + __u32 level; + __u32 offset; +}; +#define VIRTGPU_WAIT_NOWAIT 1 +struct drm_virtgpu_3d_wait { + __u32 handle; + __u32 flags; +}; +struct drm_virtgpu_get_caps { + __u32 cap_set_id; + __u32 cap_set_ver; + __u64 addr; + __u32 size; + __u32 pad; +}; +#define DRM_IOCTL_VIRTGPU_MAP \ + DRM_IOWR(DRM_COMMAND_BASE + DRM_VIRTGPU_MAP, struct drm_virtgpu_map) +#define DRM_IOCTL_VIRTGPU_EXECBUFFER \ + DRM_IOWR(DRM_COMMAND_BASE + DRM_VIRTGPU_EXECBUFFER,\ + struct drm_virtgpu_execbuffer) +#define DRM_IOCTL_VIRTGPU_GETPARAM \ + DRM_IOWR(DRM_COMMAND_BASE + DRM_VIRTGPU_GETPARAM,\ + struct drm_virtgpu_getparam) +#define DRM_IOCTL_VIRTGPU_RESOURCE_CREATE \ + DRM_IOWR(DRM_COMMAND_BASE + DRM_VIRTGPU_RESOURCE_CREATE, \ + struct drm_virtgpu_resource_create) +#define DRM_IOCTL_VIRTGPU_RESOURCE_INFO \ + DRM_IOWR(DRM_COMMAND_BASE + DRM_VIRTGPU_RESOURCE_INFO, \ + struct drm_virtgpu_resource_info) +#define DRM_IOCTL_VIRTGPU_TRANSFER_FROM_HOST \ + DRM_IOWR(DRM_COMMAND_BASE + DRM_VIRTGPU_TRANSFER_FROM_HOST, \ + struct drm_virtgpu_3d_transfer_from_host) +#define DRM_IOCTL_VIRTGPU_TRANSFER_TO_HOST \ + DRM_IOWR(DRM_COMMAND_BASE + DRM_VIRTGPU_TRANSFER_TO_HOST, \ + struct drm_virtgpu_3d_transfer_to_host) +#define DRM_IOCTL_VIRTGPU_WAIT \ + DRM_IOWR(DRM_COMMAND_BASE + DRM_VIRTGPU_WAIT, \ + struct drm_virtgpu_3d_wait) +#define DRM_IOCTL_VIRTGPU_GET_CAPS \ + DRM_IOWR(DRM_COMMAND_BASE + DRM_VIRTGPU_GET_CAPS, \ + struct drm_virtgpu_get_caps) +#if defined(__cplusplus) +} +#endif +#endif diff --git a/linux-5.10/prebuilts/usr/include/drm/vmwgfx_drm.h b/linux-5.10/prebuilts/usr/include/drm/vmwgfx_drm.h new file mode 100644 index 0000000..07165c4 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/drm/vmwgfx_drm.h @@ -0,0 +1,353 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef __VMWGFX_DRM_H__ +#define __VMWGFX_DRM_H__ +#include "drm.h" +#if defined(__cplusplus) +extern "C" { +#endif +#define DRM_VMW_MAX_SURFACE_FACES 6 +#define DRM_VMW_MAX_MIP_LEVELS 24 +#define DRM_VMW_GET_PARAM 0 +#define DRM_VMW_ALLOC_DMABUF 1 +#define DRM_VMW_ALLOC_BO 1 +#define DRM_VMW_UNREF_DMABUF 2 +#define DRM_VMW_HANDLE_CLOSE 2 +#define DRM_VMW_CURSOR_BYPASS 3 +#define DRM_VMW_CONTROL_STREAM 4 +#define DRM_VMW_CLAIM_STREAM 5 +#define DRM_VMW_UNREF_STREAM 6 +#define DRM_VMW_CREATE_CONTEXT 7 +#define DRM_VMW_UNREF_CONTEXT 8 +#define DRM_VMW_CREATE_SURFACE 9 +#define DRM_VMW_UNREF_SURFACE 10 +#define DRM_VMW_REF_SURFACE 11 +#define DRM_VMW_EXECBUF 12 +#define DRM_VMW_GET_3D_CAP 13 +#define DRM_VMW_FENCE_WAIT 14 +#define DRM_VMW_FENCE_SIGNALED 15 +#define DRM_VMW_FENCE_UNREF 16 +#define DRM_VMW_FENCE_EVENT 17 +#define DRM_VMW_PRESENT 18 +#define DRM_VMW_PRESENT_READBACK 19 +#define DRM_VMW_UPDATE_LAYOUT 20 +#define DRM_VMW_CREATE_SHADER 21 +#define DRM_VMW_UNREF_SHADER 22 +#define DRM_VMW_GB_SURFACE_CREATE 23 +#define DRM_VMW_GB_SURFACE_REF 24 +#define DRM_VMW_SYNCCPU 25 +#define DRM_VMW_CREATE_EXTENDED_CONTEXT 26 +#define DRM_VMW_GB_SURFACE_CREATE_EXT 27 +#define DRM_VMW_GB_SURFACE_REF_EXT 28 +#define DRM_VMW_MSG 29 +#define DRM_VMW_PARAM_NUM_STREAMS 0 +#define DRM_VMW_PARAM_NUM_FREE_STREAMS 1 +#define DRM_VMW_PARAM_3D 2 +#define DRM_VMW_PARAM_HW_CAPS 3 +#define DRM_VMW_PARAM_FIFO_CAPS 4 +#define DRM_VMW_PARAM_MAX_FB_SIZE 5 +#define DRM_VMW_PARAM_FIFO_HW_VERSION 6 +#define DRM_VMW_PARAM_MAX_SURF_MEMORY 7 +#define DRM_VMW_PARAM_3D_CAPS_SIZE 8 +#define DRM_VMW_PARAM_MAX_MOB_MEMORY 9 +#define DRM_VMW_PARAM_MAX_MOB_SIZE 10 +#define DRM_VMW_PARAM_SCREEN_TARGET 11 +#define DRM_VMW_PARAM_DX 12 +#define DRM_VMW_PARAM_HW_CAPS2 13 +#define DRM_VMW_PARAM_SM4_1 14 +#define DRM_VMW_PARAM_SM5 15 +enum drm_vmw_handle_type { + DRM_VMW_HANDLE_LEGACY = 0, + DRM_VMW_HANDLE_PRIME = 1 +}; +struct drm_vmw_getparam_arg { + __u64 value; + __u32 param; + __u32 pad64; +}; +struct drm_vmw_context_arg { + __s32 cid; + __u32 pad64; +}; +struct drm_vmw_surface_create_req { + __u32 flags; + __u32 format; + __u32 mip_levels[DRM_VMW_MAX_SURFACE_FACES]; + __u64 size_addr; + __s32 shareable; + __s32 scanout; +}; +struct drm_vmw_surface_arg { + __s32 sid; + enum drm_vmw_handle_type handle_type; +}; +struct drm_vmw_size { + __u32 width; + __u32 height; + __u32 depth; + __u32 pad64; +}; +union drm_vmw_surface_create_arg { + struct drm_vmw_surface_arg rep; + struct drm_vmw_surface_create_req req; +}; +union drm_vmw_surface_reference_arg { + struct drm_vmw_surface_create_req rep; + struct drm_vmw_surface_arg req; +}; +#define DRM_VMW_EXECBUF_VERSION 2 +#define DRM_VMW_EXECBUF_FLAG_IMPORT_FENCE_FD (1 << 0) +#define DRM_VMW_EXECBUF_FLAG_EXPORT_FENCE_FD (1 << 1) +struct drm_vmw_execbuf_arg { + __u64 commands; + __u32 command_size; + __u32 throttle_us; + __u64 fence_rep; + __u32 version; + __u32 flags; + __u32 context_handle; + __s32 imported_fence_fd; +}; +struct drm_vmw_fence_rep { + __u32 handle; + __u32 mask; + __u32 seqno; + __u32 passed_seqno; + __s32 fd; + __s32 error; +}; +struct drm_vmw_alloc_bo_req { + __u32 size; + __u32 pad64; +}; +#define drm_vmw_alloc_dmabuf_req drm_vmw_alloc_bo_req +struct drm_vmw_bo_rep { + __u64 map_handle; + __u32 handle; + __u32 cur_gmr_id; + __u32 cur_gmr_offset; + __u32 pad64; +}; +#define drm_vmw_dmabuf_rep drm_vmw_bo_rep +union drm_vmw_alloc_bo_arg { + struct drm_vmw_alloc_bo_req req; + struct drm_vmw_bo_rep rep; +}; +#define drm_vmw_alloc_dmabuf_arg drm_vmw_alloc_bo_arg +struct drm_vmw_rect { + __s32 x; + __s32 y; + __u32 w; + __u32 h; +}; +struct drm_vmw_control_stream_arg { + __u32 stream_id; + __u32 enabled; + __u32 flags; + __u32 color_key; + __u32 handle; + __u32 offset; + __s32 format; + __u32 size; + __u32 width; + __u32 height; + __u32 pitch[3]; + __u32 pad64; + struct drm_vmw_rect src; + struct drm_vmw_rect dst; +}; +#define DRM_VMW_CURSOR_BYPASS_ALL (1 << 0) +#define DRM_VMW_CURSOR_BYPASS_FLAGS (1) +struct drm_vmw_cursor_bypass_arg { + __u32 flags; + __u32 crtc_id; + __s32 xpos; + __s32 ypos; + __s32 xhot; + __s32 yhot; +}; +struct drm_vmw_stream_arg { + __u32 stream_id; + __u32 pad64; +}; +struct drm_vmw_get_3d_cap_arg { + __u64 buffer; + __u32 max_size; + __u32 pad64; +}; +#define DRM_VMW_FENCE_FLAG_EXEC (1 << 0) +#define DRM_VMW_FENCE_FLAG_QUERY (1 << 1) +#define DRM_VMW_WAIT_OPTION_UNREF (1 << 0) +struct drm_vmw_fence_wait_arg { + __u32 handle; + __s32 cookie_valid; + __u64 kernel_cookie; + __u64 timeout_us; + __s32 lazy; + __s32 flags; + __s32 wait_options; + __s32 pad64; +}; +struct drm_vmw_fence_signaled_arg { + __u32 handle; + __u32 flags; + __s32 signaled; + __u32 passed_seqno; + __u32 signaled_flags; + __u32 pad64; +}; +struct drm_vmw_fence_arg { + __u32 handle; + __u32 pad64; +}; +#define DRM_VMW_EVENT_FENCE_SIGNALED 0x80000000 +struct drm_vmw_event_fence { + struct drm_event base; + __u64 user_data; + __u32 tv_sec; + __u32 tv_usec; +}; +#define DRM_VMW_FE_FLAG_REQ_TIME (1 << 0) +struct drm_vmw_fence_event_arg { + __u64 fence_rep; + __u64 user_data; + __u32 handle; + __u32 flags; +}; +struct drm_vmw_present_arg { + __u32 fb_id; + __u32 sid; + __s32 dest_x; + __s32 dest_y; + __u64 clips_ptr; + __u32 num_clips; + __u32 pad64; +}; +struct drm_vmw_present_readback_arg { + __u32 fb_id; + __u32 num_clips; + __u64 clips_ptr; + __u64 fence_rep; +}; +struct drm_vmw_update_layout_arg { + __u32 num_outputs; + __u32 pad64; + __u64 rects; +}; +enum drm_vmw_shader_type { + drm_vmw_shader_type_vs = 0, + drm_vmw_shader_type_ps, +}; +struct drm_vmw_shader_create_arg { + enum drm_vmw_shader_type shader_type; + __u32 size; + __u32 buffer_handle; + __u32 shader_handle; + __u64 offset; +}; +struct drm_vmw_shader_arg { + __u32 handle; + __u32 pad64; +}; +enum drm_vmw_surface_flags { + drm_vmw_surface_flag_shareable = (1 << 0), + drm_vmw_surface_flag_scanout = (1 << 1), + drm_vmw_surface_flag_create_buffer = (1 << 2), + drm_vmw_surface_flag_coherent = (1 << 3), +}; +struct drm_vmw_gb_surface_create_req { + __u32 svga3d_flags; + __u32 format; + __u32 mip_levels; + enum drm_vmw_surface_flags drm_surface_flags; + __u32 multisample_count; + __u32 autogen_filter; + __u32 buffer_handle; + __u32 array_size; + struct drm_vmw_size base_size; +}; +struct drm_vmw_gb_surface_create_rep { + __u32 handle; + __u32 backup_size; + __u32 buffer_handle; + __u32 buffer_size; + __u64 buffer_map_handle; +}; +union drm_vmw_gb_surface_create_arg { + struct drm_vmw_gb_surface_create_rep rep; + struct drm_vmw_gb_surface_create_req req; +}; +struct drm_vmw_gb_surface_ref_rep { + struct drm_vmw_gb_surface_create_req creq; + struct drm_vmw_gb_surface_create_rep crep; +}; +union drm_vmw_gb_surface_reference_arg { + struct drm_vmw_gb_surface_ref_rep rep; + struct drm_vmw_surface_arg req; +}; +enum drm_vmw_synccpu_flags { + drm_vmw_synccpu_read = (1 << 0), + drm_vmw_synccpu_write = (1 << 1), + drm_vmw_synccpu_dontblock = (1 << 2), + drm_vmw_synccpu_allow_cs = (1 << 3) +}; +enum drm_vmw_synccpu_op { + drm_vmw_synccpu_grab, + drm_vmw_synccpu_release +}; +struct drm_vmw_synccpu_arg { + enum drm_vmw_synccpu_op op; + enum drm_vmw_synccpu_flags flags; + __u32 handle; + __u32 pad64; +}; +enum drm_vmw_extended_context { + drm_vmw_context_legacy, + drm_vmw_context_dx +}; +union drm_vmw_extended_context_arg { + enum drm_vmw_extended_context req; + struct drm_vmw_context_arg rep; +}; +struct drm_vmw_handle_close_arg { + __u32 handle; + __u32 pad64; +}; +#define drm_vmw_unref_dmabuf_arg drm_vmw_handle_close_arg +enum drm_vmw_surface_version { + drm_vmw_gb_surface_v1, +}; +struct drm_vmw_gb_surface_create_ext_req { + struct drm_vmw_gb_surface_create_req base; + enum drm_vmw_surface_version version; + __u32 svga3d_flags_upper_32_bits; + __u32 multisample_pattern; + __u32 quality_level; + __u32 buffer_byte_stride; + __u32 must_be_zero; +}; +union drm_vmw_gb_surface_create_ext_arg { + struct drm_vmw_gb_surface_create_rep rep; + struct drm_vmw_gb_surface_create_ext_req req; +}; +struct drm_vmw_gb_surface_ref_ext_rep { + struct drm_vmw_gb_surface_create_ext_req creq; + struct drm_vmw_gb_surface_create_rep crep; +}; +union drm_vmw_gb_surface_reference_ext_arg { + struct drm_vmw_gb_surface_ref_ext_rep rep; + struct drm_vmw_surface_arg req; +}; +struct drm_vmw_msg_arg { + __u64 send; + __u64 receive; + __s32 send_only; + __u32 receive_len; +}; +#if defined(__cplusplus) +} +#endif +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/a.out.h b/linux-5.10/prebuilts/usr/include/linux/a.out.h new file mode 100644 index 0000000..59afb28 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/a.out.h @@ -0,0 +1,179 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI__A_OUT_GNU_H__ +#define _UAPI__A_OUT_GNU_H__ +#define __GNU_EXEC_MACROS__ +#ifndef __STRUCT_EXEC_OVERRIDE__ +#include +#endif +#ifndef __ASSEMBLY__ +enum machine_type { +#if defined (M_OLDSUN2) + M__OLDSUN2 = M_OLDSUN2, +#else + M_OLDSUN2 = 0, +#endif +#if defined (M_68010) + M__68010 = M_68010, +#else + M_68010 = 1, +#endif +#if defined (M_68020) + M__68020 = M_68020, +#else + M_68020 = 2, +#endif +#if defined (M_SPARC) + M__SPARC = M_SPARC, +#else + M_SPARC = 3, +#endif + + M_386 = 100, + M_MIPS1 = 151, + M_MIPS2 = 152 +}; +#if !defined (N_MAGIC) +#define N_MAGIC(exec) ((exec).a_info & 0xffff) +#endif +#define N_MACHTYPE(exec) ((enum machine_type)(((exec).a_info >> 16) & 0xff)) +#define N_FLAGS(exec) (((exec).a_info >> 24) & 0xff) +#define N_SET_INFO(exec, magic, type, flags) \ + ((exec).a_info = ((magic) & 0xffff) \ + | (((int)(type) & 0xff) << 16) \ + | (((flags) & 0xff) << 24)) +#define N_SET_MAGIC(exec, magic) \ + ((exec).a_info = (((exec).a_info & 0xffff0000) | ((magic) & 0xffff))) +#define N_SET_MACHTYPE(exec, machtype) \ + ((exec).a_info = \ + ((exec).a_info&0xff00ffff) | ((((int)(machtype))&0xff) << 16)) +#define N_SET_FLAGS(exec, flags) \ + ((exec).a_info = \ + ((exec).a_info&0x00ffffff) | (((flags) & 0xff) << 24)) +#define OMAGIC 0407 +#define NMAGIC 0410 +#define ZMAGIC 0413 +#define QMAGIC 0314 +#define CMAGIC 0421 +#if !defined (N_BADMAG) +#define N_BADMAG(x) (N_MAGIC(x) != OMAGIC \ + && N_MAGIC(x) != NMAGIC \ + && N_MAGIC(x) != ZMAGIC \ + && N_MAGIC(x) != QMAGIC) +#endif +#define _N_HDROFF(x) (1024 - sizeof (struct exec)) +#if !defined (N_TXTOFF) +#define N_TXTOFF(x) \ + (N_MAGIC(x) == ZMAGIC ? _N_HDROFF((x)) + sizeof (struct exec) : \ + (N_MAGIC(x) == QMAGIC ? 0 : sizeof (struct exec))) +#endif +#if !defined (N_DATOFF) +#define N_DATOFF(x) (N_TXTOFF(x) + (x).a_text) +#endif +#if !defined (N_TRELOFF) +#define N_TRELOFF(x) (N_DATOFF(x) + (x).a_data) +#endif +#if !defined (N_DRELOFF) +#define N_DRELOFF(x) (N_TRELOFF(x) + N_TRSIZE(x)) +#endif +#if !defined (N_SYMOFF) +#define N_SYMOFF(x) (N_DRELOFF(x) + N_DRSIZE(x)) +#endif +#if !defined (N_STROFF) +#define N_STROFF(x) (N_SYMOFF(x) + N_SYMSIZE(x)) +#endif +#if !defined (N_TXTADDR) +#define N_TXTADDR(x) (N_MAGIC(x) == QMAGIC ? PAGE_SIZE : 0) +#endif +#ifndef __KERNEL__ +#include +#endif +#if defined(__i386__) || defined(__mc68000__) +#define SEGMENT_SIZE 1024 +#else +#ifndef SEGMENT_SIZE +#ifndef __KERNEL__ +#define SEGMENT_SIZE getpagesize() +#endif +#endif +#endif +#define _N_SEGMENT_ROUND(x) ALIGN(x, SEGMENT_SIZE) +#define _N_TXTENDADDR(x) (N_TXTADDR(x)+(x).a_text) +#ifndef N_DATADDR +#define N_DATADDR(x) \ + (N_MAGIC(x)==OMAGIC? (_N_TXTENDADDR(x)) \ + : (_N_SEGMENT_ROUND (_N_TXTENDADDR(x)))) +#endif +#if !defined (N_BSSADDR) +#define N_BSSADDR(x) (N_DATADDR(x) + (x).a_data) +#endif + +#if !defined (N_NLIST_DECLARED) +struct nlist { + union { + char *n_name; + struct nlist *n_next; + long n_strx; + } n_un; + unsigned char n_type; + char n_other; + short n_desc; + unsigned long n_value; +}; +#endif +#if !defined (N_UNDF) +#define N_UNDF 0 +#endif +#if !defined (N_ABS) +#define N_ABS 2 +#endif +#if !defined (N_TEXT) +#define N_TEXT 4 +#endif +#if !defined (N_DATA) +#define N_DATA 6 +#endif +#if !defined (N_BSS) +#define N_BSS 8 +#endif +#if !defined (N_FN) +#define N_FN 15 +#endif +#if !defined (N_EXT) +#define N_EXT 1 +#endif +#if !defined (N_TYPE) +#define N_TYPE 036 +#endif +#if !defined (N_STAB) +#define N_STAB 0340 +#endif +#define N_INDR 0xa +#define N_SETA 0x14 +#define N_SETT 0x16 +#define N_SETD 0x18 +#define N_SETB 0x1A +#define N_SETV 0x1C + +#if !defined (N_RELOCATION_INFO_DECLARED) +struct relocation_info +{ + + int r_address; + + unsigned int r_symbolnum:24; + + unsigned int r_pcrel:1; + + unsigned int r_length:2; + + unsigned int r_extern:1; + + unsigned int r_pad:4; +}; +#endif +#endif +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/acct.h b/linux-5.10/prebuilts/usr/include/linux/acct.h new file mode 100644 index 0000000..8e46f89 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/acct.h @@ -0,0 +1,87 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI_LINUX_ACCT_H +#define _UAPI_LINUX_ACCT_H +#include +#include +#include +typedef __u16 comp_t; +typedef __u32 comp2_t; +#define ACCT_COMM 16 +struct acct +{ + char ac_flag; + char ac_version; + + __u16 ac_uid16; + __u16 ac_gid16; + __u16 ac_tty; + + __u32 ac_btime; + comp_t ac_utime; + comp_t ac_stime; + comp_t ac_etime; + comp_t ac_mem; + comp_t ac_io; + comp_t ac_rw; + comp_t ac_minflt; + comp_t ac_majflt; + comp_t ac_swaps; +#if !defined(CONFIG_M68K) || !defined(__KERNEL__) + __u16 ac_ahz; +#endif + __u32 ac_exitcode; + char ac_comm[ACCT_COMM + 1]; + __u8 ac_etime_hi; + __u16 ac_etime_lo; + __u32 ac_uid; + __u32 ac_gid; +}; +struct acct_v3 +{ + char ac_flag; + char ac_version; + __u16 ac_tty; + __u32 ac_exitcode; + __u32 ac_uid; + __u32 ac_gid; + __u32 ac_pid; + __u32 ac_ppid; + + __u32 ac_btime; +#ifdef __KERNEL__ + __u32 ac_etime; +#else + float ac_etime; +#endif + comp_t ac_utime; + comp_t ac_stime; + comp_t ac_mem; + comp_t ac_io; + comp_t ac_rw; + comp_t ac_minflt; + comp_t ac_majflt; + comp_t ac_swaps; + char ac_comm[ACCT_COMM]; +}; + +#define AFORK 0x01 +#define ASU 0x02 +#define ACOMPAT 0x04 +#define ACORE 0x08 +#define AXSIG 0x10 +#if defined(__BYTE_ORDER) ? __BYTE_ORDER == __BIG_ENDIAN : defined(__BIG_ENDIAN) +#define ACCT_BYTEORDER 0x80 +#elif defined(__BYTE_ORDER) ? __BYTE_ORDER == __LITTLE_ENDIAN : defined(__LITTLE_ENDIAN) +#define ACCT_BYTEORDER 0x00 +#else +#error unspecified endianness +#endif +#ifndef __KERNEL__ +#define ACCT_VERSION 2 +#define AHZ (HZ) +#endif +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/adb.h b/linux-5.10/prebuilts/usr/include/linux/adb.h new file mode 100644 index 0000000..3410b74 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/adb.h @@ -0,0 +1,29 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI__ADB_H +#define _UAPI__ADB_H +#define ADB_BUSRESET 0 +#define ADB_FLUSH(id) (0x01 | ((id) << 4)) +#define ADB_WRITEREG(id, reg) (0x08 | (reg) | ((id) << 4)) +#define ADB_READREG(id, reg) (0x0C | (reg) | ((id) << 4)) +#define ADB_DONGLE 1 +#define ADB_KEYBOARD 2 +#define ADB_MOUSE 3 +#define ADB_TABLET 4 +#define ADB_MODEM 5 +#define ADB_MISC 7 +#define ADB_RET_OK 0 +#define ADB_RET_TIMEOUT 3 +#define ADB_PACKET 0 +#define CUDA_PACKET 1 +#define ERROR_PACKET 2 +#define TIMER_PACKET 3 +#define POWER_PACKET 4 +#define MACIIC_PACKET 5 +#define PMU_PACKET 6 +#define ADB_QUERY 7 +#define ADB_QUERY_GETDEVINFO 1 +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/adfs_fs.h b/linux-5.10/prebuilts/usr/include/linux/adfs_fs.h new file mode 100644 index 0000000..c65921f --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/adfs_fs.h @@ -0,0 +1,42 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI_ADFS_FS_H +#define _UAPI_ADFS_FS_H +#include +#include +struct adfs_discrecord { + __u8 log2secsize; + __u8 secspertrack; + __u8 heads; + __u8 density; + __u8 idlen; + __u8 log2bpmb; + __u8 skew; + __u8 bootoption; + __u8 lowsector; + __u8 nzones; + __le16 zone_spare; + __le32 root; + __le32 disc_size; + __le16 disc_id; + __u8 disc_name[10]; + __le32 disc_type; + __le32 disc_size_high; + __u8 log2sharesize:4; + __u8 unused40:4; + __u8 big_flag:1; + __u8 unused41:7; + __u8 nzones_high; + __u8 reserved43; + __le32 format_version; + __le32 root_size; + __u8 unused52[60 - 52]; +} __attribute__((packed, aligned(4))); +#define ADFS_DISCRECORD (0xc00) +#define ADFS_DR_OFFSET (0x1c0) +#define ADFS_DR_SIZE 60 +#define ADFS_DR_SIZE_BITS (ADFS_DR_SIZE << 3) +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/affs_hardblocks.h b/linux-5.10/prebuilts/usr/include/linux/affs_hardblocks.h new file mode 100644 index 0000000..8cb1cc7 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/affs_hardblocks.h @@ -0,0 +1,64 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef AFFS_HARDBLOCKS_H +#define AFFS_HARDBLOCKS_H +#include +struct RigidDiskBlock { + __u32 rdb_ID; + __be32 rdb_SummedLongs; + __s32 rdb_ChkSum; + __u32 rdb_HostID; + __be32 rdb_BlockBytes; + __u32 rdb_Flags; + __u32 rdb_BadBlockList; + __be32 rdb_PartitionList; + __u32 rdb_FileSysHeaderList; + __u32 rdb_DriveInit; + __u32 rdb_Reserved1[6]; + __u32 rdb_Cylinders; + __u32 rdb_Sectors; + __u32 rdb_Heads; + __u32 rdb_Interleave; + __u32 rdb_Park; + __u32 rdb_Reserved2[3]; + __u32 rdb_WritePreComp; + __u32 rdb_ReducedWrite; + __u32 rdb_StepRate; + __u32 rdb_Reserved3[5]; + __u32 rdb_RDBBlocksLo; + __u32 rdb_RDBBlocksHi; + __u32 rdb_LoCylinder; + __u32 rdb_HiCylinder; + __u32 rdb_CylBlocks; + __u32 rdb_AutoParkSeconds; + __u32 rdb_HighRDSKBlock; + __u32 rdb_Reserved4; + char rdb_DiskVendor[8]; + char rdb_DiskProduct[16]; + char rdb_DiskRevision[4]; + char rdb_ControllerVendor[8]; + char rdb_ControllerProduct[16]; + char rdb_ControllerRevision[4]; + __u32 rdb_Reserved5[10]; +}; +#define IDNAME_RIGIDDISK 0x5244534B +struct PartitionBlock { + __be32 pb_ID; + __be32 pb_SummedLongs; + __s32 pb_ChkSum; + __u32 pb_HostID; + __be32 pb_Next; + __u32 pb_Flags; + __u32 pb_Reserved1[2]; + __u32 pb_DevFlags; + __u8 pb_DriveName[32]; + __u32 pb_Reserved2[15]; + __be32 pb_Environment[17]; + __u32 pb_EReserved[15]; +}; +#define IDNAME_PARTITION 0x50415254 +#define RDB_ALLOCATION_LIMIT 16 +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/agpgart.h b/linux-5.10/prebuilts/usr/include/linux/agpgart.h new file mode 100644 index 0000000..69dde83 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/agpgart.h @@ -0,0 +1,72 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI_AGP_H +#define _UAPI_AGP_H +#define AGPIOC_BASE 'A' +#define AGPIOC_INFO _IOR (AGPIOC_BASE, 0, struct agp_info*) +#define AGPIOC_ACQUIRE _IO (AGPIOC_BASE, 1) +#define AGPIOC_RELEASE _IO (AGPIOC_BASE, 2) +#define AGPIOC_SETUP _IOW (AGPIOC_BASE, 3, struct agp_setup*) +#define AGPIOC_RESERVE _IOW (AGPIOC_BASE, 4, struct agp_region*) +#define AGPIOC_PROTECT _IOW (AGPIOC_BASE, 5, struct agp_region*) +#define AGPIOC_ALLOCATE _IOWR(AGPIOC_BASE, 6, struct agp_allocate*) +#define AGPIOC_DEALLOCATE _IOW (AGPIOC_BASE, 7, int) +#define AGPIOC_BIND _IOW (AGPIOC_BASE, 8, struct agp_bind*) +#define AGPIOC_UNBIND _IOW (AGPIOC_BASE, 9, struct agp_unbind*) +#define AGPIOC_CHIPSET_FLUSH _IO (AGPIOC_BASE, 10) +#define AGP_DEVICE "/dev/agpgart" +#ifndef TRUE +#define TRUE 1 +#endif +#ifndef FALSE +#define FALSE 0 +#endif +#ifndef __KERNEL__ +#include +#include +struct agp_version { + __u16 major; + __u16 minor; +}; +typedef struct _agp_info { + struct agp_version version; + __u32 bridge_id; + __u32 agp_mode; + unsigned long aper_base; + size_t aper_size; + size_t pg_total; + size_t pg_system; + size_t pg_used; +} agp_info; +typedef struct _agp_setup { + __u32 agp_mode; +} agp_setup; +typedef struct _agp_segment { + __kernel_off_t pg_start; + __kernel_size_t pg_count; + int prot; +} agp_segment; +typedef struct _agp_region { + __kernel_pid_t pid; + __kernel_size_t seg_count; + struct _agp_segment *seg_list; +} agp_region; +typedef struct _agp_allocate { + int key; + __kernel_size_t pg_count; + __u32 type; + __u32 physical; +} agp_allocate; +typedef struct _agp_bind { + int key; + __kernel_off_t pg_start; +} agp_bind; +typedef struct _agp_unbind { + int key; + __u32 priority; +} agp_unbind; +#endif +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/aio_abi.h b/linux-5.10/prebuilts/usr/include/linux/aio_abi.h new file mode 100644 index 0000000..3db2a3b --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/aio_abi.h @@ -0,0 +1,59 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef __LINUX__AIO_ABI_H +#define __LINUX__AIO_ABI_H +#include +#include +#include +typedef __kernel_ulong_t aio_context_t; +enum { + IOCB_CMD_PREAD = 0, + IOCB_CMD_PWRITE = 1, + IOCB_CMD_FSYNC = 2, + IOCB_CMD_FDSYNC = 3, + + IOCB_CMD_POLL = 5, + IOCB_CMD_NOOP = 6, + IOCB_CMD_PREADV = 7, + IOCB_CMD_PWRITEV = 8, +}; +#define IOCB_FLAG_RESFD (1 << 0) +#define IOCB_FLAG_IOPRIO (1 << 1) +struct io_event { + __u64 data; + __u64 obj; + __s64 res; + __s64 res2; +}; +struct iocb { + + __u64 aio_data; +#if defined(__BYTE_ORDER) ? __BYTE_ORDER == __LITTLE_ENDIAN : defined(__LITTLE_ENDIAN) + __u32 aio_key; + __kernel_rwf_t aio_rw_flags; +#elif defined(__BYTE_ORDER) ? __BYTE_ORDER == __BIG_ENDIAN : defined(__BIG_ENDIAN) + __kernel_rwf_t aio_rw_flags; + __u32 aio_key; +#else +#error edit for your odd byteorder. +#endif + + __u16 aio_lio_opcode; + __s16 aio_reqprio; + __u32 aio_fildes; + __u64 aio_buf; + __u64 aio_nbytes; + __s64 aio_offset; + + __u64 aio_reserved2; + + __u32 aio_flags; + + __u32 aio_resfd; +}; +#undef IFBIG +#undef IFLITTLE +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/am437x-vpfe.h b/linux-5.10/prebuilts/usr/include/linux/am437x-vpfe.h new file mode 100644 index 0000000..dd1becd --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/am437x-vpfe.h @@ -0,0 +1,83 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef AM437X_VPFE_USER_H +#define AM437X_VPFE_USER_H +#include +enum vpfe_ccdc_data_size { + VPFE_CCDC_DATA_16BITS = 0, + VPFE_CCDC_DATA_15BITS, + VPFE_CCDC_DATA_14BITS, + VPFE_CCDC_DATA_13BITS, + VPFE_CCDC_DATA_12BITS, + VPFE_CCDC_DATA_11BITS, + VPFE_CCDC_DATA_10BITS, + VPFE_CCDC_DATA_8BITS, +}; +enum vpfe_ccdc_sample_length { + VPFE_CCDC_SAMPLE_1PIXELS = 0, + VPFE_CCDC_SAMPLE_2PIXELS, + VPFE_CCDC_SAMPLE_4PIXELS, + VPFE_CCDC_SAMPLE_8PIXELS, + VPFE_CCDC_SAMPLE_16PIXELS, +}; +enum vpfe_ccdc_sample_line { + VPFE_CCDC_SAMPLE_1LINES = 0, + VPFE_CCDC_SAMPLE_2LINES, + VPFE_CCDC_SAMPLE_4LINES, + VPFE_CCDC_SAMPLE_8LINES, + VPFE_CCDC_SAMPLE_16LINES, +}; +enum vpfe_ccdc_gamma_width { + VPFE_CCDC_GAMMA_BITS_15_6 = 0, + VPFE_CCDC_GAMMA_BITS_14_5, + VPFE_CCDC_GAMMA_BITS_13_4, + VPFE_CCDC_GAMMA_BITS_12_3, + VPFE_CCDC_GAMMA_BITS_11_2, + VPFE_CCDC_GAMMA_BITS_10_1, + VPFE_CCDC_GAMMA_BITS_09_0, +}; +struct vpfe_ccdc_a_law { + + unsigned char enable; + + enum vpfe_ccdc_gamma_width gamma_wd; +}; +struct vpfe_ccdc_black_clamp { + unsigned char enable; + + enum vpfe_ccdc_sample_length sample_pixel; + + enum vpfe_ccdc_sample_line sample_ln; + + unsigned short start_pixel; + + unsigned short sgain; + + unsigned short dc_sub; +}; +struct vpfe_ccdc_black_compensation { + + char r; + + char gr; + + char b; + + char gb; +}; +struct vpfe_ccdc_config_params_raw { + + enum vpfe_ccdc_data_size data_sz; + + struct vpfe_ccdc_a_law alaw; + + struct vpfe_ccdc_black_clamp blk_clamp; + + struct vpfe_ccdc_black_compensation blk_comp; +}; +#define VIDIOC_AM437X_CCDC_CFG \ + _IOW('V', BASE_VIDIOC_PRIVATE + 1, void *) +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/android/binder.h b/linux-5.10/prebuilts/usr/include/linux/android/binder.h new file mode 100644 index 0000000..aa193c3 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/android/binder.h @@ -0,0 +1,248 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI_LINUX_BINDER_H +#define _UAPI_LINUX_BINDER_H +#include +#include +#define B_PACK_CHARS(c1, c2, c3, c4) \ + ((((c1)<<24)) | (((c2)<<16)) | (((c3)<<8)) | (c4)) +#define B_TYPE_LARGE 0x85 +enum { + BINDER_TYPE_BINDER = B_PACK_CHARS('s', 'b', '*', B_TYPE_LARGE), + BINDER_TYPE_WEAK_BINDER = B_PACK_CHARS('w', 'b', '*', B_TYPE_LARGE), + BINDER_TYPE_HANDLE = B_PACK_CHARS('s', 'h', '*', B_TYPE_LARGE), + BINDER_TYPE_WEAK_HANDLE = B_PACK_CHARS('w', 'h', '*', B_TYPE_LARGE), + BINDER_TYPE_FD = B_PACK_CHARS('f', 'd', '*', B_TYPE_LARGE), + BINDER_TYPE_FDA = B_PACK_CHARS('f', 'd', 'a', B_TYPE_LARGE), + BINDER_TYPE_PTR = B_PACK_CHARS('p', 't', '*', B_TYPE_LARGE), +}; +enum { + FLAT_BINDER_FLAG_PRIORITY_MASK = 0xff, + FLAT_BINDER_FLAG_ACCEPTS_FDS = 0x100, + + FLAT_BINDER_FLAG_TXN_SECURITY_CTX = 0x1000, +}; +#ifdef BINDER_IPC_32BIT +typedef __u32 binder_size_t; +typedef __u32 binder_uintptr_t; +#else +typedef __u64 binder_size_t; +typedef __u64 binder_uintptr_t; +#endif +struct binder_object_header { + __u32 type; +}; +struct flat_binder_object { + struct binder_object_header hdr; + __u32 flags; + + union { + binder_uintptr_t binder; + __u32 handle; + }; + + binder_uintptr_t cookie; +}; +struct binder_fd_object { + struct binder_object_header hdr; + __u32 pad_flags; + union { + binder_uintptr_t pad_binder; + __u32 fd; + }; + binder_uintptr_t cookie; +}; +struct binder_buffer_object { + struct binder_object_header hdr; + __u32 flags; + binder_uintptr_t buffer; + binder_size_t length; + binder_size_t parent; + binder_size_t parent_offset; +}; +enum { + BINDER_BUFFER_FLAG_HAS_PARENT = 0x01, +}; +struct binder_fd_array_object { + struct binder_object_header hdr; + __u32 pad; + binder_size_t num_fds; + binder_size_t parent; + binder_size_t parent_offset; +}; +struct binder_write_read { + binder_size_t write_size; + binder_size_t write_consumed; + binder_uintptr_t write_buffer; + binder_size_t read_size; + binder_size_t read_consumed; + binder_uintptr_t read_buffer; +}; +struct binder_version { + + __s32 protocol_version; +}; +#ifdef BINDER_IPC_32BIT +#define BINDER_CURRENT_PROTOCOL_VERSION 7 +#else +#define BINDER_CURRENT_PROTOCOL_VERSION 8 +#endif +struct binder_node_debug_info { + binder_uintptr_t ptr; + binder_uintptr_t cookie; + __u32 has_strong_ref; + __u32 has_weak_ref; +}; +struct binder_node_info_for_ref { + __u32 handle; + __u32 strong_count; + __u32 weak_count; + __u32 reserved1; + __u32 reserved2; + __u32 reserved3; +}; +#define BINDER_WRITE_READ _IOWR('b', 1, struct binder_write_read) +#define BINDER_SET_IDLE_TIMEOUT _IOW('b', 3, __s64) +#define BINDER_SET_MAX_THREADS _IOW('b', 5, __u32) +#define BINDER_SET_IDLE_PRIORITY _IOW('b', 6, __s32) +#define BINDER_SET_CONTEXT_MGR _IOW('b', 7, __s32) +#define BINDER_THREAD_EXIT _IOW('b', 8, __s32) +#define BINDER_VERSION _IOWR('b', 9, struct binder_version) +#define BINDER_GET_NODE_DEBUG_INFO _IOWR('b', 11, struct binder_node_debug_info) +#define BINDER_GET_NODE_INFO_FOR_REF _IOWR('b', 12, struct binder_node_info_for_ref) +#define BINDER_SET_CONTEXT_MGR_EXT _IOW('b', 13, struct flat_binder_object) +enum transaction_flags { + TF_ONE_WAY = 0x01, + TF_ROOT_OBJECT = 0x04, + TF_STATUS_CODE = 0x08, + TF_ACCEPT_FDS = 0x10, + TF_CLEAR_BUF = 0x20, +}; +struct binder_transaction_data { + + union { + + __u32 handle; + + binder_uintptr_t ptr; + } target; + binder_uintptr_t cookie; + __u32 code; + + __u32 flags; + pid_t sender_pid; + uid_t sender_euid; + binder_size_t data_size; + binder_size_t offsets_size; + + union { + struct { + + binder_uintptr_t buffer; + + binder_uintptr_t offsets; + } ptr; + __u8 buf[8]; + } data; +}; +struct binder_transaction_data_secctx { + struct binder_transaction_data transaction_data; + binder_uintptr_t secctx; +}; +struct binder_transaction_data_sg { + struct binder_transaction_data transaction_data; + binder_size_t buffers_size; +}; +struct binder_ptr_cookie { + binder_uintptr_t ptr; + binder_uintptr_t cookie; +}; +struct binder_handle_cookie { + __u32 handle; + binder_uintptr_t cookie; +} __packed; +struct binder_pri_desc { + __s32 priority; + __u32 desc; +}; +struct binder_pri_ptr_cookie { + __s32 priority; + binder_uintptr_t ptr; + binder_uintptr_t cookie; +}; +enum binder_driver_return_protocol { + BR_ERROR = _IOR('r', 0, __s32), + + BR_OK = _IO('r', 1), + + BR_TRANSACTION_SEC_CTX = _IOR('r', 2, + struct binder_transaction_data_secctx), + + BR_TRANSACTION = _IOR('r', 2, struct binder_transaction_data), + BR_REPLY = _IOR('r', 3, struct binder_transaction_data), + + BR_ACQUIRE_RESULT = _IOR('r', 4, __s32), + + BR_DEAD_REPLY = _IO('r', 5), + + BR_TRANSACTION_COMPLETE = _IO('r', 6), + + BR_INCREFS = _IOR('r', 7, struct binder_ptr_cookie), + BR_ACQUIRE = _IOR('r', 8, struct binder_ptr_cookie), + BR_RELEASE = _IOR('r', 9, struct binder_ptr_cookie), + BR_DECREFS = _IOR('r', 10, struct binder_ptr_cookie), + + BR_ATTEMPT_ACQUIRE = _IOR('r', 11, struct binder_pri_ptr_cookie), + + BR_NOOP = _IO('r', 12), + + BR_SPAWN_LOOPER = _IO('r', 13), + + BR_FINISHED = _IO('r', 14), + + BR_DEAD_BINDER = _IOR('r', 15, binder_uintptr_t), + + BR_CLEAR_DEATH_NOTIFICATION_DONE = _IOR('r', 16, binder_uintptr_t), + + BR_FAILED_REPLY = _IO('r', 17), + +}; +enum binder_driver_command_protocol { + BC_TRANSACTION = _IOW('c', 0, struct binder_transaction_data), + BC_REPLY = _IOW('c', 1, struct binder_transaction_data), + + BC_ACQUIRE_RESULT = _IOW('c', 2, __s32), + + BC_FREE_BUFFER = _IOW('c', 3, binder_uintptr_t), + + BC_INCREFS = _IOW('c', 4, __u32), + BC_ACQUIRE = _IOW('c', 5, __u32), + BC_RELEASE = _IOW('c', 6, __u32), + BC_DECREFS = _IOW('c', 7, __u32), + + BC_INCREFS_DONE = _IOW('c', 8, struct binder_ptr_cookie), + BC_ACQUIRE_DONE = _IOW('c', 9, struct binder_ptr_cookie), + + BC_ATTEMPT_ACQUIRE = _IOW('c', 10, struct binder_pri_desc), + + BC_REGISTER_LOOPER = _IO('c', 11), + + BC_ENTER_LOOPER = _IO('c', 12), + BC_EXIT_LOOPER = _IO('c', 13), + + BC_REQUEST_DEATH_NOTIFICATION = _IOW('c', 14, + struct binder_handle_cookie), + + BC_CLEAR_DEATH_NOTIFICATION = _IOW('c', 15, + struct binder_handle_cookie), + + BC_DEAD_BINDER_DONE = _IOW('c', 16, binder_uintptr_t), + + BC_TRANSACTION_SG = _IOW('c', 17, struct binder_transaction_data_sg), + BC_REPLY_SG = _IOW('c', 18, struct binder_transaction_data_sg), + +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/android/binderfs.h b/linux-5.10/prebuilts/usr/include/linux/android/binderfs.h new file mode 100644 index 0000000..3ec9772 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/android/binderfs.h @@ -0,0 +1,18 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI_LINUX_BINDERFS_H +#define _UAPI_LINUX_BINDERFS_H +#include +#include +#include +#define BINDERFS_MAX_NAME 255 +struct binderfs_device { + char name[BINDERFS_MAX_NAME + 1]; + __u32 major; + __u32 minor; +}; +#define BINDER_CTL_ADD _IOWR('b', 1, struct binderfs_device) +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/apm_bios.h b/linux-5.10/prebuilts/usr/include/linux/apm_bios.h new file mode 100644 index 0000000..4fdf1cf --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/apm_bios.h @@ -0,0 +1,90 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI_LINUX_APM_H +#define _UAPI_LINUX_APM_H +#include +typedef unsigned short apm_event_t; +typedef unsigned short apm_eventinfo_t; +struct apm_bios_info { + __u16 version; + __u16 cseg; + __u32 offset; + __u16 cseg_16; + __u16 dseg; + __u16 flags; + __u16 cseg_len; + __u16 cseg_16_len; + __u16 dseg_len; +}; +#define APM_STATE_READY 0x0000 +#define APM_STATE_STANDBY 0x0001 +#define APM_STATE_SUSPEND 0x0002 +#define APM_STATE_OFF 0x0003 +#define APM_STATE_BUSY 0x0004 +#define APM_STATE_REJECT 0x0005 +#define APM_STATE_OEM_SYS 0x0020 +#define APM_STATE_OEM_DEV 0x0040 +#define APM_STATE_DISABLE 0x0000 +#define APM_STATE_ENABLE 0x0001 +#define APM_STATE_DISENGAGE 0x0000 +#define APM_STATE_ENGAGE 0x0001 +#define APM_SYS_STANDBY 0x0001 +#define APM_SYS_SUSPEND 0x0002 +#define APM_NORMAL_RESUME 0x0003 +#define APM_CRITICAL_RESUME 0x0004 +#define APM_LOW_BATTERY 0x0005 +#define APM_POWER_STATUS_CHANGE 0x0006 +#define APM_UPDATE_TIME 0x0007 +#define APM_CRITICAL_SUSPEND 0x0008 +#define APM_USER_STANDBY 0x0009 +#define APM_USER_SUSPEND 0x000a +#define APM_STANDBY_RESUME 0x000b +#define APM_CAPABILITY_CHANGE 0x000c +#define APM_USER_HIBERNATION 0x000d +#define APM_HIBERNATION_RESUME 0x000e +#define APM_SUCCESS 0x00 +#define APM_DISABLED 0x01 +#define APM_CONNECTED 0x02 +#define APM_NOT_CONNECTED 0x03 +#define APM_16_CONNECTED 0x05 +#define APM_16_UNSUPPORTED 0x06 +#define APM_32_CONNECTED 0x07 +#define APM_32_UNSUPPORTED 0x08 +#define APM_BAD_DEVICE 0x09 +#define APM_BAD_PARAM 0x0a +#define APM_NOT_ENGAGED 0x0b +#define APM_BAD_FUNCTION 0x0c +#define APM_RESUME_DISABLED 0x0d +#define APM_NO_ERROR 0x53 +#define APM_BAD_STATE 0x60 +#define APM_NO_EVENTS 0x80 +#define APM_NOT_PRESENT 0x86 +#define APM_DEVICE_BIOS 0x0000 +#define APM_DEVICE_ALL 0x0001 +#define APM_DEVICE_DISPLAY 0x0100 +#define APM_DEVICE_STORAGE 0x0200 +#define APM_DEVICE_PARALLEL 0x0300 +#define APM_DEVICE_SERIAL 0x0400 +#define APM_DEVICE_NETWORK 0x0500 +#define APM_DEVICE_PCMCIA 0x0600 +#define APM_DEVICE_BATTERY 0x8000 +#define APM_DEVICE_OEM 0xe000 +#define APM_DEVICE_OLD_ALL 0xffff +#define APM_DEVICE_CLASS 0x00ff +#define APM_DEVICE_MASK 0xff00 +#define APM_MAX_BATTERIES 2 +#define APM_CAP_GLOBAL_STANDBY 0x0001 +#define APM_CAP_GLOBAL_SUSPEND 0x0002 +#define APM_CAP_RESUME_STANDBY_TIMER 0x0004 +#define APM_CAP_RESUME_SUSPEND_TIMER 0x0008 +#define APM_CAP_RESUME_STANDBY_RING 0x0010 +#define APM_CAP_RESUME_SUSPEND_RING 0x0020 +#define APM_CAP_RESUME_STANDBY_PCMCIA 0x0040 +#define APM_CAP_RESUME_SUSPEND_PCMCIA 0x0080 +#include +#define APM_IOC_STANDBY _IO('A', 1) +#define APM_IOC_SUSPEND _IO('A', 2) +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/arcfb.h b/linux-5.10/prebuilts/usr/include/linux/arcfb.h new file mode 100644 index 0000000..2e84721 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/arcfb.h @@ -0,0 +1,10 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef __LINUX_ARCFB_H__ +#define __LINUX_ARCFB_H__ +#define FBIO_WAITEVENT _IO('F', 0x88) +#define FBIO_GETCONTROL2 _IOR('F', 0x89, size_t) +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/arm_sdei.h b/linux-5.10/prebuilts/usr/include/linux/arm_sdei.h new file mode 100644 index 0000000..8f64485 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/arm_sdei.h @@ -0,0 +1,59 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI_LINUX_ARM_SDEI_H +#define _UAPI_LINUX_ARM_SDEI_H +#define SDEI_1_0_FN_BASE 0xC4000020 +#define SDEI_1_0_MASK 0xFFFFFFE0 +#define SDEI_1_0_FN(n) (SDEI_1_0_FN_BASE + (n)) +#define SDEI_1_0_FN_SDEI_VERSION SDEI_1_0_FN(0x00) +#define SDEI_1_0_FN_SDEI_EVENT_REGISTER SDEI_1_0_FN(0x01) +#define SDEI_1_0_FN_SDEI_EVENT_ENABLE SDEI_1_0_FN(0x02) +#define SDEI_1_0_FN_SDEI_EVENT_DISABLE SDEI_1_0_FN(0x03) +#define SDEI_1_0_FN_SDEI_EVENT_CONTEXT SDEI_1_0_FN(0x04) +#define SDEI_1_0_FN_SDEI_EVENT_COMPLETE SDEI_1_0_FN(0x05) +#define SDEI_1_0_FN_SDEI_EVENT_COMPLETE_AND_RESUME SDEI_1_0_FN(0x06) +#define SDEI_1_0_FN_SDEI_EVENT_UNREGISTER SDEI_1_0_FN(0x07) +#define SDEI_1_0_FN_SDEI_EVENT_STATUS SDEI_1_0_FN(0x08) +#define SDEI_1_0_FN_SDEI_EVENT_GET_INFO SDEI_1_0_FN(0x09) +#define SDEI_1_0_FN_SDEI_EVENT_ROUTING_SET SDEI_1_0_FN(0x0A) +#define SDEI_1_0_FN_SDEI_PE_MASK SDEI_1_0_FN(0x0B) +#define SDEI_1_0_FN_SDEI_PE_UNMASK SDEI_1_0_FN(0x0C) +#define SDEI_1_0_FN_SDEI_INTERRUPT_BIND SDEI_1_0_FN(0x0D) +#define SDEI_1_0_FN_SDEI_INTERRUPT_RELEASE SDEI_1_0_FN(0x0E) +#define SDEI_1_0_FN_SDEI_PRIVATE_RESET SDEI_1_0_FN(0x11) +#define SDEI_1_0_FN_SDEI_SHARED_RESET SDEI_1_0_FN(0x12) +#define SDEI_VERSION_MAJOR_SHIFT 48 +#define SDEI_VERSION_MAJOR_MASK 0x7fff +#define SDEI_VERSION_MINOR_SHIFT 32 +#define SDEI_VERSION_MINOR_MASK 0xffff +#define SDEI_VERSION_VENDOR_SHIFT 0 +#define SDEI_VERSION_VENDOR_MASK 0xffffffff +#define SDEI_VERSION_MAJOR(x) (x>>SDEI_VERSION_MAJOR_SHIFT & SDEI_VERSION_MAJOR_MASK) +#define SDEI_VERSION_MINOR(x) (x>>SDEI_VERSION_MINOR_SHIFT & SDEI_VERSION_MINOR_MASK) +#define SDEI_VERSION_VENDOR(x) (x>>SDEI_VERSION_VENDOR_SHIFT & SDEI_VERSION_VENDOR_MASK) +#define SDEI_SUCCESS 0 +#define SDEI_NOT_SUPPORTED -1 +#define SDEI_INVALID_PARAMETERS -2 +#define SDEI_DENIED -3 +#define SDEI_PENDING -5 +#define SDEI_OUT_OF_RESOURCE -10 +#define SDEI_EVENT_REGISTER_RM_ANY 0 +#define SDEI_EVENT_REGISTER_RM_PE 1 +#define SDEI_EVENT_STATUS_RUNNING 2 +#define SDEI_EVENT_STATUS_ENABLED 1 +#define SDEI_EVENT_STATUS_REGISTERED 0 +#define SDEI_EV_HANDLED 0 +#define SDEI_EV_FAILED 1 +#define SDEI_EVENT_INFO_EV_TYPE 0 +#define SDEI_EVENT_INFO_EV_SIGNALED 1 +#define SDEI_EVENT_INFO_EV_PRIORITY 2 +#define SDEI_EVENT_INFO_EV_ROUTING_MODE 3 +#define SDEI_EVENT_INFO_EV_ROUTING_AFF 4 +#define SDEI_EVENT_TYPE_PRIVATE 0 +#define SDEI_EVENT_TYPE_SHARED 1 +#define SDEI_EVENT_PRIORITY_NORMAL 0 +#define SDEI_EVENT_PRIORITY_CRITICAL 1 +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/ashmem.h b/linux-5.10/prebuilts/usr/include/linux/ashmem.h new file mode 100644 index 0000000..b304139 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/ashmem.h @@ -0,0 +1,31 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI_LINUX_ASHMEM_H +#define _UAPI_LINUX_ASHMEM_H +#include +#include +#define ASHMEM_NAME_LEN 256 +#define ASHMEM_NAME_DEF "dev/ashmem" +#define ASHMEM_NOT_PURGED 0 +#define ASHMEM_WAS_PURGED 1 +#define ASHMEM_IS_UNPINNED 0 +#define ASHMEM_IS_PINNED 1 +struct ashmem_pin { + __u32 offset; + __u32 len; +}; +#define __ASHMEMIOC 0x77 +#define ASHMEM_SET_NAME _IOW(__ASHMEMIOC, 1, char[ASHMEM_NAME_LEN]) +#define ASHMEM_GET_NAME _IOR(__ASHMEMIOC, 2, char[ASHMEM_NAME_LEN]) +#define ASHMEM_SET_SIZE _IOW(__ASHMEMIOC, 3, size_t) +#define ASHMEM_GET_SIZE _IO(__ASHMEMIOC, 4) +#define ASHMEM_SET_PROT_MASK _IOW(__ASHMEMIOC, 5, unsigned long) +#define ASHMEM_GET_PROT_MASK _IO(__ASHMEMIOC, 6) +#define ASHMEM_PIN _IOW(__ASHMEMIOC, 7, struct ashmem_pin) +#define ASHMEM_UNPIN _IOW(__ASHMEMIOC, 8, struct ashmem_pin) +#define ASHMEM_GET_PIN_STATUS _IO(__ASHMEMIOC, 9) +#define ASHMEM_PURGE_ALL_CACHES _IO(__ASHMEMIOC, 10) +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/aspeed-lpc-ctrl.h b/linux-5.10/prebuilts/usr/include/linux/aspeed-lpc-ctrl.h new file mode 100644 index 0000000..f4d9101 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/aspeed-lpc-ctrl.h @@ -0,0 +1,25 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI_LINUX_ASPEED_LPC_CTRL_H +#define _UAPI_LINUX_ASPEED_LPC_CTRL_H +#include +#include +#define ASPEED_LPC_CTRL_WINDOW_FLASH 1 +#define ASPEED_LPC_CTRL_WINDOW_MEMORY 2 +struct aspeed_lpc_ctrl_mapping { + __u8 window_type; + __u8 window_id; + __u16 flags; + __u32 addr; + __u32 offset; + __u32 size; +}; +#define __ASPEED_LPC_CTRL_IOCTL_MAGIC 0xb2 +#define ASPEED_LPC_CTRL_IOCTL_GET_SIZE _IOWR(__ASPEED_LPC_CTRL_IOCTL_MAGIC, \ + 0x00, struct aspeed_lpc_ctrl_mapping) +#define ASPEED_LPC_CTRL_IOCTL_MAP _IOW(__ASPEED_LPC_CTRL_IOCTL_MAGIC, \ + 0x01, struct aspeed_lpc_ctrl_mapping) +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/aspeed-p2a-ctrl.h b/linux-5.10/prebuilts/usr/include/linux/aspeed-p2a-ctrl.h new file mode 100644 index 0000000..222f2cf --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/aspeed-p2a-ctrl.h @@ -0,0 +1,23 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI_LINUX_ASPEED_P2A_CTRL_H +#define _UAPI_LINUX_ASPEED_P2A_CTRL_H +#include +#include +#define ASPEED_P2A_CTRL_READ_ONLY 0 +#define ASPEED_P2A_CTRL_READWRITE 1 +struct aspeed_p2a_ctrl_mapping { + __u64 addr; + __u32 length; + __u32 flags; +}; +#define __ASPEED_P2A_CTRL_IOCTL_MAGIC 0xb3 +#define ASPEED_P2A_CTRL_IOCTL_SET_WINDOW _IOW(__ASPEED_P2A_CTRL_IOCTL_MAGIC, \ + 0x00, struct aspeed_p2a_ctrl_mapping) +#define ASPEED_P2A_CTRL_IOCTL_GET_MEMORY_CONFIG \ + _IOWR(__ASPEED_P2A_CTRL_IOCTL_MAGIC, \ + 0x01, struct aspeed_p2a_ctrl_mapping) +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/atalk.h b/linux-5.10/prebuilts/usr/include/linux/atalk.h new file mode 100644 index 0000000..f73b196 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/atalk.h @@ -0,0 +1,36 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI__LINUX_ATALK_H__ +#define _UAPI__LINUX_ATALK_H__ +#include +#include +#include +#define ATPORT_FIRST 1 +#define ATPORT_RESERVED 128 +#define ATPORT_LAST 254 +#define ATADDR_ANYNET (__u16)0 +#define ATADDR_ANYNODE (__u8)0 +#define ATADDR_ANYPORT (__u8)0 +#define ATADDR_BCAST (__u8)255 +#define DDP_MAXSZ 587 +#define DDP_MAXHOPS 15 +#define SIOCATALKDIFADDR (SIOCPROTOPRIVATE + 0) +struct atalk_addr { + __be16 s_net; + __u8 s_node; +}; +struct sockaddr_at { + __kernel_sa_family_t sat_family; + __u8 sat_port; + struct atalk_addr sat_addr; + char sat_zero[8]; +}; +struct atalk_netrange { + __u8 nr_phase; + __be16 nr_firstnet; + __be16 nr_lastnet; +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/atm.h b/linux-5.10/prebuilts/usr/include/linux/atm.h new file mode 100644 index 0000000..3406d38 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/atm.h @@ -0,0 +1,153 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ + + +#ifndef _UAPI_LINUX_ATM_H +#define _UAPI_LINUX_ATM_H +#include +#include +#include +#include +#include +#define ATM_CELL_SIZE 53 +#define ATM_CELL_PAYLOAD 48 +#define ATM_AAL0_SDU 52 +#define ATM_MAX_AAL34_PDU 65535 +#define ATM_AAL5_TRAILER 8 +#define ATM_MAX_AAL5_PDU 65535 +#define ATM_MAX_CDV 9999 +#define ATM_NOT_RSV_VCI 32 +#define ATM_MAX_VPI 255 +#define ATM_MAX_VPI_NNI 4096 +#define ATM_MAX_VCI 65535 +#define ATM_NO_AAL 0 +#define ATM_AAL0 13 +#define ATM_AAL1 1 +#define ATM_AAL2 2 +#define ATM_AAL34 3 +#define ATM_AAL5 5 +#define __SO_ENCODE(l,n,t) ((((l) & 0x1FF) << 22) | ((n) << 16) | \ + sizeof(t)) +#define __SO_LEVEL_MATCH(c,m) (((c) >> 22) == ((m) & 0x1FF)) +#define __SO_NUMBER(c) (((c) >> 16) & 0x3f) +#define __SO_SIZE(c) ((c) & 0x3fff) +#define SO_SETCLP __SO_ENCODE(SOL_ATM,0,int) + +#define SO_CIRANGE __SO_ENCODE(SOL_ATM,1,struct atm_cirange) + +#define SO_ATMQOS __SO_ENCODE(SOL_ATM,2,struct atm_qos) + +#define SO_ATMSAP __SO_ENCODE(SOL_ATM,3,struct atm_sap) + +#define SO_ATMPVC __SO_ENCODE(SOL_ATM,4,struct sockaddr_atmpvc) + +#define SO_MULTIPOINT __SO_ENCODE(SOL_ATM, 5, int) + +#define ATM_HDR_GFC_MASK 0xf0000000 +#define ATM_HDR_GFC_SHIFT 28 +#define ATM_HDR_VPI_MASK 0x0ff00000 +#define ATM_HDR_VPI_SHIFT 20 +#define ATM_HDR_VCI_MASK 0x000ffff0 +#define ATM_HDR_VCI_SHIFT 4 +#define ATM_HDR_PTI_MASK 0x0000000e +#define ATM_HDR_PTI_SHIFT 1 +#define ATM_HDR_CLP 0x00000001 +#define ATM_PTI_US0 0 +#define ATM_PTI_US1 1 +#define ATM_PTI_UCES0 2 +#define ATM_PTI_UCES1 3 +#define ATM_PTI_SEGF5 4 +#define ATM_PTI_E2EF5 5 +#define ATM_PTI_RSV_RM 6 +#define ATM_PTI_RSV 7 +#define ATM_NONE 0 +#define ATM_UBR 1 +#define ATM_CBR 2 +#define ATM_VBR 3 +#define ATM_ABR 4 +#define ATM_ANYCLASS 5 +#define ATM_MAX_PCR -1 +struct atm_trafprm { + unsigned char traffic_class; + int max_pcr; + int pcr; + int min_pcr; + int max_cdv; + int max_sdu; + + unsigned int icr; + unsigned int tbe; + unsigned int frtt : 24; + unsigned int rif : 4; + unsigned int rdf : 4; + unsigned int nrm_pres :1; + unsigned int trm_pres :1; + unsigned int adtf_pres :1; + unsigned int cdf_pres :1; + unsigned int nrm :3; + unsigned int trm :3; + unsigned int adtf :10; + unsigned int cdf :3; + unsigned int spare :9; +}; +struct atm_qos { + struct atm_trafprm txtp; + struct atm_trafprm rxtp __ATM_API_ALIGN; + + unsigned char aal __ATM_API_ALIGN; +}; +#define ATM_ITF_ANY -1 +#define ATM_VPI_ANY -1 +#define ATM_VCI_ANY -1 +#define ATM_VPI_UNSPEC -2 +#define ATM_VCI_UNSPEC -2 +struct sockaddr_atmpvc { + unsigned short sap_family; + struct { + short itf; + short vpi; + int vci; + } sap_addr __ATM_API_ALIGN; +}; +#define ATM_ESA_LEN 20 +#define ATM_E164_LEN 12 +#define ATM_AFI_DCC 0x39 +#define ATM_AFI_ICD 0x47 +#define ATM_AFI_E164 0x45 +#define ATM_AFI_LOCAL 0x49 +#define ATM_AFI_DCC_GROUP 0xBD +#define ATM_AFI_ICD_GROUP 0xC5 +#define ATM_AFI_E164_GROUP 0xC3 +#define ATM_AFI_LOCAL_GROUP 0xC7 +#define ATM_LIJ_NONE 0 +#define ATM_LIJ 1 +#define ATM_LIJ_RPJ 2 +#define ATM_LIJ_NJ 3 +struct sockaddr_atmsvc { + unsigned short sas_family; + struct { + unsigned char prv[ATM_ESA_LEN]; + char pub[ATM_E164_LEN+1]; + + char lij_type; + __u32 lij_id; + } sas_addr __ATM_API_ALIGN; +}; +static __inline__ int atmsvc_addr_in_use(struct sockaddr_atmsvc addr) +{ + return *addr.sas_addr.prv || *addr.sas_addr.pub; +} +static __inline__ int atmpvc_addr_in_use(struct sockaddr_atmpvc addr) +{ + return addr.sap_addr.itf || addr.sap_addr.vpi || addr.sap_addr.vci; +} +struct atmif_sioc { + int number; + int length; + void __user *arg; +}; +typedef unsigned short atm_backend_t; +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/atm_eni.h b/linux-5.10/prebuilts/usr/include/linux/atm_eni.h new file mode 100644 index 0000000..5585781 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/atm_eni.h @@ -0,0 +1,16 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef LINUX_ATM_ENI_H +#define LINUX_ATM_ENI_H +#include +struct eni_multipliers { + int tx,rx; +}; +#define ENI_MEMDUMP _IOW('a',ATMIOC_SARPRV,struct atmif_sioc) + +#define ENI_SETMULT _IOW('a',ATMIOC_SARPRV+7,struct atmif_sioc) + +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/atm_he.h b/linux-5.10/prebuilts/usr/include/linux/atm_he.h new file mode 100644 index 0000000..df00158 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/atm_he.h @@ -0,0 +1,18 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef LINUX_ATM_HE_H +#define LINUX_ATM_HE_H +#include +#define HE_GET_REG _IOW('a', ATMIOC_SARPRV, struct atmif_sioc) +#define HE_REGTYPE_PCI 1 +#define HE_REGTYPE_RCM 2 +#define HE_REGTYPE_TCM 3 +#define HE_REGTYPE_MBOX 4 +struct he_ioctl_reg { + unsigned addr, val; + char type; +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/atm_idt77105.h b/linux-5.10/prebuilts/usr/include/linux/atm_idt77105.h new file mode 100644 index 0000000..c3d2708 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/atm_idt77105.h @@ -0,0 +1,19 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef LINUX_ATM_IDT77105_H +#define LINUX_ATM_IDT77105_H +#include +#include +#include +struct idt77105_stats { + __u32 symbol_errors; + __u32 tx_cells; + __u32 rx_cells; + __u32 rx_hec_errors; +}; +#define IDT77105_GETSTAT _IOW('a',ATMIOC_PHYPRV+2,struct atmif_sioc) +#define IDT77105_GETSTATZ _IOW('a',ATMIOC_PHYPRV+3,struct atmif_sioc) +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/atm_nicstar.h b/linux-5.10/prebuilts/usr/include/linux/atm_nicstar.h new file mode 100644 index 0000000..79c38f5 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/atm_nicstar.h @@ -0,0 +1,32 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef LINUX_ATM_NICSTAR_H +#define LINUX_ATM_NICSTAR_H +#include +#include +#define NS_GETPSTAT _IOWR('a',ATMIOC_SARPRV+1,struct atmif_sioc) + +#define NS_SETBUFLEV _IOW('a',ATMIOC_SARPRV+2,struct atmif_sioc) + +#define NS_ADJBUFLEV _IO('a',ATMIOC_SARPRV+3) + +typedef struct buf_nr +{ + unsigned min; + unsigned init; + unsigned max; +}buf_nr; +typedef struct pool_levels +{ + int buftype; + int count; + buf_nr level; +} pool_levels; +#define NS_BUFTYPE_SMALL 1 +#define NS_BUFTYPE_LARGE 2 +#define NS_BUFTYPE_HUGE 3 +#define NS_BUFTYPE_IOVEC 4 +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/atm_tcp.h b/linux-5.10/prebuilts/usr/include/linux/atm_tcp.h new file mode 100644 index 0000000..4fcd5c1 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/atm_tcp.h @@ -0,0 +1,31 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPILINUX_ATM_TCP_H +#define _UAPILINUX_ATM_TCP_H +#include +#include +#include +#include +struct atmtcp_hdr { + __u16 vpi; + __u16 vci; + __u32 length; +}; +#define ATMTCP_HDR_MAGIC (~0) +#define ATMTCP_CTRL_OPEN 1 +#define ATMTCP_CTRL_CLOSE 2 +struct atmtcp_control { + struct atmtcp_hdr hdr; + int type; + atm_kptr_t vcc; + struct sockaddr_atmpvc addr; + struct atm_qos qos; + int result; +} __ATM_API_ALIGN; +#define SIOCSIFATMTCP _IO('a',ATMIOC_ITF) +#define ATMTCP_CREATE _IO('a',ATMIOC_ITF+14) +#define ATMTCP_REMOVE _IO('a',ATMIOC_ITF+15) +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/atm_zatm.h b/linux-5.10/prebuilts/usr/include/linux/atm_zatm.h new file mode 100644 index 0000000..b48accd --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/atm_zatm.h @@ -0,0 +1,32 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef LINUX_ATM_ZATM_H +#define LINUX_ATM_ZATM_H +#include +#include +#define ZATM_GETPOOL _IOW('a',ATMIOC_SARPRV+1,struct atmif_sioc) + +#define ZATM_GETPOOLZ _IOW('a',ATMIOC_SARPRV+2,struct atmif_sioc) + +#define ZATM_SETPOOL _IOW('a',ATMIOC_SARPRV+3,struct atmif_sioc) + +struct zatm_pool_info { + int ref_count; + int low_water,high_water; + int rqa_count,rqu_count; + int offset,next_off; + int next_cnt,next_thres; +}; +struct zatm_pool_req { + int pool_num; + struct zatm_pool_info info; +}; +#define ZATM_OAM_POOL 0 +#define ZATM_AAL0_POOL 1 +#define ZATM_AAL5_POOL_BASE 2 +#define ZATM_LAST_POOL ZATM_AAL5_POOL_BASE+10 +#define ZATM_TIMER_HISTORY_SIZE 16 +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/atmapi.h b/linux-5.10/prebuilts/usr/include/linux/atmapi.h new file mode 100644 index 0000000..f59e740 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/atmapi.h @@ -0,0 +1,17 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ + + +#ifndef _LINUX_ATMAPI_H +#define _LINUX_ATMAPI_H +#if defined(__sparc__) || defined(__ia64__) +#define __ATM_API_ALIGN __attribute__((aligned(8))) +#else +#define __ATM_API_ALIGN +#endif + +typedef struct { unsigned char _[8]; } __ATM_API_ALIGN atm_kptr_t; +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/atmarp.h b/linux-5.10/prebuilts/usr/include/linux/atmarp.h new file mode 100644 index 0000000..d75b897 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/atmarp.h @@ -0,0 +1,31 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ + + +#ifndef _LINUX_ATMARP_H +#define _LINUX_ATMARP_H +#include +#include +#include +#define ATMARP_RETRY_DELAY 30 +#define ATMARP_MAX_UNRES_PACKETS 5 +#define ATMARPD_CTRL _IO('a',ATMIOC_CLIP+1) +#define ATMARP_MKIP _IO('a',ATMIOC_CLIP+2) +#define ATMARP_SETENTRY _IO('a',ATMIOC_CLIP+3) +#define ATMARP_ENCAP _IO('a',ATMIOC_CLIP+5) +enum atmarp_ctrl_type { + act_invalid, + act_need, + act_up, + act_down, + act_change +}; +struct atmarp_ctrl { + enum atmarp_ctrl_type type; + int itf_num; + __be32 ip; +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/atmbr2684.h b/linux-5.10/prebuilts/usr/include/linux/atmbr2684.h new file mode 100644 index 0000000..fb6f35f --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/atmbr2684.h @@ -0,0 +1,71 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _LINUX_ATMBR2684_H +#define _LINUX_ATMBR2684_H +#include +#include +#include +#define BR2684_MEDIA_ETHERNET (0) +#define BR2684_MEDIA_802_4 (1) +#define BR2684_MEDIA_TR (2) +#define BR2684_MEDIA_FDDI (3) +#define BR2684_MEDIA_802_6 (4) + +#define BR2684_FLAG_ROUTED (1<<16) +#define BR2684_FCSIN_NO (0) +#define BR2684_FCSIN_IGNORE (1) +#define BR2684_FCSIN_VERIFY (2) +#define BR2684_FCSOUT_NO (0) +#define BR2684_FCSOUT_SENDZERO (1) +#define BR2684_FCSOUT_GENERATE (2) +#define BR2684_ENCAPS_VC (0) +#define BR2684_ENCAPS_LLC (1) +#define BR2684_ENCAPS_AUTODETECT (2) +#define BR2684_PAYLOAD_ROUTED (0) +#define BR2684_PAYLOAD_BRIDGED (1) +struct atm_newif_br2684 { + atm_backend_t backend_num; + int media; + char ifname[IFNAMSIZ]; + int mtu; +}; +#define BR2684_FIND_BYNOTHING (0) +#define BR2684_FIND_BYNUM (1) +#define BR2684_FIND_BYIFNAME (2) +struct br2684_if_spec { + int method; + union { + char ifname[IFNAMSIZ]; + int devnum; + } spec; +}; +struct atm_backend_br2684 { + atm_backend_t backend_num; + struct br2684_if_spec ifspec; + int fcs_in; + int fcs_out; + int fcs_auto; + int encaps; + int has_vpiid; + __u8 vpn_id[7]; + int send_padding; + int min_size; +}; +struct br2684_filter { + __be32 prefix; + __be32 netmask; +}; +struct br2684_filter_set { + struct br2684_if_spec ifspec; + struct br2684_filter filter; +}; +enum br2684_payload { + p_routed = BR2684_PAYLOAD_ROUTED, + p_bridged = BR2684_PAYLOAD_BRIDGED, +}; +#define BR2684_SETFILT _IOW( 'a', ATMIOC_BACKEND + 0, \ + struct br2684_filter_set) +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/atmclip.h b/linux-5.10/prebuilts/usr/include/linux/atmclip.h new file mode 100644 index 0000000..229e3f3 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/atmclip.h @@ -0,0 +1,17 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ + + +#ifndef LINUX_ATMCLIP_H +#define LINUX_ATMCLIP_H +#include +#include +#define RFC1483LLC_LEN 8 +#define RFC1626_MTU 9180 +#define CLIP_DEFAULT_IDLETIMER 1200 +#define CLIP_CHECK_INTERVAL 10 +#define SIOCMKCLIP _IO('a',ATMIOC_CLIP) +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/atmdev.h b/linux-5.10/prebuilts/usr/include/linux/atmdev.h new file mode 100644 index 0000000..8efd042 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/atmdev.h @@ -0,0 +1,147 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ + + +#ifndef _UAPILINUX_ATMDEV_H +#define _UAPILINUX_ATMDEV_H +#include +#include +#include +#define ESI_LEN 6 +#define ATM_OC3_PCR (155520000/270*260/8/53) + +#define ATM_25_PCR ((25600000/8-8000)/54) + +#define ATM_OC12_PCR (622080000/1080*1040/8/53) + +#define ATM_DS3_PCR (8000*12) + +#define __AAL_STAT_ITEMS \ + __HANDLE_ITEM(tx); \ + __HANDLE_ITEM(tx_err); \ + __HANDLE_ITEM(rx); \ + __HANDLE_ITEM(rx_err); \ + __HANDLE_ITEM(rx_drop); +struct atm_aal_stats { +#define __HANDLE_ITEM(i) int i + __AAL_STAT_ITEMS +#undef __HANDLE_ITEM +}; +struct atm_dev_stats { + struct atm_aal_stats aal0; + struct atm_aal_stats aal34; + struct atm_aal_stats aal5; +} __ATM_API_ALIGN; +#define ATM_GETLINKRATE _IOW('a',ATMIOC_ITF+1,struct atmif_sioc) + +#define ATM_GETNAMES _IOW('a',ATMIOC_ITF+3,struct atm_iobuf) + +#define ATM_GETTYPE _IOW('a',ATMIOC_ITF+4,struct atmif_sioc) + +#define ATM_GETESI _IOW('a',ATMIOC_ITF+5,struct atmif_sioc) + +#define ATM_GETADDR _IOW('a',ATMIOC_ITF+6,struct atmif_sioc) + +#define ATM_RSTADDR _IOW('a',ATMIOC_ITF+7,struct atmif_sioc) + +#define ATM_ADDADDR _IOW('a',ATMIOC_ITF+8,struct atmif_sioc) + +#define ATM_DELADDR _IOW('a',ATMIOC_ITF+9,struct atmif_sioc) + +#define ATM_GETCIRANGE _IOW('a',ATMIOC_ITF+10,struct atmif_sioc) + +#define ATM_SETCIRANGE _IOW('a',ATMIOC_ITF+11,struct atmif_sioc) + +#define ATM_SETESI _IOW('a',ATMIOC_ITF+12,struct atmif_sioc) + +#define ATM_SETESIF _IOW('a',ATMIOC_ITF+13,struct atmif_sioc) + +#define ATM_ADDLECSADDR _IOW('a', ATMIOC_ITF+14, struct atmif_sioc) + +#define ATM_DELLECSADDR _IOW('a', ATMIOC_ITF+15, struct atmif_sioc) + +#define ATM_GETLECSADDR _IOW('a', ATMIOC_ITF+16, struct atmif_sioc) + +#define ATM_GETSTAT _IOW('a',ATMIOC_SARCOM+0,struct atmif_sioc) + +#define ATM_GETSTATZ _IOW('a',ATMIOC_SARCOM+1,struct atmif_sioc) + +#define ATM_GETLOOP _IOW('a',ATMIOC_SARCOM+2,struct atmif_sioc) + +#define ATM_SETLOOP _IOW('a',ATMIOC_SARCOM+3,struct atmif_sioc) + +#define ATM_QUERYLOOP _IOW('a',ATMIOC_SARCOM+4,struct atmif_sioc) + +#define ATM_SETSC _IOW('a',ATMIOC_SPECIAL+1,int) + +#define ATM_SETBACKEND _IOW('a',ATMIOC_SPECIAL+2,atm_backend_t) + +#define ATM_NEWBACKENDIF _IOW('a',ATMIOC_SPECIAL+3,atm_backend_t) + +#define ATM_ADDPARTY _IOW('a', ATMIOC_SPECIAL+4,struct atm_iobuf) + +#ifdef CONFIG_COMPAT +#define COMPAT_ATM_ADDPARTY _IOW('a', ATMIOC_SPECIAL+4,struct compat_atm_iobuf) +#endif +#define ATM_DROPPARTY _IOW('a', ATMIOC_SPECIAL+5,int) + +#define ATM_BACKEND_RAW 0 +#define ATM_BACKEND_PPP 1 +#define ATM_BACKEND_BR2684 2 +#define ATM_ITFTYP_LEN 8 +#define __ATM_LM_NONE 0 +#define __ATM_LM_AAL 1 +#define __ATM_LM_ATM 2 +#define __ATM_LM_PHY 8 +#define __ATM_LM_ANALOG 16 +#define __ATM_LM_MKLOC(n) ((n)) +#define __ATM_LM_MKRMT(n) ((n) << 8) +#define __ATM_LM_XTLOC(n) ((n) & 0xff) +#define __ATM_LM_XTRMT(n) (((n) >> 8) & 0xff) +#define ATM_LM_NONE 0 +#define ATM_LM_LOC_AAL __ATM_LM_MKLOC(__ATM_LM_AAL) +#define ATM_LM_LOC_ATM __ATM_LM_MKLOC(__ATM_LM_ATM) +#define ATM_LM_LOC_PHY __ATM_LM_MKLOC(__ATM_LM_PHY) +#define ATM_LM_LOC_ANALOG __ATM_LM_MKLOC(__ATM_LM_ANALOG) +#define ATM_LM_RMT_AAL __ATM_LM_MKRMT(__ATM_LM_AAL) +#define ATM_LM_RMT_ATM __ATM_LM_MKRMT(__ATM_LM_ATM) +#define ATM_LM_RMT_PHY __ATM_LM_MKRMT(__ATM_LM_PHY) +#define ATM_LM_RMT_ANALOG __ATM_LM_MKRMT(__ATM_LM_ANALOG) +struct atm_iobuf { + int length; + void __user *buffer; +}; +#define ATM_CI_MAX -1 + +struct atm_cirange { + signed char vpi_bits; + signed char vci_bits; +}; +#define ATM_SC_RX 1024 +#define ATM_SC_TX 2048 +#define ATM_BACKLOG_DEFAULT 32 +#define ATM_MF_IMMED 1 +#define ATM_MF_INC_RSV 2 +#define ATM_MF_INC_SHP 4 +#define ATM_MF_DEC_RSV 8 +#define ATM_MF_DEC_SHP 16 +#define ATM_MF_BWD 32 +#define ATM_MF_SET (ATM_MF_INC_RSV | ATM_MF_INC_SHP | ATM_MF_DEC_RSV | \ + ATM_MF_DEC_SHP | ATM_MF_BWD) +#define ATM_VS_IDLE 0 +#define ATM_VS_CONNECTED 1 +#define ATM_VS_CLOSING 2 +#define ATM_VS_LISTEN 3 +#define ATM_VS_INUSE 4 +#define ATM_VS_BOUND 5 +#define ATM_VS2TXT_MAP \ + "IDLE", "CONNECTED", "CLOSING", "LISTEN", "INUSE", "BOUND" +#define ATM_VF2TXT_MAP \ + "ADDR", "READY", "PARTIAL", "REGIS", \ + "RELEASED", "HASQOS", "LISTEN", "META", \ + "256", "512", "1024", "2048", \ + "SESSION", "HASSAP", "BOUND", "CLOSE" +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/atmioc.h b/linux-5.10/prebuilts/usr/include/linux/atmioc.h new file mode 100644 index 0000000..e21d7d1 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/atmioc.h @@ -0,0 +1,32 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ + +#ifndef _LINUX_ATMIOC_H +#define _LINUX_ATMIOC_H +#include + +#define ATMIOC_PHYCOM 0x00 +#define ATMIOC_PHYCOM_END 0x0f +#define ATMIOC_PHYTYP 0x10 +#define ATMIOC_PHYTYP_END 0x2f +#define ATMIOC_PHYPRV 0x30 +#define ATMIOC_PHYPRV_END 0x4f +#define ATMIOC_SARCOM 0x50 +#define ATMIOC_SARCOM_END 0x50 +#define ATMIOC_SARPRV 0x60 +#define ATMIOC_SARPRV_END 0x7f +#define ATMIOC_ITF 0x80 +#define ATMIOC_ITF_END 0x8f +#define ATMIOC_BACKEND 0x90 +#define ATMIOC_BACKEND_END 0xaf +#define ATMIOC_AREQUIPA 0xc0 +#define ATMIOC_LANE 0xd0 +#define ATMIOC_MPOA 0xd8 +#define ATMIOC_CLIP 0xe0 +#define ATMIOC_CLIP_END 0xef +#define ATMIOC_SPECIAL 0xf0 +#define ATMIOC_SPECIAL_END 0xff +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/atmlec.h b/linux-5.10/prebuilts/usr/include/linux/atmlec.h new file mode 100644 index 0000000..1700f9b --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/atmlec.h @@ -0,0 +1,73 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _ATMLEC_H_ +#define _ATMLEC_H_ +#include +#include +#include +#include +#include +#define ATMLEC_CTRL _IO('a', ATMIOC_LANE) +#define ATMLEC_DATA _IO('a', ATMIOC_LANE+1) +#define ATMLEC_MCAST _IO('a', ATMIOC_LANE+2) +#define MAX_LEC_ITF 48 +typedef enum { + l_set_mac_addr, + l_del_mac_addr, + l_svc_setup, + l_addr_delete, + l_topology_change, + l_flush_complete, + l_arp_update, + l_narp_req, + l_config, + l_flush_tran_id, + l_set_lecid, + l_arp_xmt, + l_rdesc_arp_xmt, + l_associate_req, + l_should_bridge +} atmlec_msg_type; +#define ATMLEC_MSG_TYPE_MAX l_should_bridge +struct atmlec_config_msg { + unsigned int maximum_unknown_frame_count; + unsigned int max_unknown_frame_time; + unsigned short max_retry_count; + unsigned int aging_time; + unsigned int forward_delay_time; + unsigned int arp_response_time; + unsigned int flush_timeout; + unsigned int path_switching_delay; + unsigned int lane_version; + int mtu; + int is_proxy; +}; +struct atmlec_msg { + atmlec_msg_type type; + int sizeoftlvs; + union { + struct { + unsigned char mac_addr[ETH_ALEN]; + unsigned char atm_addr[ATM_ESA_LEN]; + unsigned int flag; + unsigned int targetless_le_arp; + unsigned int no_source_le_narp; + } normal; + struct atmlec_config_msg config; + struct { + __u16 lec_id; + __u32 tran_id; + unsigned char mac_addr[ETH_ALEN]; + unsigned char atm_addr[ATM_ESA_LEN]; + } proxy; + } content; +} __ATM_API_ALIGN; +struct atmlec_ioc { + int dev_num; + unsigned char atm_addr[ATM_ESA_LEN]; + unsigned char receive; +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/atmmpc.h b/linux-5.10/prebuilts/usr/include/linux/atmmpc.h new file mode 100644 index 0000000..27cd58f --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/atmmpc.h @@ -0,0 +1,102 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _ATMMPC_H_ +#define _ATMMPC_H_ +#include +#include +#include +#include +#define ATMMPC_CTRL _IO('a', ATMIOC_MPOA) +#define ATMMPC_DATA _IO('a', ATMIOC_MPOA+1) +#define MPC_SOCKET_INGRESS 1 +#define MPC_SOCKET_EGRESS 2 +struct atmmpc_ioc { + int dev_num; + __be32 ipaddr; + int type; +}; +typedef struct in_ctrl_info { + __u8 Last_NHRP_CIE_code; + __u8 Last_Q2931_cause_value; + __u8 eg_MPC_ATM_addr[ATM_ESA_LEN]; + __be32 tag; + __be32 in_dst_ip; + __u16 holding_time; + __u32 request_id; +} in_ctrl_info; +typedef struct eg_ctrl_info { + __u8 DLL_header[256]; + __u8 DH_length; + __be32 cache_id; + __be32 tag; + __be32 mps_ip; + __be32 eg_dst_ip; + __u8 in_MPC_data_ATM_addr[ATM_ESA_LEN]; + __u16 holding_time; +} eg_ctrl_info; +struct mpc_parameters { + __u16 mpc_p1; + __u16 mpc_p2; + __u8 mpc_p3[8]; + __u16 mpc_p4; + __u16 mpc_p5; + __u16 mpc_p6; +} ; +struct k_message { + __u16 type; + __be32 ip_mask; + __u8 MPS_ctrl[ATM_ESA_LEN]; + union { + in_ctrl_info in_info; + eg_ctrl_info eg_info; + struct mpc_parameters params; + } content; + struct atm_qos qos; +} __ATM_API_ALIGN; +struct llc_snap_hdr { + + __u8 dsap; + __u8 ssap; + __u8 ui; + __u8 org[3]; + __u8 type[2]; +}; +#define TLV_MPOA_DEVICE_TYPE 0x00a03e2a +#define NON_MPOA 0 +#define MPS 1 +#define MPC 2 +#define MPS_AND_MPC 3 +#define MPC_P1 10 +#define MPC_P2 1 +#define MPC_P3 0 +#define MPC_P4 5 +#define MPC_P5 40 +#define MPC_P6 160 +#define HOLDING_TIME_DEFAULT 1200 +#define MPC_C1 2 +#define MPC_C2 60 +#define SND_MPOA_RES_RQST 201 +#define SET_MPS_CTRL_ADDR 202 +#define SND_MPOA_RES_RTRY 203 +#define STOP_KEEP_ALIVE_SM 204 +#define EGRESS_ENTRY_REMOVED 205 +#define SND_EGRESS_PURGE 206 +#define DIE 207 +#define DATA_PLANE_PURGE 208 +#define OPEN_INGRESS_SVC 209 +#define MPOA_TRIGGER_RCVD 101 +#define MPOA_RES_REPLY_RCVD 102 +#define INGRESS_PURGE_RCVD 103 +#define EGRESS_PURGE_RCVD 104 +#define MPS_DEATH 105 +#define CACHE_IMPOS_RCVD 106 +#define SET_MPC_CTRL_ADDR 107 +#define SET_MPS_MAC_ADDR 108 +#define CLEAN_UP_AND_EXIT 109 +#define SET_MPC_PARAMS 110 + +#define RELOAD 301 +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/atmppp.h b/linux-5.10/prebuilts/usr/include/linux/atmppp.h new file mode 100644 index 0000000..410ad02 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/atmppp.h @@ -0,0 +1,16 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _LINUX_ATMPPP_H +#define _LINUX_ATMPPP_H +#include +#define PPPOATM_ENCAPS_AUTODETECT (0) +#define PPPOATM_ENCAPS_VC (1) +#define PPPOATM_ENCAPS_LLC (2) +struct atm_backend_ppp { + atm_backend_t backend_num; + int encaps; +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/atmsap.h b/linux-5.10/prebuilts/usr/include/linux/atmsap.h new file mode 100644 index 0000000..c6cad0b --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/atmsap.h @@ -0,0 +1,102 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _LINUX_ATMSAP_H +#define _LINUX_ATMSAP_H +#include +#define ATM_L2_NONE 0 +#define ATM_L2_ISO1745 0x01 +#define ATM_L2_Q291 0x02 +#define ATM_L2_X25_LL 0x06 +#define ATM_L2_X25_ML 0x07 +#define ATM_L2_LAPB 0x08 +#define ATM_L2_HDLC_ARM 0x09 +#define ATM_L2_HDLC_NRM 0x0a +#define ATM_L2_HDLC_ABM 0x0b +#define ATM_L2_ISO8802 0x0c +#define ATM_L2_X75 0x0d +#define ATM_L2_Q922 0x0e +#define ATM_L2_USER 0x10 +#define ATM_L2_ISO7776 0x11 +#define ATM_L3_NONE 0 +#define ATM_L3_X25 0x06 +#define ATM_L3_ISO8208 0x07 +#define ATM_L3_X223 0x08 +#define ATM_L3_ISO8473 0x09 +#define ATM_L3_T70 0x0a +#define ATM_L3_TR9577 0x0b +#define ATM_L3_H310 0x0c +#define ATM_L3_H321 0x0d +#define ATM_L3_USER 0x10 +#define ATM_HL_NONE 0 +#define ATM_HL_ISO 0x01 +#define ATM_HL_USER 0x02 +#define ATM_HL_HLP 0x03 +#define ATM_HL_VENDOR 0x04 +#define ATM_IMD_NONE 0 +#define ATM_IMD_NORMAL 1 +#define ATM_IMD_EXTENDED 2 +#define ATM_TT_NONE 0 +#define ATM_TT_RX 1 +#define ATM_TT_TX 2 +#define ATM_TT_RXTX 3 +#define ATM_MC_NONE 0 +#define ATM_MC_TS 1 +#define ATM_MC_TS_FEC 2 +#define ATM_MC_PS 3 +#define ATM_MC_PS_FEC 4 +#define ATM_MC_H221 5 +#define ATM_MAX_HLI 8 +struct atm_blli { + unsigned char l2_proto; + union { + struct { + unsigned char mode; + + unsigned char window; + } itu; + unsigned char user; + } l2; + unsigned char l3_proto; + union { + struct { + unsigned char mode; + + unsigned char def_size; + + unsigned char window; + } itu; + unsigned char user; + struct { + unsigned char term_type; + unsigned char fw_mpx_cap; + + unsigned char bw_mpx_cap; + + } h310; + struct { + unsigned char ipi; + unsigned char snap[5]; + + } tr9577; + } l3; +} __ATM_API_ALIGN; +struct atm_bhli { + unsigned char hl_type; + unsigned char hl_length; + + unsigned char hl_info[ATM_MAX_HLI]; +}; +#define ATM_MAX_BLLI 3 +struct atm_sap { + struct atm_bhli bhli; + struct atm_blli blli[ATM_MAX_BLLI] __ATM_API_ALIGN; + +}; +static __inline__ int blli_in_use(struct atm_blli blli) +{ + return blli.l2_proto || blli.l3_proto; +} +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/atmsvc.h b/linux-5.10/prebuilts/usr/include/linux/atmsvc.h new file mode 100644 index 0000000..8ab7177 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/atmsvc.h @@ -0,0 +1,39 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ + + +#ifndef _LINUX_ATMSVC_H +#define _LINUX_ATMSVC_H +#include +#include +#include +#define ATMSIGD_CTRL _IO('a',ATMIOC_SPECIAL) + +enum atmsvc_msg_type { as_catch_null, as_bind, as_connect, as_accept, as_reject, + as_listen, as_okay, as_error, as_indicate, as_close, + as_itf_notify, as_modify, as_identify, as_terminate, + as_addparty, as_dropparty }; +struct atmsvc_msg { + enum atmsvc_msg_type type; + atm_kptr_t vcc; + atm_kptr_t listen_vcc; + int reply; + + + + + + struct sockaddr_atmpvc pvc; + struct sockaddr_atmsvc local; + struct atm_qos qos; + struct atm_sap sap; + unsigned int session; + struct sockaddr_atmsvc svc; +} __ATM_API_ALIGN; +#define SELECT_TOP_PCR(tp) ((tp).pcr ? (tp).pcr : \ + (tp).max_pcr && (tp).max_pcr != ATM_MAX_PCR ? (tp).max_pcr : \ + (tp).min_pcr ? (tp).min_pcr : ATM_MAX_PCR) +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/audit.h b/linux-5.10/prebuilts/usr/include/linux/audit.h new file mode 100644 index 0000000..8ac2e16 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/audit.h @@ -0,0 +1,377 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI_LINUX_AUDIT_H_ +#define _UAPI_LINUX_AUDIT_H_ +#include +#include +#define AUDIT_GET 1000 +#define AUDIT_SET 1001 +#define AUDIT_LIST 1002 +#define AUDIT_ADD 1003 +#define AUDIT_DEL 1004 +#define AUDIT_USER 1005 +#define AUDIT_LOGIN 1006 +#define AUDIT_WATCH_INS 1007 +#define AUDIT_WATCH_REM 1008 +#define AUDIT_WATCH_LIST 1009 +#define AUDIT_SIGNAL_INFO 1010 +#define AUDIT_ADD_RULE 1011 +#define AUDIT_DEL_RULE 1012 +#define AUDIT_LIST_RULES 1013 +#define AUDIT_TRIM 1014 +#define AUDIT_MAKE_EQUIV 1015 +#define AUDIT_TTY_GET 1016 +#define AUDIT_TTY_SET 1017 +#define AUDIT_SET_FEATURE 1018 +#define AUDIT_GET_FEATURE 1019 +#define AUDIT_FIRST_USER_MSG 1100 +#define AUDIT_USER_AVC 1107 +#define AUDIT_USER_TTY 1124 +#define AUDIT_LAST_USER_MSG 1199 +#define AUDIT_FIRST_USER_MSG2 2100 +#define AUDIT_LAST_USER_MSG2 2999 + +#define AUDIT_DAEMON_START 1200 +#define AUDIT_DAEMON_END 1201 +#define AUDIT_DAEMON_ABORT 1202 +#define AUDIT_DAEMON_CONFIG 1203 +#define AUDIT_SYSCALL 1300 +#define AUDIT_PATH 1302 +#define AUDIT_IPC 1303 +#define AUDIT_SOCKETCALL 1304 +#define AUDIT_CONFIG_CHANGE 1305 +#define AUDIT_SOCKADDR 1306 +#define AUDIT_CWD 1307 +#define AUDIT_EXECVE 1309 +#define AUDIT_IPC_SET_PERM 1311 +#define AUDIT_MQ_OPEN 1312 +#define AUDIT_MQ_SENDRECV 1313 +#define AUDIT_MQ_NOTIFY 1314 +#define AUDIT_MQ_GETSETATTR 1315 +#define AUDIT_KERNEL_OTHER 1316 +#define AUDIT_FD_PAIR 1317 +#define AUDIT_OBJ_PID 1318 +#define AUDIT_TTY 1319 +#define AUDIT_EOE 1320 +#define AUDIT_BPRM_FCAPS 1321 +#define AUDIT_CAPSET 1322 +#define AUDIT_MMAP 1323 +#define AUDIT_NETFILTER_PKT 1324 +#define AUDIT_NETFILTER_CFG 1325 +#define AUDIT_SECCOMP 1326 +#define AUDIT_PROCTITLE 1327 +#define AUDIT_FEATURE_CHANGE 1328 +#define AUDIT_REPLACE 1329 +#define AUDIT_KERN_MODULE 1330 +#define AUDIT_FANOTIFY 1331 +#define AUDIT_TIME_INJOFFSET 1332 +#define AUDIT_TIME_ADJNTPVAL 1333 +#define AUDIT_BPF 1334 +#define AUDIT_EVENT_LISTENER 1335 +#define AUDIT_AVC 1400 +#define AUDIT_SELINUX_ERR 1401 +#define AUDIT_AVC_PATH 1402 +#define AUDIT_MAC_POLICY_LOAD 1403 +#define AUDIT_MAC_STATUS 1404 +#define AUDIT_MAC_CONFIG_CHANGE 1405 +#define AUDIT_MAC_UNLBL_ALLOW 1406 +#define AUDIT_MAC_CIPSOV4_ADD 1407 +#define AUDIT_MAC_CIPSOV4_DEL 1408 +#define AUDIT_MAC_MAP_ADD 1409 +#define AUDIT_MAC_MAP_DEL 1410 +#define AUDIT_MAC_IPSEC_ADDSA 1411 +#define AUDIT_MAC_IPSEC_DELSA 1412 +#define AUDIT_MAC_IPSEC_ADDSPD 1413 +#define AUDIT_MAC_IPSEC_DELSPD 1414 +#define AUDIT_MAC_IPSEC_EVENT 1415 +#define AUDIT_MAC_UNLBL_STCADD 1416 +#define AUDIT_MAC_UNLBL_STCDEL 1417 +#define AUDIT_MAC_CALIPSO_ADD 1418 +#define AUDIT_MAC_CALIPSO_DEL 1419 +#define AUDIT_FIRST_KERN_ANOM_MSG 1700 +#define AUDIT_LAST_KERN_ANOM_MSG 1799 +#define AUDIT_ANOM_PROMISCUOUS 1700 +#define AUDIT_ANOM_ABEND 1701 +#define AUDIT_ANOM_LINK 1702 +#define AUDIT_ANOM_CREAT 1703 +#define AUDIT_INTEGRITY_DATA 1800 +#define AUDIT_INTEGRITY_METADATA 1801 +#define AUDIT_INTEGRITY_STATUS 1802 +#define AUDIT_INTEGRITY_HASH 1803 +#define AUDIT_INTEGRITY_PCR 1804 +#define AUDIT_INTEGRITY_RULE 1805 +#define AUDIT_INTEGRITY_EVM_XATTR 1806 +#define AUDIT_INTEGRITY_POLICY_RULE 1807 +#define AUDIT_KERNEL 2000 +#define AUDIT_FILTER_USER 0x00 +#define AUDIT_FILTER_TASK 0x01 +#define AUDIT_FILTER_ENTRY 0x02 +#define AUDIT_FILTER_WATCH 0x03 +#define AUDIT_FILTER_EXIT 0x04 +#define AUDIT_FILTER_EXCLUDE 0x05 +#define AUDIT_FILTER_TYPE AUDIT_FILTER_EXCLUDE +#define AUDIT_FILTER_FS 0x06 +#define AUDIT_NR_FILTERS 7 +#define AUDIT_FILTER_PREPEND 0x10 +#define AUDIT_NEVER 0 +#define AUDIT_POSSIBLE 1 +#define AUDIT_ALWAYS 2 +#define AUDIT_MAX_FIELDS 64 +#define AUDIT_MAX_KEY_LEN 256 +#define AUDIT_BITMASK_SIZE 64 +#define AUDIT_WORD(nr) ((__u32)((nr)/32)) +#define AUDIT_BIT(nr) (1 << ((nr) - AUDIT_WORD(nr)*32)) +#define AUDIT_SYSCALL_CLASSES 16 +#define AUDIT_CLASS_DIR_WRITE 0 +#define AUDIT_CLASS_DIR_WRITE_32 1 +#define AUDIT_CLASS_CHATTR 2 +#define AUDIT_CLASS_CHATTR_32 3 +#define AUDIT_CLASS_READ 4 +#define AUDIT_CLASS_READ_32 5 +#define AUDIT_CLASS_WRITE 6 +#define AUDIT_CLASS_WRITE_32 7 +#define AUDIT_CLASS_SIGNAL 8 +#define AUDIT_CLASS_SIGNAL_32 9 +#define AUDIT_UNUSED_BITS 0x07FFFC00 +#define AUDIT_COMPARE_UID_TO_OBJ_UID 1 +#define AUDIT_COMPARE_GID_TO_OBJ_GID 2 +#define AUDIT_COMPARE_EUID_TO_OBJ_UID 3 +#define AUDIT_COMPARE_EGID_TO_OBJ_GID 4 +#define AUDIT_COMPARE_AUID_TO_OBJ_UID 5 +#define AUDIT_COMPARE_SUID_TO_OBJ_UID 6 +#define AUDIT_COMPARE_SGID_TO_OBJ_GID 7 +#define AUDIT_COMPARE_FSUID_TO_OBJ_UID 8 +#define AUDIT_COMPARE_FSGID_TO_OBJ_GID 9 +#define AUDIT_COMPARE_UID_TO_AUID 10 +#define AUDIT_COMPARE_UID_TO_EUID 11 +#define AUDIT_COMPARE_UID_TO_FSUID 12 +#define AUDIT_COMPARE_UID_TO_SUID 13 +#define AUDIT_COMPARE_AUID_TO_FSUID 14 +#define AUDIT_COMPARE_AUID_TO_SUID 15 +#define AUDIT_COMPARE_AUID_TO_EUID 16 +#define AUDIT_COMPARE_EUID_TO_SUID 17 +#define AUDIT_COMPARE_EUID_TO_FSUID 18 +#define AUDIT_COMPARE_SUID_TO_FSUID 19 +#define AUDIT_COMPARE_GID_TO_EGID 20 +#define AUDIT_COMPARE_GID_TO_FSGID 21 +#define AUDIT_COMPARE_GID_TO_SGID 22 +#define AUDIT_COMPARE_EGID_TO_FSGID 23 +#define AUDIT_COMPARE_EGID_TO_SGID 24 +#define AUDIT_COMPARE_SGID_TO_FSGID 25 +#define AUDIT_MAX_FIELD_COMPARE AUDIT_COMPARE_SGID_TO_FSGID + +#define AUDIT_PID 0 +#define AUDIT_UID 1 +#define AUDIT_EUID 2 +#define AUDIT_SUID 3 +#define AUDIT_FSUID 4 +#define AUDIT_GID 5 +#define AUDIT_EGID 6 +#define AUDIT_SGID 7 +#define AUDIT_FSGID 8 +#define AUDIT_LOGINUID 9 +#define AUDIT_PERS 10 +#define AUDIT_ARCH 11 +#define AUDIT_MSGTYPE 12 +#define AUDIT_SUBJ_USER 13 +#define AUDIT_SUBJ_ROLE 14 +#define AUDIT_SUBJ_TYPE 15 +#define AUDIT_SUBJ_SEN 16 +#define AUDIT_SUBJ_CLR 17 +#define AUDIT_PPID 18 +#define AUDIT_OBJ_USER 19 +#define AUDIT_OBJ_ROLE 20 +#define AUDIT_OBJ_TYPE 21 +#define AUDIT_OBJ_LEV_LOW 22 +#define AUDIT_OBJ_LEV_HIGH 23 +#define AUDIT_LOGINUID_SET 24 +#define AUDIT_SESSIONID 25 +#define AUDIT_FSTYPE 26 + +#define AUDIT_DEVMAJOR 100 +#define AUDIT_DEVMINOR 101 +#define AUDIT_INODE 102 +#define AUDIT_EXIT 103 +#define AUDIT_SUCCESS 104 +#define AUDIT_WATCH 105 +#define AUDIT_PERM 106 +#define AUDIT_DIR 107 +#define AUDIT_FILETYPE 108 +#define AUDIT_OBJ_UID 109 +#define AUDIT_OBJ_GID 110 +#define AUDIT_FIELD_COMPARE 111 +#define AUDIT_EXE 112 +#define AUDIT_SADDR_FAM 113 +#define AUDIT_ARG0 200 +#define AUDIT_ARG1 (AUDIT_ARG0+1) +#define AUDIT_ARG2 (AUDIT_ARG0+2) +#define AUDIT_ARG3 (AUDIT_ARG0+3) +#define AUDIT_FILTERKEY 210 +#define AUDIT_NEGATE 0x80000000 +#define AUDIT_BIT_MASK 0x08000000 +#define AUDIT_LESS_THAN 0x10000000 +#define AUDIT_GREATER_THAN 0x20000000 +#define AUDIT_NOT_EQUAL 0x30000000 +#define AUDIT_EQUAL 0x40000000 +#define AUDIT_BIT_TEST (AUDIT_BIT_MASK|AUDIT_EQUAL) +#define AUDIT_LESS_THAN_OR_EQUAL (AUDIT_LESS_THAN|AUDIT_EQUAL) +#define AUDIT_GREATER_THAN_OR_EQUAL (AUDIT_GREATER_THAN|AUDIT_EQUAL) +#define AUDIT_OPERATORS (AUDIT_EQUAL|AUDIT_NOT_EQUAL|AUDIT_BIT_MASK) +enum { + Audit_equal, + Audit_not_equal, + Audit_bitmask, + Audit_bittest, + Audit_lt, + Audit_gt, + Audit_le, + Audit_ge, + Audit_bad +}; + +#define AUDIT_STATUS_ENABLED 0x0001 +#define AUDIT_STATUS_FAILURE 0x0002 +#define AUDIT_STATUS_PID 0x0004 +#define AUDIT_STATUS_RATE_LIMIT 0x0008 +#define AUDIT_STATUS_BACKLOG_LIMIT 0x0010 +#define AUDIT_STATUS_BACKLOG_WAIT_TIME 0x0020 +#define AUDIT_STATUS_LOST 0x0040 +#define AUDIT_STATUS_BACKLOG_WAIT_TIME_ACTUAL 0x0080 +#define AUDIT_FEATURE_BITMAP_BACKLOG_LIMIT 0x00000001 +#define AUDIT_FEATURE_BITMAP_BACKLOG_WAIT_TIME 0x00000002 +#define AUDIT_FEATURE_BITMAP_EXECUTABLE_PATH 0x00000004 +#define AUDIT_FEATURE_BITMAP_EXCLUDE_EXTEND 0x00000008 +#define AUDIT_FEATURE_BITMAP_SESSIONID_FILTER 0x00000010 +#define AUDIT_FEATURE_BITMAP_LOST_RESET 0x00000020 +#define AUDIT_FEATURE_BITMAP_FILTER_FS 0x00000040 +#define AUDIT_FEATURE_BITMAP_ALL (AUDIT_FEATURE_BITMAP_BACKLOG_LIMIT | \ + AUDIT_FEATURE_BITMAP_BACKLOG_WAIT_TIME | \ + AUDIT_FEATURE_BITMAP_EXECUTABLE_PATH | \ + AUDIT_FEATURE_BITMAP_EXCLUDE_EXTEND | \ + AUDIT_FEATURE_BITMAP_SESSIONID_FILTER | \ + AUDIT_FEATURE_BITMAP_LOST_RESET | \ + AUDIT_FEATURE_BITMAP_FILTER_FS) +#define AUDIT_VERSION_LATEST AUDIT_FEATURE_BITMAP_ALL +#define AUDIT_VERSION_BACKLOG_LIMIT AUDIT_FEATURE_BITMAP_BACKLOG_LIMIT +#define AUDIT_VERSION_BACKLOG_WAIT_TIME AUDIT_FEATURE_BITMAP_BACKLOG_WAIT_TIME + +#define AUDIT_FAIL_SILENT 0 +#define AUDIT_FAIL_PRINTK 1 +#define AUDIT_FAIL_PANIC 2 +#define __AUDIT_ARCH_CONVENTION_MASK 0x30000000 +#define __AUDIT_ARCH_CONVENTION_MIPS64_N32 0x20000000 +#define __AUDIT_ARCH_64BIT 0x80000000 +#define __AUDIT_ARCH_LE 0x40000000 +#define AUDIT_ARCH_AARCH64 (EM_AARCH64|__AUDIT_ARCH_64BIT|__AUDIT_ARCH_LE) +#define AUDIT_ARCH_ALPHA (EM_ALPHA|__AUDIT_ARCH_64BIT|__AUDIT_ARCH_LE) +#define AUDIT_ARCH_ARCOMPACT (EM_ARCOMPACT|__AUDIT_ARCH_LE) +#define AUDIT_ARCH_ARCOMPACTBE (EM_ARCOMPACT) +#define AUDIT_ARCH_ARCV2 (EM_ARCV2|__AUDIT_ARCH_LE) +#define AUDIT_ARCH_ARCV2BE (EM_ARCV2) +#define AUDIT_ARCH_ARM (EM_ARM|__AUDIT_ARCH_LE) +#define AUDIT_ARCH_ARMEB (EM_ARM) +#define AUDIT_ARCH_C6X (EM_TI_C6000|__AUDIT_ARCH_LE) +#define AUDIT_ARCH_C6XBE (EM_TI_C6000) +#define AUDIT_ARCH_CRIS (EM_CRIS|__AUDIT_ARCH_LE) +#define AUDIT_ARCH_CSKY (EM_CSKY|__AUDIT_ARCH_LE) +#define AUDIT_ARCH_FRV (EM_FRV) +#define AUDIT_ARCH_H8300 (EM_H8_300) +#define AUDIT_ARCH_HEXAGON (EM_HEXAGON) +#define AUDIT_ARCH_I386 (EM_386|__AUDIT_ARCH_LE) +#define AUDIT_ARCH_IA64 (EM_IA_64|__AUDIT_ARCH_64BIT|__AUDIT_ARCH_LE) +#define AUDIT_ARCH_M32R (EM_M32R) +#define AUDIT_ARCH_M68K (EM_68K) +#define AUDIT_ARCH_MICROBLAZE (EM_MICROBLAZE) +#define AUDIT_ARCH_MIPS (EM_MIPS) +#define AUDIT_ARCH_MIPSEL (EM_MIPS|__AUDIT_ARCH_LE) +#define AUDIT_ARCH_MIPS64 (EM_MIPS|__AUDIT_ARCH_64BIT) +#define AUDIT_ARCH_MIPS64N32 (EM_MIPS|__AUDIT_ARCH_64BIT|\ + __AUDIT_ARCH_CONVENTION_MIPS64_N32) +#define AUDIT_ARCH_MIPSEL64 (EM_MIPS|__AUDIT_ARCH_64BIT|__AUDIT_ARCH_LE) +#define AUDIT_ARCH_MIPSEL64N32 (EM_MIPS|__AUDIT_ARCH_64BIT|__AUDIT_ARCH_LE|\ + __AUDIT_ARCH_CONVENTION_MIPS64_N32) +#define AUDIT_ARCH_NDS32 (EM_NDS32|__AUDIT_ARCH_LE) +#define AUDIT_ARCH_NDS32BE (EM_NDS32) +#define AUDIT_ARCH_NIOS2 (EM_ALTERA_NIOS2|__AUDIT_ARCH_LE) +#define AUDIT_ARCH_OPENRISC (EM_OPENRISC) +#define AUDIT_ARCH_PARISC (EM_PARISC) +#define AUDIT_ARCH_PARISC64 (EM_PARISC|__AUDIT_ARCH_64BIT) +#define AUDIT_ARCH_PPC (EM_PPC) +#define AUDIT_ARCH_PPC64 (EM_PPC64|__AUDIT_ARCH_64BIT) +#define AUDIT_ARCH_PPC64LE (EM_PPC64|__AUDIT_ARCH_64BIT|__AUDIT_ARCH_LE) +#define AUDIT_ARCH_RISCV32 (EM_RISCV|__AUDIT_ARCH_LE) +#define AUDIT_ARCH_RISCV64 (EM_RISCV|__AUDIT_ARCH_64BIT|__AUDIT_ARCH_LE) +#define AUDIT_ARCH_S390 (EM_S390) +#define AUDIT_ARCH_S390X (EM_S390|__AUDIT_ARCH_64BIT) +#define AUDIT_ARCH_SH (EM_SH) +#define AUDIT_ARCH_SHEL (EM_SH|__AUDIT_ARCH_LE) +#define AUDIT_ARCH_SH64 (EM_SH|__AUDIT_ARCH_64BIT) +#define AUDIT_ARCH_SHEL64 (EM_SH|__AUDIT_ARCH_64BIT|__AUDIT_ARCH_LE) +#define AUDIT_ARCH_SPARC (EM_SPARC) +#define AUDIT_ARCH_SPARC64 (EM_SPARCV9|__AUDIT_ARCH_64BIT) +#define AUDIT_ARCH_TILEGX (EM_TILEGX|__AUDIT_ARCH_64BIT|__AUDIT_ARCH_LE) +#define AUDIT_ARCH_TILEGX32 (EM_TILEGX|__AUDIT_ARCH_LE) +#define AUDIT_ARCH_TILEPRO (EM_TILEPRO|__AUDIT_ARCH_LE) +#define AUDIT_ARCH_UNICORE (EM_UNICORE|__AUDIT_ARCH_LE) +#define AUDIT_ARCH_X86_64 (EM_X86_64|__AUDIT_ARCH_64BIT|__AUDIT_ARCH_LE) +#define AUDIT_ARCH_XTENSA (EM_XTENSA) +#define AUDIT_PERM_EXEC 1 +#define AUDIT_PERM_WRITE 2 +#define AUDIT_PERM_READ 4 +#define AUDIT_PERM_ATTR 8 +#define AUDIT_MESSAGE_TEXT_MAX 8560 +enum audit_nlgrps { + AUDIT_NLGRP_NONE, + AUDIT_NLGRP_READLOG, + __AUDIT_NLGRP_MAX +}; +#define AUDIT_NLGRP_MAX (__AUDIT_NLGRP_MAX - 1) +struct audit_status { + __u32 mask; + __u32 enabled; + __u32 failure; + __u32 pid; + __u32 rate_limit; + __u32 backlog_limit; + __u32 lost; + __u32 backlog; + union { + __u32 version; + __u32 feature_bitmap; + }; + __u32 backlog_wait_time; + __u32 backlog_wait_time_actual; +}; +struct audit_features { +#define AUDIT_FEATURE_VERSION 1 + __u32 vers; + __u32 mask; + __u32 features; + __u32 lock; +}; +#define AUDIT_FEATURE_ONLY_UNSET_LOGINUID 0 +#define AUDIT_FEATURE_LOGINUID_IMMUTABLE 1 +#define AUDIT_LAST_FEATURE AUDIT_FEATURE_LOGINUID_IMMUTABLE +#define audit_feature_valid(x) ((x) >= 0 && (x) <= AUDIT_LAST_FEATURE) +#define AUDIT_FEATURE_TO_MASK(x) (1 << ((x) & 31)) +struct audit_tty_status { + __u32 enabled; + __u32 log_passwd; +}; +#define AUDIT_UID_UNSET (unsigned int)-1 +#define AUDIT_SID_UNSET ((unsigned int)-1) +struct audit_rule_data { + __u32 flags; + __u32 action; + __u32 field_count; + __u32 mask[AUDIT_BITMASK_SIZE]; + __u32 fields[AUDIT_MAX_FIELDS]; + __u32 values[AUDIT_MAX_FIELDS]; + __u32 fieldflags[AUDIT_MAX_FIELDS]; + __u32 buflen; + char buf[0]; +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/auto_dev-ioctl.h b/linux-5.10/prebuilts/usr/include/linux/auto_dev-ioctl.h new file mode 100644 index 0000000..7543bca --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/auto_dev-ioctl.h @@ -0,0 +1,154 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI_LINUX_AUTO_DEV_IOCTL_H +#define _UAPI_LINUX_AUTO_DEV_IOCTL_H +#include +#include +#define AUTOFS_DEVICE_NAME "autofs" +#define AUTOFS_DEV_IOCTL_VERSION_MAJOR 1 +#define AUTOFS_DEV_IOCTL_VERSION_MINOR 1 +#define AUTOFS_DEV_IOCTL_SIZE sizeof(struct autofs_dev_ioctl) +struct args_protover { + __u32 version; +}; +struct args_protosubver { + __u32 sub_version; +}; +struct args_openmount { + __u32 devid; +}; +struct args_ready { + __u32 token; +}; +struct args_fail { + __u32 token; + __s32 status; +}; +struct args_setpipefd { + __s32 pipefd; +}; +struct args_timeout { + __u64 timeout; +}; +struct args_requester { + __u32 uid; + __u32 gid; +}; +struct args_expire { + __u32 how; +}; +struct args_askumount { + __u32 may_umount; +}; +struct args_ismountpoint { + union { + struct args_in { + __u32 type; + } in; + struct args_out { + __u32 devid; + __u32 magic; + } out; + }; +}; +struct autofs_dev_ioctl { + __u32 ver_major; + __u32 ver_minor; + __u32 size; + __s32 ioctlfd; + + union { + struct args_protover protover; + struct args_protosubver protosubver; + struct args_openmount openmount; + struct args_ready ready; + struct args_fail fail; + struct args_setpipefd setpipefd; + struct args_timeout timeout; + struct args_requester requester; + struct args_expire expire; + struct args_askumount askumount; + struct args_ismountpoint ismountpoint; + }; + char path[0]; +}; +static inline void init_autofs_dev_ioctl(struct autofs_dev_ioctl *in) +{ + memset(in, 0, AUTOFS_DEV_IOCTL_SIZE); + in->ver_major = AUTOFS_DEV_IOCTL_VERSION_MAJOR; + in->ver_minor = AUTOFS_DEV_IOCTL_VERSION_MINOR; + in->size = AUTOFS_DEV_IOCTL_SIZE; + in->ioctlfd = -1; +} +enum { + + AUTOFS_DEV_IOCTL_VERSION_CMD = 0x71, + AUTOFS_DEV_IOCTL_PROTOVER_CMD, + AUTOFS_DEV_IOCTL_PROTOSUBVER_CMD, + + AUTOFS_DEV_IOCTL_OPENMOUNT_CMD, + + AUTOFS_DEV_IOCTL_CLOSEMOUNT_CMD, + + AUTOFS_DEV_IOCTL_READY_CMD, + AUTOFS_DEV_IOCTL_FAIL_CMD, + + AUTOFS_DEV_IOCTL_SETPIPEFD_CMD, + AUTOFS_DEV_IOCTL_CATATONIC_CMD, + + AUTOFS_DEV_IOCTL_TIMEOUT_CMD, + + AUTOFS_DEV_IOCTL_REQUESTER_CMD, + + AUTOFS_DEV_IOCTL_EXPIRE_CMD, + + AUTOFS_DEV_IOCTL_ASKUMOUNT_CMD, + + AUTOFS_DEV_IOCTL_ISMOUNTPOINT_CMD, +}; +#define AUTOFS_DEV_IOCTL_VERSION \ + _IOWR(AUTOFS_IOCTL, \ + AUTOFS_DEV_IOCTL_VERSION_CMD, struct autofs_dev_ioctl) +#define AUTOFS_DEV_IOCTL_PROTOVER \ + _IOWR(AUTOFS_IOCTL, \ + AUTOFS_DEV_IOCTL_PROTOVER_CMD, struct autofs_dev_ioctl) +#define AUTOFS_DEV_IOCTL_PROTOSUBVER \ + _IOWR(AUTOFS_IOCTL, \ + AUTOFS_DEV_IOCTL_PROTOSUBVER_CMD, struct autofs_dev_ioctl) +#define AUTOFS_DEV_IOCTL_OPENMOUNT \ + _IOWR(AUTOFS_IOCTL, \ + AUTOFS_DEV_IOCTL_OPENMOUNT_CMD, struct autofs_dev_ioctl) +#define AUTOFS_DEV_IOCTL_CLOSEMOUNT \ + _IOWR(AUTOFS_IOCTL, \ + AUTOFS_DEV_IOCTL_CLOSEMOUNT_CMD, struct autofs_dev_ioctl) +#define AUTOFS_DEV_IOCTL_READY \ + _IOWR(AUTOFS_IOCTL, \ + AUTOFS_DEV_IOCTL_READY_CMD, struct autofs_dev_ioctl) +#define AUTOFS_DEV_IOCTL_FAIL \ + _IOWR(AUTOFS_IOCTL, \ + AUTOFS_DEV_IOCTL_FAIL_CMD, struct autofs_dev_ioctl) +#define AUTOFS_DEV_IOCTL_SETPIPEFD \ + _IOWR(AUTOFS_IOCTL, \ + AUTOFS_DEV_IOCTL_SETPIPEFD_CMD, struct autofs_dev_ioctl) +#define AUTOFS_DEV_IOCTL_CATATONIC \ + _IOWR(AUTOFS_IOCTL, \ + AUTOFS_DEV_IOCTL_CATATONIC_CMD, struct autofs_dev_ioctl) +#define AUTOFS_DEV_IOCTL_TIMEOUT \ + _IOWR(AUTOFS_IOCTL, \ + AUTOFS_DEV_IOCTL_TIMEOUT_CMD, struct autofs_dev_ioctl) +#define AUTOFS_DEV_IOCTL_REQUESTER \ + _IOWR(AUTOFS_IOCTL, \ + AUTOFS_DEV_IOCTL_REQUESTER_CMD, struct autofs_dev_ioctl) +#define AUTOFS_DEV_IOCTL_EXPIRE \ + _IOWR(AUTOFS_IOCTL, \ + AUTOFS_DEV_IOCTL_EXPIRE_CMD, struct autofs_dev_ioctl) +#define AUTOFS_DEV_IOCTL_ASKUMOUNT \ + _IOWR(AUTOFS_IOCTL, \ + AUTOFS_DEV_IOCTL_ASKUMOUNT_CMD, struct autofs_dev_ioctl) +#define AUTOFS_DEV_IOCTL_ISMOUNTPOINT \ + _IOWR(AUTOFS_IOCTL, \ + AUTOFS_DEV_IOCTL_ISMOUNTPOINT_CMD, struct autofs_dev_ioctl) +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/auto_fs.h b/linux-5.10/prebuilts/usr/include/linux/auto_fs.h new file mode 100644 index 0000000..2306962 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/auto_fs.h @@ -0,0 +1,163 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI_LINUX_AUTO_FS_H +#define _UAPI_LINUX_AUTO_FS_H +#include +#include +#ifndef __KERNEL__ +#include +#endif +#define AUTOFS_PROTO_VERSION 5 +#define AUTOFS_MIN_PROTO_VERSION 3 +#define AUTOFS_MAX_PROTO_VERSION 5 +#define AUTOFS_PROTO_SUBVERSION 5 +#if defined(__ia64__) || defined(__alpha__) +typedef unsigned long autofs_wqt_t; +#else +typedef unsigned int autofs_wqt_t; +#endif +#define autofs_ptype_missing 0 +#define autofs_ptype_expire 1 +struct autofs_packet_hdr { + int proto_version; + int type; +}; +struct autofs_packet_missing { + struct autofs_packet_hdr hdr; + autofs_wqt_t wait_queue_token; + int len; + char name[NAME_MAX+1]; +}; +struct autofs_packet_expire { + struct autofs_packet_hdr hdr; + int len; + char name[NAME_MAX+1]; +}; +#define AUTOFS_IOCTL 0x93 +enum { + AUTOFS_IOC_READY_CMD = 0x60, + AUTOFS_IOC_FAIL_CMD, + AUTOFS_IOC_CATATONIC_CMD, + AUTOFS_IOC_PROTOVER_CMD, + AUTOFS_IOC_SETTIMEOUT_CMD, + AUTOFS_IOC_EXPIRE_CMD, +}; +#define AUTOFS_IOC_READY _IO(AUTOFS_IOCTL, AUTOFS_IOC_READY_CMD) +#define AUTOFS_IOC_FAIL _IO(AUTOFS_IOCTL, AUTOFS_IOC_FAIL_CMD) +#define AUTOFS_IOC_CATATONIC _IO(AUTOFS_IOCTL, AUTOFS_IOC_CATATONIC_CMD) +#define AUTOFS_IOC_PROTOVER _IOR(AUTOFS_IOCTL, \ + AUTOFS_IOC_PROTOVER_CMD, int) +#define AUTOFS_IOC_SETTIMEOUT32 _IOWR(AUTOFS_IOCTL, \ + AUTOFS_IOC_SETTIMEOUT_CMD, \ + compat_ulong_t) +#define AUTOFS_IOC_SETTIMEOUT _IOWR(AUTOFS_IOCTL, \ + AUTOFS_IOC_SETTIMEOUT_CMD, \ + unsigned long) +#define AUTOFS_IOC_EXPIRE _IOR(AUTOFS_IOCTL, \ + AUTOFS_IOC_EXPIRE_CMD, \ + struct autofs_packet_expire) +#define AUTOFS_EXP_NORMAL 0x00 +#define AUTOFS_EXP_IMMEDIATE 0x01 +#define AUTOFS_EXP_LEAVES 0x02 +#define AUTOFS_EXP_FORCED 0x04 +#define AUTOFS_TYPE_ANY 0U +#define AUTOFS_TYPE_INDIRECT 1U +#define AUTOFS_TYPE_DIRECT 2U +#define AUTOFS_TYPE_OFFSET 4U +static inline void set_autofs_type_indirect(unsigned int *type) +{ + *type = AUTOFS_TYPE_INDIRECT; +} +static inline unsigned int autofs_type_indirect(unsigned int type) +{ + return (type == AUTOFS_TYPE_INDIRECT); +} +static inline void set_autofs_type_direct(unsigned int *type) +{ + *type = AUTOFS_TYPE_DIRECT; +} +static inline unsigned int autofs_type_direct(unsigned int type) +{ + return (type == AUTOFS_TYPE_DIRECT); +} +static inline void set_autofs_type_offset(unsigned int *type) +{ + *type = AUTOFS_TYPE_OFFSET; +} +static inline unsigned int autofs_type_offset(unsigned int type) +{ + return (type == AUTOFS_TYPE_OFFSET); +} +static inline unsigned int autofs_type_trigger(unsigned int type) +{ + return (type == AUTOFS_TYPE_DIRECT || type == AUTOFS_TYPE_OFFSET); +} +static inline void set_autofs_type_any(unsigned int *type) +{ + *type = AUTOFS_TYPE_ANY; +} +static inline unsigned int autofs_type_any(unsigned int type) +{ + return (type == AUTOFS_TYPE_ANY); +} +enum autofs_notify { + NFY_NONE, + NFY_MOUNT, + NFY_EXPIRE +}; +#define autofs_ptype_expire_multi 2 +#define autofs_ptype_missing_indirect 3 +#define autofs_ptype_expire_indirect 4 +#define autofs_ptype_missing_direct 5 +#define autofs_ptype_expire_direct 6 +struct autofs_packet_expire_multi { + struct autofs_packet_hdr hdr; + autofs_wqt_t wait_queue_token; + int len; + char name[NAME_MAX+1]; +}; +union autofs_packet_union { + struct autofs_packet_hdr hdr; + struct autofs_packet_missing missing; + struct autofs_packet_expire expire; + struct autofs_packet_expire_multi expire_multi; +}; +struct autofs_v5_packet { + struct autofs_packet_hdr hdr; + autofs_wqt_t wait_queue_token; + __u32 dev; + __u64 ino; + __u32 uid; + __u32 gid; + __u32 pid; + __u32 tgid; + __u32 len; + char name[NAME_MAX+1]; +}; +typedef struct autofs_v5_packet autofs_packet_missing_indirect_t; +typedef struct autofs_v5_packet autofs_packet_expire_indirect_t; +typedef struct autofs_v5_packet autofs_packet_missing_direct_t; +typedef struct autofs_v5_packet autofs_packet_expire_direct_t; +union autofs_v5_packet_union { + struct autofs_packet_hdr hdr; + struct autofs_v5_packet v5_packet; + autofs_packet_missing_indirect_t missing_indirect; + autofs_packet_expire_indirect_t expire_indirect; + autofs_packet_missing_direct_t missing_direct; + autofs_packet_expire_direct_t expire_direct; +}; +enum { + AUTOFS_IOC_EXPIRE_MULTI_CMD = 0x66, + AUTOFS_IOC_PROTOSUBVER_CMD, + AUTOFS_IOC_ASKUMOUNT_CMD = 0x70, +}; +#define AUTOFS_IOC_EXPIRE_MULTI _IOW(AUTOFS_IOCTL, \ + AUTOFS_IOC_EXPIRE_MULTI_CMD, int) +#define AUTOFS_IOC_PROTOSUBVER _IOR(AUTOFS_IOCTL, \ + AUTOFS_IOC_PROTOSUBVER_CMD, int) +#define AUTOFS_IOC_ASKUMOUNT _IOR(AUTOFS_IOCTL, \ + AUTOFS_IOC_ASKUMOUNT_CMD, int) +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/auto_fs4.h b/linux-5.10/prebuilts/usr/include/linux/auto_fs4.h new file mode 100644 index 0000000..fb798c4 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/auto_fs4.h @@ -0,0 +1,9 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI_LINUX_AUTO_FS4_H +#define _UAPI_LINUX_AUTO_FS4_H +#include +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/auxvec.h b/linux-5.10/prebuilts/usr/include/linux/auxvec.h new file mode 100644 index 0000000..f4068cc --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/auxvec.h @@ -0,0 +1,32 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI_LINUX_AUXVEC_H +#define _UAPI_LINUX_AUXVEC_H +#include +#define AT_NULL 0 +#define AT_IGNORE 1 +#define AT_EXECFD 2 +#define AT_PHDR 3 +#define AT_PHENT 4 +#define AT_PHNUM 5 +#define AT_PAGESZ 6 +#define AT_BASE 7 +#define AT_FLAGS 8 +#define AT_ENTRY 9 +#define AT_NOTELF 10 +#define AT_UID 11 +#define AT_EUID 12 +#define AT_GID 13 +#define AT_EGID 14 +#define AT_PLATFORM 15 +#define AT_HWCAP 16 +#define AT_CLKTCK 17 +#define AT_SECURE 23 +#define AT_BASE_PLATFORM 24 +#define AT_RANDOM 25 +#define AT_HWCAP2 26 +#define AT_EXECFN 31 +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/ax25.h b/linux-5.10/prebuilts/usr/include/linux/ax25.h new file mode 100644 index 0000000..2560221 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/ax25.h @@ -0,0 +1,97 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef AX25_KERNEL_H +#define AX25_KERNEL_H +#include +#define AX25_MTU 256 +#define AX25_MAX_DIGIS 8 +#define AX25_WINDOW 1 +#define AX25_T1 2 +#define AX25_N2 3 +#define AX25_T3 4 +#define AX25_T2 5 +#define AX25_BACKOFF 6 +#define AX25_EXTSEQ 7 +#define AX25_PIDINCL 8 +#define AX25_IDLE 9 +#define AX25_PACLEN 10 +#define AX25_IAMDIGI 12 +#define AX25_KILL 99 +#define SIOCAX25GETUID (SIOCPROTOPRIVATE+0) +#define SIOCAX25ADDUID (SIOCPROTOPRIVATE+1) +#define SIOCAX25DELUID (SIOCPROTOPRIVATE+2) +#define SIOCAX25NOUID (SIOCPROTOPRIVATE+3) +#define SIOCAX25OPTRT (SIOCPROTOPRIVATE+7) +#define SIOCAX25CTLCON (SIOCPROTOPRIVATE+8) +#define SIOCAX25GETINFOOLD (SIOCPROTOPRIVATE+9) +#define SIOCAX25ADDFWD (SIOCPROTOPRIVATE+10) +#define SIOCAX25DELFWD (SIOCPROTOPRIVATE+11) +#define SIOCAX25DEVCTL (SIOCPROTOPRIVATE+12) +#define SIOCAX25GETINFO (SIOCPROTOPRIVATE+13) +#define AX25_SET_RT_IPMODE 2 +#define AX25_NOUID_DEFAULT 0 +#define AX25_NOUID_BLOCK 1 +typedef struct { + char ax25_call[7]; +} ax25_address; +struct sockaddr_ax25 { + __kernel_sa_family_t sax25_family; + ax25_address sax25_call; + int sax25_ndigis; + +}; +#define sax25_uid sax25_ndigis +struct full_sockaddr_ax25 { + struct sockaddr_ax25 fsa_ax25; + ax25_address fsa_digipeater[AX25_MAX_DIGIS]; +}; +struct ax25_routes_struct { + ax25_address port_addr; + ax25_address dest_addr; + unsigned char digi_count; + ax25_address digi_addr[AX25_MAX_DIGIS]; +}; +struct ax25_route_opt_struct { + ax25_address port_addr; + ax25_address dest_addr; + int cmd; + int arg; +}; +struct ax25_ctl_struct { + ax25_address port_addr; + ax25_address source_addr; + ax25_address dest_addr; + unsigned int cmd; + unsigned long arg; + unsigned char digi_count; + ax25_address digi_addr[AX25_MAX_DIGIS]; +}; +struct ax25_info_struct_deprecated { + unsigned int n2, n2count; + unsigned int t1, t1timer; + unsigned int t2, t2timer; + unsigned int t3, t3timer; + unsigned int idle, idletimer; + unsigned int state; + unsigned int rcv_q, snd_q; +}; +struct ax25_info_struct { + unsigned int n2, n2count; + unsigned int t1, t1timer; + unsigned int t2, t2timer; + unsigned int t3, t3timer; + unsigned int idle, idletimer; + unsigned int state; + unsigned int rcv_q, snd_q; + unsigned int vs, vr, va, vs_max; + unsigned int paclen; + unsigned int window; +}; +struct ax25_fwd_struct { + ax25_address port_from; + ax25_address port_to; +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/b1lli.h b/linux-5.10/prebuilts/usr/include/linux/b1lli.h new file mode 100644 index 0000000..ae36220 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/b1lli.h @@ -0,0 +1,51 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _B1LLI_H_ +#define _B1LLI_H_ +typedef struct avmb1_t4file { + int len; + unsigned char *data; +} avmb1_t4file; +typedef struct avmb1_loaddef { + int contr; + avmb1_t4file t4file; +} avmb1_loaddef; +typedef struct avmb1_loadandconfigdef { + int contr; + avmb1_t4file t4file; + avmb1_t4file t4config; +} avmb1_loadandconfigdef; +typedef struct avmb1_resetdef { + int contr; +} avmb1_resetdef; +typedef struct avmb1_getdef { + int contr; + int cardtype; + int cardstate; +} avmb1_getdef; +typedef struct avmb1_carddef { + int port; + int irq; +} avmb1_carddef; +#define AVM_CARDTYPE_B1 0 +#define AVM_CARDTYPE_T1 1 +#define AVM_CARDTYPE_M1 2 +#define AVM_CARDTYPE_M2 3 +typedef struct avmb1_extcarddef { + int port; + int irq; + int cardtype; + int cardnr; +} avmb1_extcarddef; +#define AVMB1_LOAD 0 +#define AVMB1_ADDCARD 1 +#define AVMB1_RESETCARD 2 +#define AVMB1_LOAD_AND_CONFIG 3 +#define AVMB1_ADDCARD_WITH_TYPE 4 +#define AVMB1_GET_CARDINFO 5 +#define AVMB1_REMOVECARD 6 +#define AVMB1_REGISTERCARD_IS_OBSOLETE +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/batadv_packet.h b/linux-5.10/prebuilts/usr/include/linux/batadv_packet.h new file mode 100644 index 0000000..cb779df --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/batadv_packet.h @@ -0,0 +1,276 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI_LINUX_BATADV_PACKET_H_ +#define _UAPI_LINUX_BATADV_PACKET_H_ +#include +#include +#include +#define batadv_tp_is_error(n) ((__u8)(n) > 127 ? 1 : 0) +enum batadv_packettype { + + BATADV_IV_OGM = 0x00, + BATADV_BCAST = 0x01, + BATADV_CODED = 0x02, + BATADV_ELP = 0x03, + BATADV_OGM2 = 0x04, + +#define BATADV_UNICAST_MIN 0x40 + BATADV_UNICAST = 0x40, + BATADV_UNICAST_FRAG = 0x41, + BATADV_UNICAST_4ADDR = 0x42, + BATADV_ICMP = 0x43, + BATADV_UNICAST_TVLV = 0x44, +#define BATADV_UNICAST_MAX 0x7f + +}; +enum batadv_subtype { + BATADV_P_DATA = 0x01, + BATADV_P_DAT_DHT_GET = 0x02, + BATADV_P_DAT_DHT_PUT = 0x03, + BATADV_P_DAT_CACHE_REPLY = 0x04, +}; +#define BATADV_COMPAT_VERSION 15 +enum batadv_iv_flags { + BATADV_NOT_BEST_NEXT_HOP = 1UL << 0, + BATADV_PRIMARIES_FIRST_HOP = 1UL << 1, + BATADV_DIRECTLINK = 1UL << 2, +}; +enum batadv_icmp_packettype { + BATADV_ECHO_REPLY = 0, + BATADV_DESTINATION_UNREACHABLE = 3, + BATADV_ECHO_REQUEST = 8, + BATADV_TTL_EXCEEDED = 11, + BATADV_PARAMETER_PROBLEM = 12, + BATADV_TP = 15, +}; +enum batadv_mcast_flags { + BATADV_MCAST_WANT_ALL_UNSNOOPABLES = 1UL << 0, + BATADV_MCAST_WANT_ALL_IPV4 = 1UL << 1, + BATADV_MCAST_WANT_ALL_IPV6 = 1UL << 2, + BATADV_MCAST_WANT_NO_RTR4 = 1UL << 3, + BATADV_MCAST_WANT_NO_RTR6 = 1UL << 4, +}; +#define BATADV_TT_DATA_TYPE_MASK 0x0F +enum batadv_tt_data_flags { + BATADV_TT_OGM_DIFF = 1UL << 0, + BATADV_TT_REQUEST = 1UL << 1, + BATADV_TT_RESPONSE = 1UL << 2, + BATADV_TT_FULL_TABLE = 1UL << 4, +}; +enum batadv_vlan_flags { + BATADV_VLAN_HAS_TAG = 1UL << 15, +}; +enum batadv_bla_claimframe { + BATADV_CLAIM_TYPE_CLAIM = 0x00, + BATADV_CLAIM_TYPE_UNCLAIM = 0x01, + BATADV_CLAIM_TYPE_ANNOUNCE = 0x02, + BATADV_CLAIM_TYPE_REQUEST = 0x03, + BATADV_CLAIM_TYPE_LOOPDETECT = 0x04, +}; +enum batadv_tvlv_type { + BATADV_TVLV_GW = 0x01, + BATADV_TVLV_DAT = 0x02, + BATADV_TVLV_NC = 0x03, + BATADV_TVLV_TT = 0x04, + BATADV_TVLV_ROAM = 0x05, + BATADV_TVLV_MCAST = 0x06, +}; +#pragma pack(2) +struct batadv_bla_claim_dst { + __u8 magic[3]; + __u8 type; + __be16 group; +}; +struct batadv_ogm_packet { + __u8 packet_type; + __u8 version; + __u8 ttl; + __u8 flags; + __be32 seqno; + __u8 orig[ETH_ALEN]; + __u8 prev_sender[ETH_ALEN]; + __u8 reserved; + __u8 tq; + __be16 tvlv_len; +}; +#define BATADV_OGM_HLEN sizeof(struct batadv_ogm_packet) +struct batadv_ogm2_packet { + __u8 packet_type; + __u8 version; + __u8 ttl; + __u8 flags; + __be32 seqno; + __u8 orig[ETH_ALEN]; + __be16 tvlv_len; + __be32 throughput; +}; +#define BATADV_OGM2_HLEN sizeof(struct batadv_ogm2_packet) +struct batadv_elp_packet { + __u8 packet_type; + __u8 version; + __u8 orig[ETH_ALEN]; + __be32 seqno; + __be32 elp_interval; +}; +#define BATADV_ELP_HLEN sizeof(struct batadv_elp_packet) +struct batadv_icmp_header { + __u8 packet_type; + __u8 version; + __u8 ttl; + __u8 msg_type; + __u8 dst[ETH_ALEN]; + __u8 orig[ETH_ALEN]; + __u8 uid; + __u8 align[3]; +}; +struct batadv_icmp_packet { + __u8 packet_type; + __u8 version; + __u8 ttl; + __u8 msg_type; + __u8 dst[ETH_ALEN]; + __u8 orig[ETH_ALEN]; + __u8 uid; + __u8 reserved; + __be16 seqno; +}; +struct batadv_icmp_tp_packet { + __u8 packet_type; + __u8 version; + __u8 ttl; + __u8 msg_type; + __u8 dst[ETH_ALEN]; + __u8 orig[ETH_ALEN]; + __u8 uid; + __u8 subtype; + __u8 session[2]; + __be32 seqno; + __be32 timestamp; +}; +enum batadv_icmp_tp_subtype { + BATADV_TP_MSG = 0, + BATADV_TP_ACK, +}; +#define BATADV_RR_LEN 16 +struct batadv_icmp_packet_rr { + __u8 packet_type; + __u8 version; + __u8 ttl; + __u8 msg_type; + __u8 dst[ETH_ALEN]; + __u8 orig[ETH_ALEN]; + __u8 uid; + __u8 rr_cur; + __be16 seqno; + __u8 rr[BATADV_RR_LEN][ETH_ALEN]; +}; +#define BATADV_ICMP_MAX_PACKET_SIZE sizeof(struct batadv_icmp_packet_rr) +struct batadv_unicast_packet { + __u8 packet_type; + __u8 version; + __u8 ttl; + __u8 ttvn; + __u8 dest[ETH_ALEN]; + +}; +struct batadv_unicast_4addr_packet { + struct batadv_unicast_packet u; + __u8 src[ETH_ALEN]; + __u8 subtype; + __u8 reserved; + +}; +struct batadv_frag_packet { + __u8 packet_type; + __u8 version; + __u8 ttl; +#if defined(__BIG_ENDIAN_BITFIELD) + __u8 no:4; + __u8 priority:3; + __u8 reserved:1; +#elif defined(__LITTLE_ENDIAN_BITFIELD) + __u8 reserved:1; + __u8 priority:3; + __u8 no:4; +#else +#error "unknown bitfield endianness" +#endif + __u8 dest[ETH_ALEN]; + __u8 orig[ETH_ALEN]; + __be16 seqno; + __be16 total_size; +}; +struct batadv_bcast_packet { + __u8 packet_type; + __u8 version; + __u8 ttl; + __u8 reserved; + __be32 seqno; + __u8 orig[ETH_ALEN]; + +}; +struct batadv_coded_packet { + __u8 packet_type; + __u8 version; + __u8 ttl; + __u8 first_ttvn; + + __u8 first_source[ETH_ALEN]; + __u8 first_orig_dest[ETH_ALEN]; + __be32 first_crc; + __u8 second_ttl; + __u8 second_ttvn; + __u8 second_dest[ETH_ALEN]; + __u8 second_source[ETH_ALEN]; + __u8 second_orig_dest[ETH_ALEN]; + __be32 second_crc; + __be16 coded_len; +}; +struct batadv_unicast_tvlv_packet { + __u8 packet_type; + __u8 version; + __u8 ttl; + __u8 reserved; + __u8 dst[ETH_ALEN]; + __u8 src[ETH_ALEN]; + __be16 tvlv_len; + __u16 align; +}; +struct batadv_tvlv_hdr { + __u8 type; + __u8 version; + __be16 len; +}; +struct batadv_tvlv_gateway_data { + __be32 bandwidth_down; + __be32 bandwidth_up; +}; +struct batadv_tvlv_tt_data { + __u8 flags; + __u8 ttvn; + __be16 num_vlan; +}; +struct batadv_tvlv_tt_vlan_data { + __be32 crc; + __be16 vid; + __u16 reserved; +}; +struct batadv_tvlv_tt_change { + __u8 flags; + __u8 reserved[3]; + __u8 addr[ETH_ALEN]; + __be16 vid; +}; +struct batadv_tvlv_roam_adv { + __u8 client[ETH_ALEN]; + __be16 vid; +}; +struct batadv_tvlv_mcast_data { + __u8 flags; + __u8 reserved[3]; +}; +#pragma pack() +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/batman_adv.h b/linux-5.10/prebuilts/usr/include/linux/batman_adv.h new file mode 100644 index 0000000..dab18ed --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/batman_adv.h @@ -0,0 +1,248 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI_LINUX_BATMAN_ADV_H_ +#define _UAPI_LINUX_BATMAN_ADV_H_ +#define BATADV_NL_NAME "batadv" +#define BATADV_NL_MCAST_GROUP_CONFIG "config" +#define BATADV_NL_MCAST_GROUP_TPMETER "tpmeter" +enum batadv_tt_client_flags { + + BATADV_TT_CLIENT_DEL = (1 << 0), + + BATADV_TT_CLIENT_ROAM = (1 << 1), + + BATADV_TT_CLIENT_WIFI = (1 << 4), + + BATADV_TT_CLIENT_ISOLA = (1 << 5), + + BATADV_TT_CLIENT_NOPURGE = (1 << 8), + + BATADV_TT_CLIENT_NEW = (1 << 9), + + BATADV_TT_CLIENT_PENDING = (1 << 10), + + BATADV_TT_CLIENT_TEMP = (1 << 11), +}; +enum batadv_mcast_flags_priv { + + BATADV_MCAST_FLAGS_BRIDGED = (1 << 0), + + BATADV_MCAST_FLAGS_QUERIER_IPV4_EXISTS = (1 << 1), + + BATADV_MCAST_FLAGS_QUERIER_IPV6_EXISTS = (1 << 2), + + BATADV_MCAST_FLAGS_QUERIER_IPV4_SHADOWING = (1 << 3), + + BATADV_MCAST_FLAGS_QUERIER_IPV6_SHADOWING = (1 << 4), +}; +enum batadv_gw_modes { + + BATADV_GW_MODE_OFF, + + BATADV_GW_MODE_CLIENT, + + BATADV_GW_MODE_SERVER, +}; +enum batadv_nl_attrs { + + BATADV_ATTR_UNSPEC, + + BATADV_ATTR_VERSION, + + BATADV_ATTR_ALGO_NAME, + + BATADV_ATTR_MESH_IFINDEX, + + BATADV_ATTR_MESH_IFNAME, + + BATADV_ATTR_MESH_ADDRESS, + + BATADV_ATTR_HARD_IFINDEX, + + BATADV_ATTR_HARD_IFNAME, + + BATADV_ATTR_HARD_ADDRESS, + + BATADV_ATTR_ORIG_ADDRESS, + + BATADV_ATTR_TPMETER_RESULT, + + BATADV_ATTR_TPMETER_TEST_TIME, + + BATADV_ATTR_TPMETER_BYTES, + + BATADV_ATTR_TPMETER_COOKIE, + + BATADV_ATTR_PAD, + + BATADV_ATTR_ACTIVE, + + BATADV_ATTR_TT_ADDRESS, + + BATADV_ATTR_TT_TTVN, + + BATADV_ATTR_TT_LAST_TTVN, + + BATADV_ATTR_TT_CRC32, + + BATADV_ATTR_TT_VID, + + BATADV_ATTR_TT_FLAGS, + + BATADV_ATTR_FLAG_BEST, + + BATADV_ATTR_LAST_SEEN_MSECS, + + BATADV_ATTR_NEIGH_ADDRESS, + + BATADV_ATTR_TQ, + + BATADV_ATTR_THROUGHPUT, + + BATADV_ATTR_BANDWIDTH_UP, + + BATADV_ATTR_BANDWIDTH_DOWN, + + BATADV_ATTR_ROUTER, + + BATADV_ATTR_BLA_OWN, + + BATADV_ATTR_BLA_ADDRESS, + + BATADV_ATTR_BLA_VID, + + BATADV_ATTR_BLA_BACKBONE, + + BATADV_ATTR_BLA_CRC, + + BATADV_ATTR_DAT_CACHE_IP4ADDRESS, + + BATADV_ATTR_DAT_CACHE_HWADDRESS, + + BATADV_ATTR_DAT_CACHE_VID, + + BATADV_ATTR_MCAST_FLAGS, + + BATADV_ATTR_MCAST_FLAGS_PRIV, + + BATADV_ATTR_VLANID, + + BATADV_ATTR_AGGREGATED_OGMS_ENABLED, + + BATADV_ATTR_AP_ISOLATION_ENABLED, + + BATADV_ATTR_ISOLATION_MARK, + + BATADV_ATTR_ISOLATION_MASK, + + BATADV_ATTR_BONDING_ENABLED, + + BATADV_ATTR_BRIDGE_LOOP_AVOIDANCE_ENABLED, + + BATADV_ATTR_DISTRIBUTED_ARP_TABLE_ENABLED, + + BATADV_ATTR_FRAGMENTATION_ENABLED, + + BATADV_ATTR_GW_BANDWIDTH_DOWN, + + BATADV_ATTR_GW_BANDWIDTH_UP, + + BATADV_ATTR_GW_MODE, + + BATADV_ATTR_GW_SEL_CLASS, + + BATADV_ATTR_HOP_PENALTY, + + BATADV_ATTR_LOG_LEVEL, + + BATADV_ATTR_MULTICAST_FORCEFLOOD_ENABLED, + + BATADV_ATTR_NETWORK_CODING_ENABLED, + + BATADV_ATTR_ORIG_INTERVAL, + + BATADV_ATTR_ELP_INTERVAL, + + BATADV_ATTR_THROUGHPUT_OVERRIDE, + + BATADV_ATTR_MULTICAST_FANOUT, + + + __BATADV_ATTR_AFTER_LAST, + + NUM_BATADV_ATTR = __BATADV_ATTR_AFTER_LAST, + + BATADV_ATTR_MAX = __BATADV_ATTR_AFTER_LAST - 1 +}; +enum batadv_nl_commands { + + BATADV_CMD_UNSPEC, + + BATADV_CMD_GET_MESH, + + BATADV_CMD_GET_MESH_INFO = BATADV_CMD_GET_MESH, + + BATADV_CMD_TP_METER, + + BATADV_CMD_TP_METER_CANCEL, + + BATADV_CMD_GET_ROUTING_ALGOS, + + BATADV_CMD_GET_HARDIF, + + BATADV_CMD_GET_HARDIFS = BATADV_CMD_GET_HARDIF, + + BATADV_CMD_GET_TRANSTABLE_LOCAL, + + BATADV_CMD_GET_TRANSTABLE_GLOBAL, + + BATADV_CMD_GET_ORIGINATORS, + + BATADV_CMD_GET_NEIGHBORS, + + BATADV_CMD_GET_GATEWAYS, + + BATADV_CMD_GET_BLA_CLAIM, + + BATADV_CMD_GET_BLA_BACKBONE, + + BATADV_CMD_GET_DAT_CACHE, + + BATADV_CMD_GET_MCAST_FLAGS, + + BATADV_CMD_SET_MESH, + + BATADV_CMD_SET_HARDIF, + + BATADV_CMD_GET_VLAN, + + BATADV_CMD_SET_VLAN, + + + __BATADV_CMD_AFTER_LAST, + + BATADV_CMD_MAX = __BATADV_CMD_AFTER_LAST - 1 +}; +enum batadv_tp_meter_reason { + + BATADV_TP_REASON_COMPLETE = 3, + + BATADV_TP_REASON_CANCEL = 4, + + + BATADV_TP_REASON_DST_UNREACHABLE = 128, + + BATADV_TP_REASON_RESEND_LIMIT = 129, + + BATADV_TP_REASON_ALREADY_ONGOING = 130, + + BATADV_TP_REASON_MEMORY_ERROR = 131, + + BATADV_TP_REASON_CANT_SEND = 132, + + BATADV_TP_REASON_TOO_MANY = 133, +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/baycom.h b/linux-5.10/prebuilts/usr/include/linux/baycom.h new file mode 100644 index 0000000..25beedf --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/baycom.h @@ -0,0 +1,20 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _BAYCOM_H +#define _BAYCOM_H +struct baycom_debug_data { + unsigned long debug1; + unsigned long debug2; + long debug3; +}; +struct baycom_ioctl { + int cmd; + union { + struct baycom_debug_data dbg; + } data; +}; +#define BAYCOMCTL_GETDEBUG 0x92 +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/bcache.h b/linux-5.10/prebuilts/usr/include/linux/bcache.h new file mode 100644 index 0000000..5789dd2 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/bcache.h @@ -0,0 +1,295 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _LINUX_BCACHE_H +#define _LINUX_BCACHE_H +#include +#define BITMASK(name, type, field, offset, size) \ +static inline __u64 name(const type *k) \ +{ return (k->field >> offset) & ~(~0ULL << size); } \ + \ +static inline void SET_##name(type *k, __u64 v) \ +{ \ + k->field &= ~(~(~0ULL << size) << offset); \ + k->field |= (v & ~(~0ULL << size)) << offset; \ +} +struct bkey { + __u64 high; + __u64 low; + __u64 ptr[]; +}; +#define KEY_FIELD(name, field, offset, size) \ + BITMASK(name, struct bkey, field, offset, size) +#define PTR_FIELD(name, offset, size) \ +static inline __u64 name(const struct bkey *k, unsigned int i) \ +{ return (k->ptr[i] >> offset) & ~(~0ULL << size); } \ + \ +static inline void SET_##name(struct bkey *k, unsigned int i, __u64 v) \ +{ \ + k->ptr[i] &= ~(~(~0ULL << size) << offset); \ + k->ptr[i] |= (v & ~(~0ULL << size)) << offset; \ +} +#define KEY_SIZE_BITS 16 +#define KEY_MAX_U64S 8 +KEY_FIELD(KEY_PTRS, high, 60, 3) +KEY_FIELD(HEADER_SIZE, high, 58, 2) +KEY_FIELD(KEY_CSUM, high, 56, 2) +KEY_FIELD(KEY_PINNED, high, 55, 1) +KEY_FIELD(KEY_DIRTY, high, 36, 1) +KEY_FIELD(KEY_SIZE, high, 20, KEY_SIZE_BITS) +KEY_FIELD(KEY_INODE, high, 0, 20) +static inline __u64 KEY_OFFSET(const struct bkey *k) +{ + return k->low; +} +static inline void SET_KEY_OFFSET(struct bkey *k, __u64 v) +{ + k->low = v; +} +#define KEY(inode, offset, size) \ +((struct bkey) { \ + .high = (1ULL << 63) | ((__u64) (size) << 20) | (inode), \ + .low = (offset) \ +}) +#define ZERO_KEY KEY(0, 0, 0) +#define MAX_KEY_INODE (~(~0 << 20)) +#define MAX_KEY_OFFSET (~0ULL >> 1) +#define MAX_KEY KEY(MAX_KEY_INODE, MAX_KEY_OFFSET, 0) +#define KEY_START(k) (KEY_OFFSET(k) - KEY_SIZE(k)) +#define START_KEY(k) KEY(KEY_INODE(k), KEY_START(k), 0) +#define PTR_DEV_BITS 12 +PTR_FIELD(PTR_DEV, 51, PTR_DEV_BITS) +PTR_FIELD(PTR_OFFSET, 8, 43) +PTR_FIELD(PTR_GEN, 0, 8) +#define PTR_CHECK_DEV ((1 << PTR_DEV_BITS) - 1) +#define MAKE_PTR(gen, offset, dev) \ + ((((__u64) dev) << 51) | ((__u64) offset) << 8 | gen) +static inline unsigned long bkey_u64s(const struct bkey *k) +{ + return (sizeof(struct bkey) / sizeof(__u64)) + KEY_PTRS(k); +} +static inline unsigned long bkey_bytes(const struct bkey *k) +{ + return bkey_u64s(k) * sizeof(__u64); +} +#define bkey_copy(_dest, _src) memcpy(_dest, _src, bkey_bytes(_src)) +static inline void bkey_copy_key(struct bkey *dest, const struct bkey *src) +{ + SET_KEY_INODE(dest, KEY_INODE(src)); + SET_KEY_OFFSET(dest, KEY_OFFSET(src)); +} +static inline struct bkey *bkey_next(const struct bkey *k) +{ + __u64 *d = (void *) k; + return (struct bkey *) (d + bkey_u64s(k)); +} +static inline struct bkey *bkey_idx(const struct bkey *k, unsigned int nr_keys) +{ + __u64 *d = (void *) k; + return (struct bkey *) (d + nr_keys); +} +#define BKEY_PAD 8 +#define BKEY_PADDED(key) \ + union { struct bkey key; __u64 key ## _pad[BKEY_PAD]; } +#define BCACHE_SB_VERSION_CDEV 0 +#define BCACHE_SB_VERSION_BDEV 1 +#define BCACHE_SB_VERSION_CDEV_WITH_UUID 3 +#define BCACHE_SB_VERSION_BDEV_WITH_OFFSET 4 +#define BCACHE_SB_VERSION_CDEV_WITH_FEATURES 5 +#define BCACHE_SB_VERSION_BDEV_WITH_FEATURES 6 +#define BCACHE_SB_MAX_VERSION 6 +#define SB_SECTOR 8 +#define SB_OFFSET (SB_SECTOR << SECTOR_SHIFT) +#define SB_SIZE 4096 +#define SB_LABEL_SIZE 32 +#define SB_JOURNAL_BUCKETS 256U +#define MAX_CACHES_PER_SET 8 +#define BDEV_DATA_START_DEFAULT 16 +struct cache_sb_disk { + __le64 csum; + __le64 offset; + __le64 version; + __u8 magic[16]; + __u8 uuid[16]; + union { + __u8 set_uuid[16]; + __le64 set_magic; + }; + __u8 label[SB_LABEL_SIZE]; + __le64 flags; + __le64 seq; + __le64 feature_compat; + __le64 feature_incompat; + __le64 feature_ro_compat; + __le64 pad[5]; + union { + struct { + + __le64 nbuckets; + __le16 block_size; + __le16 bucket_size; + __le16 nr_in_set; + __le16 nr_this_dev; + }; + struct { + + __le64 data_offset; + + }; + }; + __le32 last_mount; + __le16 first_bucket; + union { + __le16 njournal_buckets; + __le16 keys; + }; + __le64 d[SB_JOURNAL_BUCKETS]; + __le16 obso_bucket_size_hi; +}; +struct cache_sb { + __u64 offset; + __u64 version; + __u8 magic[16]; + __u8 uuid[16]; + union { + __u8 set_uuid[16]; + __u64 set_magic; + }; + __u8 label[SB_LABEL_SIZE]; + __u64 flags; + __u64 seq; + __u64 feature_compat; + __u64 feature_incompat; + __u64 feature_ro_compat; + union { + struct { + + __u64 nbuckets; + __u16 block_size; + __u16 nr_in_set; + __u16 nr_this_dev; + __u32 bucket_size; + }; + struct { + + __u64 data_offset; + + }; + }; + __u32 last_mount; + __u16 first_bucket; + union { + __u16 njournal_buckets; + __u16 keys; + }; + __u64 d[SB_JOURNAL_BUCKETS]; +}; +static inline _Bool SB_IS_BDEV(const struct cache_sb *sb) +{ + return sb->version == BCACHE_SB_VERSION_BDEV + || sb->version == BCACHE_SB_VERSION_BDEV_WITH_OFFSET + || sb->version == BCACHE_SB_VERSION_BDEV_WITH_FEATURES; +} +BITMASK(CACHE_SYNC, struct cache_sb, flags, 0, 1); +BITMASK(CACHE_DISCARD, struct cache_sb, flags, 1, 1); +BITMASK(CACHE_REPLACEMENT, struct cache_sb, flags, 2, 3); +#define CACHE_REPLACEMENT_LRU 0U +#define CACHE_REPLACEMENT_FIFO 1U +#define CACHE_REPLACEMENT_RANDOM 2U +BITMASK(BDEV_CACHE_MODE, struct cache_sb, flags, 0, 4); +#define CACHE_MODE_WRITETHROUGH 0U +#define CACHE_MODE_WRITEBACK 1U +#define CACHE_MODE_WRITEAROUND 2U +#define CACHE_MODE_NONE 3U +BITMASK(BDEV_STATE, struct cache_sb, flags, 61, 2); +#define BDEV_STATE_NONE 0U +#define BDEV_STATE_CLEAN 1U +#define BDEV_STATE_DIRTY 2U +#define BDEV_STATE_STALE 3U +#define JSET_MAGIC 0x245235c1a3625032ULL +#define PSET_MAGIC 0x6750e15f87337f91ULL +#define BSET_MAGIC 0x90135c78b99e07f5ULL +static inline __u64 jset_magic(struct cache_sb *sb) +{ + return sb->set_magic ^ JSET_MAGIC; +} +static inline __u64 pset_magic(struct cache_sb *sb) +{ + return sb->set_magic ^ PSET_MAGIC; +} +static inline __u64 bset_magic(struct cache_sb *sb) +{ + return sb->set_magic ^ BSET_MAGIC; +} +#define BCACHE_JSET_VERSION_UUIDv1 1 +#define BCACHE_JSET_VERSION_UUID 1 +#define BCACHE_JSET_VERSION 1 +struct jset { + __u64 csum; + __u64 magic; + __u64 seq; + __u32 version; + __u32 keys; + __u64 last_seq; + BKEY_PADDED(uuid_bucket); + BKEY_PADDED(btree_root); + __u16 btree_level; + __u16 pad[3]; + __u64 prio_bucket[MAX_CACHES_PER_SET]; + union { + struct bkey start[0]; + __u64 d[0]; + }; +}; +struct prio_set { + __u64 csum; + __u64 magic; + __u64 seq; + __u32 version; + __u32 pad; + __u64 next_bucket; + struct bucket_disk { + __u16 prio; + __u8 gen; + } __attribute((packed)) data[]; +}; +struct uuid_entry { + union { + struct { + __u8 uuid[16]; + __u8 label[32]; + __u32 first_reg; + __u32 last_reg; + __u32 invalidated; + __u32 flags; + + __u64 sectors; + }; + __u8 pad[128]; + }; +}; +BITMASK(UUID_FLASH_ONLY, struct uuid_entry, flags, 0, 1); +#define BCACHE_BSET_CSUM 1 +#define BCACHE_BSET_VERSION 1 +struct bset { + __u64 csum; + __u64 magic; + __u64 seq; + __u32 version; + __u32 keys; + union { + struct bkey start[0]; + __u64 d[0]; + }; +}; +struct uuid_entry_v0 { + __u8 uuid[16]; + __u8 label[32]; + __u32 first_reg; + __u32 last_reg; + __u32 invalidated; + __u32 pad; +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/bcm933xx_hcs.h b/linux-5.10/prebuilts/usr/include/linux/bcm933xx_hcs.h new file mode 100644 index 0000000..8eede81 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/bcm933xx_hcs.h @@ -0,0 +1,22 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef __BCM933XX_HCS_H +#define __BCM933XX_HCS_H +#include +struct bcm_hcs { + __u16 magic; + __u16 control; + __u16 rev_maj; + __u16 rev_min; + __u32 build_date; + __u32 filelen; + __u32 ldaddress; + char filename[64]; + __u16 hcs; + __u16 her_znaet_chto; + __u32 crc; +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/bfs_fs.h b/linux-5.10/prebuilts/usr/include/linux/bfs_fs.h new file mode 100644 index 0000000..04e5360 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/bfs_fs.h @@ -0,0 +1,63 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _LINUX_BFS_FS_H +#define _LINUX_BFS_FS_H +#include +#define BFS_BSIZE_BITS 9 +#define BFS_BSIZE (1<i_eoffset) + 1) - le32_to_cpu((ip)->i_sblock) * BFS_BSIZE) +#define BFS_FILESIZE(ip) \ + ((ip)->i_sblock == 0 ? 0 : BFS_NZFILESIZE(ip)) +#define BFS_FILEBLOCKS(ip) \ + ((ip)->i_sblock == 0 ? 0 : (le32_to_cpu((ip)->i_eblock) + 1) - le32_to_cpu((ip)->i_sblock)) +#define BFS_UNCLEAN(bfs_sb, sb) \ + ((le32_to_cpu(bfs_sb->s_from) != -1) && (le32_to_cpu(bfs_sb->s_to) != -1) && !(sb->s_flags & SB_RDONLY)) +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/binfmts.h b/linux-5.10/prebuilts/usr/include/linux/binfmts.h new file mode 100644 index 0000000..d558074 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/binfmts.h @@ -0,0 +1,13 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI_LINUX_BINFMTS_H +#define _UAPI_LINUX_BINFMTS_H +#include +struct pt_regs; +#define MAX_ARG_STRLEN (PAGE_SIZE * 32) +#define MAX_ARG_STRINGS 0x7FFFFFFF +#define BINPRM_BUF_SIZE 256 +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/blkpg.h b/linux-5.10/prebuilts/usr/include/linux/blkpg.h new file mode 100644 index 0000000..9da788c --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/blkpg.h @@ -0,0 +1,29 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI__LINUX_BLKPG_H +#define _UAPI__LINUX_BLKPG_H +#include +#include +#define BLKPG _IO(0x12,105) +struct blkpg_ioctl_arg { + int op; + int flags; + int datalen; + void __user *data; +}; +#define BLKPG_ADD_PARTITION 1 +#define BLKPG_DEL_PARTITION 2 +#define BLKPG_RESIZE_PARTITION 3 +#define BLKPG_DEVNAMELTH 64 +#define BLKPG_VOLNAMELTH 64 +struct blkpg_partition { + long long start; + long long length; + int pno; + char devname[BLKPG_DEVNAMELTH]; + char volname[BLKPG_VOLNAMELTH]; +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/blktrace_api.h b/linux-5.10/prebuilts/usr/include/linux/blktrace_api.h new file mode 100644 index 0000000..5b4e6f3 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/blktrace_api.h @@ -0,0 +1,113 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPIBLKTRACE_H +#define _UAPIBLKTRACE_H +#include +enum blktrace_cat { + BLK_TC_READ = 1 << 0, + BLK_TC_WRITE = 1 << 1, + BLK_TC_FLUSH = 1 << 2, + BLK_TC_SYNC = 1 << 3, + BLK_TC_SYNCIO = BLK_TC_SYNC, + BLK_TC_QUEUE = 1 << 4, + BLK_TC_REQUEUE = 1 << 5, + BLK_TC_ISSUE = 1 << 6, + BLK_TC_COMPLETE = 1 << 7, + BLK_TC_FS = 1 << 8, + BLK_TC_PC = 1 << 9, + BLK_TC_NOTIFY = 1 << 10, + BLK_TC_AHEAD = 1 << 11, + BLK_TC_META = 1 << 12, + BLK_TC_DISCARD = 1 << 13, + BLK_TC_DRV_DATA = 1 << 14, + BLK_TC_FUA = 1 << 15, + BLK_TC_END = 1 << 15, +}; +#define BLK_TC_SHIFT (16) +#define BLK_TC_ACT(act) ((act) << BLK_TC_SHIFT) +enum blktrace_act { + __BLK_TA_QUEUE = 1, + __BLK_TA_BACKMERGE, + __BLK_TA_FRONTMERGE, + __BLK_TA_GETRQ, + __BLK_TA_SLEEPRQ, + __BLK_TA_REQUEUE, + __BLK_TA_ISSUE, + __BLK_TA_COMPLETE, + __BLK_TA_PLUG, + __BLK_TA_UNPLUG_IO, + __BLK_TA_UNPLUG_TIMER, + __BLK_TA_INSERT, + __BLK_TA_SPLIT, + __BLK_TA_BOUNCE, + __BLK_TA_REMAP, + __BLK_TA_ABORT, + __BLK_TA_DRV_DATA, + __BLK_TA_CGROUP = 1 << 8, +}; +enum blktrace_notify { + __BLK_TN_PROCESS = 0, + __BLK_TN_TIMESTAMP, + __BLK_TN_MESSAGE, + __BLK_TN_CGROUP = __BLK_TA_CGROUP, +}; +#define BLK_TA_QUEUE (__BLK_TA_QUEUE | BLK_TC_ACT(BLK_TC_QUEUE)) +#define BLK_TA_BACKMERGE (__BLK_TA_BACKMERGE | BLK_TC_ACT(BLK_TC_QUEUE)) +#define BLK_TA_FRONTMERGE (__BLK_TA_FRONTMERGE | BLK_TC_ACT(BLK_TC_QUEUE)) +#define BLK_TA_GETRQ (__BLK_TA_GETRQ | BLK_TC_ACT(BLK_TC_QUEUE)) +#define BLK_TA_SLEEPRQ (__BLK_TA_SLEEPRQ | BLK_TC_ACT(BLK_TC_QUEUE)) +#define BLK_TA_REQUEUE (__BLK_TA_REQUEUE | BLK_TC_ACT(BLK_TC_REQUEUE)) +#define BLK_TA_ISSUE (__BLK_TA_ISSUE | BLK_TC_ACT(BLK_TC_ISSUE)) +#define BLK_TA_COMPLETE (__BLK_TA_COMPLETE| BLK_TC_ACT(BLK_TC_COMPLETE)) +#define BLK_TA_PLUG (__BLK_TA_PLUG | BLK_TC_ACT(BLK_TC_QUEUE)) +#define BLK_TA_UNPLUG_IO (__BLK_TA_UNPLUG_IO | BLK_TC_ACT(BLK_TC_QUEUE)) +#define BLK_TA_UNPLUG_TIMER (__BLK_TA_UNPLUG_TIMER | BLK_TC_ACT(BLK_TC_QUEUE)) +#define BLK_TA_INSERT (__BLK_TA_INSERT | BLK_TC_ACT(BLK_TC_QUEUE)) +#define BLK_TA_SPLIT (__BLK_TA_SPLIT) +#define BLK_TA_BOUNCE (__BLK_TA_BOUNCE) +#define BLK_TA_REMAP (__BLK_TA_REMAP | BLK_TC_ACT(BLK_TC_QUEUE)) +#define BLK_TA_ABORT (__BLK_TA_ABORT | BLK_TC_ACT(BLK_TC_QUEUE)) +#define BLK_TA_DRV_DATA (__BLK_TA_DRV_DATA | BLK_TC_ACT(BLK_TC_DRV_DATA)) +#define BLK_TN_PROCESS (__BLK_TN_PROCESS | BLK_TC_ACT(BLK_TC_NOTIFY)) +#define BLK_TN_TIMESTAMP (__BLK_TN_TIMESTAMP | BLK_TC_ACT(BLK_TC_NOTIFY)) +#define BLK_TN_MESSAGE (__BLK_TN_MESSAGE | BLK_TC_ACT(BLK_TC_NOTIFY)) +#define BLK_IO_TRACE_MAGIC 0x65617400 +#define BLK_IO_TRACE_VERSION 0x07 +struct blk_io_trace { + __u32 magic; + __u32 sequence; + __u64 time; + __u64 sector; + __u32 bytes; + __u32 action; + __u32 pid; + __u32 device; + __u32 cpu; + __u16 error; + __u16 pdu_len; + +}; +struct blk_io_trace_remap { + __be32 device_from; + __be32 device_to; + __be64 sector_from; +}; +enum { + Blktrace_setup = 1, + Blktrace_running, + Blktrace_stopped, +}; +#define BLKTRACE_BDEV_SIZE 32 +struct blk_user_trace_setup { + char name[BLKTRACE_BDEV_SIZE]; + __u16 act_mask; + __u32 buf_size; + __u32 buf_nr; + __u64 start_lba; + __u64 end_lba; + __u32 pid; +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/blkzoned.h b/linux-5.10/prebuilts/usr/include/linux/blkzoned.h new file mode 100644 index 0000000..26deb4b --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/blkzoned.h @@ -0,0 +1,57 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI_BLKZONED_H +#define _UAPI_BLKZONED_H +#include +#include +enum blk_zone_type { + BLK_ZONE_TYPE_CONVENTIONAL = 0x1, + BLK_ZONE_TYPE_SEQWRITE_REQ = 0x2, + BLK_ZONE_TYPE_SEQWRITE_PREF = 0x3, +}; +enum blk_zone_cond { + BLK_ZONE_COND_NOT_WP = 0x0, + BLK_ZONE_COND_EMPTY = 0x1, + BLK_ZONE_COND_IMP_OPEN = 0x2, + BLK_ZONE_COND_EXP_OPEN = 0x3, + BLK_ZONE_COND_CLOSED = 0x4, + BLK_ZONE_COND_READONLY = 0xD, + BLK_ZONE_COND_FULL = 0xE, + BLK_ZONE_COND_OFFLINE = 0xF, +}; +enum blk_zone_report_flags { + BLK_ZONE_REP_CAPACITY = (1 << 0), +}; +struct blk_zone { + __u64 start; + __u64 len; + __u64 wp; + __u8 type; + __u8 cond; + __u8 non_seq; + __u8 reset; + __u8 resv[4]; + __u64 capacity; + __u8 reserved[24]; +}; +struct blk_zone_report { + __u64 sector; + __u32 nr_zones; + __u32 flags; + struct blk_zone zones[0]; +}; +struct blk_zone_range { + __u64 sector; + __u64 nr_sectors; +}; +#define BLKREPORTZONE _IOWR(0x12, 130, struct blk_zone_report) +#define BLKRESETZONE _IOW(0x12, 131, struct blk_zone_range) +#define BLKGETZONESZ _IOR(0x12, 132, __u32) +#define BLKGETNRZONES _IOR(0x12, 133, __u32) +#define BLKOPENZONE _IOW(0x12, 134, struct blk_zone_range) +#define BLKCLOSEZONE _IOW(0x12, 135, struct blk_zone_range) +#define BLKFINISHZONE _IOW(0x12, 136, struct blk_zone_range) +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/bpf.h b/linux-5.10/prebuilts/usr/include/linux/bpf.h new file mode 100644 index 0000000..597f3cc --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/bpf.h @@ -0,0 +1,1297 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI__LINUX_BPF_H__ +#define _UAPI__LINUX_BPF_H__ +#include +#include +#define BPF_JMP32 0x06 +#define BPF_ALU64 0x07 +#define BPF_DW 0x18 +#define BPF_XADD 0xc0 +#define BPF_MOV 0xb0 +#define BPF_ARSH 0xc0 +#define BPF_END 0xd0 +#define BPF_TO_LE 0x00 +#define BPF_TO_BE 0x08 +#define BPF_FROM_LE BPF_TO_LE +#define BPF_FROM_BE BPF_TO_BE +#define BPF_JNE 0x50 +#define BPF_JLT 0xa0 +#define BPF_JLE 0xb0 +#define BPF_JSGT 0x60 +#define BPF_JSGE 0x70 +#define BPF_JSLT 0xc0 +#define BPF_JSLE 0xd0 +#define BPF_CALL 0x80 +#define BPF_EXIT 0x90 +enum { + BPF_REG_0 = 0, + BPF_REG_1, + BPF_REG_2, + BPF_REG_3, + BPF_REG_4, + BPF_REG_5, + BPF_REG_6, + BPF_REG_7, + BPF_REG_8, + BPF_REG_9, + BPF_REG_10, + __MAX_BPF_REG, +}; +#define MAX_BPF_REG __MAX_BPF_REG +struct bpf_insn { + __u8 code; + __u8 dst_reg:4; + __u8 src_reg:4; + __s16 off; + __s32 imm; +}; +struct bpf_lpm_trie_key { + __u32 prefixlen; + __u8 data[0]; +}; +struct bpf_cgroup_storage_key { + __u64 cgroup_inode_id; + __u32 attach_type; +}; +union bpf_iter_link_info { + struct { + __u32 map_fd; + } map; +}; +enum bpf_cmd { + BPF_MAP_CREATE, + BPF_MAP_LOOKUP_ELEM, + BPF_MAP_UPDATE_ELEM, + BPF_MAP_DELETE_ELEM, + BPF_MAP_GET_NEXT_KEY, + BPF_PROG_LOAD, + BPF_OBJ_PIN, + BPF_OBJ_GET, + BPF_PROG_ATTACH, + BPF_PROG_DETACH, + BPF_PROG_TEST_RUN, + BPF_PROG_GET_NEXT_ID, + BPF_MAP_GET_NEXT_ID, + BPF_PROG_GET_FD_BY_ID, + BPF_MAP_GET_FD_BY_ID, + BPF_OBJ_GET_INFO_BY_FD, + BPF_PROG_QUERY, + BPF_RAW_TRACEPOINT_OPEN, + BPF_BTF_LOAD, + BPF_BTF_GET_FD_BY_ID, + BPF_TASK_FD_QUERY, + BPF_MAP_LOOKUP_AND_DELETE_ELEM, + BPF_MAP_FREEZE, + BPF_BTF_GET_NEXT_ID, + BPF_MAP_LOOKUP_BATCH, + BPF_MAP_LOOKUP_AND_DELETE_BATCH, + BPF_MAP_UPDATE_BATCH, + BPF_MAP_DELETE_BATCH, + BPF_LINK_CREATE, + BPF_LINK_UPDATE, + BPF_LINK_GET_FD_BY_ID, + BPF_LINK_GET_NEXT_ID, + BPF_ENABLE_STATS, + BPF_ITER_CREATE, + BPF_LINK_DETACH, + BPF_PROG_BIND_MAP, +}; +enum bpf_map_type { + BPF_MAP_TYPE_UNSPEC, + BPF_MAP_TYPE_HASH, + BPF_MAP_TYPE_ARRAY, + BPF_MAP_TYPE_PROG_ARRAY, + BPF_MAP_TYPE_PERF_EVENT_ARRAY, + BPF_MAP_TYPE_PERCPU_HASH, + BPF_MAP_TYPE_PERCPU_ARRAY, + BPF_MAP_TYPE_STACK_TRACE, + BPF_MAP_TYPE_CGROUP_ARRAY, + BPF_MAP_TYPE_LRU_HASH, + BPF_MAP_TYPE_LRU_PERCPU_HASH, + BPF_MAP_TYPE_LPM_TRIE, + BPF_MAP_TYPE_ARRAY_OF_MAPS, + BPF_MAP_TYPE_HASH_OF_MAPS, + BPF_MAP_TYPE_DEVMAP, + BPF_MAP_TYPE_SOCKMAP, + BPF_MAP_TYPE_CPUMAP, + BPF_MAP_TYPE_XSKMAP, + BPF_MAP_TYPE_SOCKHASH, + BPF_MAP_TYPE_CGROUP_STORAGE, + BPF_MAP_TYPE_REUSEPORT_SOCKARRAY, + BPF_MAP_TYPE_PERCPU_CGROUP_STORAGE, + BPF_MAP_TYPE_QUEUE, + BPF_MAP_TYPE_STACK, + BPF_MAP_TYPE_SK_STORAGE, + BPF_MAP_TYPE_DEVMAP_HASH, + BPF_MAP_TYPE_STRUCT_OPS, + BPF_MAP_TYPE_RINGBUF, + BPF_MAP_TYPE_INODE_STORAGE, +}; +enum bpf_prog_type { + BPF_PROG_TYPE_UNSPEC, + BPF_PROG_TYPE_SOCKET_FILTER, + BPF_PROG_TYPE_KPROBE, + BPF_PROG_TYPE_SCHED_CLS, + BPF_PROG_TYPE_SCHED_ACT, + BPF_PROG_TYPE_TRACEPOINT, + BPF_PROG_TYPE_XDP, + BPF_PROG_TYPE_PERF_EVENT, + BPF_PROG_TYPE_CGROUP_SKB, + BPF_PROG_TYPE_CGROUP_SOCK, + BPF_PROG_TYPE_LWT_IN, + BPF_PROG_TYPE_LWT_OUT, + BPF_PROG_TYPE_LWT_XMIT, + BPF_PROG_TYPE_SOCK_OPS, + BPF_PROG_TYPE_SK_SKB, + BPF_PROG_TYPE_CGROUP_DEVICE, + BPF_PROG_TYPE_SK_MSG, + BPF_PROG_TYPE_RAW_TRACEPOINT, + BPF_PROG_TYPE_CGROUP_SOCK_ADDR, + BPF_PROG_TYPE_LWT_SEG6LOCAL, + BPF_PROG_TYPE_LIRC_MODE2, + BPF_PROG_TYPE_SK_REUSEPORT, + BPF_PROG_TYPE_FLOW_DISSECTOR, + BPF_PROG_TYPE_CGROUP_SYSCTL, + BPF_PROG_TYPE_RAW_TRACEPOINT_WRITABLE, + BPF_PROG_TYPE_CGROUP_SOCKOPT, + BPF_PROG_TYPE_TRACING, + BPF_PROG_TYPE_STRUCT_OPS, + BPF_PROG_TYPE_EXT, + BPF_PROG_TYPE_LSM, + BPF_PROG_TYPE_SK_LOOKUP, +}; +enum bpf_attach_type { + BPF_CGROUP_INET_INGRESS, + BPF_CGROUP_INET_EGRESS, + BPF_CGROUP_INET_SOCK_CREATE, + BPF_CGROUP_SOCK_OPS, + BPF_SK_SKB_STREAM_PARSER, + BPF_SK_SKB_STREAM_VERDICT, + BPF_CGROUP_DEVICE, + BPF_SK_MSG_VERDICT, + BPF_CGROUP_INET4_BIND, + BPF_CGROUP_INET6_BIND, + BPF_CGROUP_INET4_CONNECT, + BPF_CGROUP_INET6_CONNECT, + BPF_CGROUP_INET4_POST_BIND, + BPF_CGROUP_INET6_POST_BIND, + BPF_CGROUP_UDP4_SENDMSG, + BPF_CGROUP_UDP6_SENDMSG, + BPF_LIRC_MODE2, + BPF_FLOW_DISSECTOR, + BPF_CGROUP_SYSCTL, + BPF_CGROUP_UDP4_RECVMSG, + BPF_CGROUP_UDP6_RECVMSG, + BPF_CGROUP_GETSOCKOPT, + BPF_CGROUP_SETSOCKOPT, + BPF_TRACE_RAW_TP, + BPF_TRACE_FENTRY, + BPF_TRACE_FEXIT, + BPF_MODIFY_RETURN, + BPF_LSM_MAC, + BPF_TRACE_ITER, + BPF_CGROUP_INET4_GETPEERNAME, + BPF_CGROUP_INET6_GETPEERNAME, + BPF_CGROUP_INET4_GETSOCKNAME, + BPF_CGROUP_INET6_GETSOCKNAME, + BPF_XDP_DEVMAP, + BPF_CGROUP_INET_SOCK_RELEASE, + BPF_XDP_CPUMAP, + BPF_SK_LOOKUP, + BPF_XDP, + __MAX_BPF_ATTACH_TYPE +}; +#define MAX_BPF_ATTACH_TYPE __MAX_BPF_ATTACH_TYPE +enum bpf_link_type { + BPF_LINK_TYPE_UNSPEC = 0, + BPF_LINK_TYPE_RAW_TRACEPOINT = 1, + BPF_LINK_TYPE_TRACING = 2, + BPF_LINK_TYPE_CGROUP = 3, + BPF_LINK_TYPE_ITER = 4, + BPF_LINK_TYPE_NETNS = 5, + BPF_LINK_TYPE_XDP = 6, + MAX_BPF_LINK_TYPE, +}; +#define BPF_F_ALLOW_OVERRIDE (1U << 0) +#define BPF_F_ALLOW_MULTI (1U << 1) +#define BPF_F_REPLACE (1U << 2) +#define BPF_F_STRICT_ALIGNMENT (1U << 0) +#define BPF_F_ANY_ALIGNMENT (1U << 1) +#define BPF_F_TEST_RND_HI32 (1U << 2) +#define BPF_F_TEST_STATE_FREQ (1U << 3) +#define BPF_F_SLEEPABLE (1U << 4) +#define BPF_PSEUDO_MAP_FD 1 +#define BPF_PSEUDO_MAP_VALUE 2 +#define BPF_PSEUDO_BTF_ID 3 +#define BPF_PSEUDO_CALL 1 +enum { + BPF_ANY = 0, + BPF_NOEXIST = 1, + BPF_EXIST = 2, + BPF_F_LOCK = 4, +}; +enum { + BPF_F_NO_PREALLOC = (1U << 0), + BPF_F_NO_COMMON_LRU = (1U << 1), + BPF_F_NUMA_NODE = (1U << 2), + BPF_F_RDONLY = (1U << 3), + BPF_F_WRONLY = (1U << 4), + BPF_F_STACK_BUILD_ID = (1U << 5), + BPF_F_ZERO_SEED = (1U << 6), + BPF_F_RDONLY_PROG = (1U << 7), + BPF_F_WRONLY_PROG = (1U << 8), + BPF_F_CLONE = (1U << 9), + BPF_F_MMAPABLE = (1U << 10), + BPF_F_PRESERVE_ELEMS = (1U << 11), + BPF_F_INNER_MAP = (1U << 12), +}; +#define BPF_F_QUERY_EFFECTIVE (1U << 0) +#define BPF_F_TEST_RUN_ON_CPU (1U << 0) +enum bpf_stats_type { + + BPF_STATS_RUN_TIME = 0, +}; +enum bpf_stack_build_id_status { + + BPF_STACK_BUILD_ID_EMPTY = 0, + + BPF_STACK_BUILD_ID_VALID = 1, + + BPF_STACK_BUILD_ID_IP = 2, +}; +#define BPF_BUILD_ID_SIZE 20 +struct bpf_stack_build_id { + __s32 status; + unsigned char build_id[BPF_BUILD_ID_SIZE]; + union { + __u64 offset; + __u64 ip; + }; +}; +#define BPF_OBJ_NAME_LEN 16U +union bpf_attr { + struct { + __u32 map_type; + __u32 key_size; + __u32 value_size; + __u32 max_entries; + __u32 map_flags; + __u32 inner_map_fd; + __u32 numa_node; + char map_name[BPF_OBJ_NAME_LEN]; + __u32 map_ifindex; + __u32 btf_fd; + __u32 btf_key_type_id; + __u32 btf_value_type_id; + __u32 btf_vmlinux_value_type_id; + }; + struct { + __u32 map_fd; + __aligned_u64 key; + union { + __aligned_u64 value; + __aligned_u64 next_key; + }; + __u64 flags; + }; + struct { + __aligned_u64 in_batch; + __aligned_u64 out_batch; + __aligned_u64 keys; + __aligned_u64 values; + __u32 count; + __u32 map_fd; + __u64 elem_flags; + __u64 flags; + } batch; + struct { + __u32 prog_type; + __u32 insn_cnt; + __aligned_u64 insns; + __aligned_u64 license; + __u32 log_level; + __u32 log_size; + __aligned_u64 log_buf; + __u32 kern_version; + __u32 prog_flags; + char prog_name[BPF_OBJ_NAME_LEN]; + __u32 prog_ifindex; + + __u32 expected_attach_type; + __u32 prog_btf_fd; + __u32 func_info_rec_size; + __aligned_u64 func_info; + __u32 func_info_cnt; + __u32 line_info_rec_size; + __aligned_u64 line_info; + __u32 line_info_cnt; + __u32 attach_btf_id; + __u32 attach_prog_fd; + }; + struct { + __aligned_u64 pathname; + __u32 bpf_fd; + __u32 file_flags; + }; + struct { + __u32 target_fd; + __u32 attach_bpf_fd; + __u32 attach_type; + __u32 attach_flags; + __u32 replace_bpf_fd; + }; + struct { + __u32 prog_fd; + __u32 retval; + __u32 data_size_in; + __u32 data_size_out; + __aligned_u64 data_in; + __aligned_u64 data_out; + __u32 repeat; + __u32 duration; + __u32 ctx_size_in; + __u32 ctx_size_out; + __aligned_u64 ctx_in; + __aligned_u64 ctx_out; + __u32 flags; + __u32 cpu; + } test; + struct { + union { + __u32 start_id; + __u32 prog_id; + __u32 map_id; + __u32 btf_id; + __u32 link_id; + }; + __u32 next_id; + __u32 open_flags; + }; + struct { + __u32 bpf_fd; + __u32 info_len; + __aligned_u64 info; + } info; + struct { + __u32 target_fd; + __u32 attach_type; + __u32 query_flags; + __u32 attach_flags; + __aligned_u64 prog_ids; + __u32 prog_cnt; + } query; + struct { + __u64 name; + __u32 prog_fd; + } raw_tracepoint; + struct { + __aligned_u64 btf; + __aligned_u64 btf_log_buf; + __u32 btf_size; + __u32 btf_log_size; + __u32 btf_log_level; + }; + struct { + __u32 pid; + __u32 fd; + __u32 flags; + __u32 buf_len; + __aligned_u64 buf; + __u32 prog_id; + __u32 fd_type; + __u64 probe_offset; + __u64 probe_addr; + } task_fd_query; + struct { + __u32 prog_fd; + union { + __u32 target_fd; + __u32 target_ifindex; + }; + __u32 attach_type; + __u32 flags; + union { + __u32 target_btf_id; + struct { + __aligned_u64 iter_info; + __u32 iter_info_len; + }; + }; + } link_create; + struct { + __u32 link_fd; + + __u32 new_prog_fd; + __u32 flags; + + __u32 old_prog_fd; + } link_update; + struct { + __u32 link_fd; + } link_detach; + struct { + __u32 type; + } enable_stats; + struct { + __u32 link_fd; + __u32 flags; + } iter_create; + struct { + __u32 prog_fd; + __u32 map_fd; + __u32 flags; + } prog_bind_map; +} __attribute__((aligned(8))); +#define __BPF_FUNC_MAPPER(FN) \ + FN(unspec), \ + FN(map_lookup_elem), \ + FN(map_update_elem), \ + FN(map_delete_elem), \ + FN(probe_read), \ + FN(ktime_get_ns), \ + FN(trace_printk), \ + FN(get_prandom_u32), \ + FN(get_smp_processor_id), \ + FN(skb_store_bytes), \ + FN(l3_csum_replace), \ + FN(l4_csum_replace), \ + FN(tail_call), \ + FN(clone_redirect), \ + FN(get_current_pid_tgid), \ + FN(get_current_uid_gid), \ + FN(get_current_comm), \ + FN(get_cgroup_classid), \ + FN(skb_vlan_push), \ + FN(skb_vlan_pop), \ + FN(skb_get_tunnel_key), \ + FN(skb_set_tunnel_key), \ + FN(perf_event_read), \ + FN(redirect), \ + FN(get_route_realm), \ + FN(perf_event_output), \ + FN(skb_load_bytes), \ + FN(get_stackid), \ + FN(csum_diff), \ + FN(skb_get_tunnel_opt), \ + FN(skb_set_tunnel_opt), \ + FN(skb_change_proto), \ + FN(skb_change_type), \ + FN(skb_under_cgroup), \ + FN(get_hash_recalc), \ + FN(get_current_task), \ + FN(probe_write_user), \ + FN(current_task_under_cgroup), \ + FN(skb_change_tail), \ + FN(skb_pull_data), \ + FN(csum_update), \ + FN(set_hash_invalid), \ + FN(get_numa_node_id), \ + FN(skb_change_head), \ + FN(xdp_adjust_head), \ + FN(probe_read_str), \ + FN(get_socket_cookie), \ + FN(get_socket_uid), \ + FN(set_hash), \ + FN(setsockopt), \ + FN(skb_adjust_room), \ + FN(redirect_map), \ + FN(sk_redirect_map), \ + FN(sock_map_update), \ + FN(xdp_adjust_meta), \ + FN(perf_event_read_value), \ + FN(perf_prog_read_value), \ + FN(getsockopt), \ + FN(override_return), \ + FN(sock_ops_cb_flags_set), \ + FN(msg_redirect_map), \ + FN(msg_apply_bytes), \ + FN(msg_cork_bytes), \ + FN(msg_pull_data), \ + FN(bind), \ + FN(xdp_adjust_tail), \ + FN(skb_get_xfrm_state), \ + FN(get_stack), \ + FN(skb_load_bytes_relative), \ + FN(fib_lookup), \ + FN(sock_hash_update), \ + FN(msg_redirect_hash), \ + FN(sk_redirect_hash), \ + FN(lwt_push_encap), \ + FN(lwt_seg6_store_bytes), \ + FN(lwt_seg6_adjust_srh), \ + FN(lwt_seg6_action), \ + FN(rc_repeat), \ + FN(rc_keydown), \ + FN(skb_cgroup_id), \ + FN(get_current_cgroup_id), \ + FN(get_local_storage), \ + FN(sk_select_reuseport), \ + FN(skb_ancestor_cgroup_id), \ + FN(sk_lookup_tcp), \ + FN(sk_lookup_udp), \ + FN(sk_release), \ + FN(map_push_elem), \ + FN(map_pop_elem), \ + FN(map_peek_elem), \ + FN(msg_push_data), \ + FN(msg_pop_data), \ + FN(rc_pointer_rel), \ + FN(spin_lock), \ + FN(spin_unlock), \ + FN(sk_fullsock), \ + FN(tcp_sock), \ + FN(skb_ecn_set_ce), \ + FN(get_listener_sock), \ + FN(skc_lookup_tcp), \ + FN(tcp_check_syncookie), \ + FN(sysctl_get_name), \ + FN(sysctl_get_current_value), \ + FN(sysctl_get_new_value), \ + FN(sysctl_set_new_value), \ + FN(strtol), \ + FN(strtoul), \ + FN(sk_storage_get), \ + FN(sk_storage_delete), \ + FN(send_signal), \ + FN(tcp_gen_syncookie), \ + FN(skb_output), \ + FN(probe_read_user), \ + FN(probe_read_kernel), \ + FN(probe_read_user_str), \ + FN(probe_read_kernel_str), \ + FN(tcp_send_ack), \ + FN(send_signal_thread), \ + FN(jiffies64), \ + FN(read_branch_records), \ + FN(get_ns_current_pid_tgid), \ + FN(xdp_output), \ + FN(get_netns_cookie), \ + FN(get_current_ancestor_cgroup_id), \ + FN(sk_assign), \ + FN(ktime_get_boot_ns), \ + FN(seq_printf), \ + FN(seq_write), \ + FN(sk_cgroup_id), \ + FN(sk_ancestor_cgroup_id), \ + FN(ringbuf_output), \ + FN(ringbuf_reserve), \ + FN(ringbuf_submit), \ + FN(ringbuf_discard), \ + FN(ringbuf_query), \ + FN(csum_level), \ + FN(skc_to_tcp6_sock), \ + FN(skc_to_tcp_sock), \ + FN(skc_to_tcp_timewait_sock), \ + FN(skc_to_tcp_request_sock), \ + FN(skc_to_udp6_sock), \ + FN(get_task_stack), \ + FN(load_hdr_opt), \ + FN(store_hdr_opt), \ + FN(reserve_hdr_opt), \ + FN(inode_storage_get), \ + FN(inode_storage_delete), \ + FN(d_path), \ + FN(copy_from_user), \ + FN(snprintf_btf), \ + FN(seq_printf_btf), \ + FN(skb_cgroup_classid), \ + FN(redirect_neigh), \ + FN(per_cpu_ptr), \ + FN(this_cpu_ptr), \ + FN(redirect_peer), \ + +#define __BPF_ENUM_FN(x) BPF_FUNC_ ## x +enum bpf_func_id { + __BPF_FUNC_MAPPER(__BPF_ENUM_FN) + __BPF_FUNC_MAX_ID, +}; +#undef __BPF_ENUM_FN +enum { + BPF_F_RECOMPUTE_CSUM = (1ULL << 0), + BPF_F_INVALIDATE_HASH = (1ULL << 1), +}; +enum { + BPF_F_HDR_FIELD_MASK = 0xfULL, +}; +enum { + BPF_F_PSEUDO_HDR = (1ULL << 4), + BPF_F_MARK_MANGLED_0 = (1ULL << 5), + BPF_F_MARK_ENFORCE = (1ULL << 6), +}; +enum { + BPF_F_INGRESS = (1ULL << 0), +}; +enum { + BPF_F_TUNINFO_IPV6 = (1ULL << 0), +}; +enum { + BPF_F_SKIP_FIELD_MASK = 0xffULL, + BPF_F_USER_STACK = (1ULL << 8), + BPF_F_FAST_STACK_CMP = (1ULL << 9), + BPF_F_REUSE_STACKID = (1ULL << 10), + BPF_F_USER_BUILD_ID = (1ULL << 11), +}; +enum { + BPF_F_ZERO_CSUM_TX = (1ULL << 1), + BPF_F_DONT_FRAGMENT = (1ULL << 2), + BPF_F_SEQ_NUMBER = (1ULL << 3), +}; +enum { + BPF_F_INDEX_MASK = 0xffffffffULL, + BPF_F_CURRENT_CPU = BPF_F_INDEX_MASK, + BPF_F_CTXLEN_MASK = (0xfffffULL << 32), +}; +enum { + BPF_F_CURRENT_NETNS = (-1L), +}; +enum { + BPF_CSUM_LEVEL_QUERY, + BPF_CSUM_LEVEL_INC, + BPF_CSUM_LEVEL_DEC, + BPF_CSUM_LEVEL_RESET, +}; +enum { + BPF_F_ADJ_ROOM_FIXED_GSO = (1ULL << 0), + BPF_F_ADJ_ROOM_ENCAP_L3_IPV4 = (1ULL << 1), + BPF_F_ADJ_ROOM_ENCAP_L3_IPV6 = (1ULL << 2), + BPF_F_ADJ_ROOM_ENCAP_L4_GRE = (1ULL << 3), + BPF_F_ADJ_ROOM_ENCAP_L4_UDP = (1ULL << 4), + BPF_F_ADJ_ROOM_NO_CSUM_RESET = (1ULL << 5), +}; +enum { + BPF_ADJ_ROOM_ENCAP_L2_MASK = 0xff, + BPF_ADJ_ROOM_ENCAP_L2_SHIFT = 56, +}; +#define BPF_F_ADJ_ROOM_ENCAP_L2(len) (((__u64)len & \ + BPF_ADJ_ROOM_ENCAP_L2_MASK) \ + << BPF_ADJ_ROOM_ENCAP_L2_SHIFT) +enum { + BPF_F_SYSCTL_BASE_NAME = (1ULL << 0), +}; +enum { + BPF_LOCAL_STORAGE_GET_F_CREATE = (1ULL << 0), + + BPF_SK_STORAGE_GET_F_CREATE = BPF_LOCAL_STORAGE_GET_F_CREATE, +}; +enum { + BPF_F_GET_BRANCH_RECORDS_SIZE = (1ULL << 0), +}; +enum { + BPF_RB_NO_WAKEUP = (1ULL << 0), + BPF_RB_FORCE_WAKEUP = (1ULL << 1), +}; +enum { + BPF_RB_AVAIL_DATA = 0, + BPF_RB_RING_SIZE = 1, + BPF_RB_CONS_POS = 2, + BPF_RB_PROD_POS = 3, +}; +enum { + BPF_RINGBUF_BUSY_BIT = (1U << 31), + BPF_RINGBUF_DISCARD_BIT = (1U << 30), + BPF_RINGBUF_HDR_SZ = 8, +}; +enum { + BPF_SK_LOOKUP_F_REPLACE = (1ULL << 0), + BPF_SK_LOOKUP_F_NO_REUSEPORT = (1ULL << 1), +}; +enum bpf_adj_room_mode { + BPF_ADJ_ROOM_NET, + BPF_ADJ_ROOM_MAC, +}; +enum bpf_hdr_start_off { + BPF_HDR_START_MAC, + BPF_HDR_START_NET, +}; +enum bpf_lwt_encap_mode { + BPF_LWT_ENCAP_SEG6, + BPF_LWT_ENCAP_SEG6_INLINE, + BPF_LWT_ENCAP_IP, +}; +#define __bpf_md_ptr(type, name) \ +union { \ + type name; \ + __u64 :64; \ +} __attribute__((aligned(8))) +struct __sk_buff { + __u32 len; + __u32 pkt_type; + __u32 mark; + __u32 queue_mapping; + __u32 protocol; + __u32 vlan_present; + __u32 vlan_tci; + __u32 vlan_proto; + __u32 priority; + __u32 ingress_ifindex; + __u32 ifindex; + __u32 tc_index; + __u32 cb[5]; + __u32 hash; + __u32 tc_classid; + __u32 data; + __u32 data_end; + __u32 napi_id; + + __u32 family; + __u32 remote_ip4; + __u32 local_ip4; + __u32 remote_ip6[4]; + __u32 local_ip6[4]; + __u32 remote_port; + __u32 local_port; + + __u32 data_meta; + __bpf_md_ptr(struct bpf_flow_keys *, flow_keys); + __u64 tstamp; + __u32 wire_len; + __u32 gso_segs; + __bpf_md_ptr(struct bpf_sock *, sk); + __u32 gso_size; +}; +struct bpf_tunnel_key { + __u32 tunnel_id; + union { + __u32 remote_ipv4; + __u32 remote_ipv6[4]; + }; + __u8 tunnel_tos; + __u8 tunnel_ttl; + __u16 tunnel_ext; + __u32 tunnel_label; +}; +struct bpf_xfrm_state { + __u32 reqid; + __u32 spi; + __u16 family; + __u16 ext; + union { + __u32 remote_ipv4; + __u32 remote_ipv6[4]; + }; +}; +enum bpf_ret_code { + BPF_OK = 0, + + BPF_DROP = 2, + + BPF_REDIRECT = 7, + + BPF_LWT_REROUTE = 128, +}; +struct bpf_sock { + __u32 bound_dev_if; + __u32 family; + __u32 type; + __u32 protocol; + __u32 mark; + __u32 priority; + + __u32 src_ip4; + __u32 src_ip6[4]; + __u32 src_port; + __u32 dst_port; + __u32 dst_ip4; + __u32 dst_ip6[4]; + __u32 state; + __s32 rx_queue_mapping; +}; +struct bpf_tcp_sock { + __u32 snd_cwnd; + __u32 srtt_us; + __u32 rtt_min; + __u32 snd_ssthresh; + __u32 rcv_nxt; + __u32 snd_nxt; + __u32 snd_una; + __u32 mss_cache; + __u32 ecn_flags; + __u32 rate_delivered; + __u32 rate_interval_us; + __u32 packets_out; + __u32 retrans_out; + __u32 total_retrans; + __u32 segs_in; + __u32 data_segs_in; + __u32 segs_out; + __u32 data_segs_out; + __u32 lost_out; + __u32 sacked_out; + __u64 bytes_received; + __u64 bytes_acked; + __u32 dsack_dups; + __u32 delivered; + __u32 delivered_ce; + __u32 icsk_retransmits; +}; +struct bpf_sock_tuple { + union { + struct { + __be32 saddr; + __be32 daddr; + __be16 sport; + __be16 dport; + } ipv4; + struct { + __be32 saddr[4]; + __be32 daddr[4]; + __be16 sport; + __be16 dport; + } ipv6; + }; +}; +struct bpf_xdp_sock { + __u32 queue_id; +}; +#define XDP_PACKET_HEADROOM 256 +enum xdp_action { + XDP_ABORTED = 0, + XDP_DROP, + XDP_PASS, + XDP_TX, + XDP_REDIRECT, +}; +struct xdp_md { + __u32 data; + __u32 data_end; + __u32 data_meta; + + __u32 ingress_ifindex; + __u32 rx_queue_index; + __u32 egress_ifindex; +}; +struct bpf_devmap_val { + __u32 ifindex; + union { + int fd; + __u32 id; + } bpf_prog; +}; +struct bpf_cpumap_val { + __u32 qsize; + union { + int fd; + __u32 id; + } bpf_prog; +}; +enum sk_action { + SK_DROP = 0, + SK_PASS, +}; +struct sk_msg_md { + __bpf_md_ptr(void *, data); + __bpf_md_ptr(void *, data_end); + __u32 family; + __u32 remote_ip4; + __u32 local_ip4; + __u32 remote_ip6[4]; + __u32 local_ip6[4]; + __u32 remote_port; + __u32 local_port; + __u32 size; + __bpf_md_ptr(struct bpf_sock *, sk); +}; +struct sk_reuseport_md { + + __bpf_md_ptr(void *, data); + + __bpf_md_ptr(void *, data_end); + + __u32 len; + + __u32 eth_protocol; + __u32 ip_protocol; + __u32 bind_inany; + __u32 hash; +}; +#define BPF_TAG_SIZE 8 +struct bpf_prog_info { + __u32 type; + __u32 id; + __u8 tag[BPF_TAG_SIZE]; + __u32 jited_prog_len; + __u32 xlated_prog_len; + __aligned_u64 jited_prog_insns; + __aligned_u64 xlated_prog_insns; + __u64 load_time; + __u32 created_by_uid; + __u32 nr_map_ids; + __aligned_u64 map_ids; + char name[BPF_OBJ_NAME_LEN]; + __u32 ifindex; + __u32 gpl_compatible:1; + __u32 :31; + __u64 netns_dev; + __u64 netns_ino; + __u32 nr_jited_ksyms; + __u32 nr_jited_func_lens; + __aligned_u64 jited_ksyms; + __aligned_u64 jited_func_lens; + __u32 btf_id; + __u32 func_info_rec_size; + __aligned_u64 func_info; + __u32 nr_func_info; + __u32 nr_line_info; + __aligned_u64 line_info; + __aligned_u64 jited_line_info; + __u32 nr_jited_line_info; + __u32 line_info_rec_size; + __u32 jited_line_info_rec_size; + __u32 nr_prog_tags; + __aligned_u64 prog_tags; + __u64 run_time_ns; + __u64 run_cnt; +} __attribute__((aligned(8))); +struct bpf_map_info { + __u32 type; + __u32 id; + __u32 key_size; + __u32 value_size; + __u32 max_entries; + __u32 map_flags; + char name[BPF_OBJ_NAME_LEN]; + __u32 ifindex; + __u32 btf_vmlinux_value_type_id; + __u64 netns_dev; + __u64 netns_ino; + __u32 btf_id; + __u32 btf_key_type_id; + __u32 btf_value_type_id; +} __attribute__((aligned(8))); +struct bpf_btf_info { + __aligned_u64 btf; + __u32 btf_size; + __u32 id; +} __attribute__((aligned(8))); +struct bpf_link_info { + __u32 type; + __u32 id; + __u32 prog_id; + union { + struct { + __aligned_u64 tp_name; + __u32 tp_name_len; + } raw_tracepoint; + struct { + __u32 attach_type; + } tracing; + struct { + __u64 cgroup_id; + __u32 attach_type; + } cgroup; + struct { + __aligned_u64 target_name; + __u32 target_name_len; + union { + struct { + __u32 map_id; + } map; + }; + } iter; + struct { + __u32 netns_ino; + __u32 attach_type; + } netns; + struct { + __u32 ifindex; + } xdp; + }; +} __attribute__((aligned(8))); +struct bpf_sock_addr { + __u32 user_family; + __u32 user_ip4; + __u32 user_ip6[4]; + __u32 user_port; + __u32 family; + __u32 type; + __u32 protocol; + __u32 msg_src_ip4; + __u32 msg_src_ip6[4]; + __bpf_md_ptr(struct bpf_sock *, sk); +}; +struct bpf_sock_ops { + __u32 op; + union { + __u32 args[4]; + __u32 reply; + __u32 replylong[4]; + }; + __u32 family; + __u32 remote_ip4; + __u32 local_ip4; + __u32 remote_ip6[4]; + __u32 local_ip6[4]; + __u32 remote_port; + __u32 local_port; + __u32 is_fullsock; + __u32 snd_cwnd; + __u32 srtt_us; + __u32 bpf_sock_ops_cb_flags; + __u32 state; + __u32 rtt_min; + __u32 snd_ssthresh; + __u32 rcv_nxt; + __u32 snd_nxt; + __u32 snd_una; + __u32 mss_cache; + __u32 ecn_flags; + __u32 rate_delivered; + __u32 rate_interval_us; + __u32 packets_out; + __u32 retrans_out; + __u32 total_retrans; + __u32 segs_in; + __u32 data_segs_in; + __u32 segs_out; + __u32 data_segs_out; + __u32 lost_out; + __u32 sacked_out; + __u32 sk_txhash; + __u64 bytes_received; + __u64 bytes_acked; + __bpf_md_ptr(struct bpf_sock *, sk); + + __bpf_md_ptr(void *, skb_data); + __bpf_md_ptr(void *, skb_data_end); + __u32 skb_len; + __u32 skb_tcp_flags; +}; +enum { + BPF_SOCK_OPS_RTO_CB_FLAG = (1<<0), + BPF_SOCK_OPS_RETRANS_CB_FLAG = (1<<1), + BPF_SOCK_OPS_STATE_CB_FLAG = (1<<2), + BPF_SOCK_OPS_RTT_CB_FLAG = (1<<3), + + BPF_SOCK_OPS_PARSE_ALL_HDR_OPT_CB_FLAG = (1<<4), + + BPF_SOCK_OPS_PARSE_UNKNOWN_HDR_OPT_CB_FLAG = (1<<5), + + BPF_SOCK_OPS_WRITE_HDR_OPT_CB_FLAG = (1<<6), + BPF_SOCK_OPS_ALL_CB_FLAGS = 0x7F, +}; +enum { + BPF_SOCK_OPS_VOID, + BPF_SOCK_OPS_TIMEOUT_INIT, + BPF_SOCK_OPS_RWND_INIT, + BPF_SOCK_OPS_TCP_CONNECT_CB, + BPF_SOCK_OPS_ACTIVE_ESTABLISHED_CB, + BPF_SOCK_OPS_PASSIVE_ESTABLISHED_CB, + BPF_SOCK_OPS_NEEDS_ECN, + BPF_SOCK_OPS_BASE_RTT, + BPF_SOCK_OPS_RTO_CB, + BPF_SOCK_OPS_RETRANS_CB, + BPF_SOCK_OPS_STATE_CB, + BPF_SOCK_OPS_TCP_LISTEN_CB, + BPF_SOCK_OPS_RTT_CB, + BPF_SOCK_OPS_PARSE_HDR_OPT_CB, + BPF_SOCK_OPS_HDR_OPT_LEN_CB, + BPF_SOCK_OPS_WRITE_HDR_OPT_CB, +}; +enum { + BPF_TCP_ESTABLISHED = 1, + BPF_TCP_SYN_SENT, + BPF_TCP_SYN_RECV, + BPF_TCP_FIN_WAIT1, + BPF_TCP_FIN_WAIT2, + BPF_TCP_TIME_WAIT, + BPF_TCP_CLOSE, + BPF_TCP_CLOSE_WAIT, + BPF_TCP_LAST_ACK, + BPF_TCP_LISTEN, + BPF_TCP_CLOSING, + BPF_TCP_NEW_SYN_RECV, + BPF_TCP_MAX_STATES +}; +enum { + TCP_BPF_IW = 1001, + TCP_BPF_SNDCWND_CLAMP = 1002, + TCP_BPF_DELACK_MAX = 1003, + TCP_BPF_RTO_MIN = 1004, + + TCP_BPF_SYN = 1005, + TCP_BPF_SYN_IP = 1006, + TCP_BPF_SYN_MAC = 1007, +}; +enum { + BPF_LOAD_HDR_OPT_TCP_SYN = (1ULL << 0), +}; +enum { + BPF_WRITE_HDR_TCP_CURRENT_MSS = 1, + BPF_WRITE_HDR_TCP_SYNACK_COOKIE = 2, +}; +struct bpf_perf_event_value { + __u64 counter; + __u64 enabled; + __u64 running; +}; +enum { + BPF_DEVCG_ACC_MKNOD = (1ULL << 0), + BPF_DEVCG_ACC_READ = (1ULL << 1), + BPF_DEVCG_ACC_WRITE = (1ULL << 2), +}; +enum { + BPF_DEVCG_DEV_BLOCK = (1ULL << 0), + BPF_DEVCG_DEV_CHAR = (1ULL << 1), +}; +struct bpf_cgroup_dev_ctx { + + __u32 access_type; + __u32 major; + __u32 minor; +}; +struct bpf_raw_tracepoint_args { + __u64 args[0]; +}; +enum { + BPF_FIB_LOOKUP_DIRECT = (1U << 0), + BPF_FIB_LOOKUP_OUTPUT = (1U << 1), +}; +enum { + BPF_FIB_LKUP_RET_SUCCESS, + BPF_FIB_LKUP_RET_BLACKHOLE, + BPF_FIB_LKUP_RET_UNREACHABLE, + BPF_FIB_LKUP_RET_PROHIBIT, + BPF_FIB_LKUP_RET_NOT_FWDED, + BPF_FIB_LKUP_RET_FWD_DISABLED, + BPF_FIB_LKUP_RET_UNSUPP_LWT, + BPF_FIB_LKUP_RET_NO_NEIGH, + BPF_FIB_LKUP_RET_FRAG_NEEDED, +}; +struct bpf_fib_lookup { + + __u8 family; + + __u8 l4_protocol; + __be16 sport; + __be16 dport; + + __u16 tot_len; + + __u32 ifindex; + union { + + __u8 tos; + __be32 flowinfo; + + __u32 rt_metric; + }; + union { + __be32 ipv4_src; + __u32 ipv6_src[4]; + }; + + union { + __be32 ipv4_dst; + __u32 ipv6_dst[4]; + }; + + __be16 h_vlan_proto; + __be16 h_vlan_TCI; + __u8 smac[6]; + __u8 dmac[6]; +}; +struct bpf_redir_neigh { + + __u32 nh_family; + + union { + __be32 ipv4_nh; + __u32 ipv6_nh[4]; + }; +}; +enum bpf_task_fd_type { + BPF_FD_TYPE_RAW_TRACEPOINT, + BPF_FD_TYPE_TRACEPOINT, + BPF_FD_TYPE_KPROBE, + BPF_FD_TYPE_KRETPROBE, + BPF_FD_TYPE_UPROBE, + BPF_FD_TYPE_URETPROBE, +}; +enum { + BPF_FLOW_DISSECTOR_F_PARSE_1ST_FRAG = (1U << 0), + BPF_FLOW_DISSECTOR_F_STOP_AT_FLOW_LABEL = (1U << 1), + BPF_FLOW_DISSECTOR_F_STOP_AT_ENCAP = (1U << 2), +}; +struct bpf_flow_keys { + __u16 nhoff; + __u16 thoff; + __u16 addr_proto; + __u8 is_frag; + __u8 is_first_frag; + __u8 is_encap; + __u8 ip_proto; + __be16 n_proto; + __be16 sport; + __be16 dport; + union { + struct { + __be32 ipv4_src; + __be32 ipv4_dst; + }; + struct { + __u32 ipv6_src[4]; + __u32 ipv6_dst[4]; + }; + }; + __u32 flags; + __be32 flow_label; +}; +struct bpf_func_info { + __u32 insn_off; + __u32 type_id; +}; +#define BPF_LINE_INFO_LINE_NUM(line_col) ((line_col) >> 10) +#define BPF_LINE_INFO_LINE_COL(line_col) ((line_col) & 0x3ff) +struct bpf_line_info { + __u32 insn_off; + __u32 file_name_off; + __u32 line_off; + __u32 line_col; +}; +struct bpf_spin_lock { + __u32 val; +}; +struct bpf_sysctl { + __u32 write; + __u32 file_pos; +}; +struct bpf_sockopt { + __bpf_md_ptr(struct bpf_sock *, sk); + __bpf_md_ptr(void *, optval); + __bpf_md_ptr(void *, optval_end); + __s32 level; + __s32 optname; + __s32 optlen; + __s32 retval; +}; +struct bpf_pidns_info { + __u32 pid; + __u32 tgid; +}; +struct bpf_sk_lookup { + __bpf_md_ptr(struct bpf_sock *, sk); + __u32 family; + __u32 protocol; + __u32 remote_ip4; + __u32 remote_ip6[4]; + __u32 remote_port; + __u32 local_ip4; + __u32 local_ip6[4]; + __u32 local_port; +}; +struct btf_ptr { + void *ptr; + __u32 type_id; + __u32 flags; +}; +enum { + BTF_F_COMPACT = (1ULL << 0), + BTF_F_NONAME = (1ULL << 1), + BTF_F_PTR_RAW = (1ULL << 2), + BTF_F_ZERO = (1ULL << 3), +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/bpf_common.h b/linux-5.10/prebuilts/usr/include/linux/bpf_common.h new file mode 100644 index 0000000..e15edac --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/bpf_common.h @@ -0,0 +1,51 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI__LINUX_BPF_COMMON_H__ +#define _UAPI__LINUX_BPF_COMMON_H__ +#define BPF_CLASS(code) ((code) & 0x07) +#define BPF_LD 0x00 +#define BPF_LDX 0x01 +#define BPF_ST 0x02 +#define BPF_STX 0x03 +#define BPF_ALU 0x04 +#define BPF_JMP 0x05 +#define BPF_RET 0x06 +#define BPF_MISC 0x07 +#define BPF_SIZE(code) ((code) & 0x18) +#define BPF_W 0x00 +#define BPF_H 0x08 +#define BPF_B 0x10 +#define BPF_MODE(code) ((code) & 0xe0) +#define BPF_IMM 0x00 +#define BPF_ABS 0x20 +#define BPF_IND 0x40 +#define BPF_MEM 0x60 +#define BPF_LEN 0x80 +#define BPF_MSH 0xa0 +#define BPF_OP(code) ((code) & 0xf0) +#define BPF_ADD 0x00 +#define BPF_SUB 0x10 +#define BPF_MUL 0x20 +#define BPF_DIV 0x30 +#define BPF_OR 0x40 +#define BPF_AND 0x50 +#define BPF_LSH 0x60 +#define BPF_RSH 0x70 +#define BPF_NEG 0x80 +#define BPF_MOD 0x90 +#define BPF_XOR 0xa0 +#define BPF_JA 0x00 +#define BPF_JEQ 0x10 +#define BPF_JGT 0x20 +#define BPF_JGE 0x30 +#define BPF_JSET 0x40 +#define BPF_SRC(code) ((code) & 0x08) +#define BPF_K 0x00 +#define BPF_X 0x08 +#ifndef BPF_MAXINSNS +#define BPF_MAXINSNS 4096 +#endif +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/bpf_perf_event.h b/linux-5.10/prebuilts/usr/include/linux/bpf_perf_event.h new file mode 100644 index 0000000..2899e14 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/bpf_perf_event.h @@ -0,0 +1,14 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI__LINUX_BPF_PERF_EVENT_H__ +#define _UAPI__LINUX_BPF_PERF_EVENT_H__ +#include +struct bpf_perf_event_data { + bpf_user_pt_regs_t regs; + __u64 sample_period; + __u64 addr; +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/bpfilter.h b/linux-5.10/prebuilts/usr/include/linux/bpfilter.h new file mode 100644 index 0000000..09db095 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/bpfilter.h @@ -0,0 +1,21 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI_LINUX_BPFILTER_H +#define _UAPI_LINUX_BPFILTER_H +#include +enum { + BPFILTER_IPT_SO_SET_REPLACE = 64, + BPFILTER_IPT_SO_SET_ADD_COUNTERS = 65, + BPFILTER_IPT_SET_MAX, +}; +enum { + BPFILTER_IPT_SO_GET_INFO = 64, + BPFILTER_IPT_SO_GET_ENTRIES = 65, + BPFILTER_IPT_SO_GET_REVISION_MATCH = 66, + BPFILTER_IPT_SO_GET_REVISION_TARGET = 67, + BPFILTER_IPT_GET_MAX, +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/bpqether.h b/linux-5.10/prebuilts/usr/include/linux/bpqether.h new file mode 100644 index 0000000..8a1d36d --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/bpqether.h @@ -0,0 +1,29 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef __BPQETHER_H +#define __BPQETHER_H +#include +#define SIOCSBPQETHOPT (SIOCDEVPRIVATE+0) +#define SIOCSBPQETHADDR (SIOCDEVPRIVATE+1) + +struct bpq_ethaddr { + unsigned char destination[ETH_ALEN]; + unsigned char accept[ETH_ALEN]; +}; +#define SIOCGBPQETHPARAM 0x5000 +#define SIOCSBPQETHPARAM 0x5001 +struct bpq_req { + int cmd; + int speed; + int clockmode; + int txdelay; + unsigned char persist; + int slotime; + int squeldelay; + int dmachan; + int irq; +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/bsg.h b/linux-5.10/prebuilts/usr/include/linux/bsg.h new file mode 100644 index 0000000..5acfd07 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/bsg.h @@ -0,0 +1,51 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPIBSG_H +#define _UAPIBSG_H +#include +#define BSG_PROTOCOL_SCSI 0 +#define BSG_SUB_PROTOCOL_SCSI_CMD 0 +#define BSG_SUB_PROTOCOL_SCSI_TMF 1 +#define BSG_SUB_PROTOCOL_SCSI_TRANSPORT 2 +#define BSG_FLAG_Q_AT_TAIL 0x10 +#define BSG_FLAG_Q_AT_HEAD 0x20 +struct sg_io_v4 { + __s32 guard; + __u32 protocol; + __u32 subprotocol; + __u32 request_len; + __u64 request; + __u64 request_tag; + __u32 request_attr; + __u32 request_priority; + __u32 request_extra; + __u32 max_response_len; + __u64 response; + + __u32 dout_iovec_count; + __u32 dout_xfer_len; + __u32 din_iovec_count; + __u32 din_xfer_len; + __u64 dout_xferp; + __u64 din_xferp; + __u32 timeout; + __u32 flags; + __u64 usr_ptr; + __u32 spare_in; + __u32 driver_status; + __u32 transport_status; + __u32 device_status; + __u32 retry_delay; + __u32 info; + __u32 duration; + __u32 response_len; + __s32 din_resid; + __s32 dout_resid; + __u64 generated_tag; + __u32 spare_out; + __u32 padding; +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/bt-bmc.h b/linux-5.10/prebuilts/usr/include/linux/bt-bmc.h new file mode 100644 index 0000000..a61cc99 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/bt-bmc.h @@ -0,0 +1,11 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI_LINUX_BT_BMC_H +#define _UAPI_LINUX_BT_BMC_H +#include +#define __BT_BMC_IOCTL_MAGIC 0xb1 +#define BT_BMC_IOCTL_SMS_ATN _IO(__BT_BMC_IOCTL_MAGIC, 0x00) +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/btf.h b/linux-5.10/prebuilts/usr/include/linux/btf.h new file mode 100644 index 0000000..82c0e3a --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/btf.h @@ -0,0 +1,101 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI__LINUX_BTF_H__ +#define _UAPI__LINUX_BTF_H__ +#include +#define BTF_MAGIC 0xeB9F +#define BTF_VERSION 1 +struct btf_header { + __u16 magic; + __u8 version; + __u8 flags; + __u32 hdr_len; + + __u32 type_off; + __u32 type_len; + __u32 str_off; + __u32 str_len; +}; +#define BTF_MAX_TYPE 0x000fffff +#define BTF_MAX_NAME_OFFSET 0x00ffffff +#define BTF_MAX_VLEN 0xffff +struct btf_type { + __u32 name_off; + + __u32 info; + + union { + __u32 size; + __u32 type; + }; +}; +#define BTF_INFO_KIND(info) (((info) >> 24) & 0x0f) +#define BTF_INFO_VLEN(info) ((info) & 0xffff) +#define BTF_INFO_KFLAG(info) ((info) >> 31) +#define BTF_KIND_UNKN 0 +#define BTF_KIND_INT 1 +#define BTF_KIND_PTR 2 +#define BTF_KIND_ARRAY 3 +#define BTF_KIND_STRUCT 4 +#define BTF_KIND_UNION 5 +#define BTF_KIND_ENUM 6 +#define BTF_KIND_FWD 7 +#define BTF_KIND_TYPEDEF 8 +#define BTF_KIND_VOLATILE 9 +#define BTF_KIND_CONST 10 +#define BTF_KIND_RESTRICT 11 +#define BTF_KIND_FUNC 12 +#define BTF_KIND_FUNC_PROTO 13 +#define BTF_KIND_VAR 14 +#define BTF_KIND_DATASEC 15 +#define BTF_KIND_MAX BTF_KIND_DATASEC +#define NR_BTF_KINDS (BTF_KIND_MAX + 1) +#define BTF_INT_ENCODING(VAL) (((VAL) & 0x0f000000) >> 24) +#define BTF_INT_OFFSET(VAL) (((VAL) & 0x00ff0000) >> 16) +#define BTF_INT_BITS(VAL) ((VAL) & 0x000000ff) +#define BTF_INT_SIGNED (1 << 0) +#define BTF_INT_CHAR (1 << 1) +#define BTF_INT_BOOL (1 << 2) +struct btf_enum { + __u32 name_off; + __s32 val; +}; +struct btf_array { + __u32 type; + __u32 index_type; + __u32 nelems; +}; +struct btf_member { + __u32 name_off; + __u32 type; + + __u32 offset; +}; +#define BTF_MEMBER_BITFIELD_SIZE(val) ((val) >> 24) +#define BTF_MEMBER_BIT_OFFSET(val) ((val) & 0xffffff) +struct btf_param { + __u32 name_off; + __u32 type; +}; +enum { + BTF_VAR_STATIC = 0, + BTF_VAR_GLOBAL_ALLOCATED = 1, + BTF_VAR_GLOBAL_EXTERN = 2, +}; +enum btf_func_linkage { + BTF_FUNC_STATIC = 0, + BTF_FUNC_GLOBAL = 1, + BTF_FUNC_EXTERN = 2, +}; +struct btf_var { + __u32 linkage; +}; +struct btf_var_secinfo { + __u32 type; + __u32 offset; + __u32 size; +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/btrfs.h b/linux-5.10/prebuilts/usr/include/linux/btrfs.h new file mode 100644 index 0000000..8a15b5a --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/btrfs.h @@ -0,0 +1,631 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI_LINUX_BTRFS_H +#define _UAPI_LINUX_BTRFS_H +#include +#include +#define BTRFS_IOCTL_MAGIC 0x94 +#define BTRFS_VOL_NAME_MAX 255 +#define BTRFS_LABEL_SIZE 256 +#define BTRFS_PATH_NAME_MAX 4087 +struct btrfs_ioctl_vol_args { + __s64 fd; + char name[BTRFS_PATH_NAME_MAX + 1]; +}; +#define BTRFS_DEVICE_PATH_NAME_MAX 1024 +#define BTRFS_SUBVOL_NAME_MAX 4039 +#ifndef __KERNEL__ +# define BTRFS_SUBVOL_CREATE_ASYNC (1ULL << 0) +#endif +#define BTRFS_SUBVOL_RDONLY (1ULL << 1) +#define BTRFS_SUBVOL_QGROUP_INHERIT (1ULL << 2) +#define BTRFS_DEVICE_SPEC_BY_ID (1ULL << 3) +#define BTRFS_SUBVOL_SPEC_BY_ID (1ULL << 4) +#define BTRFS_VOL_ARG_V2_FLAGS_SUPPORTED \ + (BTRFS_SUBVOL_RDONLY | \ + BTRFS_SUBVOL_QGROUP_INHERIT | \ + BTRFS_DEVICE_SPEC_BY_ID | \ + BTRFS_SUBVOL_SPEC_BY_ID) +#define BTRFS_FSID_SIZE 16 +#define BTRFS_UUID_SIZE 16 +#define BTRFS_UUID_UNPARSED_SIZE 37 +#define BTRFS_QGROUP_LIMIT_MAX_RFER (1ULL << 0) +#define BTRFS_QGROUP_LIMIT_MAX_EXCL (1ULL << 1) +#define BTRFS_QGROUP_LIMIT_RSV_RFER (1ULL << 2) +#define BTRFS_QGROUP_LIMIT_RSV_EXCL (1ULL << 3) +#define BTRFS_QGROUP_LIMIT_RFER_CMPR (1ULL << 4) +#define BTRFS_QGROUP_LIMIT_EXCL_CMPR (1ULL << 5) +struct btrfs_qgroup_limit { + __u64 flags; + __u64 max_rfer; + __u64 max_excl; + __u64 rsv_rfer; + __u64 rsv_excl; +}; +#define BTRFS_QGROUP_INHERIT_SET_LIMITS (1ULL << 0) +struct btrfs_qgroup_inherit { + __u64 flags; + __u64 num_qgroups; + __u64 num_ref_copies; + __u64 num_excl_copies; + struct btrfs_qgroup_limit lim; + __u64 qgroups[0]; +}; +struct btrfs_ioctl_qgroup_limit_args { + __u64 qgroupid; + struct btrfs_qgroup_limit lim; +}; +#define BTRFS_DEVICE_REMOVE_ARGS_MASK \ + (BTRFS_DEVICE_SPEC_BY_ID) +#define BTRFS_SUBVOL_CREATE_ARGS_MASK \ + (BTRFS_SUBVOL_RDONLY | \ + BTRFS_SUBVOL_QGROUP_INHERIT) +#define BTRFS_SUBVOL_DELETE_ARGS_MASK \ + (BTRFS_SUBVOL_SPEC_BY_ID) +struct btrfs_ioctl_vol_args_v2 { + __s64 fd; + __u64 transid; + __u64 flags; + union { + struct { + __u64 size; + struct btrfs_qgroup_inherit __user *qgroup_inherit; + }; + __u64 unused[4]; + }; + union { + char name[BTRFS_SUBVOL_NAME_MAX + 1]; + __u64 devid; + __u64 subvolid; + }; +}; +struct btrfs_scrub_progress { + __u64 data_extents_scrubbed; + __u64 tree_extents_scrubbed; + __u64 data_bytes_scrubbed; + __u64 tree_bytes_scrubbed; + __u64 read_errors; + __u64 csum_errors; + __u64 verify_errors; + __u64 no_csum; + __u64 csum_discards; + __u64 super_errors; + __u64 malloc_errors; + __u64 uncorrectable_errors; + __u64 corrected_errors; + __u64 last_physical; + __u64 unverified_errors; +}; +#define BTRFS_SCRUB_READONLY 1 +struct btrfs_ioctl_scrub_args { + __u64 devid; + __u64 start; + __u64 end; + __u64 flags; + struct btrfs_scrub_progress progress; + + __u64 unused[(1024-32-sizeof(struct btrfs_scrub_progress))/8]; +}; +#define BTRFS_IOCTL_DEV_REPLACE_CONT_READING_FROM_SRCDEV_MODE_ALWAYS 0 +#define BTRFS_IOCTL_DEV_REPLACE_CONT_READING_FROM_SRCDEV_MODE_AVOID 1 +struct btrfs_ioctl_dev_replace_start_params { + __u64 srcdevid; + __u64 cont_reading_from_srcdev_mode; + __u8 srcdev_name[BTRFS_DEVICE_PATH_NAME_MAX + 1]; + __u8 tgtdev_name[BTRFS_DEVICE_PATH_NAME_MAX + 1]; +}; +#define BTRFS_IOCTL_DEV_REPLACE_STATE_NEVER_STARTED 0 +#define BTRFS_IOCTL_DEV_REPLACE_STATE_STARTED 1 +#define BTRFS_IOCTL_DEV_REPLACE_STATE_FINISHED 2 +#define BTRFS_IOCTL_DEV_REPLACE_STATE_CANCELED 3 +#define BTRFS_IOCTL_DEV_REPLACE_STATE_SUSPENDED 4 +struct btrfs_ioctl_dev_replace_status_params { + __u64 replace_state; + __u64 progress_1000; + __u64 time_started; + __u64 time_stopped; + __u64 num_write_errors; + __u64 num_uncorrectable_read_errors; +}; +#define BTRFS_IOCTL_DEV_REPLACE_CMD_START 0 +#define BTRFS_IOCTL_DEV_REPLACE_CMD_STATUS 1 +#define BTRFS_IOCTL_DEV_REPLACE_CMD_CANCEL 2 +#define BTRFS_IOCTL_DEV_REPLACE_RESULT_NO_ERROR 0 +#define BTRFS_IOCTL_DEV_REPLACE_RESULT_NOT_STARTED 1 +#define BTRFS_IOCTL_DEV_REPLACE_RESULT_ALREADY_STARTED 2 +#define BTRFS_IOCTL_DEV_REPLACE_RESULT_SCRUB_INPROGRESS 3 +struct btrfs_ioctl_dev_replace_args { + __u64 cmd; + __u64 result; + union { + struct btrfs_ioctl_dev_replace_start_params start; + struct btrfs_ioctl_dev_replace_status_params status; + }; + __u64 spare[64]; +}; +struct btrfs_ioctl_dev_info_args { + __u64 devid; + __u8 uuid[BTRFS_UUID_SIZE]; + __u64 bytes_used; + __u64 total_bytes; + __u64 unused[379]; + __u8 path[BTRFS_DEVICE_PATH_NAME_MAX]; +}; +#define BTRFS_FS_INFO_FLAG_CSUM_INFO (1 << 0) +#define BTRFS_FS_INFO_FLAG_GENERATION (1 << 1) +#define BTRFS_FS_INFO_FLAG_METADATA_UUID (1 << 2) +struct btrfs_ioctl_fs_info_args { + __u64 max_id; + __u64 num_devices; + __u8 fsid[BTRFS_FSID_SIZE]; + __u32 nodesize; + __u32 sectorsize; + __u32 clone_alignment; + + __u16 csum_type; + __u16 csum_size; + __u64 flags; + __u64 generation; + __u8 metadata_uuid[BTRFS_FSID_SIZE]; + __u8 reserved[944]; +}; +#define BTRFS_FEATURE_COMPAT_RO_FREE_SPACE_TREE (1ULL << 0) +#define BTRFS_FEATURE_COMPAT_RO_FREE_SPACE_TREE_VALID (1ULL << 1) +#define BTRFS_FEATURE_INCOMPAT_MIXED_BACKREF (1ULL << 0) +#define BTRFS_FEATURE_INCOMPAT_DEFAULT_SUBVOL (1ULL << 1) +#define BTRFS_FEATURE_INCOMPAT_MIXED_GROUPS (1ULL << 2) +#define BTRFS_FEATURE_INCOMPAT_COMPRESS_LZO (1ULL << 3) +#define BTRFS_FEATURE_INCOMPAT_COMPRESS_ZSTD (1ULL << 4) +#define BTRFS_FEATURE_INCOMPAT_BIG_METADATA (1ULL << 5) +#define BTRFS_FEATURE_INCOMPAT_EXTENDED_IREF (1ULL << 6) +#define BTRFS_FEATURE_INCOMPAT_RAID56 (1ULL << 7) +#define BTRFS_FEATURE_INCOMPAT_SKINNY_METADATA (1ULL << 8) +#define BTRFS_FEATURE_INCOMPAT_NO_HOLES (1ULL << 9) +#define BTRFS_FEATURE_INCOMPAT_METADATA_UUID (1ULL << 10) +#define BTRFS_FEATURE_INCOMPAT_RAID1C34 (1ULL << 11) +struct btrfs_ioctl_feature_flags { + __u64 compat_flags; + __u64 compat_ro_flags; + __u64 incompat_flags; +}; +#define BTRFS_BALANCE_CTL_PAUSE 1 +#define BTRFS_BALANCE_CTL_CANCEL 2 +struct btrfs_balance_args { + __u64 profiles; + union { + __u64 usage; + struct { + __u32 usage_min; + __u32 usage_max; + }; + }; + __u64 devid; + __u64 pstart; + __u64 pend; + __u64 vstart; + __u64 vend; + __u64 target; + __u64 flags; + + union { + __u64 limit; + struct { + __u32 limit_min; + __u32 limit_max; + }; + }; + + __u32 stripes_min; + __u32 stripes_max; + __u64 unused[6]; +} __attribute__ ((__packed__)); +struct btrfs_balance_progress { + __u64 expected; + __u64 considered; + __u64 completed; +}; +#define BTRFS_BALANCE_DATA (1ULL << 0) +#define BTRFS_BALANCE_SYSTEM (1ULL << 1) +#define BTRFS_BALANCE_METADATA (1ULL << 2) +#define BTRFS_BALANCE_TYPE_MASK (BTRFS_BALANCE_DATA | \ + BTRFS_BALANCE_SYSTEM | \ + BTRFS_BALANCE_METADATA) +#define BTRFS_BALANCE_FORCE (1ULL << 3) +#define BTRFS_BALANCE_RESUME (1ULL << 4) +#define BTRFS_BALANCE_ARGS_PROFILES (1ULL << 0) +#define BTRFS_BALANCE_ARGS_USAGE (1ULL << 1) +#define BTRFS_BALANCE_ARGS_DEVID (1ULL << 2) +#define BTRFS_BALANCE_ARGS_DRANGE (1ULL << 3) +#define BTRFS_BALANCE_ARGS_VRANGE (1ULL << 4) +#define BTRFS_BALANCE_ARGS_LIMIT (1ULL << 5) +#define BTRFS_BALANCE_ARGS_LIMIT_RANGE (1ULL << 6) +#define BTRFS_BALANCE_ARGS_STRIPES_RANGE (1ULL << 7) +#define BTRFS_BALANCE_ARGS_USAGE_RANGE (1ULL << 10) +#define BTRFS_BALANCE_ARGS_MASK \ + (BTRFS_BALANCE_ARGS_PROFILES | \ + BTRFS_BALANCE_ARGS_USAGE | \ + BTRFS_BALANCE_ARGS_DEVID | \ + BTRFS_BALANCE_ARGS_DRANGE | \ + BTRFS_BALANCE_ARGS_VRANGE | \ + BTRFS_BALANCE_ARGS_LIMIT | \ + BTRFS_BALANCE_ARGS_LIMIT_RANGE | \ + BTRFS_BALANCE_ARGS_STRIPES_RANGE | \ + BTRFS_BALANCE_ARGS_USAGE_RANGE) +#define BTRFS_BALANCE_ARGS_CONVERT (1ULL << 8) +#define BTRFS_BALANCE_ARGS_SOFT (1ULL << 9) +#define BTRFS_BALANCE_STATE_RUNNING (1ULL << 0) +#define BTRFS_BALANCE_STATE_PAUSE_REQ (1ULL << 1) +#define BTRFS_BALANCE_STATE_CANCEL_REQ (1ULL << 2) +struct btrfs_ioctl_balance_args { + __u64 flags; + __u64 state; + struct btrfs_balance_args data; + struct btrfs_balance_args meta; + struct btrfs_balance_args sys; + struct btrfs_balance_progress stat; + __u64 unused[72]; +}; +#define BTRFS_INO_LOOKUP_PATH_MAX 4080 +struct btrfs_ioctl_ino_lookup_args { + __u64 treeid; + __u64 objectid; + char name[BTRFS_INO_LOOKUP_PATH_MAX]; +}; +#define BTRFS_INO_LOOKUP_USER_PATH_MAX (4080 - BTRFS_VOL_NAME_MAX - 1) +struct btrfs_ioctl_ino_lookup_user_args { + + __u64 dirid; + + __u64 treeid; + + char name[BTRFS_VOL_NAME_MAX + 1]; + + char path[BTRFS_INO_LOOKUP_USER_PATH_MAX]; +}; +struct btrfs_ioctl_search_key { + + __u64 tree_id; + + __u64 min_objectid; + __u64 max_objectid; + __u64 min_offset; + __u64 max_offset; + __u64 min_transid; + __u64 max_transid; + __u32 min_type; + __u32 max_type; + + __u32 nr_items; + + __u32 unused; + + __u64 unused1; + __u64 unused2; + __u64 unused3; + __u64 unused4; +}; +struct btrfs_ioctl_search_header { + __u64 transid; + __u64 objectid; + __u64 offset; + __u32 type; + __u32 len; +}; +#define BTRFS_SEARCH_ARGS_BUFSIZE (4096 - sizeof(struct btrfs_ioctl_search_key)) +struct btrfs_ioctl_search_args { + struct btrfs_ioctl_search_key key; + char buf[BTRFS_SEARCH_ARGS_BUFSIZE]; +}; +struct btrfs_ioctl_search_args_v2 { + struct btrfs_ioctl_search_key key; + __u64 buf_size; + __u64 buf[0]; +}; +struct btrfs_ioctl_clone_range_args { + __s64 src_fd; + __u64 src_offset, src_length; + __u64 dest_offset; +}; +#define BTRFS_DEFRAG_RANGE_COMPRESS 1 +#define BTRFS_DEFRAG_RANGE_START_IO 2 +struct btrfs_ioctl_defrag_range_args { + + __u64 start; + + __u64 len; + + __u64 flags; + + __u32 extent_thresh; + + __u32 compress_type; + + __u32 unused[4]; +}; +#define BTRFS_SAME_DATA_DIFFERS 1 +struct btrfs_ioctl_same_extent_info { + __s64 fd; + __u64 logical_offset; + __u64 bytes_deduped; + + __s32 status; + __u32 reserved; +}; +struct btrfs_ioctl_same_args { + __u64 logical_offset; + __u64 length; + __u16 dest_count; + __u16 reserved1; + __u32 reserved2; + struct btrfs_ioctl_same_extent_info info[0]; +}; +struct btrfs_ioctl_space_info { + __u64 flags; + __u64 total_bytes; + __u64 used_bytes; +}; +struct btrfs_ioctl_space_args { + __u64 space_slots; + __u64 total_spaces; + struct btrfs_ioctl_space_info spaces[0]; +}; +struct btrfs_data_container { + __u32 bytes_left; + __u32 bytes_missing; + __u32 elem_cnt; + __u32 elem_missed; + __u64 val[0]; +}; +struct btrfs_ioctl_ino_path_args { + __u64 inum; + __u64 size; + __u64 reserved[4]; + + __u64 fspath; +}; +struct btrfs_ioctl_logical_ino_args { + __u64 logical; + __u64 size; + __u64 reserved[3]; + __u64 flags; + + __u64 inodes; +}; +#define BTRFS_LOGICAL_INO_ARGS_IGNORE_OFFSET (1ULL << 0) +enum btrfs_dev_stat_values { + + BTRFS_DEV_STAT_WRITE_ERRS, + BTRFS_DEV_STAT_READ_ERRS, + BTRFS_DEV_STAT_FLUSH_ERRS, + + BTRFS_DEV_STAT_CORRUPTION_ERRS, + BTRFS_DEV_STAT_GENERATION_ERRS, + BTRFS_DEV_STAT_VALUES_MAX +}; +#define BTRFS_DEV_STATS_RESET (1ULL << 0) +struct btrfs_ioctl_get_dev_stats { + __u64 devid; + __u64 nr_items; + __u64 flags; + + __u64 values[BTRFS_DEV_STAT_VALUES_MAX]; + + __u64 unused[128 - 2 - BTRFS_DEV_STAT_VALUES_MAX]; +}; +#define BTRFS_QUOTA_CTL_ENABLE 1 +#define BTRFS_QUOTA_CTL_DISABLE 2 +#define BTRFS_QUOTA_CTL_RESCAN__NOTUSED 3 +struct btrfs_ioctl_quota_ctl_args { + __u64 cmd; + __u64 status; +}; +struct btrfs_ioctl_quota_rescan_args { + __u64 flags; + __u64 progress; + __u64 reserved[6]; +}; +struct btrfs_ioctl_qgroup_assign_args { + __u64 assign; + __u64 src; + __u64 dst; +}; +struct btrfs_ioctl_qgroup_create_args { + __u64 create; + __u64 qgroupid; +}; +struct btrfs_ioctl_timespec { + __u64 sec; + __u32 nsec; +}; +struct btrfs_ioctl_received_subvol_args { + char uuid[BTRFS_UUID_SIZE]; + __u64 stransid; + __u64 rtransid; + struct btrfs_ioctl_timespec stime; + struct btrfs_ioctl_timespec rtime; + __u64 flags; + __u64 reserved[16]; +}; +#define BTRFS_SEND_FLAG_NO_FILE_DATA 0x1 +#define BTRFS_SEND_FLAG_OMIT_STREAM_HEADER 0x2 +#define BTRFS_SEND_FLAG_OMIT_END_CMD 0x4 +#define BTRFS_SEND_FLAG_MASK \ + (BTRFS_SEND_FLAG_NO_FILE_DATA | \ + BTRFS_SEND_FLAG_OMIT_STREAM_HEADER | \ + BTRFS_SEND_FLAG_OMIT_END_CMD) +struct btrfs_ioctl_send_args { + __s64 send_fd; + __u64 clone_sources_count; + __u64 __user *clone_sources; + __u64 parent_root; + __u64 flags; + __u64 reserved[4]; +}; +struct btrfs_ioctl_get_subvol_info_args { + + __u64 treeid; + + char name[BTRFS_VOL_NAME_MAX + 1]; + + __u64 parent_id; + + __u64 dirid; + + __u64 generation; + + __u64 flags; + + __u8 uuid[BTRFS_UUID_SIZE]; + + __u8 parent_uuid[BTRFS_UUID_SIZE]; + + __u8 received_uuid[BTRFS_UUID_SIZE]; + + __u64 ctransid; + __u64 otransid; + __u64 stransid; + __u64 rtransid; + + struct btrfs_ioctl_timespec ctime; + struct btrfs_ioctl_timespec otime; + struct btrfs_ioctl_timespec stime; + struct btrfs_ioctl_timespec rtime; + + __u64 reserved[8]; +}; +#define BTRFS_MAX_ROOTREF_BUFFER_NUM 255 +struct btrfs_ioctl_get_subvol_rootref_args { + + __u64 min_treeid; + + struct { + __u64 treeid; + __u64 dirid; + } rootref[BTRFS_MAX_ROOTREF_BUFFER_NUM]; + + __u8 num_items; + __u8 align[7]; +}; +enum btrfs_err_code { + BTRFS_ERROR_DEV_RAID1_MIN_NOT_MET = 1, + BTRFS_ERROR_DEV_RAID10_MIN_NOT_MET, + BTRFS_ERROR_DEV_RAID5_MIN_NOT_MET, + BTRFS_ERROR_DEV_RAID6_MIN_NOT_MET, + BTRFS_ERROR_DEV_TGT_REPLACE, + BTRFS_ERROR_DEV_MISSING_NOT_FOUND, + BTRFS_ERROR_DEV_ONLY_WRITABLE, + BTRFS_ERROR_DEV_EXCL_RUN_IN_PROGRESS, + BTRFS_ERROR_DEV_RAID1C3_MIN_NOT_MET, + BTRFS_ERROR_DEV_RAID1C4_MIN_NOT_MET, +}; +#define BTRFS_IOC_SNAP_CREATE _IOW(BTRFS_IOCTL_MAGIC, 1, \ + struct btrfs_ioctl_vol_args) +#define BTRFS_IOC_DEFRAG _IOW(BTRFS_IOCTL_MAGIC, 2, \ + struct btrfs_ioctl_vol_args) +#define BTRFS_IOC_RESIZE _IOW(BTRFS_IOCTL_MAGIC, 3, \ + struct btrfs_ioctl_vol_args) +#define BTRFS_IOC_SCAN_DEV _IOW(BTRFS_IOCTL_MAGIC, 4, \ + struct btrfs_ioctl_vol_args) +#define BTRFS_IOC_FORGET_DEV _IOW(BTRFS_IOCTL_MAGIC, 5, \ + struct btrfs_ioctl_vol_args) +#define BTRFS_IOC_TRANS_START _IO(BTRFS_IOCTL_MAGIC, 6) +#define BTRFS_IOC_TRANS_END _IO(BTRFS_IOCTL_MAGIC, 7) +#define BTRFS_IOC_SYNC _IO(BTRFS_IOCTL_MAGIC, 8) +#define BTRFS_IOC_CLONE _IOW(BTRFS_IOCTL_MAGIC, 9, int) +#define BTRFS_IOC_ADD_DEV _IOW(BTRFS_IOCTL_MAGIC, 10, \ + struct btrfs_ioctl_vol_args) +#define BTRFS_IOC_RM_DEV _IOW(BTRFS_IOCTL_MAGIC, 11, \ + struct btrfs_ioctl_vol_args) +#define BTRFS_IOC_BALANCE _IOW(BTRFS_IOCTL_MAGIC, 12, \ + struct btrfs_ioctl_vol_args) +#define BTRFS_IOC_CLONE_RANGE _IOW(BTRFS_IOCTL_MAGIC, 13, \ + struct btrfs_ioctl_clone_range_args) +#define BTRFS_IOC_SUBVOL_CREATE _IOW(BTRFS_IOCTL_MAGIC, 14, \ + struct btrfs_ioctl_vol_args) +#define BTRFS_IOC_SNAP_DESTROY _IOW(BTRFS_IOCTL_MAGIC, 15, \ + struct btrfs_ioctl_vol_args) +#define BTRFS_IOC_DEFRAG_RANGE _IOW(BTRFS_IOCTL_MAGIC, 16, \ + struct btrfs_ioctl_defrag_range_args) +#define BTRFS_IOC_TREE_SEARCH _IOWR(BTRFS_IOCTL_MAGIC, 17, \ + struct btrfs_ioctl_search_args) +#define BTRFS_IOC_TREE_SEARCH_V2 _IOWR(BTRFS_IOCTL_MAGIC, 17, \ + struct btrfs_ioctl_search_args_v2) +#define BTRFS_IOC_INO_LOOKUP _IOWR(BTRFS_IOCTL_MAGIC, 18, \ + struct btrfs_ioctl_ino_lookup_args) +#define BTRFS_IOC_DEFAULT_SUBVOL _IOW(BTRFS_IOCTL_MAGIC, 19, __u64) +#define BTRFS_IOC_SPACE_INFO _IOWR(BTRFS_IOCTL_MAGIC, 20, \ + struct btrfs_ioctl_space_args) +#define BTRFS_IOC_START_SYNC _IOR(BTRFS_IOCTL_MAGIC, 24, __u64) +#define BTRFS_IOC_WAIT_SYNC _IOW(BTRFS_IOCTL_MAGIC, 22, __u64) +#define BTRFS_IOC_SNAP_CREATE_V2 _IOW(BTRFS_IOCTL_MAGIC, 23, \ + struct btrfs_ioctl_vol_args_v2) +#define BTRFS_IOC_SUBVOL_CREATE_V2 _IOW(BTRFS_IOCTL_MAGIC, 24, \ + struct btrfs_ioctl_vol_args_v2) +#define BTRFS_IOC_SUBVOL_GETFLAGS _IOR(BTRFS_IOCTL_MAGIC, 25, __u64) +#define BTRFS_IOC_SUBVOL_SETFLAGS _IOW(BTRFS_IOCTL_MAGIC, 26, __u64) +#define BTRFS_IOC_SCRUB _IOWR(BTRFS_IOCTL_MAGIC, 27, \ + struct btrfs_ioctl_scrub_args) +#define BTRFS_IOC_SCRUB_CANCEL _IO(BTRFS_IOCTL_MAGIC, 28) +#define BTRFS_IOC_SCRUB_PROGRESS _IOWR(BTRFS_IOCTL_MAGIC, 29, \ + struct btrfs_ioctl_scrub_args) +#define BTRFS_IOC_DEV_INFO _IOWR(BTRFS_IOCTL_MAGIC, 30, \ + struct btrfs_ioctl_dev_info_args) +#define BTRFS_IOC_FS_INFO _IOR(BTRFS_IOCTL_MAGIC, 31, \ + struct btrfs_ioctl_fs_info_args) +#define BTRFS_IOC_BALANCE_V2 _IOWR(BTRFS_IOCTL_MAGIC, 32, \ + struct btrfs_ioctl_balance_args) +#define BTRFS_IOC_BALANCE_CTL _IOW(BTRFS_IOCTL_MAGIC, 33, int) +#define BTRFS_IOC_BALANCE_PROGRESS _IOR(BTRFS_IOCTL_MAGIC, 34, \ + struct btrfs_ioctl_balance_args) +#define BTRFS_IOC_INO_PATHS _IOWR(BTRFS_IOCTL_MAGIC, 35, \ + struct btrfs_ioctl_ino_path_args) +#define BTRFS_IOC_LOGICAL_INO _IOWR(BTRFS_IOCTL_MAGIC, 36, \ + struct btrfs_ioctl_logical_ino_args) +#define BTRFS_IOC_SET_RECEIVED_SUBVOL _IOWR(BTRFS_IOCTL_MAGIC, 37, \ + struct btrfs_ioctl_received_subvol_args) +#define BTRFS_IOC_SEND _IOW(BTRFS_IOCTL_MAGIC, 38, struct btrfs_ioctl_send_args) +#define BTRFS_IOC_DEVICES_READY _IOR(BTRFS_IOCTL_MAGIC, 39, \ + struct btrfs_ioctl_vol_args) +#define BTRFS_IOC_QUOTA_CTL _IOWR(BTRFS_IOCTL_MAGIC, 40, \ + struct btrfs_ioctl_quota_ctl_args) +#define BTRFS_IOC_QGROUP_ASSIGN _IOW(BTRFS_IOCTL_MAGIC, 41, \ + struct btrfs_ioctl_qgroup_assign_args) +#define BTRFS_IOC_QGROUP_CREATE _IOW(BTRFS_IOCTL_MAGIC, 42, \ + struct btrfs_ioctl_qgroup_create_args) +#define BTRFS_IOC_QGROUP_LIMIT _IOR(BTRFS_IOCTL_MAGIC, 43, \ + struct btrfs_ioctl_qgroup_limit_args) +#define BTRFS_IOC_QUOTA_RESCAN _IOW(BTRFS_IOCTL_MAGIC, 44, \ + struct btrfs_ioctl_quota_rescan_args) +#define BTRFS_IOC_QUOTA_RESCAN_STATUS _IOR(BTRFS_IOCTL_MAGIC, 45, \ + struct btrfs_ioctl_quota_rescan_args) +#define BTRFS_IOC_QUOTA_RESCAN_WAIT _IO(BTRFS_IOCTL_MAGIC, 46) +#define BTRFS_IOC_GET_FSLABEL FS_IOC_GETFSLABEL +#define BTRFS_IOC_SET_FSLABEL FS_IOC_SETFSLABEL +#define BTRFS_IOC_GET_DEV_STATS _IOWR(BTRFS_IOCTL_MAGIC, 52, \ + struct btrfs_ioctl_get_dev_stats) +#define BTRFS_IOC_DEV_REPLACE _IOWR(BTRFS_IOCTL_MAGIC, 53, \ + struct btrfs_ioctl_dev_replace_args) +#define BTRFS_IOC_FILE_EXTENT_SAME _IOWR(BTRFS_IOCTL_MAGIC, 54, \ + struct btrfs_ioctl_same_args) +#define BTRFS_IOC_GET_FEATURES _IOR(BTRFS_IOCTL_MAGIC, 57, \ + struct btrfs_ioctl_feature_flags) +#define BTRFS_IOC_SET_FEATURES _IOW(BTRFS_IOCTL_MAGIC, 57, \ + struct btrfs_ioctl_feature_flags[2]) +#define BTRFS_IOC_GET_SUPPORTED_FEATURES _IOR(BTRFS_IOCTL_MAGIC, 57, \ + struct btrfs_ioctl_feature_flags[3]) +#define BTRFS_IOC_RM_DEV_V2 _IOW(BTRFS_IOCTL_MAGIC, 58, \ + struct btrfs_ioctl_vol_args_v2) +#define BTRFS_IOC_LOGICAL_INO_V2 _IOWR(BTRFS_IOCTL_MAGIC, 59, \ + struct btrfs_ioctl_logical_ino_args) +#define BTRFS_IOC_GET_SUBVOL_INFO _IOR(BTRFS_IOCTL_MAGIC, 60, \ + struct btrfs_ioctl_get_subvol_info_args) +#define BTRFS_IOC_GET_SUBVOL_ROOTREF _IOWR(BTRFS_IOCTL_MAGIC, 61, \ + struct btrfs_ioctl_get_subvol_rootref_args) +#define BTRFS_IOC_INO_LOOKUP_USER _IOWR(BTRFS_IOCTL_MAGIC, 62, \ + struct btrfs_ioctl_ino_lookup_user_args) +#define BTRFS_IOC_SNAP_DESTROY_V2 _IOW(BTRFS_IOCTL_MAGIC, 63, \ + struct btrfs_ioctl_vol_args_v2) +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/btrfs_tree.h b/linux-5.10/prebuilts/usr/include/linux/btrfs_tree.h new file mode 100644 index 0000000..9dc8bbd --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/btrfs_tree.h @@ -0,0 +1,502 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _BTRFS_CTREE_H_ +#define _BTRFS_CTREE_H_ +#include +#include +#ifdef __KERNEL__ +#include +#else +#include +#endif +#define BTRFS_ROOT_TREE_OBJECTID 1ULL +#define BTRFS_EXTENT_TREE_OBJECTID 2ULL +#define BTRFS_CHUNK_TREE_OBJECTID 3ULL +#define BTRFS_DEV_TREE_OBJECTID 4ULL +#define BTRFS_FS_TREE_OBJECTID 5ULL +#define BTRFS_ROOT_TREE_DIR_OBJECTID 6ULL +#define BTRFS_CSUM_TREE_OBJECTID 7ULL +#define BTRFS_QUOTA_TREE_OBJECTID 8ULL +#define BTRFS_UUID_TREE_OBJECTID 9ULL +#define BTRFS_FREE_SPACE_TREE_OBJECTID 10ULL +#define BTRFS_DEV_STATS_OBJECTID 0ULL +#define BTRFS_BALANCE_OBJECTID -4ULL +#define BTRFS_ORPHAN_OBJECTID -5ULL +#define BTRFS_TREE_LOG_OBJECTID -6ULL +#define BTRFS_TREE_LOG_FIXUP_OBJECTID -7ULL +#define BTRFS_TREE_RELOC_OBJECTID -8ULL +#define BTRFS_DATA_RELOC_TREE_OBJECTID -9ULL +#define BTRFS_EXTENT_CSUM_OBJECTID -10ULL +#define BTRFS_FREE_SPACE_OBJECTID -11ULL +#define BTRFS_FREE_INO_OBJECTID -12ULL +#define BTRFS_MULTIPLE_OBJECTIDS -255ULL +#define BTRFS_FIRST_FREE_OBJECTID 256ULL +#define BTRFS_LAST_FREE_OBJECTID -256ULL +#define BTRFS_FIRST_CHUNK_TREE_OBJECTID 256ULL +#define BTRFS_DEV_ITEMS_OBJECTID 1ULL +#define BTRFS_BTREE_INODE_OBJECTID 1 +#define BTRFS_EMPTY_SUBVOL_DIR_OBJECTID 2 +#define BTRFS_DEV_REPLACE_DEVID 0ULL +#define BTRFS_INODE_ITEM_KEY 1 +#define BTRFS_INODE_REF_KEY 12 +#define BTRFS_INODE_EXTREF_KEY 13 +#define BTRFS_XATTR_ITEM_KEY 24 +#define BTRFS_ORPHAN_ITEM_KEY 48 +#define BTRFS_DIR_LOG_ITEM_KEY 60 +#define BTRFS_DIR_LOG_INDEX_KEY 72 +#define BTRFS_DIR_ITEM_KEY 84 +#define BTRFS_DIR_INDEX_KEY 96 +#define BTRFS_EXTENT_DATA_KEY 108 +#define BTRFS_EXTENT_CSUM_KEY 128 +#define BTRFS_ROOT_ITEM_KEY 132 +#define BTRFS_ROOT_BACKREF_KEY 144 +#define BTRFS_ROOT_REF_KEY 156 +#define BTRFS_EXTENT_ITEM_KEY 168 +#define BTRFS_METADATA_ITEM_KEY 169 +#define BTRFS_TREE_BLOCK_REF_KEY 176 +#define BTRFS_EXTENT_DATA_REF_KEY 178 +#define BTRFS_EXTENT_REF_V0_KEY 180 +#define BTRFS_SHARED_BLOCK_REF_KEY 182 +#define BTRFS_SHARED_DATA_REF_KEY 184 +#define BTRFS_BLOCK_GROUP_ITEM_KEY 192 +#define BTRFS_FREE_SPACE_INFO_KEY 198 +#define BTRFS_FREE_SPACE_EXTENT_KEY 199 +#define BTRFS_FREE_SPACE_BITMAP_KEY 200 +#define BTRFS_DEV_EXTENT_KEY 204 +#define BTRFS_DEV_ITEM_KEY 216 +#define BTRFS_CHUNK_ITEM_KEY 228 +#define BTRFS_QGROUP_STATUS_KEY 240 +#define BTRFS_QGROUP_INFO_KEY 242 +#define BTRFS_QGROUP_LIMIT_KEY 244 +#define BTRFS_QGROUP_RELATION_KEY 246 +#define BTRFS_BALANCE_ITEM_KEY 248 +#define BTRFS_TEMPORARY_ITEM_KEY 248 +#define BTRFS_DEV_STATS_KEY 249 +#define BTRFS_PERSISTENT_ITEM_KEY 249 +#define BTRFS_DEV_REPLACE_KEY 250 +#if BTRFS_UUID_SIZE != 16 +#error "UUID items require BTRFS_UUID_SIZE == 16!" +#endif +#define BTRFS_UUID_KEY_SUBVOL 251 +#define BTRFS_UUID_KEY_RECEIVED_SUBVOL 252 +#define BTRFS_STRING_ITEM_KEY 253 +#define BTRFS_CSUM_SIZE 32 +enum btrfs_csum_type { + BTRFS_CSUM_TYPE_CRC32 = 0, + BTRFS_CSUM_TYPE_XXHASH = 1, + BTRFS_CSUM_TYPE_SHA256 = 2, + BTRFS_CSUM_TYPE_BLAKE2 = 3, +}; +#define BTRFS_FT_UNKNOWN 0 +#define BTRFS_FT_REG_FILE 1 +#define BTRFS_FT_DIR 2 +#define BTRFS_FT_CHRDEV 3 +#define BTRFS_FT_BLKDEV 4 +#define BTRFS_FT_FIFO 5 +#define BTRFS_FT_SOCK 6 +#define BTRFS_FT_SYMLINK 7 +#define BTRFS_FT_XATTR 8 +#define BTRFS_FT_MAX 9 +struct btrfs_disk_key { + __le64 objectid; + __u8 type; + __le64 offset; +} __attribute__ ((__packed__)); +struct btrfs_key { + __u64 objectid; + __u8 type; + __u64 offset; +} __attribute__ ((__packed__)); +struct btrfs_dev_item { + + __le64 devid; + + __le64 total_bytes; + + __le64 bytes_used; + + __le32 io_align; + + __le32 io_width; + + __le32 sector_size; + + __le64 type; + + __le64 generation; + + __le64 start_offset; + + __le32 dev_group; + + __u8 seek_speed; + + __u8 bandwidth; + + __u8 uuid[BTRFS_UUID_SIZE]; + + __u8 fsid[BTRFS_UUID_SIZE]; +} __attribute__ ((__packed__)); +struct btrfs_stripe { + __le64 devid; + __le64 offset; + __u8 dev_uuid[BTRFS_UUID_SIZE]; +} __attribute__ ((__packed__)); +struct btrfs_chunk { + + __le64 length; + + __le64 owner; + __le64 stripe_len; + __le64 type; + + __le32 io_align; + + __le32 io_width; + + __le32 sector_size; + + __le16 num_stripes; + + __le16 sub_stripes; + struct btrfs_stripe stripe; + +} __attribute__ ((__packed__)); +#define BTRFS_FREE_SPACE_EXTENT 1 +#define BTRFS_FREE_SPACE_BITMAP 2 +struct btrfs_free_space_entry { + __le64 offset; + __le64 bytes; + __u8 type; +} __attribute__ ((__packed__)); +struct btrfs_free_space_header { + struct btrfs_disk_key location; + __le64 generation; + __le64 num_entries; + __le64 num_bitmaps; +} __attribute__ ((__packed__)); +#define BTRFS_HEADER_FLAG_WRITTEN (1ULL << 0) +#define BTRFS_HEADER_FLAG_RELOC (1ULL << 1) +#define BTRFS_SUPER_FLAG_ERROR (1ULL << 2) +#define BTRFS_SUPER_FLAG_SEEDING (1ULL << 32) +#define BTRFS_SUPER_FLAG_METADUMP (1ULL << 33) +#define BTRFS_SUPER_FLAG_METADUMP_V2 (1ULL << 34) +#define BTRFS_SUPER_FLAG_CHANGING_FSID (1ULL << 35) +#define BTRFS_SUPER_FLAG_CHANGING_FSID_V2 (1ULL << 36) +struct btrfs_extent_item { + __le64 refs; + __le64 generation; + __le64 flags; +} __attribute__ ((__packed__)); +struct btrfs_extent_item_v0 { + __le32 refs; +} __attribute__ ((__packed__)); +#define BTRFS_EXTENT_FLAG_DATA (1ULL << 0) +#define BTRFS_EXTENT_FLAG_TREE_BLOCK (1ULL << 1) +#define BTRFS_BLOCK_FLAG_FULL_BACKREF (1ULL << 8) +#define BTRFS_EXTENT_FLAG_SUPER (1ULL << 48) +struct btrfs_tree_block_info { + struct btrfs_disk_key key; + __u8 level; +} __attribute__ ((__packed__)); +struct btrfs_extent_data_ref { + __le64 root; + __le64 objectid; + __le64 offset; + __le32 count; +} __attribute__ ((__packed__)); +struct btrfs_shared_data_ref { + __le32 count; +} __attribute__ ((__packed__)); +struct btrfs_extent_inline_ref { + __u8 type; + __le64 offset; +} __attribute__ ((__packed__)); +struct btrfs_dev_extent { + __le64 chunk_tree; + __le64 chunk_objectid; + __le64 chunk_offset; + __le64 length; + __u8 chunk_tree_uuid[BTRFS_UUID_SIZE]; +} __attribute__ ((__packed__)); +struct btrfs_inode_ref { + __le64 index; + __le16 name_len; + +} __attribute__ ((__packed__)); +struct btrfs_inode_extref { + __le64 parent_objectid; + __le64 index; + __le16 name_len; + __u8 name[0]; + +} __attribute__ ((__packed__)); +struct btrfs_timespec { + __le64 sec; + __le32 nsec; +} __attribute__ ((__packed__)); +struct btrfs_inode_item { + + __le64 generation; + + __le64 transid; + __le64 size; + __le64 nbytes; + __le64 block_group; + __le32 nlink; + __le32 uid; + __le32 gid; + __le32 mode; + __le64 rdev; + __le64 flags; + + __le64 sequence; + + __le64 reserved[4]; + struct btrfs_timespec atime; + struct btrfs_timespec ctime; + struct btrfs_timespec mtime; + struct btrfs_timespec otime; +} __attribute__ ((__packed__)); +struct btrfs_dir_log_item { + __le64 end; +} __attribute__ ((__packed__)); +struct btrfs_dir_item { + struct btrfs_disk_key location; + __le64 transid; + __le16 data_len; + __le16 name_len; + __u8 type; +} __attribute__ ((__packed__)); +#define BTRFS_ROOT_SUBVOL_RDONLY (1ULL << 0) +#define BTRFS_ROOT_SUBVOL_DEAD (1ULL << 48) +struct btrfs_root_item { + struct btrfs_inode_item inode; + __le64 generation; + __le64 root_dirid; + __le64 bytenr; + __le64 byte_limit; + __le64 bytes_used; + __le64 last_snapshot; + __le64 flags; + __le32 refs; + struct btrfs_disk_key drop_progress; + __u8 drop_level; + __u8 level; + + + __le64 generation_v2; + __u8 uuid[BTRFS_UUID_SIZE]; + __u8 parent_uuid[BTRFS_UUID_SIZE]; + __u8 received_uuid[BTRFS_UUID_SIZE]; + __le64 ctransid; + __le64 otransid; + __le64 stransid; + __le64 rtransid; + struct btrfs_timespec ctime; + struct btrfs_timespec otime; + struct btrfs_timespec stime; + struct btrfs_timespec rtime; + __le64 reserved[8]; +} __attribute__ ((__packed__)); +static inline __u32 btrfs_legacy_root_item_size(void) +{ + return offsetof(struct btrfs_root_item, generation_v2); +} +struct btrfs_root_ref { + __le64 dirid; + __le64 sequence; + __le16 name_len; +} __attribute__ ((__packed__)); +struct btrfs_disk_balance_args { + + __le64 profiles; + + union { + __le64 usage; + struct { + __le32 usage_min; + __le32 usage_max; + }; + }; + + __le64 devid; + + __le64 pstart; + __le64 pend; + + __le64 vstart; + __le64 vend; + + __le64 target; + + __le64 flags; + + union { + __le64 limit; + struct { + __le32 limit_min; + __le32 limit_max; + }; + }; + + __le32 stripes_min; + __le32 stripes_max; + __le64 unused[6]; +} __attribute__ ((__packed__)); +struct btrfs_balance_item { + + __le64 flags; + struct btrfs_disk_balance_args data; + struct btrfs_disk_balance_args meta; + struct btrfs_disk_balance_args sys; + __le64 unused[4]; +} __attribute__ ((__packed__)); +enum { + BTRFS_FILE_EXTENT_INLINE = 0, + BTRFS_FILE_EXTENT_REG = 1, + BTRFS_FILE_EXTENT_PREALLOC = 2, + BTRFS_NR_FILE_EXTENT_TYPES = 3, +}; +struct btrfs_file_extent_item { + + __le64 generation; + + __le64 ram_bytes; + + __u8 compression; + __u8 encryption; + __le16 other_encoding; + + __u8 type; + + __le64 disk_bytenr; + __le64 disk_num_bytes; + + __le64 offset; + + __le64 num_bytes; +} __attribute__ ((__packed__)); +struct btrfs_csum_item { + __u8 csum; +} __attribute__ ((__packed__)); +struct btrfs_dev_stats_item { + + __le64 values[BTRFS_DEV_STAT_VALUES_MAX]; +} __attribute__ ((__packed__)); +#define BTRFS_DEV_REPLACE_ITEM_CONT_READING_FROM_SRCDEV_MODE_ALWAYS 0 +#define BTRFS_DEV_REPLACE_ITEM_CONT_READING_FROM_SRCDEV_MODE_AVOID 1 +struct btrfs_dev_replace_item { + + __le64 src_devid; + __le64 cursor_left; + __le64 cursor_right; + __le64 cont_reading_from_srcdev_mode; + __le64 replace_state; + __le64 time_started; + __le64 time_stopped; + __le64 num_write_errors; + __le64 num_uncorrectable_read_errors; +} __attribute__ ((__packed__)); +#define BTRFS_BLOCK_GROUP_DATA (1ULL << 0) +#define BTRFS_BLOCK_GROUP_SYSTEM (1ULL << 1) +#define BTRFS_BLOCK_GROUP_METADATA (1ULL << 2) +#define BTRFS_BLOCK_GROUP_RAID0 (1ULL << 3) +#define BTRFS_BLOCK_GROUP_RAID1 (1ULL << 4) +#define BTRFS_BLOCK_GROUP_DUP (1ULL << 5) +#define BTRFS_BLOCK_GROUP_RAID10 (1ULL << 6) +#define BTRFS_BLOCK_GROUP_RAID5 (1ULL << 7) +#define BTRFS_BLOCK_GROUP_RAID6 (1ULL << 8) +#define BTRFS_BLOCK_GROUP_RAID1C3 (1ULL << 9) +#define BTRFS_BLOCK_GROUP_RAID1C4 (1ULL << 10) +#define BTRFS_BLOCK_GROUP_RESERVED (BTRFS_AVAIL_ALLOC_BIT_SINGLE | \ + BTRFS_SPACE_INFO_GLOBAL_RSV) +enum btrfs_raid_types { + BTRFS_RAID_RAID10, + BTRFS_RAID_RAID1, + BTRFS_RAID_DUP, + BTRFS_RAID_RAID0, + BTRFS_RAID_SINGLE, + BTRFS_RAID_RAID5, + BTRFS_RAID_RAID6, + BTRFS_RAID_RAID1C3, + BTRFS_RAID_RAID1C4, + BTRFS_NR_RAID_TYPES +}; +#define BTRFS_BLOCK_GROUP_TYPE_MASK (BTRFS_BLOCK_GROUP_DATA | \ + BTRFS_BLOCK_GROUP_SYSTEM | \ + BTRFS_BLOCK_GROUP_METADATA) +#define BTRFS_BLOCK_GROUP_PROFILE_MASK (BTRFS_BLOCK_GROUP_RAID0 | \ + BTRFS_BLOCK_GROUP_RAID1 | \ + BTRFS_BLOCK_GROUP_RAID1C3 | \ + BTRFS_BLOCK_GROUP_RAID1C4 | \ + BTRFS_BLOCK_GROUP_RAID5 | \ + BTRFS_BLOCK_GROUP_RAID6 | \ + BTRFS_BLOCK_GROUP_DUP | \ + BTRFS_BLOCK_GROUP_RAID10) +#define BTRFS_BLOCK_GROUP_RAID56_MASK (BTRFS_BLOCK_GROUP_RAID5 | \ + BTRFS_BLOCK_GROUP_RAID6) +#define BTRFS_BLOCK_GROUP_RAID1_MASK (BTRFS_BLOCK_GROUP_RAID1 | \ + BTRFS_BLOCK_GROUP_RAID1C3 | \ + BTRFS_BLOCK_GROUP_RAID1C4) +#define BTRFS_AVAIL_ALLOC_BIT_SINGLE (1ULL << 48) +#define BTRFS_SPACE_INFO_GLOBAL_RSV (1ULL << 49) +#define BTRFS_EXTENDED_PROFILE_MASK (BTRFS_BLOCK_GROUP_PROFILE_MASK | \ + BTRFS_AVAIL_ALLOC_BIT_SINGLE) +static inline __u64 chunk_to_extended(__u64 flags) +{ + if ((flags & BTRFS_BLOCK_GROUP_PROFILE_MASK) == 0) + flags |= BTRFS_AVAIL_ALLOC_BIT_SINGLE; + return flags; +} +static inline __u64 extended_to_chunk(__u64 flags) +{ + return flags & ~BTRFS_AVAIL_ALLOC_BIT_SINGLE; +} +struct btrfs_block_group_item { + __le64 used; + __le64 chunk_objectid; + __le64 flags; +} __attribute__ ((__packed__)); +struct btrfs_free_space_info { + __le32 extent_count; + __le32 flags; +} __attribute__ ((__packed__)); +#define BTRFS_FREE_SPACE_USING_BITMAPS (1ULL << 0) +#define BTRFS_QGROUP_LEVEL_SHIFT 48 +static inline __u16 btrfs_qgroup_level(__u64 qgroupid) +{ + return (__u16)(qgroupid >> BTRFS_QGROUP_LEVEL_SHIFT); +} +#define BTRFS_QGROUP_STATUS_FLAG_ON (1ULL << 0) +#define BTRFS_QGROUP_STATUS_FLAG_RESCAN (1ULL << 1) +#define BTRFS_QGROUP_STATUS_FLAG_INCONSISTENT (1ULL << 2) +#define BTRFS_QGROUP_STATUS_VERSION 1 +struct btrfs_qgroup_status_item { + __le64 version; + + __le64 generation; + + __le64 flags; + + __le64 rescan; +} __attribute__ ((__packed__)); +struct btrfs_qgroup_info_item { + __le64 generation; + __le64 rfer; + __le64 rfer_cmpr; + __le64 excl; + __le64 excl_cmpr; +} __attribute__ ((__packed__)); +struct btrfs_qgroup_limit_item { + + __le64 flags; + __le64 max_rfer; + __le64 max_excl; + __le64 rsv_rfer; + __le64 rsv_excl; +} __attribute__ ((__packed__)); +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/byteorder/big_endian.h b/linux-5.10/prebuilts/usr/include/linux/byteorder/big_endian.h new file mode 100644 index 0000000..89f4cb2 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/byteorder/big_endian.h @@ -0,0 +1,104 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI_LINUX_BYTEORDER_BIG_ENDIAN_H +#define _UAPI_LINUX_BYTEORDER_BIG_ENDIAN_H +#ifndef __BIG_ENDIAN +#define __BIG_ENDIAN 4321 +#endif +#ifndef __BIG_ENDIAN_BITFIELD +#define __BIG_ENDIAN_BITFIELD +#endif +#include +#include +#define __constant_htonl(x) ((__force __be32)(__u32)(x)) +#define __constant_ntohl(x) ((__force __u32)(__be32)(x)) +#define __constant_htons(x) ((__force __be16)(__u16)(x)) +#define __constant_ntohs(x) ((__force __u16)(__be16)(x)) +#define __constant_cpu_to_le64(x) ((__force __le64)___constant_swab64((x))) +#define __constant_le64_to_cpu(x) ___constant_swab64((__force __u64)(__le64)(x)) +#define __constant_cpu_to_le32(x) ((__force __le32)___constant_swab32((x))) +#define __constant_le32_to_cpu(x) ___constant_swab32((__force __u32)(__le32)(x)) +#define __constant_cpu_to_le16(x) ((__force __le16)___constant_swab16((x))) +#define __constant_le16_to_cpu(x) ___constant_swab16((__force __u16)(__le16)(x)) +#define __constant_cpu_to_be64(x) ((__force __be64)(__u64)(x)) +#define __constant_be64_to_cpu(x) ((__force __u64)(__be64)(x)) +#define __constant_cpu_to_be32(x) ((__force __be32)(__u32)(x)) +#define __constant_be32_to_cpu(x) ((__force __u32)(__be32)(x)) +#define __constant_cpu_to_be16(x) ((__force __be16)(__u16)(x)) +#define __constant_be16_to_cpu(x) ((__force __u16)(__be16)(x)) +#define __cpu_to_le64(x) ((__force __le64)__swab64((x))) +#define __le64_to_cpu(x) __swab64((__force __u64)(__le64)(x)) +#define __cpu_to_le32(x) ((__force __le32)__swab32((x))) +#define __le32_to_cpu(x) __swab32((__force __u32)(__le32)(x)) +#define __cpu_to_le16(x) ((__force __le16)__swab16((x))) +#define __le16_to_cpu(x) __swab16((__force __u16)(__le16)(x)) +#define __cpu_to_be64(x) ((__force __be64)(__u64)(x)) +#define __be64_to_cpu(x) ((__force __u64)(__be64)(x)) +#define __cpu_to_be32(x) ((__force __be32)(__u32)(x)) +#define __be32_to_cpu(x) ((__force __u32)(__be32)(x)) +#define __cpu_to_be16(x) ((__force __be16)(__u16)(x)) +#define __be16_to_cpu(x) ((__force __u16)(__be16)(x)) +static __always_inline __le64 __cpu_to_le64p(const __u64 *p) +{ + return (__force __le64)__swab64p(p); +} +static __always_inline __u64 __le64_to_cpup(const __le64 *p) +{ + return __swab64p((__u64 *)p); +} +static __always_inline __le32 __cpu_to_le32p(const __u32 *p) +{ + return (__force __le32)__swab32p(p); +} +static __always_inline __u32 __le32_to_cpup(const __le32 *p) +{ + return __swab32p((__u32 *)p); +} +static __always_inline __le16 __cpu_to_le16p(const __u16 *p) +{ + return (__force __le16)__swab16p(p); +} +static __always_inline __u16 __le16_to_cpup(const __le16 *p) +{ + return __swab16p((__u16 *)p); +} +static __always_inline __be64 __cpu_to_be64p(const __u64 *p) +{ + return (__force __be64)*p; +} +static __always_inline __u64 __be64_to_cpup(const __be64 *p) +{ + return (__force __u64)*p; +} +static __always_inline __be32 __cpu_to_be32p(const __u32 *p) +{ + return (__force __be32)*p; +} +static __always_inline __u32 __be32_to_cpup(const __be32 *p) +{ + return (__force __u32)*p; +} +static __always_inline __be16 __cpu_to_be16p(const __u16 *p) +{ + return (__force __be16)*p; +} +static __always_inline __u16 __be16_to_cpup(const __be16 *p) +{ + return (__force __u16)*p; +} +#define __cpu_to_le64s(x) __swab64s((x)) +#define __le64_to_cpus(x) __swab64s((x)) +#define __cpu_to_le32s(x) __swab32s((x)) +#define __le32_to_cpus(x) __swab32s((x)) +#define __cpu_to_le16s(x) __swab16s((x)) +#define __le16_to_cpus(x) __swab16s((x)) +#define __cpu_to_be64s(x) do { (void)(x); } while (0) +#define __be64_to_cpus(x) do { (void)(x); } while (0) +#define __cpu_to_be32s(x) do { (void)(x); } while (0) +#define __be32_to_cpus(x) do { (void)(x); } while (0) +#define __cpu_to_be16s(x) do { (void)(x); } while (0) +#define __be16_to_cpus(x) do { (void)(x); } while (0) +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/byteorder/little_endian.h b/linux-5.10/prebuilts/usr/include/linux/byteorder/little_endian.h new file mode 100644 index 0000000..59c828b --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/byteorder/little_endian.h @@ -0,0 +1,104 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI_LINUX_BYTEORDER_LITTLE_ENDIAN_H +#define _UAPI_LINUX_BYTEORDER_LITTLE_ENDIAN_H +#ifndef __LITTLE_ENDIAN +#define __LITTLE_ENDIAN 1234 +#endif +#ifndef __LITTLE_ENDIAN_BITFIELD +#define __LITTLE_ENDIAN_BITFIELD +#endif +#include +#include +#define __constant_htonl(x) ((__force __be32)___constant_swab32((x))) +#define __constant_ntohl(x) ___constant_swab32((__force __be32)(x)) +#define __constant_htons(x) ((__force __be16)___constant_swab16((x))) +#define __constant_ntohs(x) ___constant_swab16((__force __be16)(x)) +#define __constant_cpu_to_le64(x) ((__force __le64)(__u64)(x)) +#define __constant_le64_to_cpu(x) ((__force __u64)(__le64)(x)) +#define __constant_cpu_to_le32(x) ((__force __le32)(__u32)(x)) +#define __constant_le32_to_cpu(x) ((__force __u32)(__le32)(x)) +#define __constant_cpu_to_le16(x) ((__force __le16)(__u16)(x)) +#define __constant_le16_to_cpu(x) ((__force __u16)(__le16)(x)) +#define __constant_cpu_to_be64(x) ((__force __be64)___constant_swab64((x))) +#define __constant_be64_to_cpu(x) ___constant_swab64((__force __u64)(__be64)(x)) +#define __constant_cpu_to_be32(x) ((__force __be32)___constant_swab32((x))) +#define __constant_be32_to_cpu(x) ___constant_swab32((__force __u32)(__be32)(x)) +#define __constant_cpu_to_be16(x) ((__force __be16)___constant_swab16((x))) +#define __constant_be16_to_cpu(x) ___constant_swab16((__force __u16)(__be16)(x)) +#define __cpu_to_le64(x) ((__force __le64)(__u64)(x)) +#define __le64_to_cpu(x) ((__force __u64)(__le64)(x)) +#define __cpu_to_le32(x) ((__force __le32)(__u32)(x)) +#define __le32_to_cpu(x) ((__force __u32)(__le32)(x)) +#define __cpu_to_le16(x) ((__force __le16)(__u16)(x)) +#define __le16_to_cpu(x) ((__force __u16)(__le16)(x)) +#define __cpu_to_be64(x) ((__force __be64)__swab64((x))) +#define __be64_to_cpu(x) __swab64((__force __u64)(__be64)(x)) +#define __cpu_to_be32(x) ((__force __be32)__swab32((x))) +#define __be32_to_cpu(x) __swab32((__force __u32)(__be32)(x)) +#define __cpu_to_be16(x) ((__force __be16)__swab16((x))) +#define __be16_to_cpu(x) __swab16((__force __u16)(__be16)(x)) +static __always_inline __le64 __cpu_to_le64p(const __u64 *p) +{ + return (__force __le64)*p; +} +static __always_inline __u64 __le64_to_cpup(const __le64 *p) +{ + return (__force __u64)*p; +} +static __always_inline __le32 __cpu_to_le32p(const __u32 *p) +{ + return (__force __le32)*p; +} +static __always_inline __u32 __le32_to_cpup(const __le32 *p) +{ + return (__force __u32)*p; +} +static __always_inline __le16 __cpu_to_le16p(const __u16 *p) +{ + return (__force __le16)*p; +} +static __always_inline __u16 __le16_to_cpup(const __le16 *p) +{ + return (__force __u16)*p; +} +static __always_inline __be64 __cpu_to_be64p(const __u64 *p) +{ + return (__force __be64)__swab64p(p); +} +static __always_inline __u64 __be64_to_cpup(const __be64 *p) +{ + return __swab64p((__u64 *)p); +} +static __always_inline __be32 __cpu_to_be32p(const __u32 *p) +{ + return (__force __be32)__swab32p(p); +} +static __always_inline __u32 __be32_to_cpup(const __be32 *p) +{ + return __swab32p((__u32 *)p); +} +static __always_inline __be16 __cpu_to_be16p(const __u16 *p) +{ + return (__force __be16)__swab16p(p); +} +static __always_inline __u16 __be16_to_cpup(const __be16 *p) +{ + return __swab16p((__u16 *)p); +} +#define __cpu_to_le64s(x) do { (void)(x); } while (0) +#define __le64_to_cpus(x) do { (void)(x); } while (0) +#define __cpu_to_le32s(x) do { (void)(x); } while (0) +#define __le32_to_cpus(x) do { (void)(x); } while (0) +#define __cpu_to_le16s(x) do { (void)(x); } while (0) +#define __le16_to_cpus(x) do { (void)(x); } while (0) +#define __cpu_to_be64s(x) __swab64s((x)) +#define __be64_to_cpus(x) __swab64s((x)) +#define __cpu_to_be32s(x) __swab32s((x)) +#define __be32_to_cpus(x) __swab32s((x)) +#define __cpu_to_be16s(x) __swab16s((x)) +#define __be16_to_cpus(x) __swab16s((x)) +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/caif/caif_socket.h b/linux-5.10/prebuilts/usr/include/linux/caif/caif_socket.h new file mode 100644 index 0000000..a83d458 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/caif/caif_socket.h @@ -0,0 +1,72 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _LINUX_CAIF_SOCKET_H +#define _LINUX_CAIF_SOCKET_H +#include +#include +enum caif_link_selector { + CAIF_LINK_HIGH_BANDW, + CAIF_LINK_LOW_LATENCY +}; +enum caif_channel_priority { + CAIF_PRIO_MIN = 0x01, + CAIF_PRIO_LOW = 0x04, + CAIF_PRIO_NORMAL = 0x0f, + CAIF_PRIO_HIGH = 0x14, + CAIF_PRIO_MAX = 0x1F +}; +enum caif_protocol_type { + CAIFPROTO_AT, + CAIFPROTO_DATAGRAM, + CAIFPROTO_DATAGRAM_LOOP, + CAIFPROTO_UTIL, + CAIFPROTO_RFM, + CAIFPROTO_DEBUG, + _CAIFPROTO_MAX +}; +#define CAIFPROTO_MAX _CAIFPROTO_MAX +enum caif_at_type { + CAIF_ATTYPE_PLAIN = 2 +}; + +enum caif_debug_type { + CAIF_DEBUG_TRACE_INTERACTIVE = 0, + CAIF_DEBUG_TRACE, + CAIF_DEBUG_INTERACTIVE, +}; +enum caif_debug_service { + CAIF_RADIO_DEBUG_SERVICE = 1, + CAIF_APP_DEBUG_SERVICE +}; +struct sockaddr_caif { + __kernel_sa_family_t family; + union { + struct { + __u8 type; + } at; + struct { + char service[16]; + } util; + union { + __u32 connection_id; + __u8 nsapi; + } dgm; + struct { + __u32 connection_id; + char volume[16]; + } rfm; + struct { + __u8 type; + __u8 service; + } dbg; + } u; +}; +enum caif_socket_opts { + CAIFSO_LINK_SELECT = 127, + CAIFSO_REQ_PARAM = 128, + CAIFSO_RSP_PARAM = 129, +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/caif/if_caif.h b/linux-5.10/prebuilts/usr/include/linux/caif/if_caif.h new file mode 100644 index 0000000..9207935 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/caif/if_caif.h @@ -0,0 +1,19 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef IF_CAIF_H_ +#define IF_CAIF_H_ +#include +#include +#include +enum ifla_caif { + __IFLA_CAIF_UNSPEC, + IFLA_CAIF_IPV4_CONNID, + IFLA_CAIF_IPV6_CONNID, + IFLA_CAIF_LOOPBACK, + __IFLA_CAIF_MAX +}; +#define IFLA_CAIF_MAX (__IFLA_CAIF_MAX-1) +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/can.h b/linux-5.10/prebuilts/usr/include/linux/can.h new file mode 100644 index 0000000..dcbe815 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/can.h @@ -0,0 +1,77 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI_CAN_H +#define _UAPI_CAN_H +#include +#include +#define CAN_EFF_FLAG 0x80000000U +#define CAN_RTR_FLAG 0x40000000U +#define CAN_ERR_FLAG 0x20000000U +#define CAN_SFF_MASK 0x000007FFU +#define CAN_EFF_MASK 0x1FFFFFFFU +#define CAN_ERR_MASK 0x1FFFFFFFU +typedef __u32 canid_t; +#define CAN_SFF_ID_BITS 11 +#define CAN_EFF_ID_BITS 29 +typedef __u32 can_err_mask_t; +#define CAN_MAX_DLC 8 +#define CAN_MAX_DLEN 8 +#define CANFD_MAX_DLC 15 +#define CANFD_MAX_DLEN 64 +struct can_frame { + canid_t can_id; + __u8 can_dlc; + __u8 __pad; + __u8 __res0; + __u8 __res1; + __u8 data[CAN_MAX_DLEN] __attribute__((aligned(8))); +}; +#define CANFD_BRS 0x01 +#define CANFD_ESI 0x02 +struct canfd_frame { + canid_t can_id; + __u8 len; + __u8 flags; + __u8 __res0; + __u8 __res1; + __u8 data[CANFD_MAX_DLEN] __attribute__((aligned(8))); +}; +#define CAN_MTU (sizeof(struct can_frame)) +#define CANFD_MTU (sizeof(struct canfd_frame)) +#define CAN_RAW 1 +#define CAN_BCM 2 +#define CAN_TP16 3 +#define CAN_TP20 4 +#define CAN_MCNET 5 +#define CAN_ISOTP 6 +#define CAN_J1939 7 +#define CAN_NPROTO 8 +#define SOL_CAN_BASE 100 +struct sockaddr_can { + __kernel_sa_family_t can_family; + int can_ifindex; + union { + + struct { canid_t rx_id, tx_id; } tp; + + struct { + + __u64 name; + + __u32 pgn; + + __u8 addr; + } j1939; + + } can_addr; +}; +struct can_filter { + canid_t can_id; + canid_t can_mask; +}; +#define CAN_INV_FILTER 0x20000000U +#define CAN_RAW_FILTER_MAX 512 +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/can/bcm.h b/linux-5.10/prebuilts/usr/include/linux/can/bcm.h new file mode 100644 index 0000000..9c1e554 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/can/bcm.h @@ -0,0 +1,49 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI_CAN_BCM_H +#define _UAPI_CAN_BCM_H +#include +#include +struct bcm_timeval { + long tv_sec; + long tv_usec; +}; +struct bcm_msg_head { + __u32 opcode; + __u32 flags; + __u32 count; + struct bcm_timeval ival1, ival2; + canid_t can_id; + __u32 nframes; + struct can_frame frames[0]; +}; +enum { + TX_SETUP = 1, + TX_DELETE, + TX_READ, + TX_SEND, + RX_SETUP, + RX_DELETE, + RX_READ, + TX_STATUS, + TX_EXPIRED, + RX_STATUS, + RX_TIMEOUT, + RX_CHANGED +}; +#define SETTIMER 0x0001 +#define STARTTIMER 0x0002 +#define TX_COUNTEVT 0x0004 +#define TX_ANNOUNCE 0x0008 +#define TX_CP_CAN_ID 0x0010 +#define RX_FILTER_ID 0x0020 +#define RX_CHECK_DLC 0x0040 +#define RX_NO_AUTOTIMER 0x0080 +#define RX_ANNOUNCE_RESUME 0x0100 +#define TX_RESET_MULTI_IDX 0x0200 +#define RX_RTR_FRAME 0x0400 +#define CAN_FD_FRAME 0x0800 +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/can/error.h b/linux-5.10/prebuilts/usr/include/linux/can/error.h new file mode 100644 index 0000000..4f8e136 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/can/error.h @@ -0,0 +1,69 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI_CAN_ERROR_H +#define _UAPI_CAN_ERROR_H +#define CAN_ERR_DLC 8 +#define CAN_ERR_TX_TIMEOUT 0x00000001U +#define CAN_ERR_LOSTARB 0x00000002U +#define CAN_ERR_CRTL 0x00000004U +#define CAN_ERR_PROT 0x00000008U +#define CAN_ERR_TRX 0x00000010U +#define CAN_ERR_ACK 0x00000020U +#define CAN_ERR_BUSOFF 0x00000040U +#define CAN_ERR_BUSERROR 0x00000080U +#define CAN_ERR_RESTARTED 0x00000100U +#define CAN_ERR_LOSTARB_UNSPEC 0x00 + +#define CAN_ERR_CRTL_UNSPEC 0x00 +#define CAN_ERR_CRTL_RX_OVERFLOW 0x01 +#define CAN_ERR_CRTL_TX_OVERFLOW 0x02 +#define CAN_ERR_CRTL_RX_WARNING 0x04 +#define CAN_ERR_CRTL_TX_WARNING 0x08 +#define CAN_ERR_CRTL_RX_PASSIVE 0x10 +#define CAN_ERR_CRTL_TX_PASSIVE 0x20 + + +#define CAN_ERR_CRTL_ACTIVE 0x40 +#define CAN_ERR_PROT_UNSPEC 0x00 +#define CAN_ERR_PROT_BIT 0x01 +#define CAN_ERR_PROT_FORM 0x02 +#define CAN_ERR_PROT_STUFF 0x04 +#define CAN_ERR_PROT_BIT0 0x08 +#define CAN_ERR_PROT_BIT1 0x10 +#define CAN_ERR_PROT_OVERLOAD 0x20 +#define CAN_ERR_PROT_ACTIVE 0x40 +#define CAN_ERR_PROT_TX 0x80 +#define CAN_ERR_PROT_LOC_UNSPEC 0x00 +#define CAN_ERR_PROT_LOC_SOF 0x03 +#define CAN_ERR_PROT_LOC_ID28_21 0x02 +#define CAN_ERR_PROT_LOC_ID20_18 0x06 +#define CAN_ERR_PROT_LOC_SRTR 0x04 +#define CAN_ERR_PROT_LOC_IDE 0x05 +#define CAN_ERR_PROT_LOC_ID17_13 0x07 +#define CAN_ERR_PROT_LOC_ID12_05 0x0F +#define CAN_ERR_PROT_LOC_ID04_00 0x0E +#define CAN_ERR_PROT_LOC_RTR 0x0C +#define CAN_ERR_PROT_LOC_RES1 0x0D +#define CAN_ERR_PROT_LOC_RES0 0x09 +#define CAN_ERR_PROT_LOC_DLC 0x0B +#define CAN_ERR_PROT_LOC_DATA 0x0A +#define CAN_ERR_PROT_LOC_CRC_SEQ 0x08 +#define CAN_ERR_PROT_LOC_CRC_DEL 0x18 +#define CAN_ERR_PROT_LOC_ACK 0x19 +#define CAN_ERR_PROT_LOC_ACK_DEL 0x1B +#define CAN_ERR_PROT_LOC_EOF 0x1A +#define CAN_ERR_PROT_LOC_INTERM 0x12 +#define CAN_ERR_TRX_UNSPEC 0x00 +#define CAN_ERR_TRX_CANH_NO_WIRE 0x04 +#define CAN_ERR_TRX_CANH_SHORT_TO_BAT 0x05 +#define CAN_ERR_TRX_CANH_SHORT_TO_VCC 0x06 +#define CAN_ERR_TRX_CANH_SHORT_TO_GND 0x07 +#define CAN_ERR_TRX_CANL_NO_WIRE 0x40 +#define CAN_ERR_TRX_CANL_SHORT_TO_BAT 0x50 +#define CAN_ERR_TRX_CANL_SHORT_TO_VCC 0x60 +#define CAN_ERR_TRX_CANL_SHORT_TO_GND 0x70 +#define CAN_ERR_TRX_CANL_SHORT_TO_CANH 0x80 +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/can/gw.h b/linux-5.10/prebuilts/usr/include/linux/can/gw.h new file mode 100644 index 0000000..761f9ff --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/can/gw.h @@ -0,0 +1,92 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI_CAN_GW_H +#define _UAPI_CAN_GW_H +#include +#include +struct rtcanmsg { + __u8 can_family; + __u8 gwtype; + __u16 flags; +}; +enum { + CGW_TYPE_UNSPEC, + CGW_TYPE_CAN_CAN, + __CGW_TYPE_MAX +}; +#define CGW_TYPE_MAX (__CGW_TYPE_MAX - 1) +enum { + CGW_UNSPEC, + CGW_MOD_AND, + CGW_MOD_OR, + CGW_MOD_XOR, + CGW_MOD_SET, + CGW_CS_XOR, + CGW_CS_CRC8, + CGW_HANDLED, + CGW_DROPPED, + CGW_SRC_IF, + CGW_DST_IF, + CGW_FILTER, + CGW_DELETED, + CGW_LIM_HOPS, + CGW_MOD_UID, + CGW_FDMOD_AND, + CGW_FDMOD_OR, + CGW_FDMOD_XOR, + CGW_FDMOD_SET, + __CGW_MAX +}; +#define CGW_MAX (__CGW_MAX - 1) +#define CGW_FLAGS_CAN_ECHO 0x01 +#define CGW_FLAGS_CAN_SRC_TSTAMP 0x02 +#define CGW_FLAGS_CAN_IIF_TX_OK 0x04 +#define CGW_FLAGS_CAN_FD 0x08 +#define CGW_MOD_FUNCS 4 +#define CGW_MOD_ID 0x01 +#define CGW_MOD_DLC 0x02 +#define CGW_MOD_LEN CGW_MOD_DLC +#define CGW_MOD_DATA 0x04 +#define CGW_MOD_FLAGS 0x08 +#define CGW_FRAME_MODS 4 +#define MAX_MODFUNCTIONS (CGW_MOD_FUNCS * CGW_FRAME_MODS) +struct cgw_frame_mod { + struct can_frame cf; + __u8 modtype; +} __attribute__((packed)); +struct cgw_fdframe_mod { + struct canfd_frame cf; + __u8 modtype; +} __attribute__((packed)); +#define CGW_MODATTR_LEN sizeof(struct cgw_frame_mod) +#define CGW_FDMODATTR_LEN sizeof(struct cgw_fdframe_mod) +struct cgw_csum_xor { + __s8 from_idx; + __s8 to_idx; + __s8 result_idx; + __u8 init_xor_val; +} __attribute__((packed)); +struct cgw_csum_crc8 { + __s8 from_idx; + __s8 to_idx; + __s8 result_idx; + __u8 init_crc_val; + __u8 final_xor_val; + __u8 crctab[256]; + __u8 profile; + __u8 profile_data[20]; +} __attribute__((packed)); +#define CGW_CS_XOR_LEN sizeof(struct cgw_csum_xor) +#define CGW_CS_CRC8_LEN sizeof(struct cgw_csum_crc8) +enum { + CGW_CRC8PRF_UNSPEC, + CGW_CRC8PRF_1U8, + CGW_CRC8PRF_16U8, + CGW_CRC8PRF_SFFID_XOR, + __CGW_CRC8PRF_MAX +}; +#define CGW_CRC8PRF_MAX (__CGW_CRC8PRF_MAX - 1) +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/can/isotp.h b/linux-5.10/prebuilts/usr/include/linux/can/isotp.h new file mode 100644 index 0000000..6617160 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/can/isotp.h @@ -0,0 +1,81 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI_CAN_ISOTP_H +#define _UAPI_CAN_ISOTP_H +#include +#include +#define SOL_CAN_ISOTP (SOL_CAN_BASE + CAN_ISOTP) +#define CAN_ISOTP_OPTS 1 +#define CAN_ISOTP_RECV_FC 2 +#define CAN_ISOTP_TX_STMIN 3 + + +#define CAN_ISOTP_RX_STMIN 4 + + +#define CAN_ISOTP_LL_OPTS 5 +struct can_isotp_options { + __u32 flags; + + __u32 frame_txtime; + + __u8 ext_address; + + __u8 txpad_content; + + __u8 rxpad_content; + + __u8 rx_ext_address; + +}; +struct can_isotp_fc_options { + __u8 bs; + + __u8 stmin; + + + + + + __u8 wftmax; + +}; +struct can_isotp_ll_options { + __u8 mtu; + + + + __u8 tx_dl; + + + + __u8 tx_flags; + + + +}; +#define CAN_ISOTP_LISTEN_MODE 0x001 +#define CAN_ISOTP_EXTEND_ADDR 0x002 +#define CAN_ISOTP_TX_PADDING 0x004 +#define CAN_ISOTP_RX_PADDING 0x008 +#define CAN_ISOTP_CHK_PAD_LEN 0x010 +#define CAN_ISOTP_CHK_PAD_DATA 0x020 +#define CAN_ISOTP_HALF_DUPLEX 0x040 +#define CAN_ISOTP_FORCE_TXSTMIN 0x080 +#define CAN_ISOTP_FORCE_RXSTMIN 0x100 +#define CAN_ISOTP_RX_EXT_ADDR 0x200 +#define CAN_ISOTP_WAIT_TX_DONE 0x400 +#define CAN_ISOTP_DEFAULT_FLAGS 0 +#define CAN_ISOTP_DEFAULT_EXT_ADDRESS 0x00 +#define CAN_ISOTP_DEFAULT_PAD_CONTENT 0xCC +#define CAN_ISOTP_DEFAULT_FRAME_TXTIME 0 +#define CAN_ISOTP_DEFAULT_RECV_BS 0 +#define CAN_ISOTP_DEFAULT_RECV_STMIN 0x00 +#define CAN_ISOTP_DEFAULT_RECV_WFTMAX 0 +#define CAN_ISOTP_DEFAULT_LL_MTU CAN_MTU +#define CAN_ISOTP_DEFAULT_LL_TX_DL CAN_MAX_DLEN +#define CAN_ISOTP_DEFAULT_LL_TX_FLAGS 0 +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/can/j1939.h b/linux-5.10/prebuilts/usr/include/linux/can/j1939.h new file mode 100644 index 0000000..c2d13d4 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/can/j1939.h @@ -0,0 +1,54 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI_CAN_J1939_H_ +#define _UAPI_CAN_J1939_H_ +#include +#include +#include +#define J1939_MAX_UNICAST_ADDR 0xfd +#define J1939_IDLE_ADDR 0xfe +#define J1939_NO_ADDR 0xff +#define J1939_NO_NAME 0 +#define J1939_PGN_REQUEST 0x0ea00 +#define J1939_PGN_ADDRESS_CLAIMED 0x0ee00 +#define J1939_PGN_ADDRESS_COMMANDED 0x0fed8 +#define J1939_PGN_PDU1_MAX 0x3ff00 +#define J1939_PGN_MAX 0x3ffff +#define J1939_NO_PGN 0x40000 +typedef __u32 pgn_t; +typedef __u8 priority_t; +typedef __u64 name_t; +#define SOL_CAN_J1939 (SOL_CAN_BASE + CAN_J1939) +enum { + SO_J1939_FILTER = 1, + SO_J1939_PROMISC = 2, + SO_J1939_SEND_PRIO = 3, + SO_J1939_ERRQUEUE = 4, +}; +enum { + SCM_J1939_DEST_ADDR = 1, + SCM_J1939_DEST_NAME = 2, + SCM_J1939_PRIO = 3, + SCM_J1939_ERRQUEUE = 4, +}; +enum { + J1939_NLA_PAD, + J1939_NLA_BYTES_ACKED, +}; +enum { + J1939_EE_INFO_NONE, + J1939_EE_INFO_TX_ABORT, +}; +struct j1939_filter { + name_t name; + name_t name_mask; + pgn_t pgn; + pgn_t pgn_mask; + __u8 addr; + __u8 addr_mask; +}; +#define J1939_FILTER_MAX 512 +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/can/netlink.h b/linux-5.10/prebuilts/usr/include/linux/can/netlink.h new file mode 100644 index 0000000..edb038b --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/can/netlink.h @@ -0,0 +1,87 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI_CAN_NETLINK_H +#define _UAPI_CAN_NETLINK_H +#include +struct can_bittiming { + __u32 bitrate; + __u32 sample_point; + __u32 tq; + __u32 prop_seg; + __u32 phase_seg1; + __u32 phase_seg2; + __u32 sjw; + __u32 brp; +}; +struct can_bittiming_const { + char name[16]; + __u32 tseg1_min; + __u32 tseg1_max; + __u32 tseg2_min; + __u32 tseg2_max; + __u32 sjw_max; + __u32 brp_min; + __u32 brp_max; + __u32 brp_inc; +}; +struct can_clock { + __u32 freq; +}; +enum can_state { + CAN_STATE_ERROR_ACTIVE = 0, + CAN_STATE_ERROR_WARNING, + CAN_STATE_ERROR_PASSIVE, + CAN_STATE_BUS_OFF, + CAN_STATE_STOPPED, + CAN_STATE_SLEEPING, + CAN_STATE_MAX +}; +struct can_berr_counter { + __u16 txerr; + __u16 rxerr; +}; +struct can_ctrlmode { + __u32 mask; + __u32 flags; +}; +#define CAN_CTRLMODE_LOOPBACK 0x01 +#define CAN_CTRLMODE_LISTENONLY 0x02 +#define CAN_CTRLMODE_3_SAMPLES 0x04 +#define CAN_CTRLMODE_ONE_SHOT 0x08 +#define CAN_CTRLMODE_BERR_REPORTING 0x10 +#define CAN_CTRLMODE_FD 0x20 +#define CAN_CTRLMODE_PRESUME_ACK 0x40 +#define CAN_CTRLMODE_FD_NON_ISO 0x80 +struct can_device_stats { + __u32 bus_error; + __u32 error_warning; + __u32 error_passive; + __u32 bus_off; + __u32 arbitration_lost; + __u32 restarts; +}; +enum { + IFLA_CAN_UNSPEC, + IFLA_CAN_BITTIMING, + IFLA_CAN_BITTIMING_CONST, + IFLA_CAN_CLOCK, + IFLA_CAN_STATE, + IFLA_CAN_CTRLMODE, + IFLA_CAN_RESTART_MS, + IFLA_CAN_RESTART, + IFLA_CAN_BERR_COUNTER, + IFLA_CAN_DATA_BITTIMING, + IFLA_CAN_DATA_BITTIMING_CONST, + IFLA_CAN_TERMINATION, + IFLA_CAN_TERMINATION_CONST, + IFLA_CAN_BITRATE_CONST, + IFLA_CAN_DATA_BITRATE_CONST, + IFLA_CAN_BITRATE_MAX, + __IFLA_CAN_MAX +}; +#define IFLA_CAN_MAX (__IFLA_CAN_MAX - 1) +#define CAN_TERMINATION_DISABLED 0 +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/can/raw.h b/linux-5.10/prebuilts/usr/include/linux/can/raw.h new file mode 100644 index 0000000..d2d255d --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/can/raw.h @@ -0,0 +1,21 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI_CAN_RAW_H +#define _UAPI_CAN_RAW_H +#include +#define SOL_CAN_RAW (SOL_CAN_BASE + CAN_RAW) +enum { + SCM_CAN_RAW_ERRQUEUE = 1, +}; +enum { + CAN_RAW_FILTER = 1, + CAN_RAW_ERR_FILTER, + CAN_RAW_LOOPBACK, + CAN_RAW_RECV_OWN_MSGS, + CAN_RAW_FD_FRAMES, + CAN_RAW_JOIN_FILTERS, +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/can/vxcan.h b/linux-5.10/prebuilts/usr/include/linux/can/vxcan.h new file mode 100644 index 0000000..89bff62 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/can/vxcan.h @@ -0,0 +1,14 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI_CAN_VXCAN_H +#define _UAPI_CAN_VXCAN_H +enum { + VXCAN_INFO_UNSPEC, + VXCAN_INFO_PEER, + __VXCAN_INFO_MAX +#define VXCAN_INFO_MAX (__VXCAN_INFO_MAX - 1) +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/capability.h b/linux-5.10/prebuilts/usr/include/linux/capability.h new file mode 100644 index 0000000..85daba7 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/capability.h @@ -0,0 +1,104 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI_LINUX_CAPABILITY_H +#define _UAPI_LINUX_CAPABILITY_H +#include +#define _LINUX_CAPABILITY_VERSION_1 0x19980330 +#define _LINUX_CAPABILITY_U32S_1 1 +#define _LINUX_CAPABILITY_VERSION_2 0x20071026 +#define _LINUX_CAPABILITY_U32S_2 2 +#define _LINUX_CAPABILITY_VERSION_3 0x20080522 +#define _LINUX_CAPABILITY_U32S_3 2 +typedef struct __user_cap_header_struct { + __u32 version; + int pid; +} __user *cap_user_header_t; +typedef struct __user_cap_data_struct { + __u32 effective; + __u32 permitted; + __u32 inheritable; +} __user *cap_user_data_t; +#define VFS_CAP_REVISION_MASK 0xFF000000 +#define VFS_CAP_REVISION_SHIFT 24 +#define VFS_CAP_FLAGS_MASK ~VFS_CAP_REVISION_MASK +#define VFS_CAP_FLAGS_EFFECTIVE 0x000001 +#define VFS_CAP_REVISION_1 0x01000000 +#define VFS_CAP_U32_1 1 +#define XATTR_CAPS_SZ_1 (sizeof(__le32)*(1 + 2*VFS_CAP_U32_1)) +#define VFS_CAP_REVISION_2 0x02000000 +#define VFS_CAP_U32_2 2 +#define XATTR_CAPS_SZ_2 (sizeof(__le32)*(1 + 2*VFS_CAP_U32_2)) +#define VFS_CAP_REVISION_3 0x03000000 +#define VFS_CAP_U32_3 2 +#define XATTR_CAPS_SZ_3 (sizeof(__le32)*(2 + 2*VFS_CAP_U32_3)) +#define XATTR_CAPS_SZ XATTR_CAPS_SZ_3 +#define VFS_CAP_U32 VFS_CAP_U32_3 +#define VFS_CAP_REVISION VFS_CAP_REVISION_3 +struct vfs_cap_data { + __le32 magic_etc; + struct { + __le32 permitted; + __le32 inheritable; + } data[VFS_CAP_U32]; +}; +struct vfs_ns_cap_data { + __le32 magic_etc; + struct { + __le32 permitted; + __le32 inheritable; + } data[VFS_CAP_U32]; + __le32 rootid; +}; +#ifndef __KERNEL__ +#define _LINUX_CAPABILITY_VERSION _LINUX_CAPABILITY_VERSION_1 +#define _LINUX_CAPABILITY_U32S _LINUX_CAPABILITY_U32S_1 +#endif +#define CAP_CHOWN 0 +#define CAP_DAC_OVERRIDE 1 +#define CAP_DAC_READ_SEARCH 2 +#define CAP_FOWNER 3 +#define CAP_FSETID 4 +#define CAP_KILL 5 +#define CAP_SETGID 6 +#define CAP_SETUID 7 +#define CAP_SETPCAP 8 +#define CAP_LINUX_IMMUTABLE 9 +#define CAP_NET_BIND_SERVICE 10 +#define CAP_NET_BROADCAST 11 +#define CAP_NET_ADMIN 12 +#define CAP_NET_RAW 13 +#define CAP_IPC_LOCK 14 +#define CAP_IPC_OWNER 15 +#define CAP_SYS_MODULE 16 +#define CAP_SYS_RAWIO 17 +#define CAP_SYS_CHROOT 18 +#define CAP_SYS_PTRACE 19 +#define CAP_SYS_PACCT 20 +#define CAP_SYS_ADMIN 21 +#define CAP_SYS_BOOT 22 +#define CAP_SYS_NICE 23 +#define CAP_SYS_RESOURCE 24 +#define CAP_SYS_TIME 25 +#define CAP_SYS_TTY_CONFIG 26 +#define CAP_MKNOD 27 +#define CAP_LEASE 28 +#define CAP_AUDIT_WRITE 29 +#define CAP_AUDIT_CONTROL 30 +#define CAP_SETFCAP 31 +#define CAP_MAC_OVERRIDE 32 +#define CAP_MAC_ADMIN 33 +#define CAP_SYSLOG 34 +#define CAP_WAKE_ALARM 35 +#define CAP_BLOCK_SUSPEND 36 +#define CAP_AUDIT_READ 37 +#define CAP_PERFMON 38 +#define CAP_BPF 39 +#define CAP_CHECKPOINT_RESTORE 40 +#define CAP_LAST_CAP CAP_CHECKPOINT_RESTORE +#define cap_valid(x) ((x) >= 0 && (x) <= CAP_LAST_CAP) +#define CAP_TO_INDEX(x) ((x) >> 5) +#define CAP_TO_MASK(x) (1 << ((x) & 31)) +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/capi.h b/linux-5.10/prebuilts/usr/include/linux/capi.h new file mode 100644 index 0000000..f277a0f --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/capi.h @@ -0,0 +1,64 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef __LINUX_CAPI_H__ +#define __LINUX_CAPI_H__ +#include +#include +#ifndef __KERNEL__ +#include +#endif +typedef struct capi_register_params { + __u32 level3cnt; + __u32 datablkcnt; + __u32 datablklen; +} capi_register_params; +#define CAPI_REGISTER _IOW('C',0x01,struct capi_register_params) +#define CAPI_MANUFACTURER_LEN 64 +#define CAPI_GET_MANUFACTURER _IOWR('C',0x06,int) +typedef struct capi_version { + __u32 majorversion; + __u32 minorversion; + __u32 majormanuversion; + __u32 minormanuversion; +} capi_version; +#define CAPI_GET_VERSION _IOWR('C',0x07,struct capi_version) +#define CAPI_SERIAL_LEN 8 +#define CAPI_GET_SERIAL _IOWR('C',0x08,int) +typedef struct capi_profile { + __u16 ncontroller; + __u16 nbchannel; + __u32 goptions; + __u32 support1; + __u32 support2; + __u32 support3; + __u32 reserved[6]; + __u32 manu[5]; +} capi_profile; +#define CAPI_GET_PROFILE _IOWR('C',0x09,struct capi_profile) +typedef struct capi_manufacturer_cmd { + unsigned long cmd; + void __user *data; +} capi_manufacturer_cmd; +#define CAPI_MANUFACTURER_CMD _IOWR('C',0x20, struct capi_manufacturer_cmd) +#define CAPI_GET_ERRCODE _IOR('C',0x21, __u16) +#define CAPI_INSTALLED _IOR('C',0x22, __u16) +typedef union capi_ioctl_struct { + __u32 contr; + capi_register_params rparams; + __u8 manufacturer[CAPI_MANUFACTURER_LEN]; + capi_version version; + __u8 serial[CAPI_SERIAL_LEN]; + capi_profile profile; + capi_manufacturer_cmd cmd; + __u16 errcode; +} capi_ioctl_struct; +#define CAPIFLAG_HIGHJACKING 0x0001 +#define CAPI_GET_FLAGS _IOR('C',0x23, unsigned) +#define CAPI_SET_FLAGS _IOR('C',0x24, unsigned) +#define CAPI_CLR_FLAGS _IOR('C',0x25, unsigned) +#define CAPI_NCCI_OPENCOUNT _IOR('C',0x26, unsigned) +#define CAPI_NCCI_GETUNIT _IOR('C',0x27, unsigned) +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/cciss_defs.h b/linux-5.10/prebuilts/usr/include/linux/cciss_defs.h new file mode 100644 index 0000000..ae84147 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/cciss_defs.h @@ -0,0 +1,109 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef CCISS_DEFS_H +#define CCISS_DEFS_H +#include +#define SENSEINFOBYTES 32 +#define CMD_SUCCESS 0x0000 +#define CMD_TARGET_STATUS 0x0001 +#define CMD_DATA_UNDERRUN 0x0002 +#define CMD_DATA_OVERRUN 0x0003 +#define CMD_INVALID 0x0004 +#define CMD_PROTOCOL_ERR 0x0005 +#define CMD_HARDWARE_ERR 0x0006 +#define CMD_CONNECTION_LOST 0x0007 +#define CMD_ABORTED 0x0008 +#define CMD_ABORT_FAILED 0x0009 +#define CMD_UNSOLICITED_ABORT 0x000A +#define CMD_TIMEOUT 0x000B +#define CMD_UNABORTABLE 0x000C +#define XFER_NONE 0x00 +#define XFER_WRITE 0x01 +#define XFER_READ 0x02 +#define XFER_RSVD 0x03 +#define ATTR_UNTAGGED 0x00 +#define ATTR_SIMPLE 0x04 +#define ATTR_HEADOFQUEUE 0x05 +#define ATTR_ORDERED 0x06 +#define ATTR_ACA 0x07 +#define TYPE_CMD 0x00 +#define TYPE_MSG 0x01 +#define BYTE __u8 +#define WORD __u16 +#define HWORD __u16 +#define DWORD __u32 +#define CISS_MAX_LUN 1024 +#define LEVEL2LUN 1 +#define LEVEL3LUN 0 +#pragma pack(1) +typedef union _SCSI3Addr_struct { + struct { + BYTE Dev; + BYTE Bus:6; + BYTE Mode:2; + } PeripDev; + struct { + BYTE DevLSB; + BYTE DevMSB:6; + BYTE Mode:2; + } LogDev; + struct { + BYTE Dev:5; + BYTE Bus:3; + BYTE Targ:6; + BYTE Mode:2; + } LogUnit; +} SCSI3Addr_struct; +typedef struct _PhysDevAddr_struct { + DWORD TargetId:24; + DWORD Bus:6; + DWORD Mode:2; + SCSI3Addr_struct Target[2]; +} PhysDevAddr_struct; +typedef struct _LogDevAddr_struct { + DWORD VolId:30; + DWORD Mode:2; + BYTE reserved[4]; +} LogDevAddr_struct; +typedef union _LUNAddr_struct { + BYTE LunAddrBytes[8]; + SCSI3Addr_struct SCSI3Lun[4]; + PhysDevAddr_struct PhysDev; + LogDevAddr_struct LogDev; +} LUNAddr_struct; +typedef struct _RequestBlock_struct { + BYTE CDBLen; + struct { + BYTE Type:3; + BYTE Attribute:3; + BYTE Direction:2; + } Type; + HWORD Timeout; + BYTE CDB[16]; +} RequestBlock_struct; +typedef union _MoreErrInfo_struct{ + struct { + BYTE Reserved[3]; + BYTE Type; + DWORD ErrorInfo; + } Common_Info; + struct{ + BYTE Reserved[2]; + BYTE offense_size; + BYTE offense_num; + DWORD offense_value; + } Invalid_Cmd; +} MoreErrInfo_struct; +typedef struct _ErrorInfo_struct { + BYTE ScsiStatus; + BYTE SenseLen; + HWORD CommandStatus; + DWORD ResidualCnt; + MoreErrInfo_struct MoreErrInfo; + BYTE SenseInfo[SENSEINFOBYTES]; +} ErrorInfo_struct; +#pragma pack() +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/cciss_ioctl.h b/linux-5.10/prebuilts/usr/include/linux/cciss_ioctl.h new file mode 100644 index 0000000..8105e7d --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/cciss_ioctl.h @@ -0,0 +1,73 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPICCISS_IOCTLH +#define _UAPICCISS_IOCTLH +#include +#include +#include +#define CCISS_IOC_MAGIC 'B' +typedef struct _cciss_pci_info_struct +{ + unsigned char bus; + unsigned char dev_fn; + unsigned short domain; + __u32 board_id; +} cciss_pci_info_struct; +typedef struct _cciss_coalint_struct +{ + __u32 delay; + __u32 count; +} cciss_coalint_struct; +typedef char NodeName_type[16]; +typedef __u32 Heartbeat_type; +#define CISS_PARSCSIU2 0x0001 +#define CISS_PARCSCIU3 0x0002 +#define CISS_FIBRE1G 0x0100 +#define CISS_FIBRE2G 0x0200 +typedef __u32 BusTypes_type; +typedef char FirmwareVer_type[4]; +typedef __u32 DriverVer_type; +#define MAX_KMALLOC_SIZE 128000 +typedef struct _IOCTL_Command_struct { + LUNAddr_struct LUN_info; + RequestBlock_struct Request; + ErrorInfo_struct error_info; + WORD buf_size; + BYTE __user *buf; +} IOCTL_Command_struct; +typedef struct _BIG_IOCTL_Command_struct { + LUNAddr_struct LUN_info; + RequestBlock_struct Request; + ErrorInfo_struct error_info; + DWORD malloc_size; + DWORD buf_size; + + BYTE __user *buf; +} BIG_IOCTL_Command_struct; +typedef struct _LogvolInfo_struct{ + __u32 LunID; + int num_opens; + int num_parts; +} LogvolInfo_struct; +#define CCISS_GETPCIINFO _IOR(CCISS_IOC_MAGIC, 1, cciss_pci_info_struct) +#define CCISS_GETINTINFO _IOR(CCISS_IOC_MAGIC, 2, cciss_coalint_struct) +#define CCISS_SETINTINFO _IOW(CCISS_IOC_MAGIC, 3, cciss_coalint_struct) +#define CCISS_GETNODENAME _IOR(CCISS_IOC_MAGIC, 4, NodeName_type) +#define CCISS_SETNODENAME _IOW(CCISS_IOC_MAGIC, 5, NodeName_type) +#define CCISS_GETHEARTBEAT _IOR(CCISS_IOC_MAGIC, 6, Heartbeat_type) +#define CCISS_GETBUSTYPES _IOR(CCISS_IOC_MAGIC, 7, BusTypes_type) +#define CCISS_GETFIRMVER _IOR(CCISS_IOC_MAGIC, 8, FirmwareVer_type) +#define CCISS_GETDRIVVER _IOR(CCISS_IOC_MAGIC, 9, DriverVer_type) +#define CCISS_REVALIDVOLS _IO(CCISS_IOC_MAGIC, 10) +#define CCISS_PASSTHRU _IOWR(CCISS_IOC_MAGIC, 11, IOCTL_Command_struct) +#define CCISS_DEREGDISK _IO(CCISS_IOC_MAGIC, 12) + +#define CCISS_REGNEWDISK _IOW(CCISS_IOC_MAGIC, 13, int) +#define CCISS_REGNEWD _IO(CCISS_IOC_MAGIC, 14) +#define CCISS_RESCANDISK _IO(CCISS_IOC_MAGIC, 16) +#define CCISS_GETLUNINFO _IOR(CCISS_IOC_MAGIC, 17, LogvolInfo_struct) +#define CCISS_BIG_PASSTHRU _IOWR(CCISS_IOC_MAGIC, 18, BIG_IOCTL_Command_struct) +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/cdrom.h b/linux-5.10/prebuilts/usr/include/linux/cdrom.h new file mode 100644 index 0000000..af370a6 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/cdrom.h @@ -0,0 +1,665 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ + +#ifndef _UAPI_LINUX_CDROM_H +#define _UAPI_LINUX_CDROM_H +#include +#include +#define EDRIVE_CANT_DO_THIS EOPNOTSUPP +#define CDROMPAUSE 0x5301 +#define CDROMRESUME 0x5302 +#define CDROMPLAYMSF 0x5303 +#define CDROMPLAYTRKIND 0x5304 +#define CDROMREADTOCHDR 0x5305 +#define CDROMREADTOCENTRY 0x5306 +#define CDROMSTOP 0x5307 +#define CDROMSTART 0x5308 +#define CDROMEJECT 0x5309 +#define CDROMVOLCTRL 0x530a +#define CDROMSUBCHNL 0x530b +#define CDROMREADMODE2 0x530c +#define CDROMREADMODE1 0x530d +#define CDROMREADAUDIO 0x530e +#define CDROMEJECT_SW 0x530f +#define CDROMMULTISESSION 0x5310 +#define CDROM_GET_MCN 0x5311 +#define CDROM_GET_UPC CDROM_GET_MCN +#define CDROMRESET 0x5312 +#define CDROMVOLREAD 0x5313 +#define CDROMREADRAW 0x5314 +#define CDROMREADCOOKED 0x5315 +#define CDROMSEEK 0x5316 + +#define CDROMPLAYBLK 0x5317 +#define CDROMREADALL 0x5318 +#define CDROMGETSPINDOWN 0x531d +#define CDROMSETSPINDOWN 0x531e +#define CDROMCLOSETRAY 0x5319 +#define CDROM_SET_OPTIONS 0x5320 +#define CDROM_CLEAR_OPTIONS 0x5321 +#define CDROM_SELECT_SPEED 0x5322 +#define CDROM_SELECT_DISC 0x5323 +#define CDROM_MEDIA_CHANGED 0x5325 +#define CDROM_DRIVE_STATUS 0x5326 +#define CDROM_DISC_STATUS 0x5327 +#define CDROM_CHANGER_NSLOTS 0x5328 +#define CDROM_LOCKDOOR 0x5329 +#define CDROM_DEBUG 0x5330 +#define CDROM_GET_CAPABILITY 0x5331 +#define CDROMAUDIOBUFSIZ 0x5382 + +#define DVD_READ_STRUCT 0x5390 +#define DVD_WRITE_STRUCT 0x5391 +#define DVD_AUTH 0x5392 +#define CDROM_SEND_PACKET 0x5393 +#define CDROM_NEXT_WRITABLE 0x5394 +#define CDROM_LAST_WRITTEN 0x5395 +struct cdrom_msf0 +{ + __u8 minute; + __u8 second; + __u8 frame; +}; +union cdrom_addr +{ + struct cdrom_msf0 msf; + int lba; +}; + +struct cdrom_msf +{ + __u8 cdmsf_min0; + __u8 cdmsf_sec0; + __u8 cdmsf_frame0; + __u8 cdmsf_min1; + __u8 cdmsf_sec1; + __u8 cdmsf_frame1; +}; +struct cdrom_ti +{ + __u8 cdti_trk0; + __u8 cdti_ind0; + __u8 cdti_trk1; + __u8 cdti_ind1; +}; +struct cdrom_tochdr +{ + __u8 cdth_trk0; + __u8 cdth_trk1; +}; +struct cdrom_volctrl +{ + __u8 channel0; + __u8 channel1; + __u8 channel2; + __u8 channel3; +}; +struct cdrom_subchnl +{ + __u8 cdsc_format; + __u8 cdsc_audiostatus; + __u8 cdsc_adr: 4; + __u8 cdsc_ctrl: 4; + __u8 cdsc_trk; + __u8 cdsc_ind; + union cdrom_addr cdsc_absaddr; + union cdrom_addr cdsc_reladdr; +}; +struct cdrom_tocentry +{ + __u8 cdte_track; + __u8 cdte_adr :4; + __u8 cdte_ctrl :4; + __u8 cdte_format; + union cdrom_addr cdte_addr; + __u8 cdte_datamode; +}; +struct cdrom_read +{ + int cdread_lba; + char *cdread_bufaddr; + int cdread_buflen; +}; +struct cdrom_read_audio +{ + union cdrom_addr addr; + __u8 addr_format; + int nframes; + __u8 __user *buf; +}; +struct cdrom_multisession +{ + union cdrom_addr addr; + __u8 xa_flag; + __u8 addr_format; +}; + +struct cdrom_mcn +{ + __u8 medium_catalog_number[14]; +}; +struct cdrom_blk +{ + unsigned from; + unsigned short len; +}; +#define CDROM_PACKET_SIZE 12 +#define CGC_DATA_UNKNOWN 0 +#define CGC_DATA_WRITE 1 +#define CGC_DATA_READ 2 +#define CGC_DATA_NONE 3 +struct cdrom_generic_command +{ + unsigned char cmd[CDROM_PACKET_SIZE]; + unsigned char __user *buffer; + unsigned int buflen; + int stat; + struct request_sense __user *sense; + unsigned char data_direction; + int quiet; + int timeout; + union { + void __user *reserved[1]; + void __user *unused; + }; +}; +#define CD_MINS 74 +#define CD_SECS 60 +#define CD_FRAMES 75 +#define CD_SYNC_SIZE 12 +#define CD_MSF_OFFSET 150 +#define CD_CHUNK_SIZE 24 +#define CD_NUM_OF_CHUNKS 98 +#define CD_FRAMESIZE_SUB 96 +#define CD_HEAD_SIZE 4 +#define CD_SUBHEAD_SIZE 8 +#define CD_EDC_SIZE 4 +#define CD_ZERO_SIZE 8 +#define CD_ECC_SIZE 276 +#define CD_FRAMESIZE 2048 +#define CD_FRAMESIZE_RAW 2352 +#define CD_FRAMESIZE_RAWER 2646 +#define CD_FRAMESIZE_RAW1 (CD_FRAMESIZE_RAW-CD_SYNC_SIZE) +#define CD_FRAMESIZE_RAW0 (CD_FRAMESIZE_RAW-CD_SYNC_SIZE-CD_HEAD_SIZE) +#define CD_XA_HEAD (CD_HEAD_SIZE+CD_SUBHEAD_SIZE) +#define CD_XA_TAIL (CD_EDC_SIZE+CD_ECC_SIZE) +#define CD_XA_SYNC_HEAD (CD_SYNC_SIZE+CD_XA_HEAD) +#define CDROM_LBA 0x01 +#define CDROM_MSF 0x02 +#define CDROM_DATA_TRACK 0x04 +#define CDROM_LEADOUT 0xAA +#define CDROM_AUDIO_INVALID 0x00 +#define CDROM_AUDIO_PLAY 0x11 +#define CDROM_AUDIO_PAUSED 0x12 +#define CDROM_AUDIO_COMPLETED 0x13 +#define CDROM_AUDIO_ERROR 0x14 +#define CDROM_AUDIO_NO_STATUS 0x15 + +#define CDC_CLOSE_TRAY 0x1 +#define CDC_OPEN_TRAY 0x2 +#define CDC_LOCK 0x4 +#define CDC_SELECT_SPEED 0x8 +#define CDC_SELECT_DISC 0x10 +#define CDC_MULTI_SESSION 0x20 +#define CDC_MCN 0x40 +#define CDC_MEDIA_CHANGED 0x80 +#define CDC_PLAY_AUDIO 0x100 +#define CDC_RESET 0x200 +#define CDC_DRIVE_STATUS 0x800 +#define CDC_GENERIC_PACKET 0x1000 +#define CDC_CD_R 0x2000 +#define CDC_CD_RW 0x4000 +#define CDC_DVD 0x8000 +#define CDC_DVD_R 0x10000 +#define CDC_DVD_RAM 0x20000 +#define CDC_MO_DRIVE 0x40000 +#define CDC_MRW 0x80000 +#define CDC_MRW_W 0x100000 +#define CDC_RAM 0x200000 +#define CDS_NO_INFO 0 +#define CDS_NO_DISC 1 +#define CDS_TRAY_OPEN 2 +#define CDS_DRIVE_NOT_READY 3 +#define CDS_DISC_OK 4 +#define CDS_AUDIO 100 +#define CDS_DATA_1 101 +#define CDS_DATA_2 102 +#define CDS_XA_2_1 103 +#define CDS_XA_2_2 104 +#define CDS_MIXED 105 +#define CDO_AUTO_CLOSE 0x1 +#define CDO_AUTO_EJECT 0x2 +#define CDO_USE_FFLAGS 0x4 +#define CDO_LOCK 0x8 +#define CDO_CHECK_TYPE 0x10 +#define CDSL_NONE (INT_MAX-1) +#define CDSL_CURRENT INT_MAX +#define CD_PART_MAX 64 +#define CD_PART_MASK (CD_PART_MAX - 1) + +#define GPCMD_BLANK 0xa1 +#define GPCMD_CLOSE_TRACK 0x5b +#define GPCMD_FLUSH_CACHE 0x35 +#define GPCMD_FORMAT_UNIT 0x04 +#define GPCMD_GET_CONFIGURATION 0x46 +#define GPCMD_GET_EVENT_STATUS_NOTIFICATION 0x4a +#define GPCMD_GET_PERFORMANCE 0xac +#define GPCMD_INQUIRY 0x12 +#define GPCMD_LOAD_UNLOAD 0xa6 +#define GPCMD_MECHANISM_STATUS 0xbd +#define GPCMD_MODE_SELECT_10 0x55 +#define GPCMD_MODE_SENSE_10 0x5a +#define GPCMD_PAUSE_RESUME 0x4b +#define GPCMD_PLAY_AUDIO_10 0x45 +#define GPCMD_PLAY_AUDIO_MSF 0x47 +#define GPCMD_PLAY_AUDIO_TI 0x48 +#define GPCMD_PLAY_CD 0xbc +#define GPCMD_PREVENT_ALLOW_MEDIUM_REMOVAL 0x1e +#define GPCMD_READ_10 0x28 +#define GPCMD_READ_12 0xa8 +#define GPCMD_READ_BUFFER 0x3c +#define GPCMD_READ_BUFFER_CAPACITY 0x5c +#define GPCMD_READ_CDVD_CAPACITY 0x25 +#define GPCMD_READ_CD 0xbe +#define GPCMD_READ_CD_MSF 0xb9 +#define GPCMD_READ_DISC_INFO 0x51 +#define GPCMD_READ_DVD_STRUCTURE 0xad +#define GPCMD_READ_FORMAT_CAPACITIES 0x23 +#define GPCMD_READ_HEADER 0x44 +#define GPCMD_READ_TRACK_RZONE_INFO 0x52 +#define GPCMD_READ_SUBCHANNEL 0x42 +#define GPCMD_READ_TOC_PMA_ATIP 0x43 +#define GPCMD_REPAIR_RZONE_TRACK 0x58 +#define GPCMD_REPORT_KEY 0xa4 +#define GPCMD_REQUEST_SENSE 0x03 +#define GPCMD_RESERVE_RZONE_TRACK 0x53 +#define GPCMD_SEND_CUE_SHEET 0x5d +#define GPCMD_SCAN 0xba +#define GPCMD_SEEK 0x2b +#define GPCMD_SEND_DVD_STRUCTURE 0xbf +#define GPCMD_SEND_EVENT 0xa2 +#define GPCMD_SEND_KEY 0xa3 +#define GPCMD_SEND_OPC 0x54 +#define GPCMD_SET_READ_AHEAD 0xa7 +#define GPCMD_SET_STREAMING 0xb6 +#define GPCMD_START_STOP_UNIT 0x1b +#define GPCMD_STOP_PLAY_SCAN 0x4e +#define GPCMD_TEST_UNIT_READY 0x00 +#define GPCMD_VERIFY_10 0x2f +#define GPCMD_WRITE_10 0x2a +#define GPCMD_WRITE_12 0xaa +#define GPCMD_WRITE_AND_VERIFY_10 0x2e +#define GPCMD_WRITE_BUFFER 0x3b +#define GPCMD_SET_SPEED 0xbb +#define GPCMD_PLAYAUDIO_TI 0x48 +#define GPCMD_GET_MEDIA_STATUS 0xda +#define GPMODE_VENDOR_PAGE 0x00 +#define GPMODE_R_W_ERROR_PAGE 0x01 +#define GPMODE_WRITE_PARMS_PAGE 0x05 +#define GPMODE_WCACHING_PAGE 0x08 +#define GPMODE_AUDIO_CTL_PAGE 0x0e +#define GPMODE_POWER_PAGE 0x1a +#define GPMODE_FAULT_FAIL_PAGE 0x1c +#define GPMODE_TO_PROTECT_PAGE 0x1d +#define GPMODE_CAPABILITIES_PAGE 0x2a +#define GPMODE_ALL_PAGES 0x3f +#define GPMODE_CDROM_PAGE 0x0d +#define DVD_STRUCT_PHYSICAL 0x00 +#define DVD_STRUCT_COPYRIGHT 0x01 +#define DVD_STRUCT_DISCKEY 0x02 +#define DVD_STRUCT_BCA 0x03 +#define DVD_STRUCT_MANUFACT 0x04 +struct dvd_layer { + __u8 book_version : 4; + __u8 book_type : 4; + __u8 min_rate : 4; + __u8 disc_size : 4; + __u8 layer_type : 4; + __u8 track_path : 1; + __u8 nlayers : 2; + __u8 track_density : 4; + __u8 linear_density : 4; + __u8 bca : 1; + __u32 start_sector; + __u32 end_sector; + __u32 end_sector_l0; +}; +#define DVD_LAYERS 4 +struct dvd_physical { + __u8 type; + __u8 layer_num; + struct dvd_layer layer[DVD_LAYERS]; +}; +struct dvd_copyright { + __u8 type; + __u8 layer_num; + __u8 cpst; + __u8 rmi; +}; +struct dvd_disckey { + __u8 type; + unsigned agid : 2; + __u8 value[2048]; +}; +struct dvd_bca { + __u8 type; + int len; + __u8 value[188]; +}; +struct dvd_manufact { + __u8 type; + __u8 layer_num; + int len; + __u8 value[2048]; +}; +typedef union { + __u8 type; + struct dvd_physical physical; + struct dvd_copyright copyright; + struct dvd_disckey disckey; + struct dvd_bca bca; + struct dvd_manufact manufact; +} dvd_struct; +#define DVD_LU_SEND_AGID 0 +#define DVD_HOST_SEND_CHALLENGE 1 +#define DVD_LU_SEND_KEY1 2 +#define DVD_LU_SEND_CHALLENGE 3 +#define DVD_HOST_SEND_KEY2 4 +#define DVD_AUTH_ESTABLISHED 5 +#define DVD_AUTH_FAILURE 6 +#define DVD_LU_SEND_TITLE_KEY 7 +#define DVD_LU_SEND_ASF 8 +#define DVD_INVALIDATE_AGID 9 +#define DVD_LU_SEND_RPC_STATE 10 +#define DVD_HOST_SEND_RPC_STATE 11 +typedef __u8 dvd_key[5]; +typedef __u8 dvd_challenge[10]; +struct dvd_lu_send_agid { + __u8 type; + unsigned agid : 2; +}; +struct dvd_host_send_challenge { + __u8 type; + unsigned agid : 2; + dvd_challenge chal; +}; +struct dvd_send_key { + __u8 type; + unsigned agid : 2; + dvd_key key; +}; +struct dvd_lu_send_challenge { + __u8 type; + unsigned agid : 2; + dvd_challenge chal; +}; +#define DVD_CPM_NO_COPYRIGHT 0 +#define DVD_CPM_COPYRIGHTED 1 +#define DVD_CP_SEC_NONE 0 +#define DVD_CP_SEC_EXIST 1 +#define DVD_CGMS_UNRESTRICTED 0 +#define DVD_CGMS_SINGLE 2 +#define DVD_CGMS_RESTRICTED 3 +struct dvd_lu_send_title_key { + __u8 type; + unsigned agid : 2; + dvd_key title_key; + int lba; + unsigned cpm : 1; + unsigned cp_sec : 1; + unsigned cgms : 2; +}; +struct dvd_lu_send_asf { + __u8 type; + unsigned agid : 2; + unsigned asf : 1; +}; +struct dvd_host_send_rpcstate { + __u8 type; + __u8 pdrc; +}; +struct dvd_lu_send_rpcstate { + __u8 type : 2; + __u8 vra : 3; + __u8 ucca : 3; + __u8 region_mask; + __u8 rpc_scheme; +}; +typedef union { + __u8 type; + struct dvd_lu_send_agid lsa; + struct dvd_host_send_challenge hsc; + struct dvd_send_key lsk; + struct dvd_lu_send_challenge lsc; + struct dvd_send_key hsk; + struct dvd_lu_send_title_key lstk; + struct dvd_lu_send_asf lsasf; + struct dvd_host_send_rpcstate hrpcs; + struct dvd_lu_send_rpcstate lrpcs; +} dvd_authinfo; +struct request_sense { +#if defined(__BIG_ENDIAN_BITFIELD) + __u8 valid : 1; + __u8 error_code : 7; +#elif defined(__LITTLE_ENDIAN_BITFIELD) + __u8 error_code : 7; + __u8 valid : 1; +#endif + __u8 segment_number; +#if defined(__BIG_ENDIAN_BITFIELD) + __u8 reserved1 : 2; + __u8 ili : 1; + __u8 reserved2 : 1; + __u8 sense_key : 4; +#elif defined(__LITTLE_ENDIAN_BITFIELD) + __u8 sense_key : 4; + __u8 reserved2 : 1; + __u8 ili : 1; + __u8 reserved1 : 2; +#endif + __u8 information[4]; + __u8 add_sense_len; + __u8 command_info[4]; + __u8 asc; + __u8 ascq; + __u8 fruc; + __u8 sks[3]; + __u8 asb[46]; +}; +#define CDF_RWRT 0x0020 +#define CDF_HWDM 0x0024 +#define CDF_MRW 0x0028 +#define CDM_MRW_NOTMRW 0 +#define CDM_MRW_BGFORMAT_INACTIVE 1 +#define CDM_MRW_BGFORMAT_ACTIVE 2 +#define CDM_MRW_BGFORMAT_COMPLETE 3 +#define MRW_LBA_DMA 0 +#define MRW_LBA_GAA 1 +#define MRW_MODE_PC_PRE1 0x2c +#define MRW_MODE_PC 0x03 +struct mrw_feature_desc { + __be16 feature_code; +#if defined(__BIG_ENDIAN_BITFIELD) + __u8 reserved1 : 2; + __u8 feature_version : 4; + __u8 persistent : 1; + __u8 curr : 1; +#elif defined(__LITTLE_ENDIAN_BITFIELD) + __u8 curr : 1; + __u8 persistent : 1; + __u8 feature_version : 4; + __u8 reserved1 : 2; +#endif + __u8 add_len; +#if defined(__BIG_ENDIAN_BITFIELD) + __u8 reserved2 : 7; + __u8 write : 1; +#elif defined(__LITTLE_ENDIAN_BITFIELD) + __u8 write : 1; + __u8 reserved2 : 7; +#endif + __u8 reserved3; + __u8 reserved4; + __u8 reserved5; +}; +struct rwrt_feature_desc { + __be16 feature_code; +#if defined(__BIG_ENDIAN_BITFIELD) + __u8 reserved1 : 2; + __u8 feature_version : 4; + __u8 persistent : 1; + __u8 curr : 1; +#elif defined(__LITTLE_ENDIAN_BITFIELD) + __u8 curr : 1; + __u8 persistent : 1; + __u8 feature_version : 4; + __u8 reserved1 : 2; +#endif + __u8 add_len; + __u32 last_lba; + __u32 block_size; + __u16 blocking; +#if defined(__BIG_ENDIAN_BITFIELD) + __u8 reserved2 : 7; + __u8 page_present : 1; +#elif defined(__LITTLE_ENDIAN_BITFIELD) + __u8 page_present : 1; + __u8 reserved2 : 7; +#endif + __u8 reserved3; +}; +typedef struct { + __be16 disc_information_length; +#if defined(__BIG_ENDIAN_BITFIELD) + __u8 reserved1 : 3; + __u8 erasable : 1; + __u8 border_status : 2; + __u8 disc_status : 2; +#elif defined(__LITTLE_ENDIAN_BITFIELD) + __u8 disc_status : 2; + __u8 border_status : 2; + __u8 erasable : 1; + __u8 reserved1 : 3; +#else +#error "Please fix " +#endif + __u8 n_first_track; + __u8 n_sessions_lsb; + __u8 first_track_lsb; + __u8 last_track_lsb; +#if defined(__BIG_ENDIAN_BITFIELD) + __u8 did_v : 1; + __u8 dbc_v : 1; + __u8 uru : 1; + __u8 reserved2 : 2; + __u8 dbit : 1; + __u8 mrw_status : 2; +#elif defined(__LITTLE_ENDIAN_BITFIELD) + __u8 mrw_status : 2; + __u8 dbit : 1; + __u8 reserved2 : 2; + __u8 uru : 1; + __u8 dbc_v : 1; + __u8 did_v : 1; +#endif + __u8 disc_type; + __u8 n_sessions_msb; + __u8 first_track_msb; + __u8 last_track_msb; + __u32 disc_id; + __u32 lead_in; + __u32 lead_out; + __u8 disc_bar_code[8]; + __u8 reserved3; + __u8 n_opc; +} disc_information; +typedef struct { + __be16 track_information_length; + __u8 track_lsb; + __u8 session_lsb; + __u8 reserved1; +#if defined(__BIG_ENDIAN_BITFIELD) + __u8 reserved2 : 2; + __u8 damage : 1; + __u8 copy : 1; + __u8 track_mode : 4; + __u8 rt : 1; + __u8 blank : 1; + __u8 packet : 1; + __u8 fp : 1; + __u8 data_mode : 4; + __u8 reserved3 : 6; + __u8 lra_v : 1; + __u8 nwa_v : 1; +#elif defined(__LITTLE_ENDIAN_BITFIELD) + __u8 track_mode : 4; + __u8 copy : 1; + __u8 damage : 1; + __u8 reserved2 : 2; + __u8 data_mode : 4; + __u8 fp : 1; + __u8 packet : 1; + __u8 blank : 1; + __u8 rt : 1; + __u8 nwa_v : 1; + __u8 lra_v : 1; + __u8 reserved3 : 6; +#endif + __be32 track_start; + __be32 next_writable; + __be32 free_blocks; + __be32 fixed_packet_size; + __be32 track_size; + __be32 last_rec_address; +} track_information; +struct feature_header { + __u32 data_len; + __u8 reserved1; + __u8 reserved2; + __u16 curr_profile; +}; +struct mode_page_header { + __be16 mode_data_length; + __u8 medium_type; + __u8 reserved1; + __u8 reserved2; + __u8 reserved3; + __be16 desc_length; +}; +struct rm_feature_desc { + __be16 feature_code; +#if defined(__BIG_ENDIAN_BITFIELD) + __u8 reserved1:2; + __u8 feature_version:4; + __u8 persistent:1; + __u8 curr:1; +#elif defined(__LITTLE_ENDIAN_BITFIELD) + __u8 curr:1; + __u8 persistent:1; + __u8 feature_version:4; + __u8 reserved1:2; +#endif + __u8 add_len; +#if defined(__BIG_ENDIAN_BITFIELD) + __u8 mech_type:3; + __u8 load:1; + __u8 eject:1; + __u8 pvnt_jmpr:1; + __u8 dbml:1; + __u8 lock:1; +#elif defined(__LITTLE_ENDIAN_BITFIELD) + __u8 lock:1; + __u8 dbml:1; + __u8 pvnt_jmpr:1; + __u8 eject:1; + __u8 load:1; + __u8 mech_type:3; +#endif + __u8 reserved2; + __u8 reserved3; + __u8 reserved4; +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/cec-funcs.h b/linux-5.10/prebuilts/usr/include/linux/cec-funcs.h new file mode 100644 index 0000000..bb3a511 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/cec-funcs.h @@ -0,0 +1,1722 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _CEC_UAPI_FUNCS_H +#define _CEC_UAPI_FUNCS_H +#include +static inline void cec_msg_active_source(struct cec_msg *msg, __u16 phys_addr) +{ + msg->len = 4; + msg->msg[0] |= 0xf; + msg->msg[1] = CEC_MSG_ACTIVE_SOURCE; + msg->msg[2] = phys_addr >> 8; + msg->msg[3] = phys_addr & 0xff; +} +static inline void cec_ops_active_source(const struct cec_msg *msg, + __u16 *phys_addr) +{ + *phys_addr = (msg->msg[2] << 8) | msg->msg[3]; +} +static inline void cec_msg_image_view_on(struct cec_msg *msg) +{ + msg->len = 2; + msg->msg[1] = CEC_MSG_IMAGE_VIEW_ON; +} +static inline void cec_msg_text_view_on(struct cec_msg *msg) +{ + msg->len = 2; + msg->msg[1] = CEC_MSG_TEXT_VIEW_ON; +} +static inline void cec_msg_inactive_source(struct cec_msg *msg, + __u16 phys_addr) +{ + msg->len = 4; + msg->msg[1] = CEC_MSG_INACTIVE_SOURCE; + msg->msg[2] = phys_addr >> 8; + msg->msg[3] = phys_addr & 0xff; +} +static inline void cec_ops_inactive_source(const struct cec_msg *msg, + __u16 *phys_addr) +{ + *phys_addr = (msg->msg[2] << 8) | msg->msg[3]; +} +static inline void cec_msg_request_active_source(struct cec_msg *msg, + int reply) +{ + msg->len = 2; + msg->msg[0] |= 0xf; + msg->msg[1] = CEC_MSG_REQUEST_ACTIVE_SOURCE; + msg->reply = reply ? CEC_MSG_ACTIVE_SOURCE : 0; +} +static inline void cec_msg_routing_information(struct cec_msg *msg, + __u16 phys_addr) +{ + msg->len = 4; + msg->msg[0] |= 0xf; + msg->msg[1] = CEC_MSG_ROUTING_INFORMATION; + msg->msg[2] = phys_addr >> 8; + msg->msg[3] = phys_addr & 0xff; +} +static inline void cec_ops_routing_information(const struct cec_msg *msg, + __u16 *phys_addr) +{ + *phys_addr = (msg->msg[2] << 8) | msg->msg[3]; +} +static inline void cec_msg_routing_change(struct cec_msg *msg, + int reply, + __u16 orig_phys_addr, + __u16 new_phys_addr) +{ + msg->len = 6; + msg->msg[0] |= 0xf; + msg->msg[1] = CEC_MSG_ROUTING_CHANGE; + msg->msg[2] = orig_phys_addr >> 8; + msg->msg[3] = orig_phys_addr & 0xff; + msg->msg[4] = new_phys_addr >> 8; + msg->msg[5] = new_phys_addr & 0xff; + msg->reply = reply ? CEC_MSG_ROUTING_INFORMATION : 0; +} +static inline void cec_ops_routing_change(const struct cec_msg *msg, + __u16 *orig_phys_addr, + __u16 *new_phys_addr) +{ + *orig_phys_addr = (msg->msg[2] << 8) | msg->msg[3]; + *new_phys_addr = (msg->msg[4] << 8) | msg->msg[5]; +} +static inline void cec_msg_set_stream_path(struct cec_msg *msg, __u16 phys_addr) +{ + msg->len = 4; + msg->msg[0] |= 0xf; + msg->msg[1] = CEC_MSG_SET_STREAM_PATH; + msg->msg[2] = phys_addr >> 8; + msg->msg[3] = phys_addr & 0xff; +} +static inline void cec_ops_set_stream_path(const struct cec_msg *msg, + __u16 *phys_addr) +{ + *phys_addr = (msg->msg[2] << 8) | msg->msg[3]; +} +static inline void cec_msg_standby(struct cec_msg *msg) +{ + msg->len = 2; + msg->msg[1] = CEC_MSG_STANDBY; +} +static inline void cec_msg_record_off(struct cec_msg *msg, int reply) +{ + msg->len = 2; + msg->msg[1] = CEC_MSG_RECORD_OFF; + msg->reply = reply ? CEC_MSG_RECORD_STATUS : 0; +} +struct cec_op_arib_data { + __u16 transport_id; + __u16 service_id; + __u16 orig_network_id; +}; +struct cec_op_atsc_data { + __u16 transport_id; + __u16 program_number; +}; +struct cec_op_dvb_data { + __u16 transport_id; + __u16 service_id; + __u16 orig_network_id; +}; +struct cec_op_channel_data { + __u8 channel_number_fmt; + __u16 major; + __u16 minor; +}; +struct cec_op_digital_service_id { + __u8 service_id_method; + __u8 dig_bcast_system; + union { + struct cec_op_arib_data arib; + struct cec_op_atsc_data atsc; + struct cec_op_dvb_data dvb; + struct cec_op_channel_data channel; + }; +}; +struct cec_op_record_src { + __u8 type; + union { + struct cec_op_digital_service_id digital; + struct { + __u8 ana_bcast_type; + __u16 ana_freq; + __u8 bcast_system; + } analog; + struct { + __u8 plug; + } ext_plug; + struct { + __u16 phys_addr; + } ext_phys_addr; + }; +}; +static inline void cec_set_digital_service_id(__u8 *msg, + const struct cec_op_digital_service_id *digital) +{ + *msg++ = (digital->service_id_method << 7) | digital->dig_bcast_system; + if (digital->service_id_method == CEC_OP_SERVICE_ID_METHOD_BY_CHANNEL) { + *msg++ = (digital->channel.channel_number_fmt << 2) | + (digital->channel.major >> 8); + *msg++ = digital->channel.major & 0xff; + *msg++ = digital->channel.minor >> 8; + *msg++ = digital->channel.minor & 0xff; + *msg++ = 0; + *msg++ = 0; + return; + } + switch (digital->dig_bcast_system) { + case CEC_OP_DIG_SERVICE_BCAST_SYSTEM_ATSC_GEN: + case CEC_OP_DIG_SERVICE_BCAST_SYSTEM_ATSC_CABLE: + case CEC_OP_DIG_SERVICE_BCAST_SYSTEM_ATSC_SAT: + case CEC_OP_DIG_SERVICE_BCAST_SYSTEM_ATSC_T: + *msg++ = digital->atsc.transport_id >> 8; + *msg++ = digital->atsc.transport_id & 0xff; + *msg++ = digital->atsc.program_number >> 8; + *msg++ = digital->atsc.program_number & 0xff; + *msg++ = 0; + *msg++ = 0; + break; + default: + *msg++ = digital->dvb.transport_id >> 8; + *msg++ = digital->dvb.transport_id & 0xff; + *msg++ = digital->dvb.service_id >> 8; + *msg++ = digital->dvb.service_id & 0xff; + *msg++ = digital->dvb.orig_network_id >> 8; + *msg++ = digital->dvb.orig_network_id & 0xff; + break; + } +} +static inline void cec_get_digital_service_id(const __u8 *msg, + struct cec_op_digital_service_id *digital) +{ + digital->service_id_method = msg[0] >> 7; + digital->dig_bcast_system = msg[0] & 0x7f; + if (digital->service_id_method == CEC_OP_SERVICE_ID_METHOD_BY_CHANNEL) { + digital->channel.channel_number_fmt = msg[1] >> 2; + digital->channel.major = ((msg[1] & 3) << 6) | msg[2]; + digital->channel.minor = (msg[3] << 8) | msg[4]; + return; + } + digital->dvb.transport_id = (msg[1] << 8) | msg[2]; + digital->dvb.service_id = (msg[3] << 8) | msg[4]; + digital->dvb.orig_network_id = (msg[5] << 8) | msg[6]; +} +static inline void cec_msg_record_on_own(struct cec_msg *msg) +{ + msg->len = 3; + msg->msg[1] = CEC_MSG_RECORD_ON; + msg->msg[2] = CEC_OP_RECORD_SRC_OWN; +} +static inline void cec_msg_record_on_digital(struct cec_msg *msg, + const struct cec_op_digital_service_id *digital) +{ + msg->len = 10; + msg->msg[1] = CEC_MSG_RECORD_ON; + msg->msg[2] = CEC_OP_RECORD_SRC_DIGITAL; + cec_set_digital_service_id(msg->msg + 3, digital); +} +static inline void cec_msg_record_on_analog(struct cec_msg *msg, + __u8 ana_bcast_type, + __u16 ana_freq, + __u8 bcast_system) +{ + msg->len = 7; + msg->msg[1] = CEC_MSG_RECORD_ON; + msg->msg[2] = CEC_OP_RECORD_SRC_ANALOG; + msg->msg[3] = ana_bcast_type; + msg->msg[4] = ana_freq >> 8; + msg->msg[5] = ana_freq & 0xff; + msg->msg[6] = bcast_system; +} +static inline void cec_msg_record_on_plug(struct cec_msg *msg, + __u8 plug) +{ + msg->len = 4; + msg->msg[1] = CEC_MSG_RECORD_ON; + msg->msg[2] = CEC_OP_RECORD_SRC_EXT_PLUG; + msg->msg[3] = plug; +} +static inline void cec_msg_record_on_phys_addr(struct cec_msg *msg, + __u16 phys_addr) +{ + msg->len = 5; + msg->msg[1] = CEC_MSG_RECORD_ON; + msg->msg[2] = CEC_OP_RECORD_SRC_EXT_PHYS_ADDR; + msg->msg[3] = phys_addr >> 8; + msg->msg[4] = phys_addr & 0xff; +} +static inline void cec_msg_record_on(struct cec_msg *msg, + int reply, + const struct cec_op_record_src *rec_src) +{ + switch (rec_src->type) { + case CEC_OP_RECORD_SRC_OWN: + cec_msg_record_on_own(msg); + break; + case CEC_OP_RECORD_SRC_DIGITAL: + cec_msg_record_on_digital(msg, &rec_src->digital); + break; + case CEC_OP_RECORD_SRC_ANALOG: + cec_msg_record_on_analog(msg, + rec_src->analog.ana_bcast_type, + rec_src->analog.ana_freq, + rec_src->analog.bcast_system); + break; + case CEC_OP_RECORD_SRC_EXT_PLUG: + cec_msg_record_on_plug(msg, rec_src->ext_plug.plug); + break; + case CEC_OP_RECORD_SRC_EXT_PHYS_ADDR: + cec_msg_record_on_phys_addr(msg, + rec_src->ext_phys_addr.phys_addr); + break; + } + msg->reply = reply ? CEC_MSG_RECORD_STATUS : 0; +} +static inline void cec_ops_record_on(const struct cec_msg *msg, + struct cec_op_record_src *rec_src) +{ + rec_src->type = msg->msg[2]; + switch (rec_src->type) { + case CEC_OP_RECORD_SRC_OWN: + break; + case CEC_OP_RECORD_SRC_DIGITAL: + cec_get_digital_service_id(msg->msg + 3, &rec_src->digital); + break; + case CEC_OP_RECORD_SRC_ANALOG: + rec_src->analog.ana_bcast_type = msg->msg[3]; + rec_src->analog.ana_freq = + (msg->msg[4] << 8) | msg->msg[5]; + rec_src->analog.bcast_system = msg->msg[6]; + break; + case CEC_OP_RECORD_SRC_EXT_PLUG: + rec_src->ext_plug.plug = msg->msg[3]; + break; + case CEC_OP_RECORD_SRC_EXT_PHYS_ADDR: + rec_src->ext_phys_addr.phys_addr = + (msg->msg[3] << 8) | msg->msg[4]; + break; + } +} +static inline void cec_msg_record_status(struct cec_msg *msg, __u8 rec_status) +{ + msg->len = 3; + msg->msg[1] = CEC_MSG_RECORD_STATUS; + msg->msg[2] = rec_status; +} +static inline void cec_ops_record_status(const struct cec_msg *msg, + __u8 *rec_status) +{ + *rec_status = msg->msg[2]; +} +static inline void cec_msg_record_tv_screen(struct cec_msg *msg, + int reply) +{ + msg->len = 2; + msg->msg[1] = CEC_MSG_RECORD_TV_SCREEN; + msg->reply = reply ? CEC_MSG_RECORD_ON : 0; +} +static inline void cec_msg_timer_status(struct cec_msg *msg, + __u8 timer_overlap_warning, + __u8 media_info, + __u8 prog_info, + __u8 prog_error, + __u8 duration_hr, + __u8 duration_min) +{ + msg->len = 3; + msg->msg[1] = CEC_MSG_TIMER_STATUS; + msg->msg[2] = (timer_overlap_warning << 7) | + (media_info << 5) | + (prog_info ? 0x10 : 0) | + (prog_info ? prog_info : prog_error); + if (prog_info == CEC_OP_PROG_INFO_NOT_ENOUGH_SPACE || + prog_info == CEC_OP_PROG_INFO_MIGHT_NOT_BE_ENOUGH_SPACE || + prog_error == CEC_OP_PROG_ERROR_DUPLICATE) { + msg->len += 2; + msg->msg[3] = ((duration_hr / 10) << 4) | (duration_hr % 10); + msg->msg[4] = ((duration_min / 10) << 4) | (duration_min % 10); + } +} +static inline void cec_ops_timer_status(const struct cec_msg *msg, + __u8 *timer_overlap_warning, + __u8 *media_info, + __u8 *prog_info, + __u8 *prog_error, + __u8 *duration_hr, + __u8 *duration_min) +{ + *timer_overlap_warning = msg->msg[2] >> 7; + *media_info = (msg->msg[2] >> 5) & 3; + if (msg->msg[2] & 0x10) { + *prog_info = msg->msg[2] & 0xf; + *prog_error = 0; + } else { + *prog_info = 0; + *prog_error = msg->msg[2] & 0xf; + } + if (*prog_info == CEC_OP_PROG_INFO_NOT_ENOUGH_SPACE || + *prog_info == CEC_OP_PROG_INFO_MIGHT_NOT_BE_ENOUGH_SPACE || + *prog_error == CEC_OP_PROG_ERROR_DUPLICATE) { + *duration_hr = (msg->msg[3] >> 4) * 10 + (msg->msg[3] & 0xf); + *duration_min = (msg->msg[4] >> 4) * 10 + (msg->msg[4] & 0xf); + } else { + *duration_hr = *duration_min = 0; + } +} +static inline void cec_msg_timer_cleared_status(struct cec_msg *msg, + __u8 timer_cleared_status) +{ + msg->len = 3; + msg->msg[1] = CEC_MSG_TIMER_CLEARED_STATUS; + msg->msg[2] = timer_cleared_status; +} +static inline void cec_ops_timer_cleared_status(const struct cec_msg *msg, + __u8 *timer_cleared_status) +{ + *timer_cleared_status = msg->msg[2]; +} +static inline void cec_msg_clear_analogue_timer(struct cec_msg *msg, + int reply, + __u8 day, + __u8 month, + __u8 start_hr, + __u8 start_min, + __u8 duration_hr, + __u8 duration_min, + __u8 recording_seq, + __u8 ana_bcast_type, + __u16 ana_freq, + __u8 bcast_system) +{ + msg->len = 13; + msg->msg[1] = CEC_MSG_CLEAR_ANALOGUE_TIMER; + msg->msg[2] = day; + msg->msg[3] = month; + + msg->msg[4] = ((start_hr / 10) << 4) | (start_hr % 10); + msg->msg[5] = ((start_min / 10) << 4) | (start_min % 10); + msg->msg[6] = ((duration_hr / 10) << 4) | (duration_hr % 10); + msg->msg[7] = ((duration_min / 10) << 4) | (duration_min % 10); + msg->msg[8] = recording_seq; + msg->msg[9] = ana_bcast_type; + msg->msg[10] = ana_freq >> 8; + msg->msg[11] = ana_freq & 0xff; + msg->msg[12] = bcast_system; + msg->reply = reply ? CEC_MSG_TIMER_CLEARED_STATUS : 0; +} +static inline void cec_ops_clear_analogue_timer(const struct cec_msg *msg, + __u8 *day, + __u8 *month, + __u8 *start_hr, + __u8 *start_min, + __u8 *duration_hr, + __u8 *duration_min, + __u8 *recording_seq, + __u8 *ana_bcast_type, + __u16 *ana_freq, + __u8 *bcast_system) +{ + *day = msg->msg[2]; + *month = msg->msg[3]; + + *start_hr = (msg->msg[4] >> 4) * 10 + (msg->msg[4] & 0xf); + *start_min = (msg->msg[5] >> 4) * 10 + (msg->msg[5] & 0xf); + *duration_hr = (msg->msg[6] >> 4) * 10 + (msg->msg[6] & 0xf); + *duration_min = (msg->msg[7] >> 4) * 10 + (msg->msg[7] & 0xf); + *recording_seq = msg->msg[8]; + *ana_bcast_type = msg->msg[9]; + *ana_freq = (msg->msg[10] << 8) | msg->msg[11]; + *bcast_system = msg->msg[12]; +} +static inline void cec_msg_clear_digital_timer(struct cec_msg *msg, + int reply, + __u8 day, + __u8 month, + __u8 start_hr, + __u8 start_min, + __u8 duration_hr, + __u8 duration_min, + __u8 recording_seq, + const struct cec_op_digital_service_id *digital) +{ + msg->len = 16; + msg->reply = reply ? CEC_MSG_TIMER_CLEARED_STATUS : 0; + msg->msg[1] = CEC_MSG_CLEAR_DIGITAL_TIMER; + msg->msg[2] = day; + msg->msg[3] = month; + + msg->msg[4] = ((start_hr / 10) << 4) | (start_hr % 10); + msg->msg[5] = ((start_min / 10) << 4) | (start_min % 10); + msg->msg[6] = ((duration_hr / 10) << 4) | (duration_hr % 10); + msg->msg[7] = ((duration_min / 10) << 4) | (duration_min % 10); + msg->msg[8] = recording_seq; + cec_set_digital_service_id(msg->msg + 9, digital); +} +static inline void cec_ops_clear_digital_timer(const struct cec_msg *msg, + __u8 *day, + __u8 *month, + __u8 *start_hr, + __u8 *start_min, + __u8 *duration_hr, + __u8 *duration_min, + __u8 *recording_seq, + struct cec_op_digital_service_id *digital) +{ + *day = msg->msg[2]; + *month = msg->msg[3]; + + *start_hr = (msg->msg[4] >> 4) * 10 + (msg->msg[4] & 0xf); + *start_min = (msg->msg[5] >> 4) * 10 + (msg->msg[5] & 0xf); + *duration_hr = (msg->msg[6] >> 4) * 10 + (msg->msg[6] & 0xf); + *duration_min = (msg->msg[7] >> 4) * 10 + (msg->msg[7] & 0xf); + *recording_seq = msg->msg[8]; + cec_get_digital_service_id(msg->msg + 9, digital); +} +static inline void cec_msg_clear_ext_timer(struct cec_msg *msg, + int reply, + __u8 day, + __u8 month, + __u8 start_hr, + __u8 start_min, + __u8 duration_hr, + __u8 duration_min, + __u8 recording_seq, + __u8 ext_src_spec, + __u8 plug, + __u16 phys_addr) +{ + msg->len = 13; + msg->msg[1] = CEC_MSG_CLEAR_EXT_TIMER; + msg->msg[2] = day; + msg->msg[3] = month; + + msg->msg[4] = ((start_hr / 10) << 4) | (start_hr % 10); + msg->msg[5] = ((start_min / 10) << 4) | (start_min % 10); + msg->msg[6] = ((duration_hr / 10) << 4) | (duration_hr % 10); + msg->msg[7] = ((duration_min / 10) << 4) | (duration_min % 10); + msg->msg[8] = recording_seq; + msg->msg[9] = ext_src_spec; + msg->msg[10] = plug; + msg->msg[11] = phys_addr >> 8; + msg->msg[12] = phys_addr & 0xff; + msg->reply = reply ? CEC_MSG_TIMER_CLEARED_STATUS : 0; +} +static inline void cec_ops_clear_ext_timer(const struct cec_msg *msg, + __u8 *day, + __u8 *month, + __u8 *start_hr, + __u8 *start_min, + __u8 *duration_hr, + __u8 *duration_min, + __u8 *recording_seq, + __u8 *ext_src_spec, + __u8 *plug, + __u16 *phys_addr) +{ + *day = msg->msg[2]; + *month = msg->msg[3]; + + *start_hr = (msg->msg[4] >> 4) * 10 + (msg->msg[4] & 0xf); + *start_min = (msg->msg[5] >> 4) * 10 + (msg->msg[5] & 0xf); + *duration_hr = (msg->msg[6] >> 4) * 10 + (msg->msg[6] & 0xf); + *duration_min = (msg->msg[7] >> 4) * 10 + (msg->msg[7] & 0xf); + *recording_seq = msg->msg[8]; + *ext_src_spec = msg->msg[9]; + *plug = msg->msg[10]; + *phys_addr = (msg->msg[11] << 8) | msg->msg[12]; +} +static inline void cec_msg_set_analogue_timer(struct cec_msg *msg, + int reply, + __u8 day, + __u8 month, + __u8 start_hr, + __u8 start_min, + __u8 duration_hr, + __u8 duration_min, + __u8 recording_seq, + __u8 ana_bcast_type, + __u16 ana_freq, + __u8 bcast_system) +{ + msg->len = 13; + msg->msg[1] = CEC_MSG_SET_ANALOGUE_TIMER; + msg->msg[2] = day; + msg->msg[3] = month; + + msg->msg[4] = ((start_hr / 10) << 4) | (start_hr % 10); + msg->msg[5] = ((start_min / 10) << 4) | (start_min % 10); + msg->msg[6] = ((duration_hr / 10) << 4) | (duration_hr % 10); + msg->msg[7] = ((duration_min / 10) << 4) | (duration_min % 10); + msg->msg[8] = recording_seq; + msg->msg[9] = ana_bcast_type; + msg->msg[10] = ana_freq >> 8; + msg->msg[11] = ana_freq & 0xff; + msg->msg[12] = bcast_system; + msg->reply = reply ? CEC_MSG_TIMER_STATUS : 0; +} +static inline void cec_ops_set_analogue_timer(const struct cec_msg *msg, + __u8 *day, + __u8 *month, + __u8 *start_hr, + __u8 *start_min, + __u8 *duration_hr, + __u8 *duration_min, + __u8 *recording_seq, + __u8 *ana_bcast_type, + __u16 *ana_freq, + __u8 *bcast_system) +{ + *day = msg->msg[2]; + *month = msg->msg[3]; + + *start_hr = (msg->msg[4] >> 4) * 10 + (msg->msg[4] & 0xf); + *start_min = (msg->msg[5] >> 4) * 10 + (msg->msg[5] & 0xf); + *duration_hr = (msg->msg[6] >> 4) * 10 + (msg->msg[6] & 0xf); + *duration_min = (msg->msg[7] >> 4) * 10 + (msg->msg[7] & 0xf); + *recording_seq = msg->msg[8]; + *ana_bcast_type = msg->msg[9]; + *ana_freq = (msg->msg[10] << 8) | msg->msg[11]; + *bcast_system = msg->msg[12]; +} +static inline void cec_msg_set_digital_timer(struct cec_msg *msg, + int reply, + __u8 day, + __u8 month, + __u8 start_hr, + __u8 start_min, + __u8 duration_hr, + __u8 duration_min, + __u8 recording_seq, + const struct cec_op_digital_service_id *digital) +{ + msg->len = 16; + msg->reply = reply ? CEC_MSG_TIMER_STATUS : 0; + msg->msg[1] = CEC_MSG_SET_DIGITAL_TIMER; + msg->msg[2] = day; + msg->msg[3] = month; + + msg->msg[4] = ((start_hr / 10) << 4) | (start_hr % 10); + msg->msg[5] = ((start_min / 10) << 4) | (start_min % 10); + msg->msg[6] = ((duration_hr / 10) << 4) | (duration_hr % 10); + msg->msg[7] = ((duration_min / 10) << 4) | (duration_min % 10); + msg->msg[8] = recording_seq; + cec_set_digital_service_id(msg->msg + 9, digital); +} +static inline void cec_ops_set_digital_timer(const struct cec_msg *msg, + __u8 *day, + __u8 *month, + __u8 *start_hr, + __u8 *start_min, + __u8 *duration_hr, + __u8 *duration_min, + __u8 *recording_seq, + struct cec_op_digital_service_id *digital) +{ + *day = msg->msg[2]; + *month = msg->msg[3]; + + *start_hr = (msg->msg[4] >> 4) * 10 + (msg->msg[4] & 0xf); + *start_min = (msg->msg[5] >> 4) * 10 + (msg->msg[5] & 0xf); + *duration_hr = (msg->msg[6] >> 4) * 10 + (msg->msg[6] & 0xf); + *duration_min = (msg->msg[7] >> 4) * 10 + (msg->msg[7] & 0xf); + *recording_seq = msg->msg[8]; + cec_get_digital_service_id(msg->msg + 9, digital); +} +static inline void cec_msg_set_ext_timer(struct cec_msg *msg, + int reply, + __u8 day, + __u8 month, + __u8 start_hr, + __u8 start_min, + __u8 duration_hr, + __u8 duration_min, + __u8 recording_seq, + __u8 ext_src_spec, + __u8 plug, + __u16 phys_addr) +{ + msg->len = 13; + msg->msg[1] = CEC_MSG_SET_EXT_TIMER; + msg->msg[2] = day; + msg->msg[3] = month; + + msg->msg[4] = ((start_hr / 10) << 4) | (start_hr % 10); + msg->msg[5] = ((start_min / 10) << 4) | (start_min % 10); + msg->msg[6] = ((duration_hr / 10) << 4) | (duration_hr % 10); + msg->msg[7] = ((duration_min / 10) << 4) | (duration_min % 10); + msg->msg[8] = recording_seq; + msg->msg[9] = ext_src_spec; + msg->msg[10] = plug; + msg->msg[11] = phys_addr >> 8; + msg->msg[12] = phys_addr & 0xff; + msg->reply = reply ? CEC_MSG_TIMER_STATUS : 0; +} +static inline void cec_ops_set_ext_timer(const struct cec_msg *msg, + __u8 *day, + __u8 *month, + __u8 *start_hr, + __u8 *start_min, + __u8 *duration_hr, + __u8 *duration_min, + __u8 *recording_seq, + __u8 *ext_src_spec, + __u8 *plug, + __u16 *phys_addr) +{ + *day = msg->msg[2]; + *month = msg->msg[3]; + + *start_hr = (msg->msg[4] >> 4) * 10 + (msg->msg[4] & 0xf); + *start_min = (msg->msg[5] >> 4) * 10 + (msg->msg[5] & 0xf); + *duration_hr = (msg->msg[6] >> 4) * 10 + (msg->msg[6] & 0xf); + *duration_min = (msg->msg[7] >> 4) * 10 + (msg->msg[7] & 0xf); + *recording_seq = msg->msg[8]; + *ext_src_spec = msg->msg[9]; + *plug = msg->msg[10]; + *phys_addr = (msg->msg[11] << 8) | msg->msg[12]; +} +static inline void cec_msg_set_timer_program_title(struct cec_msg *msg, + const char *prog_title) +{ + unsigned int len = strlen(prog_title); + if (len > 14) + len = 14; + msg->len = 2 + len; + msg->msg[1] = CEC_MSG_SET_TIMER_PROGRAM_TITLE; + memcpy(msg->msg + 2, prog_title, len); +} +static inline void cec_ops_set_timer_program_title(const struct cec_msg *msg, + char *prog_title) +{ + unsigned int len = msg->len > 2 ? msg->len - 2 : 0; + if (len > 14) + len = 14; + memcpy(prog_title, msg->msg + 2, len); + prog_title[len] = '\0'; +} +static inline void cec_msg_cec_version(struct cec_msg *msg, __u8 cec_version) +{ + msg->len = 3; + msg->msg[1] = CEC_MSG_CEC_VERSION; + msg->msg[2] = cec_version; +} +static inline void cec_ops_cec_version(const struct cec_msg *msg, + __u8 *cec_version) +{ + *cec_version = msg->msg[2]; +} +static inline void cec_msg_get_cec_version(struct cec_msg *msg, + int reply) +{ + msg->len = 2; + msg->msg[1] = CEC_MSG_GET_CEC_VERSION; + msg->reply = reply ? CEC_MSG_CEC_VERSION : 0; +} +static inline void cec_msg_report_physical_addr(struct cec_msg *msg, + __u16 phys_addr, __u8 prim_devtype) +{ + msg->len = 5; + msg->msg[0] |= 0xf; + msg->msg[1] = CEC_MSG_REPORT_PHYSICAL_ADDR; + msg->msg[2] = phys_addr >> 8; + msg->msg[3] = phys_addr & 0xff; + msg->msg[4] = prim_devtype; +} +static inline void cec_ops_report_physical_addr(const struct cec_msg *msg, + __u16 *phys_addr, __u8 *prim_devtype) +{ + *phys_addr = (msg->msg[2] << 8) | msg->msg[3]; + *prim_devtype = msg->msg[4]; +} +static inline void cec_msg_give_physical_addr(struct cec_msg *msg, + int reply) +{ + msg->len = 2; + msg->msg[1] = CEC_MSG_GIVE_PHYSICAL_ADDR; + msg->reply = reply ? CEC_MSG_REPORT_PHYSICAL_ADDR : 0; +} +static inline void cec_msg_set_menu_language(struct cec_msg *msg, + const char *language) +{ + msg->len = 5; + msg->msg[0] |= 0xf; + msg->msg[1] = CEC_MSG_SET_MENU_LANGUAGE; + memcpy(msg->msg + 2, language, 3); +} +static inline void cec_ops_set_menu_language(const struct cec_msg *msg, + char *language) +{ + memcpy(language, msg->msg + 2, 3); + language[3] = '\0'; +} +static inline void cec_msg_get_menu_language(struct cec_msg *msg, + int reply) +{ + msg->len = 2; + msg->msg[1] = CEC_MSG_GET_MENU_LANGUAGE; + msg->reply = reply ? CEC_MSG_SET_MENU_LANGUAGE : 0; +} +static inline void cec_msg_report_features(struct cec_msg *msg, + __u8 cec_version, __u8 all_device_types, + __u8 rc_profile, __u8 dev_features) +{ + msg->len = 6; + msg->msg[0] |= 0xf; + msg->msg[1] = CEC_MSG_REPORT_FEATURES; + msg->msg[2] = cec_version; + msg->msg[3] = all_device_types; + msg->msg[4] = rc_profile; + msg->msg[5] = dev_features; +} +static inline void cec_ops_report_features(const struct cec_msg *msg, + __u8 *cec_version, __u8 *all_device_types, + const __u8 **rc_profile, const __u8 **dev_features) +{ + const __u8 *p = &msg->msg[4]; + *cec_version = msg->msg[2]; + *all_device_types = msg->msg[3]; + *rc_profile = p; + *dev_features = NULL; + while (p < &msg->msg[14] && (*p & CEC_OP_FEAT_EXT)) + p++; + if (!(*p & CEC_OP_FEAT_EXT)) { + *dev_features = p + 1; + while (p < &msg->msg[15] && (*p & CEC_OP_FEAT_EXT)) + p++; + } + if (*p & CEC_OP_FEAT_EXT) + *rc_profile = *dev_features = NULL; +} +static inline void cec_msg_give_features(struct cec_msg *msg, + int reply) +{ + msg->len = 2; + msg->msg[1] = CEC_MSG_GIVE_FEATURES; + msg->reply = reply ? CEC_MSG_REPORT_FEATURES : 0; +} +static inline void cec_msg_deck_control(struct cec_msg *msg, + __u8 deck_control_mode) +{ + msg->len = 3; + msg->msg[1] = CEC_MSG_DECK_CONTROL; + msg->msg[2] = deck_control_mode; +} +static inline void cec_ops_deck_control(const struct cec_msg *msg, + __u8 *deck_control_mode) +{ + *deck_control_mode = msg->msg[2]; +} +static inline void cec_msg_deck_status(struct cec_msg *msg, + __u8 deck_info) +{ + msg->len = 3; + msg->msg[1] = CEC_MSG_DECK_STATUS; + msg->msg[2] = deck_info; +} +static inline void cec_ops_deck_status(const struct cec_msg *msg, + __u8 *deck_info) +{ + *deck_info = msg->msg[2]; +} +static inline void cec_msg_give_deck_status(struct cec_msg *msg, + int reply, + __u8 status_req) +{ + msg->len = 3; + msg->msg[1] = CEC_MSG_GIVE_DECK_STATUS; + msg->msg[2] = status_req; + msg->reply = (reply && status_req != CEC_OP_STATUS_REQ_OFF) ? + CEC_MSG_DECK_STATUS : 0; +} +static inline void cec_ops_give_deck_status(const struct cec_msg *msg, + __u8 *status_req) +{ + *status_req = msg->msg[2]; +} +static inline void cec_msg_play(struct cec_msg *msg, + __u8 play_mode) +{ + msg->len = 3; + msg->msg[1] = CEC_MSG_PLAY; + msg->msg[2] = play_mode; +} +static inline void cec_ops_play(const struct cec_msg *msg, + __u8 *play_mode) +{ + *play_mode = msg->msg[2]; +} +struct cec_op_tuner_device_info { + __u8 rec_flag; + __u8 tuner_display_info; + __u8 is_analog; + union { + struct cec_op_digital_service_id digital; + struct { + __u8 ana_bcast_type; + __u16 ana_freq; + __u8 bcast_system; + } analog; + }; +}; +static inline void cec_msg_tuner_device_status_analog(struct cec_msg *msg, + __u8 rec_flag, + __u8 tuner_display_info, + __u8 ana_bcast_type, + __u16 ana_freq, + __u8 bcast_system) +{ + msg->len = 7; + msg->msg[1] = CEC_MSG_TUNER_DEVICE_STATUS; + msg->msg[2] = (rec_flag << 7) | tuner_display_info; + msg->msg[3] = ana_bcast_type; + msg->msg[4] = ana_freq >> 8; + msg->msg[5] = ana_freq & 0xff; + msg->msg[6] = bcast_system; +} +static inline void cec_msg_tuner_device_status_digital(struct cec_msg *msg, + __u8 rec_flag, __u8 tuner_display_info, + const struct cec_op_digital_service_id *digital) +{ + msg->len = 10; + msg->msg[1] = CEC_MSG_TUNER_DEVICE_STATUS; + msg->msg[2] = (rec_flag << 7) | tuner_display_info; + cec_set_digital_service_id(msg->msg + 3, digital); +} +static inline void cec_msg_tuner_device_status(struct cec_msg *msg, + const struct cec_op_tuner_device_info *tuner_dev_info) +{ + if (tuner_dev_info->is_analog) + cec_msg_tuner_device_status_analog(msg, + tuner_dev_info->rec_flag, + tuner_dev_info->tuner_display_info, + tuner_dev_info->analog.ana_bcast_type, + tuner_dev_info->analog.ana_freq, + tuner_dev_info->analog.bcast_system); + else + cec_msg_tuner_device_status_digital(msg, + tuner_dev_info->rec_flag, + tuner_dev_info->tuner_display_info, + &tuner_dev_info->digital); +} +static inline void cec_ops_tuner_device_status(const struct cec_msg *msg, + struct cec_op_tuner_device_info *tuner_dev_info) +{ + tuner_dev_info->is_analog = msg->len < 10; + tuner_dev_info->rec_flag = msg->msg[2] >> 7; + tuner_dev_info->tuner_display_info = msg->msg[2] & 0x7f; + if (tuner_dev_info->is_analog) { + tuner_dev_info->analog.ana_bcast_type = msg->msg[3]; + tuner_dev_info->analog.ana_freq = (msg->msg[4] << 8) | msg->msg[5]; + tuner_dev_info->analog.bcast_system = msg->msg[6]; + return; + } + cec_get_digital_service_id(msg->msg + 3, &tuner_dev_info->digital); +} +static inline void cec_msg_give_tuner_device_status(struct cec_msg *msg, + int reply, + __u8 status_req) +{ + msg->len = 3; + msg->msg[1] = CEC_MSG_GIVE_TUNER_DEVICE_STATUS; + msg->msg[2] = status_req; + msg->reply = (reply && status_req != CEC_OP_STATUS_REQ_OFF) ? + CEC_MSG_TUNER_DEVICE_STATUS : 0; +} +static inline void cec_ops_give_tuner_device_status(const struct cec_msg *msg, + __u8 *status_req) +{ + *status_req = msg->msg[2]; +} +static inline void cec_msg_select_analogue_service(struct cec_msg *msg, + __u8 ana_bcast_type, + __u16 ana_freq, + __u8 bcast_system) +{ + msg->len = 6; + msg->msg[1] = CEC_MSG_SELECT_ANALOGUE_SERVICE; + msg->msg[2] = ana_bcast_type; + msg->msg[3] = ana_freq >> 8; + msg->msg[4] = ana_freq & 0xff; + msg->msg[5] = bcast_system; +} +static inline void cec_ops_select_analogue_service(const struct cec_msg *msg, + __u8 *ana_bcast_type, + __u16 *ana_freq, + __u8 *bcast_system) +{ + *ana_bcast_type = msg->msg[2]; + *ana_freq = (msg->msg[3] << 8) | msg->msg[4]; + *bcast_system = msg->msg[5]; +} +static inline void cec_msg_select_digital_service(struct cec_msg *msg, + const struct cec_op_digital_service_id *digital) +{ + msg->len = 9; + msg->msg[1] = CEC_MSG_SELECT_DIGITAL_SERVICE; + cec_set_digital_service_id(msg->msg + 2, digital); +} +static inline void cec_ops_select_digital_service(const struct cec_msg *msg, + struct cec_op_digital_service_id *digital) +{ + cec_get_digital_service_id(msg->msg + 2, digital); +} +static inline void cec_msg_tuner_step_decrement(struct cec_msg *msg) +{ + msg->len = 2; + msg->msg[1] = CEC_MSG_TUNER_STEP_DECREMENT; +} +static inline void cec_msg_tuner_step_increment(struct cec_msg *msg) +{ + msg->len = 2; + msg->msg[1] = CEC_MSG_TUNER_STEP_INCREMENT; +} +static inline void cec_msg_device_vendor_id(struct cec_msg *msg, __u32 vendor_id) +{ + msg->len = 5; + msg->msg[0] |= 0xf; + msg->msg[1] = CEC_MSG_DEVICE_VENDOR_ID; + msg->msg[2] = vendor_id >> 16; + msg->msg[3] = (vendor_id >> 8) & 0xff; + msg->msg[4] = vendor_id & 0xff; +} +static inline void cec_ops_device_vendor_id(const struct cec_msg *msg, + __u32 *vendor_id) +{ + *vendor_id = (msg->msg[2] << 16) | (msg->msg[3] << 8) | msg->msg[4]; +} +static inline void cec_msg_give_device_vendor_id(struct cec_msg *msg, + int reply) +{ + msg->len = 2; + msg->msg[1] = CEC_MSG_GIVE_DEVICE_VENDOR_ID; + msg->reply = reply ? CEC_MSG_DEVICE_VENDOR_ID : 0; +} +static inline void cec_msg_vendor_command(struct cec_msg *msg, + __u8 size, const __u8 *vendor_cmd) +{ + if (size > 14) + size = 14; + msg->len = 2 + size; + msg->msg[1] = CEC_MSG_VENDOR_COMMAND; + memcpy(msg->msg + 2, vendor_cmd, size); +} +static inline void cec_ops_vendor_command(const struct cec_msg *msg, + __u8 *size, + const __u8 **vendor_cmd) +{ + *size = msg->len - 2; + if (*size > 14) + *size = 14; + *vendor_cmd = msg->msg + 2; +} +static inline void cec_msg_vendor_command_with_id(struct cec_msg *msg, + __u32 vendor_id, __u8 size, + const __u8 *vendor_cmd) +{ + if (size > 11) + size = 11; + msg->len = 5 + size; + msg->msg[1] = CEC_MSG_VENDOR_COMMAND_WITH_ID; + msg->msg[2] = vendor_id >> 16; + msg->msg[3] = (vendor_id >> 8) & 0xff; + msg->msg[4] = vendor_id & 0xff; + memcpy(msg->msg + 5, vendor_cmd, size); +} +static inline void cec_ops_vendor_command_with_id(const struct cec_msg *msg, + __u32 *vendor_id, __u8 *size, + const __u8 **vendor_cmd) +{ + *size = msg->len - 5; + if (*size > 11) + *size = 11; + *vendor_id = (msg->msg[2] << 16) | (msg->msg[3] << 8) | msg->msg[4]; + *vendor_cmd = msg->msg + 5; +} +static inline void cec_msg_vendor_remote_button_down(struct cec_msg *msg, + __u8 size, + const __u8 *rc_code) +{ + if (size > 14) + size = 14; + msg->len = 2 + size; + msg->msg[1] = CEC_MSG_VENDOR_REMOTE_BUTTON_DOWN; + memcpy(msg->msg + 2, rc_code, size); +} +static inline void cec_ops_vendor_remote_button_down(const struct cec_msg *msg, + __u8 *size, + const __u8 **rc_code) +{ + *size = msg->len - 2; + if (*size > 14) + *size = 14; + *rc_code = msg->msg + 2; +} +static inline void cec_msg_vendor_remote_button_up(struct cec_msg *msg) +{ + msg->len = 2; + msg->msg[1] = CEC_MSG_VENDOR_REMOTE_BUTTON_UP; +} +static inline void cec_msg_set_osd_string(struct cec_msg *msg, + __u8 disp_ctl, + const char *osd) +{ + unsigned int len = strlen(osd); + if (len > 13) + len = 13; + msg->len = 3 + len; + msg->msg[1] = CEC_MSG_SET_OSD_STRING; + msg->msg[2] = disp_ctl; + memcpy(msg->msg + 3, osd, len); +} +static inline void cec_ops_set_osd_string(const struct cec_msg *msg, + __u8 *disp_ctl, + char *osd) +{ + unsigned int len = msg->len > 3 ? msg->len - 3 : 0; + *disp_ctl = msg->msg[2]; + if (len > 13) + len = 13; + memcpy(osd, msg->msg + 3, len); + osd[len] = '\0'; +} +static inline void cec_msg_set_osd_name(struct cec_msg *msg, const char *name) +{ + unsigned int len = strlen(name); + if (len > 14) + len = 14; + msg->len = 2 + len; + msg->msg[1] = CEC_MSG_SET_OSD_NAME; + memcpy(msg->msg + 2, name, len); +} +static inline void cec_ops_set_osd_name(const struct cec_msg *msg, + char *name) +{ + unsigned int len = msg->len > 2 ? msg->len - 2 : 0; + if (len > 14) + len = 14; + memcpy(name, msg->msg + 2, len); + name[len] = '\0'; +} +static inline void cec_msg_give_osd_name(struct cec_msg *msg, + int reply) +{ + msg->len = 2; + msg->msg[1] = CEC_MSG_GIVE_OSD_NAME; + msg->reply = reply ? CEC_MSG_SET_OSD_NAME : 0; +} +static inline void cec_msg_menu_status(struct cec_msg *msg, + __u8 menu_state) +{ + msg->len = 3; + msg->msg[1] = CEC_MSG_MENU_STATUS; + msg->msg[2] = menu_state; +} +static inline void cec_ops_menu_status(const struct cec_msg *msg, + __u8 *menu_state) +{ + *menu_state = msg->msg[2]; +} +static inline void cec_msg_menu_request(struct cec_msg *msg, + int reply, + __u8 menu_req) +{ + msg->len = 3; + msg->msg[1] = CEC_MSG_MENU_REQUEST; + msg->msg[2] = menu_req; + msg->reply = reply ? CEC_MSG_MENU_STATUS : 0; +} +static inline void cec_ops_menu_request(const struct cec_msg *msg, + __u8 *menu_req) +{ + *menu_req = msg->msg[2]; +} +struct cec_op_ui_command { + __u8 ui_cmd; + __u8 has_opt_arg; + union { + struct cec_op_channel_data channel_identifier; + __u8 ui_broadcast_type; + __u8 ui_sound_presentation_control; + __u8 play_mode; + __u8 ui_function_media; + __u8 ui_function_select_av_input; + __u8 ui_function_select_audio_input; + }; +}; +static inline void cec_msg_user_control_pressed(struct cec_msg *msg, + const struct cec_op_ui_command *ui_cmd) +{ + msg->len = 3; + msg->msg[1] = CEC_MSG_USER_CONTROL_PRESSED; + msg->msg[2] = ui_cmd->ui_cmd; + if (!ui_cmd->has_opt_arg) + return; + switch (ui_cmd->ui_cmd) { + case CEC_OP_UI_CMD_SELECT_BROADCAST_TYPE: + case CEC_OP_UI_CMD_SELECT_SOUND_PRESENTATION: + case CEC_OP_UI_CMD_PLAY_FUNCTION: + case CEC_OP_UI_CMD_SELECT_MEDIA_FUNCTION: + case CEC_OP_UI_CMD_SELECT_AV_INPUT_FUNCTION: + case CEC_OP_UI_CMD_SELECT_AUDIO_INPUT_FUNCTION: + + msg->len++; + msg->msg[3] = ui_cmd->play_mode; + break; + case CEC_OP_UI_CMD_TUNE_FUNCTION: + msg->len += 4; + msg->msg[3] = (ui_cmd->channel_identifier.channel_number_fmt << 2) | + (ui_cmd->channel_identifier.major >> 8); + msg->msg[4] = ui_cmd->channel_identifier.major & 0xff; + msg->msg[5] = ui_cmd->channel_identifier.minor >> 8; + msg->msg[6] = ui_cmd->channel_identifier.minor & 0xff; + break; + } +} +static inline void cec_ops_user_control_pressed(const struct cec_msg *msg, + struct cec_op_ui_command *ui_cmd) +{ + ui_cmd->ui_cmd = msg->msg[2]; + ui_cmd->has_opt_arg = 0; + if (msg->len == 3) + return; + switch (ui_cmd->ui_cmd) { + case CEC_OP_UI_CMD_SELECT_BROADCAST_TYPE: + case CEC_OP_UI_CMD_SELECT_SOUND_PRESENTATION: + case CEC_OP_UI_CMD_PLAY_FUNCTION: + case CEC_OP_UI_CMD_SELECT_MEDIA_FUNCTION: + case CEC_OP_UI_CMD_SELECT_AV_INPUT_FUNCTION: + case CEC_OP_UI_CMD_SELECT_AUDIO_INPUT_FUNCTION: + + ui_cmd->play_mode = msg->msg[3]; + ui_cmd->has_opt_arg = 1; + break; + case CEC_OP_UI_CMD_TUNE_FUNCTION: + if (msg->len < 7) + break; + ui_cmd->has_opt_arg = 1; + ui_cmd->channel_identifier.channel_number_fmt = msg->msg[3] >> 2; + ui_cmd->channel_identifier.major = ((msg->msg[3] & 3) << 6) | msg->msg[4]; + ui_cmd->channel_identifier.minor = (msg->msg[5] << 8) | msg->msg[6]; + break; + } +} +static inline void cec_msg_user_control_released(struct cec_msg *msg) +{ + msg->len = 2; + msg->msg[1] = CEC_MSG_USER_CONTROL_RELEASED; +} +static inline void cec_msg_report_power_status(struct cec_msg *msg, + __u8 pwr_state) +{ + msg->len = 3; + msg->msg[1] = CEC_MSG_REPORT_POWER_STATUS; + msg->msg[2] = pwr_state; +} +static inline void cec_ops_report_power_status(const struct cec_msg *msg, + __u8 *pwr_state) +{ + *pwr_state = msg->msg[2]; +} +static inline void cec_msg_give_device_power_status(struct cec_msg *msg, + int reply) +{ + msg->len = 2; + msg->msg[1] = CEC_MSG_GIVE_DEVICE_POWER_STATUS; + msg->reply = reply ? CEC_MSG_REPORT_POWER_STATUS : 0; +} +static inline void cec_msg_feature_abort(struct cec_msg *msg, + __u8 abort_msg, __u8 reason) +{ + msg->len = 4; + msg->msg[1] = CEC_MSG_FEATURE_ABORT; + msg->msg[2] = abort_msg; + msg->msg[3] = reason; +} +static inline void cec_ops_feature_abort(const struct cec_msg *msg, + __u8 *abort_msg, __u8 *reason) +{ + *abort_msg = msg->msg[2]; + *reason = msg->msg[3]; +} +static inline void cec_msg_reply_feature_abort(struct cec_msg *msg, __u8 reason) +{ + cec_msg_set_reply_to(msg, msg); + msg->len = 4; + msg->msg[2] = msg->msg[1]; + msg->msg[3] = reason; + msg->msg[1] = CEC_MSG_FEATURE_ABORT; +} +static inline void cec_msg_abort(struct cec_msg *msg) +{ + msg->len = 2; + msg->msg[1] = CEC_MSG_ABORT; +} +static inline void cec_msg_report_audio_status(struct cec_msg *msg, + __u8 aud_mute_status, + __u8 aud_vol_status) +{ + msg->len = 3; + msg->msg[1] = CEC_MSG_REPORT_AUDIO_STATUS; + msg->msg[2] = (aud_mute_status << 7) | (aud_vol_status & 0x7f); +} +static inline void cec_ops_report_audio_status(const struct cec_msg *msg, + __u8 *aud_mute_status, + __u8 *aud_vol_status) +{ + *aud_mute_status = msg->msg[2] >> 7; + *aud_vol_status = msg->msg[2] & 0x7f; +} +static inline void cec_msg_give_audio_status(struct cec_msg *msg, + int reply) +{ + msg->len = 2; + msg->msg[1] = CEC_MSG_GIVE_AUDIO_STATUS; + msg->reply = reply ? CEC_MSG_REPORT_AUDIO_STATUS : 0; +} +static inline void cec_msg_set_system_audio_mode(struct cec_msg *msg, + __u8 sys_aud_status) +{ + msg->len = 3; + msg->msg[1] = CEC_MSG_SET_SYSTEM_AUDIO_MODE; + msg->msg[2] = sys_aud_status; +} +static inline void cec_ops_set_system_audio_mode(const struct cec_msg *msg, + __u8 *sys_aud_status) +{ + *sys_aud_status = msg->msg[2]; +} +static inline void cec_msg_system_audio_mode_request(struct cec_msg *msg, + int reply, + __u16 phys_addr) +{ + msg->len = phys_addr == 0xffff ? 2 : 4; + msg->msg[1] = CEC_MSG_SYSTEM_AUDIO_MODE_REQUEST; + msg->msg[2] = phys_addr >> 8; + msg->msg[3] = phys_addr & 0xff; + msg->reply = reply ? CEC_MSG_SET_SYSTEM_AUDIO_MODE : 0; +} +static inline void cec_ops_system_audio_mode_request(const struct cec_msg *msg, + __u16 *phys_addr) +{ + if (msg->len < 4) + *phys_addr = 0xffff; + else + *phys_addr = (msg->msg[2] << 8) | msg->msg[3]; +} +static inline void cec_msg_system_audio_mode_status(struct cec_msg *msg, + __u8 sys_aud_status) +{ + msg->len = 3; + msg->msg[1] = CEC_MSG_SYSTEM_AUDIO_MODE_STATUS; + msg->msg[2] = sys_aud_status; +} +static inline void cec_ops_system_audio_mode_status(const struct cec_msg *msg, + __u8 *sys_aud_status) +{ + *sys_aud_status = msg->msg[2]; +} +static inline void cec_msg_give_system_audio_mode_status(struct cec_msg *msg, + int reply) +{ + msg->len = 2; + msg->msg[1] = CEC_MSG_GIVE_SYSTEM_AUDIO_MODE_STATUS; + msg->reply = reply ? CEC_MSG_SYSTEM_AUDIO_MODE_STATUS : 0; +} +static inline void cec_msg_report_short_audio_descriptor(struct cec_msg *msg, + __u8 num_descriptors, + const __u32 *descriptors) +{ + unsigned int i; + if (num_descriptors > 4) + num_descriptors = 4; + msg->len = 2 + num_descriptors * 3; + msg->msg[1] = CEC_MSG_REPORT_SHORT_AUDIO_DESCRIPTOR; + for (i = 0; i < num_descriptors; i++) { + msg->msg[2 + i * 3] = (descriptors[i] >> 16) & 0xff; + msg->msg[3 + i * 3] = (descriptors[i] >> 8) & 0xff; + msg->msg[4 + i * 3] = descriptors[i] & 0xff; + } +} +static inline void cec_ops_report_short_audio_descriptor(const struct cec_msg *msg, + __u8 *num_descriptors, + __u32 *descriptors) +{ + unsigned int i; + *num_descriptors = (msg->len - 2) / 3; + if (*num_descriptors > 4) + *num_descriptors = 4; + for (i = 0; i < *num_descriptors; i++) + descriptors[i] = (msg->msg[2 + i * 3] << 16) | + (msg->msg[3 + i * 3] << 8) | + msg->msg[4 + i * 3]; +} +static inline void cec_msg_request_short_audio_descriptor(struct cec_msg *msg, + int reply, + __u8 num_descriptors, + const __u8 *audio_format_id, + const __u8 *audio_format_code) +{ + unsigned int i; + if (num_descriptors > 4) + num_descriptors = 4; + msg->len = 2 + num_descriptors; + msg->msg[1] = CEC_MSG_REQUEST_SHORT_AUDIO_DESCRIPTOR; + msg->reply = reply ? CEC_MSG_REPORT_SHORT_AUDIO_DESCRIPTOR : 0; + for (i = 0; i < num_descriptors; i++) + msg->msg[2 + i] = (audio_format_id[i] << 6) | + (audio_format_code[i] & 0x3f); +} +static inline void cec_ops_request_short_audio_descriptor(const struct cec_msg *msg, + __u8 *num_descriptors, + __u8 *audio_format_id, + __u8 *audio_format_code) +{ + unsigned int i; + *num_descriptors = msg->len - 2; + if (*num_descriptors > 4) + *num_descriptors = 4; + for (i = 0; i < *num_descriptors; i++) { + audio_format_id[i] = msg->msg[2 + i] >> 6; + audio_format_code[i] = msg->msg[2 + i] & 0x3f; + } +} +static inline void cec_msg_set_audio_rate(struct cec_msg *msg, + __u8 audio_rate) +{ + msg->len = 3; + msg->msg[1] = CEC_MSG_SET_AUDIO_RATE; + msg->msg[2] = audio_rate; +} +static inline void cec_ops_set_audio_rate(const struct cec_msg *msg, + __u8 *audio_rate) +{ + *audio_rate = msg->msg[2]; +} +static inline void cec_msg_report_arc_initiated(struct cec_msg *msg) +{ + msg->len = 2; + msg->msg[1] = CEC_MSG_REPORT_ARC_INITIATED; +} +static inline void cec_msg_initiate_arc(struct cec_msg *msg, + int reply) +{ + msg->len = 2; + msg->msg[1] = CEC_MSG_INITIATE_ARC; + msg->reply = reply ? CEC_MSG_REPORT_ARC_INITIATED : 0; +} +static inline void cec_msg_request_arc_initiation(struct cec_msg *msg, + int reply) +{ + msg->len = 2; + msg->msg[1] = CEC_MSG_REQUEST_ARC_INITIATION; + msg->reply = reply ? CEC_MSG_INITIATE_ARC : 0; +} +static inline void cec_msg_report_arc_terminated(struct cec_msg *msg) +{ + msg->len = 2; + msg->msg[1] = CEC_MSG_REPORT_ARC_TERMINATED; +} +static inline void cec_msg_terminate_arc(struct cec_msg *msg, + int reply) +{ + msg->len = 2; + msg->msg[1] = CEC_MSG_TERMINATE_ARC; + msg->reply = reply ? CEC_MSG_REPORT_ARC_TERMINATED : 0; +} +static inline void cec_msg_request_arc_termination(struct cec_msg *msg, + int reply) +{ + msg->len = 2; + msg->msg[1] = CEC_MSG_REQUEST_ARC_TERMINATION; + msg->reply = reply ? CEC_MSG_TERMINATE_ARC : 0; +} +static inline void cec_msg_report_current_latency(struct cec_msg *msg, + __u16 phys_addr, + __u8 video_latency, + __u8 low_latency_mode, + __u8 audio_out_compensated, + __u8 audio_out_delay) +{ + msg->len = 6; + msg->msg[0] |= 0xf; + msg->msg[1] = CEC_MSG_REPORT_CURRENT_LATENCY; + msg->msg[2] = phys_addr >> 8; + msg->msg[3] = phys_addr & 0xff; + msg->msg[4] = video_latency; + msg->msg[5] = (low_latency_mode << 2) | audio_out_compensated; + if (audio_out_compensated == 3) + msg->msg[msg->len++] = audio_out_delay; +} +static inline void cec_ops_report_current_latency(const struct cec_msg *msg, + __u16 *phys_addr, + __u8 *video_latency, + __u8 *low_latency_mode, + __u8 *audio_out_compensated, + __u8 *audio_out_delay) +{ + *phys_addr = (msg->msg[2] << 8) | msg->msg[3]; + *video_latency = msg->msg[4]; + *low_latency_mode = (msg->msg[5] >> 2) & 1; + *audio_out_compensated = msg->msg[5] & 3; + if (*audio_out_compensated == 3 && msg->len >= 7) + *audio_out_delay = msg->msg[6]; + else + *audio_out_delay = 0; +} +static inline void cec_msg_request_current_latency(struct cec_msg *msg, + int reply, + __u16 phys_addr) +{ + msg->len = 4; + msg->msg[0] |= 0xf; + msg->msg[1] = CEC_MSG_REQUEST_CURRENT_LATENCY; + msg->msg[2] = phys_addr >> 8; + msg->msg[3] = phys_addr & 0xff; + msg->reply = reply ? CEC_MSG_REPORT_CURRENT_LATENCY : 0; +} +static inline void cec_ops_request_current_latency(const struct cec_msg *msg, + __u16 *phys_addr) +{ + *phys_addr = (msg->msg[2] << 8) | msg->msg[3]; +} +static inline void cec_msg_cdc_hec_inquire_state(struct cec_msg *msg, + __u16 phys_addr1, + __u16 phys_addr2) +{ + msg->len = 9; + msg->msg[0] |= 0xf; + msg->msg[1] = CEC_MSG_CDC_MESSAGE; + + msg->msg[4] = CEC_MSG_CDC_HEC_INQUIRE_STATE; + msg->msg[5] = phys_addr1 >> 8; + msg->msg[6] = phys_addr1 & 0xff; + msg->msg[7] = phys_addr2 >> 8; + msg->msg[8] = phys_addr2 & 0xff; +} +static inline void cec_ops_cdc_hec_inquire_state(const struct cec_msg *msg, + __u16 *phys_addr, + __u16 *phys_addr1, + __u16 *phys_addr2) +{ + *phys_addr = (msg->msg[2] << 8) | msg->msg[3]; + *phys_addr1 = (msg->msg[5] << 8) | msg->msg[6]; + *phys_addr2 = (msg->msg[7] << 8) | msg->msg[8]; +} +static inline void cec_msg_cdc_hec_report_state(struct cec_msg *msg, + __u16 target_phys_addr, + __u8 hec_func_state, + __u8 host_func_state, + __u8 enc_func_state, + __u8 cdc_errcode, + __u8 has_field, + __u16 hec_field) +{ + msg->len = has_field ? 10 : 8; + msg->msg[0] |= 0xf; + msg->msg[1] = CEC_MSG_CDC_MESSAGE; + + msg->msg[4] = CEC_MSG_CDC_HEC_REPORT_STATE; + msg->msg[5] = target_phys_addr >> 8; + msg->msg[6] = target_phys_addr & 0xff; + msg->msg[7] = (hec_func_state << 6) | + (host_func_state << 4) | + (enc_func_state << 2) | + cdc_errcode; + if (has_field) { + msg->msg[8] = hec_field >> 8; + msg->msg[9] = hec_field & 0xff; + } +} +static inline void cec_ops_cdc_hec_report_state(const struct cec_msg *msg, + __u16 *phys_addr, + __u16 *target_phys_addr, + __u8 *hec_func_state, + __u8 *host_func_state, + __u8 *enc_func_state, + __u8 *cdc_errcode, + __u8 *has_field, + __u16 *hec_field) +{ + *phys_addr = (msg->msg[2] << 8) | msg->msg[3]; + *target_phys_addr = (msg->msg[5] << 8) | msg->msg[6]; + *hec_func_state = msg->msg[7] >> 6; + *host_func_state = (msg->msg[7] >> 4) & 3; + *enc_func_state = (msg->msg[7] >> 4) & 3; + *cdc_errcode = msg->msg[7] & 3; + *has_field = msg->len >= 10; + *hec_field = *has_field ? ((msg->msg[8] << 8) | msg->msg[9]) : 0; +} +static inline void cec_msg_cdc_hec_set_state(struct cec_msg *msg, + __u16 phys_addr1, + __u16 phys_addr2, + __u8 hec_set_state, + __u16 phys_addr3, + __u16 phys_addr4, + __u16 phys_addr5) +{ + msg->len = 10; + msg->msg[0] |= 0xf; + msg->msg[1] = CEC_MSG_CDC_MESSAGE; + + msg->msg[4] = CEC_MSG_CDC_HEC_INQUIRE_STATE; + msg->msg[5] = phys_addr1 >> 8; + msg->msg[6] = phys_addr1 & 0xff; + msg->msg[7] = phys_addr2 >> 8; + msg->msg[8] = phys_addr2 & 0xff; + msg->msg[9] = hec_set_state; + if (phys_addr3 != CEC_PHYS_ADDR_INVALID) { + msg->msg[msg->len++] = phys_addr3 >> 8; + msg->msg[msg->len++] = phys_addr3 & 0xff; + if (phys_addr4 != CEC_PHYS_ADDR_INVALID) { + msg->msg[msg->len++] = phys_addr4 >> 8; + msg->msg[msg->len++] = phys_addr4 & 0xff; + if (phys_addr5 != CEC_PHYS_ADDR_INVALID) { + msg->msg[msg->len++] = phys_addr5 >> 8; + msg->msg[msg->len++] = phys_addr5 & 0xff; + } + } + } +} +static inline void cec_ops_cdc_hec_set_state(const struct cec_msg *msg, + __u16 *phys_addr, + __u16 *phys_addr1, + __u16 *phys_addr2, + __u8 *hec_set_state, + __u16 *phys_addr3, + __u16 *phys_addr4, + __u16 *phys_addr5) +{ + *phys_addr = (msg->msg[2] << 8) | msg->msg[3]; + *phys_addr1 = (msg->msg[5] << 8) | msg->msg[6]; + *phys_addr2 = (msg->msg[7] << 8) | msg->msg[8]; + *hec_set_state = msg->msg[9]; + *phys_addr3 = *phys_addr4 = *phys_addr5 = CEC_PHYS_ADDR_INVALID; + if (msg->len >= 12) + *phys_addr3 = (msg->msg[10] << 8) | msg->msg[11]; + if (msg->len >= 14) + *phys_addr4 = (msg->msg[12] << 8) | msg->msg[13]; + if (msg->len >= 16) + *phys_addr5 = (msg->msg[14] << 8) | msg->msg[15]; +} +static inline void cec_msg_cdc_hec_set_state_adjacent(struct cec_msg *msg, + __u16 phys_addr1, + __u8 hec_set_state) +{ + msg->len = 8; + msg->msg[0] |= 0xf; + msg->msg[1] = CEC_MSG_CDC_MESSAGE; + + msg->msg[4] = CEC_MSG_CDC_HEC_SET_STATE_ADJACENT; + msg->msg[5] = phys_addr1 >> 8; + msg->msg[6] = phys_addr1 & 0xff; + msg->msg[7] = hec_set_state; +} +static inline void cec_ops_cdc_hec_set_state_adjacent(const struct cec_msg *msg, + __u16 *phys_addr, + __u16 *phys_addr1, + __u8 *hec_set_state) +{ + *phys_addr = (msg->msg[2] << 8) | msg->msg[3]; + *phys_addr1 = (msg->msg[5] << 8) | msg->msg[6]; + *hec_set_state = msg->msg[7]; +} +static inline void cec_msg_cdc_hec_request_deactivation(struct cec_msg *msg, + __u16 phys_addr1, + __u16 phys_addr2, + __u16 phys_addr3) +{ + msg->len = 11; + msg->msg[0] |= 0xf; + msg->msg[1] = CEC_MSG_CDC_MESSAGE; + + msg->msg[4] = CEC_MSG_CDC_HEC_REQUEST_DEACTIVATION; + msg->msg[5] = phys_addr1 >> 8; + msg->msg[6] = phys_addr1 & 0xff; + msg->msg[7] = phys_addr2 >> 8; + msg->msg[8] = phys_addr2 & 0xff; + msg->msg[9] = phys_addr3 >> 8; + msg->msg[10] = phys_addr3 & 0xff; +} +static inline void cec_ops_cdc_hec_request_deactivation(const struct cec_msg *msg, + __u16 *phys_addr, + __u16 *phys_addr1, + __u16 *phys_addr2, + __u16 *phys_addr3) +{ + *phys_addr = (msg->msg[2] << 8) | msg->msg[3]; + *phys_addr1 = (msg->msg[5] << 8) | msg->msg[6]; + *phys_addr2 = (msg->msg[7] << 8) | msg->msg[8]; + *phys_addr3 = (msg->msg[9] << 8) | msg->msg[10]; +} +static inline void cec_msg_cdc_hec_notify_alive(struct cec_msg *msg) +{ + msg->len = 5; + msg->msg[0] |= 0xf; + msg->msg[1] = CEC_MSG_CDC_MESSAGE; + + msg->msg[4] = CEC_MSG_CDC_HEC_NOTIFY_ALIVE; +} +static inline void cec_ops_cdc_hec_notify_alive(const struct cec_msg *msg, + __u16 *phys_addr) +{ + *phys_addr = (msg->msg[2] << 8) | msg->msg[3]; +} +static inline void cec_msg_cdc_hec_discover(struct cec_msg *msg) +{ + msg->len = 5; + msg->msg[0] |= 0xf; + msg->msg[1] = CEC_MSG_CDC_MESSAGE; + + msg->msg[4] = CEC_MSG_CDC_HEC_DISCOVER; +} +static inline void cec_ops_cdc_hec_discover(const struct cec_msg *msg, + __u16 *phys_addr) +{ + *phys_addr = (msg->msg[2] << 8) | msg->msg[3]; +} +static inline void cec_msg_cdc_hpd_set_state(struct cec_msg *msg, + __u8 input_port, + __u8 hpd_state) +{ + msg->len = 6; + msg->msg[0] |= 0xf; + msg->msg[1] = CEC_MSG_CDC_MESSAGE; + + msg->msg[4] = CEC_MSG_CDC_HPD_SET_STATE; + msg->msg[5] = (input_port << 4) | hpd_state; +} +static inline void cec_ops_cdc_hpd_set_state(const struct cec_msg *msg, + __u16 *phys_addr, + __u8 *input_port, + __u8 *hpd_state) +{ + *phys_addr = (msg->msg[2] << 8) | msg->msg[3]; + *input_port = msg->msg[5] >> 4; + *hpd_state = msg->msg[5] & 0xf; +} +static inline void cec_msg_cdc_hpd_report_state(struct cec_msg *msg, + __u8 hpd_state, + __u8 hpd_error) +{ + msg->len = 6; + msg->msg[0] |= 0xf; + msg->msg[1] = CEC_MSG_CDC_MESSAGE; + + msg->msg[4] = CEC_MSG_CDC_HPD_REPORT_STATE; + msg->msg[5] = (hpd_state << 4) | hpd_error; +} +static inline void cec_ops_cdc_hpd_report_state(const struct cec_msg *msg, + __u16 *phys_addr, + __u8 *hpd_state, + __u8 *hpd_error) +{ + *phys_addr = (msg->msg[2] << 8) | msg->msg[3]; + *hpd_state = msg->msg[5] >> 4; + *hpd_error = msg->msg[5] & 0xf; +} +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/cec.h b/linux-5.10/prebuilts/usr/include/linux/cec.h new file mode 100644 index 0000000..c73b404 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/cec.h @@ -0,0 +1,723 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _CEC_UAPI_H +#define _CEC_UAPI_H +#include +#include +#define CEC_MAX_MSG_SIZE 16 +struct cec_msg { + __u64 tx_ts; + __u64 rx_ts; + __u32 len; + __u32 timeout; + __u32 sequence; + __u32 flags; + __u8 msg[CEC_MAX_MSG_SIZE]; + __u8 reply; + __u8 rx_status; + __u8 tx_status; + __u8 tx_arb_lost_cnt; + __u8 tx_nack_cnt; + __u8 tx_low_drive_cnt; + __u8 tx_error_cnt; +}; +static inline __u8 cec_msg_initiator(const struct cec_msg *msg) +{ + return msg->msg[0] >> 4; +} +static inline __u8 cec_msg_destination(const struct cec_msg *msg) +{ + return msg->msg[0] & 0xf; +} +static inline int cec_msg_opcode(const struct cec_msg *msg) +{ + return msg->len > 1 ? msg->msg[1] : -1; +} +static inline int cec_msg_is_broadcast(const struct cec_msg *msg) +{ + return (msg->msg[0] & 0xf) == 0xf; +} +static inline void cec_msg_init(struct cec_msg *msg, + __u8 initiator, __u8 destination) +{ + memset(msg, 0, sizeof(*msg)); + msg->msg[0] = (initiator << 4) | destination; + msg->len = 1; +} +static inline void cec_msg_set_reply_to(struct cec_msg *msg, + struct cec_msg *orig) +{ + + msg->msg[0] = (cec_msg_destination(orig) << 4) | + cec_msg_initiator(orig); + msg->reply = msg->timeout = 0; +} +#define CEC_MSG_FL_REPLY_TO_FOLLOWERS (1 << 0) +#define CEC_MSG_FL_RAW (1 << 1) +#define CEC_TX_STATUS_OK (1 << 0) +#define CEC_TX_STATUS_ARB_LOST (1 << 1) +#define CEC_TX_STATUS_NACK (1 << 2) +#define CEC_TX_STATUS_LOW_DRIVE (1 << 3) +#define CEC_TX_STATUS_ERROR (1 << 4) +#define CEC_TX_STATUS_MAX_RETRIES (1 << 5) +#define CEC_TX_STATUS_ABORTED (1 << 6) +#define CEC_TX_STATUS_TIMEOUT (1 << 7) +#define CEC_RX_STATUS_OK (1 << 0) +#define CEC_RX_STATUS_TIMEOUT (1 << 1) +#define CEC_RX_STATUS_FEATURE_ABORT (1 << 2) +#define CEC_RX_STATUS_ABORTED (1 << 3) +static inline int cec_msg_status_is_ok(const struct cec_msg *msg) +{ + if (msg->tx_status && !(msg->tx_status & CEC_TX_STATUS_OK)) + return 0; + if (msg->rx_status && !(msg->rx_status & CEC_RX_STATUS_OK)) + return 0; + if (!msg->tx_status && !msg->rx_status) + return 0; + return !(msg->rx_status & CEC_RX_STATUS_FEATURE_ABORT); +} +#define CEC_LOG_ADDR_INVALID 0xff +#define CEC_PHYS_ADDR_INVALID 0xffff +#define CEC_MAX_LOG_ADDRS 4 +#define CEC_LOG_ADDR_TV 0 +#define CEC_LOG_ADDR_RECORD_1 1 +#define CEC_LOG_ADDR_RECORD_2 2 +#define CEC_LOG_ADDR_TUNER_1 3 +#define CEC_LOG_ADDR_PLAYBACK_1 4 +#define CEC_LOG_ADDR_AUDIOSYSTEM 5 +#define CEC_LOG_ADDR_TUNER_2 6 +#define CEC_LOG_ADDR_TUNER_3 7 +#define CEC_LOG_ADDR_PLAYBACK_2 8 +#define CEC_LOG_ADDR_RECORD_3 9 +#define CEC_LOG_ADDR_TUNER_4 10 +#define CEC_LOG_ADDR_PLAYBACK_3 11 +#define CEC_LOG_ADDR_BACKUP_1 12 +#define CEC_LOG_ADDR_BACKUP_2 13 +#define CEC_LOG_ADDR_SPECIFIC 14 +#define CEC_LOG_ADDR_UNREGISTERED 15 +#define CEC_LOG_ADDR_BROADCAST 15 +#define CEC_LOG_ADDR_TYPE_TV 0 +#define CEC_LOG_ADDR_TYPE_RECORD 1 +#define CEC_LOG_ADDR_TYPE_TUNER 2 +#define CEC_LOG_ADDR_TYPE_PLAYBACK 3 +#define CEC_LOG_ADDR_TYPE_AUDIOSYSTEM 4 +#define CEC_LOG_ADDR_TYPE_SPECIFIC 5 +#define CEC_LOG_ADDR_TYPE_UNREGISTERED 6 +#define CEC_LOG_ADDR_MASK_TV (1 << CEC_LOG_ADDR_TV) +#define CEC_LOG_ADDR_MASK_RECORD ((1 << CEC_LOG_ADDR_RECORD_1) | \ + (1 << CEC_LOG_ADDR_RECORD_2) | \ + (1 << CEC_LOG_ADDR_RECORD_3)) +#define CEC_LOG_ADDR_MASK_TUNER ((1 << CEC_LOG_ADDR_TUNER_1) | \ + (1 << CEC_LOG_ADDR_TUNER_2) | \ + (1 << CEC_LOG_ADDR_TUNER_3) | \ + (1 << CEC_LOG_ADDR_TUNER_4)) +#define CEC_LOG_ADDR_MASK_PLAYBACK ((1 << CEC_LOG_ADDR_PLAYBACK_1) | \ + (1 << CEC_LOG_ADDR_PLAYBACK_2) | \ + (1 << CEC_LOG_ADDR_PLAYBACK_3)) +#define CEC_LOG_ADDR_MASK_AUDIOSYSTEM (1 << CEC_LOG_ADDR_AUDIOSYSTEM) +#define CEC_LOG_ADDR_MASK_BACKUP ((1 << CEC_LOG_ADDR_BACKUP_1) | \ + (1 << CEC_LOG_ADDR_BACKUP_2)) +#define CEC_LOG_ADDR_MASK_SPECIFIC (1 << CEC_LOG_ADDR_SPECIFIC) +#define CEC_LOG_ADDR_MASK_UNREGISTERED (1 << CEC_LOG_ADDR_UNREGISTERED) +static inline int cec_has_tv(__u16 log_addr_mask) +{ + return log_addr_mask & CEC_LOG_ADDR_MASK_TV; +} +static inline int cec_has_record(__u16 log_addr_mask) +{ + return log_addr_mask & CEC_LOG_ADDR_MASK_RECORD; +} +static inline int cec_has_tuner(__u16 log_addr_mask) +{ + return log_addr_mask & CEC_LOG_ADDR_MASK_TUNER; +} +static inline int cec_has_playback(__u16 log_addr_mask) +{ + return log_addr_mask & CEC_LOG_ADDR_MASK_PLAYBACK; +} +static inline int cec_has_audiosystem(__u16 log_addr_mask) +{ + return log_addr_mask & CEC_LOG_ADDR_MASK_AUDIOSYSTEM; +} +static inline int cec_has_backup(__u16 log_addr_mask) +{ + return log_addr_mask & CEC_LOG_ADDR_MASK_BACKUP; +} +static inline int cec_has_specific(__u16 log_addr_mask) +{ + return log_addr_mask & CEC_LOG_ADDR_MASK_SPECIFIC; +} +static inline int cec_is_unregistered(__u16 log_addr_mask) +{ + return log_addr_mask & CEC_LOG_ADDR_MASK_UNREGISTERED; +} +static inline int cec_is_unconfigured(__u16 log_addr_mask) +{ + return log_addr_mask == 0; +} +#define CEC_VENDOR_ID_NONE 0xffffffff +#define CEC_MODE_NO_INITIATOR (0x0 << 0) +#define CEC_MODE_INITIATOR (0x1 << 0) +#define CEC_MODE_EXCL_INITIATOR (0x2 << 0) +#define CEC_MODE_INITIATOR_MSK 0x0f +#define CEC_MODE_NO_FOLLOWER (0x0 << 4) +#define CEC_MODE_FOLLOWER (0x1 << 4) +#define CEC_MODE_EXCL_FOLLOWER (0x2 << 4) +#define CEC_MODE_EXCL_FOLLOWER_PASSTHRU (0x3 << 4) +#define CEC_MODE_MONITOR_PIN (0xd << 4) +#define CEC_MODE_MONITOR (0xe << 4) +#define CEC_MODE_MONITOR_ALL (0xf << 4) +#define CEC_MODE_FOLLOWER_MSK 0xf0 +#define CEC_CAP_PHYS_ADDR (1 << 0) +#define CEC_CAP_LOG_ADDRS (1 << 1) +#define CEC_CAP_TRANSMIT (1 << 2) +#define CEC_CAP_PASSTHROUGH (1 << 3) +#define CEC_CAP_RC (1 << 4) +#define CEC_CAP_MONITOR_ALL (1 << 5) +#define CEC_CAP_NEEDS_HPD (1 << 6) +#define CEC_CAP_MONITOR_PIN (1 << 7) +#define CEC_CAP_CONNECTOR_INFO (1 << 8) +struct cec_caps { + char driver[32]; + char name[32]; + __u32 available_log_addrs; + __u32 capabilities; + __u32 version; +}; +struct cec_log_addrs { + __u8 log_addr[CEC_MAX_LOG_ADDRS]; + __u16 log_addr_mask; + __u8 cec_version; + __u8 num_log_addrs; + __u32 vendor_id; + __u32 flags; + char osd_name[15]; + __u8 primary_device_type[CEC_MAX_LOG_ADDRS]; + __u8 log_addr_type[CEC_MAX_LOG_ADDRS]; + + __u8 all_device_types[CEC_MAX_LOG_ADDRS]; + __u8 features[CEC_MAX_LOG_ADDRS][12]; +}; +#define CEC_LOG_ADDRS_FL_ALLOW_UNREG_FALLBACK (1 << 0) +#define CEC_LOG_ADDRS_FL_ALLOW_RC_PASSTHRU (1 << 1) +#define CEC_LOG_ADDRS_FL_CDC_ONLY (1 << 2) +struct cec_drm_connector_info { + __u32 card_no; + __u32 connector_id; +}; +#define CEC_CONNECTOR_TYPE_NO_CONNECTOR 0 +#define CEC_CONNECTOR_TYPE_DRM 1 +struct cec_connector_info { + __u32 type; + union { + struct cec_drm_connector_info drm; + __u32 raw[16]; + }; +}; +#define CEC_EVENT_STATE_CHANGE 1 +#define CEC_EVENT_LOST_MSGS 2 +#define CEC_EVENT_PIN_CEC_LOW 3 +#define CEC_EVENT_PIN_CEC_HIGH 4 +#define CEC_EVENT_PIN_HPD_LOW 5 +#define CEC_EVENT_PIN_HPD_HIGH 6 +#define CEC_EVENT_PIN_5V_LOW 7 +#define CEC_EVENT_PIN_5V_HIGH 8 +#define CEC_EVENT_FL_INITIAL_STATE (1 << 0) +#define CEC_EVENT_FL_DROPPED_EVENTS (1 << 1) +struct cec_event_state_change { + __u16 phys_addr; + __u16 log_addr_mask; + __u16 have_conn_info; +}; +struct cec_event_lost_msgs { + __u32 lost_msgs; +}; +struct cec_event { + __u64 ts; + __u32 event; + __u32 flags; + union { + struct cec_event_state_change state_change; + struct cec_event_lost_msgs lost_msgs; + __u32 raw[16]; + }; +}; +#define CEC_ADAP_G_CAPS _IOWR('a', 0, struct cec_caps) +#define CEC_ADAP_G_PHYS_ADDR _IOR('a', 1, __u16) +#define CEC_ADAP_S_PHYS_ADDR _IOW('a', 2, __u16) +#define CEC_ADAP_G_LOG_ADDRS _IOR('a', 3, struct cec_log_addrs) +#define CEC_ADAP_S_LOG_ADDRS _IOWR('a', 4, struct cec_log_addrs) +#define CEC_TRANSMIT _IOWR('a', 5, struct cec_msg) +#define CEC_RECEIVE _IOWR('a', 6, struct cec_msg) +#define CEC_DQEVENT _IOWR('a', 7, struct cec_event) +#define CEC_G_MODE _IOR('a', 8, __u32) +#define CEC_S_MODE _IOW('a', 9, __u32) +#define CEC_ADAP_G_CONNECTOR_INFO _IOR('a', 10, struct cec_connector_info) +#define CEC_MSG_ACTIVE_SOURCE 0x82 +#define CEC_MSG_IMAGE_VIEW_ON 0x04 +#define CEC_MSG_TEXT_VIEW_ON 0x0d +#define CEC_MSG_INACTIVE_SOURCE 0x9d +#define CEC_MSG_REQUEST_ACTIVE_SOURCE 0x85 +#define CEC_MSG_ROUTING_CHANGE 0x80 +#define CEC_MSG_ROUTING_INFORMATION 0x81 +#define CEC_MSG_SET_STREAM_PATH 0x86 +#define CEC_MSG_STANDBY 0x36 +#define CEC_MSG_RECORD_OFF 0x0b +#define CEC_MSG_RECORD_ON 0x09 +#define CEC_OP_RECORD_SRC_OWN 1 +#define CEC_OP_RECORD_SRC_DIGITAL 2 +#define CEC_OP_RECORD_SRC_ANALOG 3 +#define CEC_OP_RECORD_SRC_EXT_PLUG 4 +#define CEC_OP_RECORD_SRC_EXT_PHYS_ADDR 5 +#define CEC_OP_SERVICE_ID_METHOD_BY_DIG_ID 0 +#define CEC_OP_SERVICE_ID_METHOD_BY_CHANNEL 1 +#define CEC_OP_DIG_SERVICE_BCAST_SYSTEM_ARIB_GEN 0x00 +#define CEC_OP_DIG_SERVICE_BCAST_SYSTEM_ATSC_GEN 0x01 +#define CEC_OP_DIG_SERVICE_BCAST_SYSTEM_DVB_GEN 0x02 +#define CEC_OP_DIG_SERVICE_BCAST_SYSTEM_ARIB_BS 0x08 +#define CEC_OP_DIG_SERVICE_BCAST_SYSTEM_ARIB_CS 0x09 +#define CEC_OP_DIG_SERVICE_BCAST_SYSTEM_ARIB_T 0x0a +#define CEC_OP_DIG_SERVICE_BCAST_SYSTEM_ATSC_CABLE 0x10 +#define CEC_OP_DIG_SERVICE_BCAST_SYSTEM_ATSC_SAT 0x11 +#define CEC_OP_DIG_SERVICE_BCAST_SYSTEM_ATSC_T 0x12 +#define CEC_OP_DIG_SERVICE_BCAST_SYSTEM_DVB_C 0x18 +#define CEC_OP_DIG_SERVICE_BCAST_SYSTEM_DVB_S 0x19 +#define CEC_OP_DIG_SERVICE_BCAST_SYSTEM_DVB_S2 0x1a +#define CEC_OP_DIG_SERVICE_BCAST_SYSTEM_DVB_T 0x1b +#define CEC_OP_ANA_BCAST_TYPE_CABLE 0 +#define CEC_OP_ANA_BCAST_TYPE_SATELLITE 1 +#define CEC_OP_ANA_BCAST_TYPE_TERRESTRIAL 2 +#define CEC_OP_BCAST_SYSTEM_PAL_BG 0x00 +#define CEC_OP_BCAST_SYSTEM_SECAM_LQ 0x01 +#define CEC_OP_BCAST_SYSTEM_PAL_M 0x02 +#define CEC_OP_BCAST_SYSTEM_NTSC_M 0x03 +#define CEC_OP_BCAST_SYSTEM_PAL_I 0x04 +#define CEC_OP_BCAST_SYSTEM_SECAM_DK 0x05 +#define CEC_OP_BCAST_SYSTEM_SECAM_BG 0x06 +#define CEC_OP_BCAST_SYSTEM_SECAM_L 0x07 +#define CEC_OP_BCAST_SYSTEM_PAL_DK 0x08 +#define CEC_OP_BCAST_SYSTEM_OTHER 0x1f +#define CEC_OP_CHANNEL_NUMBER_FMT_1_PART 0x01 +#define CEC_OP_CHANNEL_NUMBER_FMT_2_PART 0x02 +#define CEC_MSG_RECORD_STATUS 0x0a +#define CEC_OP_RECORD_STATUS_CUR_SRC 0x01 +#define CEC_OP_RECORD_STATUS_DIG_SERVICE 0x02 +#define CEC_OP_RECORD_STATUS_ANA_SERVICE 0x03 +#define CEC_OP_RECORD_STATUS_EXT_INPUT 0x04 +#define CEC_OP_RECORD_STATUS_NO_DIG_SERVICE 0x05 +#define CEC_OP_RECORD_STATUS_NO_ANA_SERVICE 0x06 +#define CEC_OP_RECORD_STATUS_NO_SERVICE 0x07 +#define CEC_OP_RECORD_STATUS_INVALID_EXT_PLUG 0x09 +#define CEC_OP_RECORD_STATUS_INVALID_EXT_PHYS_ADDR 0x0a +#define CEC_OP_RECORD_STATUS_UNSUP_CA 0x0b +#define CEC_OP_RECORD_STATUS_NO_CA_ENTITLEMENTS 0x0c +#define CEC_OP_RECORD_STATUS_CANT_COPY_SRC 0x0d +#define CEC_OP_RECORD_STATUS_NO_MORE_COPIES 0x0e +#define CEC_OP_RECORD_STATUS_NO_MEDIA 0x10 +#define CEC_OP_RECORD_STATUS_PLAYING 0x11 +#define CEC_OP_RECORD_STATUS_ALREADY_RECORDING 0x12 +#define CEC_OP_RECORD_STATUS_MEDIA_PROT 0x13 +#define CEC_OP_RECORD_STATUS_NO_SIGNAL 0x14 +#define CEC_OP_RECORD_STATUS_MEDIA_PROBLEM 0x15 +#define CEC_OP_RECORD_STATUS_NO_SPACE 0x16 +#define CEC_OP_RECORD_STATUS_PARENTAL_LOCK 0x17 +#define CEC_OP_RECORD_STATUS_TERMINATED_OK 0x1a +#define CEC_OP_RECORD_STATUS_ALREADY_TERM 0x1b +#define CEC_OP_RECORD_STATUS_OTHER 0x1f +#define CEC_MSG_RECORD_TV_SCREEN 0x0f +#define CEC_MSG_CLEAR_ANALOGUE_TIMER 0x33 +#define CEC_OP_REC_SEQ_SUNDAY 0x01 +#define CEC_OP_REC_SEQ_MONDAY 0x02 +#define CEC_OP_REC_SEQ_TUESDAY 0x04 +#define CEC_OP_REC_SEQ_WEDNESDAY 0x08 +#define CEC_OP_REC_SEQ_THURSDAY 0x10 +#define CEC_OP_REC_SEQ_FRIDAY 0x20 +#define CEC_OP_REC_SEQ_SATERDAY 0x40 +#define CEC_OP_REC_SEQ_ONCE_ONLY 0x00 +#define CEC_MSG_CLEAR_DIGITAL_TIMER 0x99 +#define CEC_MSG_CLEAR_EXT_TIMER 0xa1 +#define CEC_OP_EXT_SRC_PLUG 0x04 +#define CEC_OP_EXT_SRC_PHYS_ADDR 0x05 +#define CEC_MSG_SET_ANALOGUE_TIMER 0x34 +#define CEC_MSG_SET_DIGITAL_TIMER 0x97 +#define CEC_MSG_SET_EXT_TIMER 0xa2 +#define CEC_MSG_SET_TIMER_PROGRAM_TITLE 0x67 +#define CEC_MSG_TIMER_CLEARED_STATUS 0x43 +#define CEC_OP_TIMER_CLR_STAT_RECORDING 0x00 +#define CEC_OP_TIMER_CLR_STAT_NO_MATCHING 0x01 +#define CEC_OP_TIMER_CLR_STAT_NO_INFO 0x02 +#define CEC_OP_TIMER_CLR_STAT_CLEARED 0x80 +#define CEC_MSG_TIMER_STATUS 0x35 +#define CEC_OP_TIMER_OVERLAP_WARNING_NO_OVERLAP 0 +#define CEC_OP_TIMER_OVERLAP_WARNING_OVERLAP 1 +#define CEC_OP_MEDIA_INFO_UNPROT_MEDIA 0 +#define CEC_OP_MEDIA_INFO_PROT_MEDIA 1 +#define CEC_OP_MEDIA_INFO_NO_MEDIA 2 +#define CEC_OP_PROG_IND_NOT_PROGRAMMED 0 +#define CEC_OP_PROG_IND_PROGRAMMED 1 +#define CEC_OP_PROG_INFO_ENOUGH_SPACE 0x08 +#define CEC_OP_PROG_INFO_NOT_ENOUGH_SPACE 0x09 +#define CEC_OP_PROG_INFO_MIGHT_NOT_BE_ENOUGH_SPACE 0x0b +#define CEC_OP_PROG_INFO_NONE_AVAILABLE 0x0a +#define CEC_OP_PROG_ERROR_NO_FREE_TIMER 0x01 +#define CEC_OP_PROG_ERROR_DATE_OUT_OF_RANGE 0x02 +#define CEC_OP_PROG_ERROR_REC_SEQ_ERROR 0x03 +#define CEC_OP_PROG_ERROR_INV_EXT_PLUG 0x04 +#define CEC_OP_PROG_ERROR_INV_EXT_PHYS_ADDR 0x05 +#define CEC_OP_PROG_ERROR_CA_UNSUPP 0x06 +#define CEC_OP_PROG_ERROR_INSUF_CA_ENTITLEMENTS 0x07 +#define CEC_OP_PROG_ERROR_RESOLUTION_UNSUPP 0x08 +#define CEC_OP_PROG_ERROR_PARENTAL_LOCK 0x09 +#define CEC_OP_PROG_ERROR_CLOCK_FAILURE 0x0a +#define CEC_OP_PROG_ERROR_DUPLICATE 0x0e +#define CEC_MSG_CEC_VERSION 0x9e +#define CEC_OP_CEC_VERSION_1_3A 4 +#define CEC_OP_CEC_VERSION_1_4 5 +#define CEC_OP_CEC_VERSION_2_0 6 +#define CEC_MSG_GET_CEC_VERSION 0x9f +#define CEC_MSG_GIVE_PHYSICAL_ADDR 0x83 +#define CEC_MSG_GET_MENU_LANGUAGE 0x91 +#define CEC_MSG_REPORT_PHYSICAL_ADDR 0x84 +#define CEC_OP_PRIM_DEVTYPE_TV 0 +#define CEC_OP_PRIM_DEVTYPE_RECORD 1 +#define CEC_OP_PRIM_DEVTYPE_TUNER 3 +#define CEC_OP_PRIM_DEVTYPE_PLAYBACK 4 +#define CEC_OP_PRIM_DEVTYPE_AUDIOSYSTEM 5 +#define CEC_OP_PRIM_DEVTYPE_SWITCH 6 +#define CEC_OP_PRIM_DEVTYPE_PROCESSOR 7 +#define CEC_MSG_SET_MENU_LANGUAGE 0x32 +#define CEC_MSG_REPORT_FEATURES 0xa6 +#define CEC_OP_ALL_DEVTYPE_TV 0x80 +#define CEC_OP_ALL_DEVTYPE_RECORD 0x40 +#define CEC_OP_ALL_DEVTYPE_TUNER 0x20 +#define CEC_OP_ALL_DEVTYPE_PLAYBACK 0x10 +#define CEC_OP_ALL_DEVTYPE_AUDIOSYSTEM 0x08 +#define CEC_OP_ALL_DEVTYPE_SWITCH 0x04 +#define CEC_OP_FEAT_EXT 0x80 +#define CEC_OP_FEAT_RC_TV_PROFILE_NONE 0x00 +#define CEC_OP_FEAT_RC_TV_PROFILE_1 0x02 +#define CEC_OP_FEAT_RC_TV_PROFILE_2 0x06 +#define CEC_OP_FEAT_RC_TV_PROFILE_3 0x0a +#define CEC_OP_FEAT_RC_TV_PROFILE_4 0x0e +#define CEC_OP_FEAT_RC_SRC_HAS_DEV_ROOT_MENU 0x50 +#define CEC_OP_FEAT_RC_SRC_HAS_DEV_SETUP_MENU 0x48 +#define CEC_OP_FEAT_RC_SRC_HAS_CONTENTS_MENU 0x44 +#define CEC_OP_FEAT_RC_SRC_HAS_MEDIA_TOP_MENU 0x42 +#define CEC_OP_FEAT_RC_SRC_HAS_MEDIA_CONTEXT_MENU 0x41 +#define CEC_OP_FEAT_DEV_HAS_RECORD_TV_SCREEN 0x40 +#define CEC_OP_FEAT_DEV_HAS_SET_OSD_STRING 0x20 +#define CEC_OP_FEAT_DEV_HAS_DECK_CONTROL 0x10 +#define CEC_OP_FEAT_DEV_HAS_SET_AUDIO_RATE 0x08 +#define CEC_OP_FEAT_DEV_SINK_HAS_ARC_TX 0x04 +#define CEC_OP_FEAT_DEV_SOURCE_HAS_ARC_RX 0x02 +#define CEC_MSG_GIVE_FEATURES 0xa5 +#define CEC_MSG_DECK_CONTROL 0x42 +#define CEC_OP_DECK_CTL_MODE_SKIP_FWD 1 +#define CEC_OP_DECK_CTL_MODE_SKIP_REV 2 +#define CEC_OP_DECK_CTL_MODE_STOP 3 +#define CEC_OP_DECK_CTL_MODE_EJECT 4 +#define CEC_MSG_DECK_STATUS 0x1b +#define CEC_OP_DECK_INFO_PLAY 0x11 +#define CEC_OP_DECK_INFO_RECORD 0x12 +#define CEC_OP_DECK_INFO_PLAY_REV 0x13 +#define CEC_OP_DECK_INFO_STILL 0x14 +#define CEC_OP_DECK_INFO_SLOW 0x15 +#define CEC_OP_DECK_INFO_SLOW_REV 0x16 +#define CEC_OP_DECK_INFO_FAST_FWD 0x17 +#define CEC_OP_DECK_INFO_FAST_REV 0x18 +#define CEC_OP_DECK_INFO_NO_MEDIA 0x19 +#define CEC_OP_DECK_INFO_STOP 0x1a +#define CEC_OP_DECK_INFO_SKIP_FWD 0x1b +#define CEC_OP_DECK_INFO_SKIP_REV 0x1c +#define CEC_OP_DECK_INFO_INDEX_SEARCH_FWD 0x1d +#define CEC_OP_DECK_INFO_INDEX_SEARCH_REV 0x1e +#define CEC_OP_DECK_INFO_OTHER 0x1f +#define CEC_MSG_GIVE_DECK_STATUS 0x1a +#define CEC_OP_STATUS_REQ_ON 1 +#define CEC_OP_STATUS_REQ_OFF 2 +#define CEC_OP_STATUS_REQ_ONCE 3 +#define CEC_MSG_PLAY 0x41 +#define CEC_OP_PLAY_MODE_PLAY_FWD 0x24 +#define CEC_OP_PLAY_MODE_PLAY_REV 0x20 +#define CEC_OP_PLAY_MODE_PLAY_STILL 0x25 +#define CEC_OP_PLAY_MODE_PLAY_FAST_FWD_MIN 0x05 +#define CEC_OP_PLAY_MODE_PLAY_FAST_FWD_MED 0x06 +#define CEC_OP_PLAY_MODE_PLAY_FAST_FWD_MAX 0x07 +#define CEC_OP_PLAY_MODE_PLAY_FAST_REV_MIN 0x09 +#define CEC_OP_PLAY_MODE_PLAY_FAST_REV_MED 0x0a +#define CEC_OP_PLAY_MODE_PLAY_FAST_REV_MAX 0x0b +#define CEC_OP_PLAY_MODE_PLAY_SLOW_FWD_MIN 0x15 +#define CEC_OP_PLAY_MODE_PLAY_SLOW_FWD_MED 0x16 +#define CEC_OP_PLAY_MODE_PLAY_SLOW_FWD_MAX 0x17 +#define CEC_OP_PLAY_MODE_PLAY_SLOW_REV_MIN 0x19 +#define CEC_OP_PLAY_MODE_PLAY_SLOW_REV_MED 0x1a +#define CEC_OP_PLAY_MODE_PLAY_SLOW_REV_MAX 0x1b +#define CEC_MSG_GIVE_TUNER_DEVICE_STATUS 0x08 +#define CEC_MSG_SELECT_ANALOGUE_SERVICE 0x92 +#define CEC_MSG_SELECT_DIGITAL_SERVICE 0x93 +#define CEC_MSG_TUNER_DEVICE_STATUS 0x07 +#define CEC_OP_REC_FLAG_NOT_USED 0 +#define CEC_OP_REC_FLAG_USED 1 +#define CEC_OP_TUNER_DISPLAY_INFO_DIGITAL 0 +#define CEC_OP_TUNER_DISPLAY_INFO_NONE 1 +#define CEC_OP_TUNER_DISPLAY_INFO_ANALOGUE 2 +#define CEC_MSG_TUNER_STEP_DECREMENT 0x06 +#define CEC_MSG_TUNER_STEP_INCREMENT 0x05 +#define CEC_MSG_DEVICE_VENDOR_ID 0x87 +#define CEC_MSG_GIVE_DEVICE_VENDOR_ID 0x8c +#define CEC_MSG_VENDOR_COMMAND 0x89 +#define CEC_MSG_VENDOR_COMMAND_WITH_ID 0xa0 +#define CEC_MSG_VENDOR_REMOTE_BUTTON_DOWN 0x8a +#define CEC_MSG_VENDOR_REMOTE_BUTTON_UP 0x8b +#define CEC_MSG_SET_OSD_STRING 0x64 +#define CEC_OP_DISP_CTL_DEFAULT 0x00 +#define CEC_OP_DISP_CTL_UNTIL_CLEARED 0x40 +#define CEC_OP_DISP_CTL_CLEAR 0x80 +#define CEC_MSG_GIVE_OSD_NAME 0x46 +#define CEC_MSG_SET_OSD_NAME 0x47 +#define CEC_MSG_MENU_REQUEST 0x8d +#define CEC_OP_MENU_REQUEST_ACTIVATE 0x00 +#define CEC_OP_MENU_REQUEST_DEACTIVATE 0x01 +#define CEC_OP_MENU_REQUEST_QUERY 0x02 +#define CEC_MSG_MENU_STATUS 0x8e +#define CEC_OP_MENU_STATE_ACTIVATED 0x00 +#define CEC_OP_MENU_STATE_DEACTIVATED 0x01 +#define CEC_MSG_USER_CONTROL_PRESSED 0x44 +#define CEC_OP_UI_CMD_SELECT 0x00 +#define CEC_OP_UI_CMD_UP 0x01 +#define CEC_OP_UI_CMD_DOWN 0x02 +#define CEC_OP_UI_CMD_LEFT 0x03 +#define CEC_OP_UI_CMD_RIGHT 0x04 +#define CEC_OP_UI_CMD_RIGHT_UP 0x05 +#define CEC_OP_UI_CMD_RIGHT_DOWN 0x06 +#define CEC_OP_UI_CMD_LEFT_UP 0x07 +#define CEC_OP_UI_CMD_LEFT_DOWN 0x08 +#define CEC_OP_UI_CMD_DEVICE_ROOT_MENU 0x09 +#define CEC_OP_UI_CMD_DEVICE_SETUP_MENU 0x0a +#define CEC_OP_UI_CMD_CONTENTS_MENU 0x0b +#define CEC_OP_UI_CMD_FAVORITE_MENU 0x0c +#define CEC_OP_UI_CMD_BACK 0x0d +#define CEC_OP_UI_CMD_MEDIA_TOP_MENU 0x10 +#define CEC_OP_UI_CMD_MEDIA_CONTEXT_SENSITIVE_MENU 0x11 +#define CEC_OP_UI_CMD_NUMBER_ENTRY_MODE 0x1d +#define CEC_OP_UI_CMD_NUMBER_11 0x1e +#define CEC_OP_UI_CMD_NUMBER_12 0x1f +#define CEC_OP_UI_CMD_NUMBER_0_OR_NUMBER_10 0x20 +#define CEC_OP_UI_CMD_NUMBER_1 0x21 +#define CEC_OP_UI_CMD_NUMBER_2 0x22 +#define CEC_OP_UI_CMD_NUMBER_3 0x23 +#define CEC_OP_UI_CMD_NUMBER_4 0x24 +#define CEC_OP_UI_CMD_NUMBER_5 0x25 +#define CEC_OP_UI_CMD_NUMBER_6 0x26 +#define CEC_OP_UI_CMD_NUMBER_7 0x27 +#define CEC_OP_UI_CMD_NUMBER_8 0x28 +#define CEC_OP_UI_CMD_NUMBER_9 0x29 +#define CEC_OP_UI_CMD_DOT 0x2a +#define CEC_OP_UI_CMD_ENTER 0x2b +#define CEC_OP_UI_CMD_CLEAR 0x2c +#define CEC_OP_UI_CMD_NEXT_FAVORITE 0x2f +#define CEC_OP_UI_CMD_CHANNEL_UP 0x30 +#define CEC_OP_UI_CMD_CHANNEL_DOWN 0x31 +#define CEC_OP_UI_CMD_PREVIOUS_CHANNEL 0x32 +#define CEC_OP_UI_CMD_SOUND_SELECT 0x33 +#define CEC_OP_UI_CMD_INPUT_SELECT 0x34 +#define CEC_OP_UI_CMD_DISPLAY_INFORMATION 0x35 +#define CEC_OP_UI_CMD_HELP 0x36 +#define CEC_OP_UI_CMD_PAGE_UP 0x37 +#define CEC_OP_UI_CMD_PAGE_DOWN 0x38 +#define CEC_OP_UI_CMD_POWER 0x40 +#define CEC_OP_UI_CMD_VOLUME_UP 0x41 +#define CEC_OP_UI_CMD_VOLUME_DOWN 0x42 +#define CEC_OP_UI_CMD_MUTE 0x43 +#define CEC_OP_UI_CMD_PLAY 0x44 +#define CEC_OP_UI_CMD_STOP 0x45 +#define CEC_OP_UI_CMD_PAUSE 0x46 +#define CEC_OP_UI_CMD_RECORD 0x47 +#define CEC_OP_UI_CMD_REWIND 0x48 +#define CEC_OP_UI_CMD_FAST_FORWARD 0x49 +#define CEC_OP_UI_CMD_EJECT 0x4a +#define CEC_OP_UI_CMD_SKIP_FORWARD 0x4b +#define CEC_OP_UI_CMD_SKIP_BACKWARD 0x4c +#define CEC_OP_UI_CMD_STOP_RECORD 0x4d +#define CEC_OP_UI_CMD_PAUSE_RECORD 0x4e +#define CEC_OP_UI_CMD_ANGLE 0x50 +#define CEC_OP_UI_CMD_SUB_PICTURE 0x51 +#define CEC_OP_UI_CMD_VIDEO_ON_DEMAND 0x52 +#define CEC_OP_UI_CMD_ELECTRONIC_PROGRAM_GUIDE 0x53 +#define CEC_OP_UI_CMD_TIMER_PROGRAMMING 0x54 +#define CEC_OP_UI_CMD_INITIAL_CONFIGURATION 0x55 +#define CEC_OP_UI_CMD_SELECT_BROADCAST_TYPE 0x56 +#define CEC_OP_UI_CMD_SELECT_SOUND_PRESENTATION 0x57 +#define CEC_OP_UI_CMD_AUDIO_DESCRIPTION 0x58 +#define CEC_OP_UI_CMD_INTERNET 0x59 +#define CEC_OP_UI_CMD_3D_MODE 0x5a +#define CEC_OP_UI_CMD_PLAY_FUNCTION 0x60 +#define CEC_OP_UI_CMD_PAUSE_PLAY_FUNCTION 0x61 +#define CEC_OP_UI_CMD_RECORD_FUNCTION 0x62 +#define CEC_OP_UI_CMD_PAUSE_RECORD_FUNCTION 0x63 +#define CEC_OP_UI_CMD_STOP_FUNCTION 0x64 +#define CEC_OP_UI_CMD_MUTE_FUNCTION 0x65 +#define CEC_OP_UI_CMD_RESTORE_VOLUME_FUNCTION 0x66 +#define CEC_OP_UI_CMD_TUNE_FUNCTION 0x67 +#define CEC_OP_UI_CMD_SELECT_MEDIA_FUNCTION 0x68 +#define CEC_OP_UI_CMD_SELECT_AV_INPUT_FUNCTION 0x69 +#define CEC_OP_UI_CMD_SELECT_AUDIO_INPUT_FUNCTION 0x6a +#define CEC_OP_UI_CMD_POWER_TOGGLE_FUNCTION 0x6b +#define CEC_OP_UI_CMD_POWER_OFF_FUNCTION 0x6c +#define CEC_OP_UI_CMD_POWER_ON_FUNCTION 0x6d +#define CEC_OP_UI_CMD_F1_BLUE 0x71 +#define CEC_OP_UI_CMD_F2_RED 0x72 +#define CEC_OP_UI_CMD_F3_GREEN 0x73 +#define CEC_OP_UI_CMD_F4_YELLOW 0x74 +#define CEC_OP_UI_CMD_F5 0x75 +#define CEC_OP_UI_CMD_DATA 0x76 +#define CEC_OP_UI_BCAST_TYPE_TOGGLE_ALL 0x00 +#define CEC_OP_UI_BCAST_TYPE_TOGGLE_DIG_ANA 0x01 +#define CEC_OP_UI_BCAST_TYPE_ANALOGUE 0x10 +#define CEC_OP_UI_BCAST_TYPE_ANALOGUE_T 0x20 +#define CEC_OP_UI_BCAST_TYPE_ANALOGUE_CABLE 0x30 +#define CEC_OP_UI_BCAST_TYPE_ANALOGUE_SAT 0x40 +#define CEC_OP_UI_BCAST_TYPE_DIGITAL 0x50 +#define CEC_OP_UI_BCAST_TYPE_DIGITAL_T 0x60 +#define CEC_OP_UI_BCAST_TYPE_DIGITAL_CABLE 0x70 +#define CEC_OP_UI_BCAST_TYPE_DIGITAL_SAT 0x80 +#define CEC_OP_UI_BCAST_TYPE_DIGITAL_COM_SAT 0x90 +#define CEC_OP_UI_BCAST_TYPE_DIGITAL_COM_SAT2 0x91 +#define CEC_OP_UI_BCAST_TYPE_IP 0xa0 +#define CEC_OP_UI_SND_PRES_CTL_DUAL_MONO 0x10 +#define CEC_OP_UI_SND_PRES_CTL_KARAOKE 0x20 +#define CEC_OP_UI_SND_PRES_CTL_DOWNMIX 0x80 +#define CEC_OP_UI_SND_PRES_CTL_REVERB 0x90 +#define CEC_OP_UI_SND_PRES_CTL_EQUALIZER 0xa0 +#define CEC_OP_UI_SND_PRES_CTL_BASS_UP 0xb1 +#define CEC_OP_UI_SND_PRES_CTL_BASS_NEUTRAL 0xb2 +#define CEC_OP_UI_SND_PRES_CTL_BASS_DOWN 0xb3 +#define CEC_OP_UI_SND_PRES_CTL_TREBLE_UP 0xc1 +#define CEC_OP_UI_SND_PRES_CTL_TREBLE_NEUTRAL 0xc2 +#define CEC_OP_UI_SND_PRES_CTL_TREBLE_DOWN 0xc3 +#define CEC_MSG_USER_CONTROL_RELEASED 0x45 +#define CEC_MSG_GIVE_DEVICE_POWER_STATUS 0x8f +#define CEC_MSG_REPORT_POWER_STATUS 0x90 +#define CEC_OP_POWER_STATUS_ON 0 +#define CEC_OP_POWER_STATUS_STANDBY 1 +#define CEC_OP_POWER_STATUS_TO_ON 2 +#define CEC_OP_POWER_STATUS_TO_STANDBY 3 +#define CEC_MSG_FEATURE_ABORT 0x00 +#define CEC_OP_ABORT_UNRECOGNIZED_OP 0 +#define CEC_OP_ABORT_INCORRECT_MODE 1 +#define CEC_OP_ABORT_NO_SOURCE 2 +#define CEC_OP_ABORT_INVALID_OP 3 +#define CEC_OP_ABORT_REFUSED 4 +#define CEC_OP_ABORT_UNDETERMINED 5 +#define CEC_MSG_ABORT 0xff +#define CEC_MSG_GIVE_AUDIO_STATUS 0x71 +#define CEC_MSG_GIVE_SYSTEM_AUDIO_MODE_STATUS 0x7d +#define CEC_MSG_REPORT_AUDIO_STATUS 0x7a +#define CEC_OP_AUD_MUTE_STATUS_OFF 0 +#define CEC_OP_AUD_MUTE_STATUS_ON 1 +#define CEC_MSG_REPORT_SHORT_AUDIO_DESCRIPTOR 0xa3 +#define CEC_MSG_REQUEST_SHORT_AUDIO_DESCRIPTOR 0xa4 +#define CEC_MSG_SET_SYSTEM_AUDIO_MODE 0x72 +#define CEC_OP_SYS_AUD_STATUS_OFF 0 +#define CEC_OP_SYS_AUD_STATUS_ON 1 +#define CEC_MSG_SYSTEM_AUDIO_MODE_REQUEST 0x70 +#define CEC_MSG_SYSTEM_AUDIO_MODE_STATUS 0x7e +#define CEC_OP_AUD_FMT_ID_CEA861 0 +#define CEC_OP_AUD_FMT_ID_CEA861_CXT 1 +#define CEC_MSG_SET_AUDIO_RATE 0x9a +#define CEC_OP_AUD_RATE_OFF 0 +#define CEC_OP_AUD_RATE_WIDE_STD 1 +#define CEC_OP_AUD_RATE_WIDE_FAST 2 +#define CEC_OP_AUD_RATE_WIDE_SLOW 3 +#define CEC_OP_AUD_RATE_NARROW_STD 4 +#define CEC_OP_AUD_RATE_NARROW_FAST 5 +#define CEC_OP_AUD_RATE_NARROW_SLOW 6 +#define CEC_MSG_INITIATE_ARC 0xc0 +#define CEC_MSG_REPORT_ARC_INITIATED 0xc1 +#define CEC_MSG_REPORT_ARC_TERMINATED 0xc2 +#define CEC_MSG_REQUEST_ARC_INITIATION 0xc3 +#define CEC_MSG_REQUEST_ARC_TERMINATION 0xc4 +#define CEC_MSG_TERMINATE_ARC 0xc5 +#define CEC_MSG_REQUEST_CURRENT_LATENCY 0xa7 +#define CEC_MSG_REPORT_CURRENT_LATENCY 0xa8 +#define CEC_OP_LOW_LATENCY_MODE_OFF 0 +#define CEC_OP_LOW_LATENCY_MODE_ON 1 +#define CEC_OP_AUD_OUT_COMPENSATED_NA 0 +#define CEC_OP_AUD_OUT_COMPENSATED_DELAY 1 +#define CEC_OP_AUD_OUT_COMPENSATED_NO_DELAY 2 +#define CEC_OP_AUD_OUT_COMPENSATED_PARTIAL_DELAY 3 +#define CEC_MSG_CDC_MESSAGE 0xf8 +#define CEC_MSG_CDC_HEC_INQUIRE_STATE 0x00 +#define CEC_MSG_CDC_HEC_REPORT_STATE 0x01 +#define CEC_OP_HEC_FUNC_STATE_NOT_SUPPORTED 0 +#define CEC_OP_HEC_FUNC_STATE_INACTIVE 1 +#define CEC_OP_HEC_FUNC_STATE_ACTIVE 2 +#define CEC_OP_HEC_FUNC_STATE_ACTIVATION_FIELD 3 +#define CEC_OP_HOST_FUNC_STATE_NOT_SUPPORTED 0 +#define CEC_OP_HOST_FUNC_STATE_INACTIVE 1 +#define CEC_OP_HOST_FUNC_STATE_ACTIVE 2 +#define CEC_OP_ENC_FUNC_STATE_EXT_CON_NOT_SUPPORTED 0 +#define CEC_OP_ENC_FUNC_STATE_EXT_CON_INACTIVE 1 +#define CEC_OP_ENC_FUNC_STATE_EXT_CON_ACTIVE 2 +#define CEC_OP_CDC_ERROR_CODE_NONE 0 +#define CEC_OP_CDC_ERROR_CODE_CAP_UNSUPPORTED 1 +#define CEC_OP_CDC_ERROR_CODE_WRONG_STATE 2 +#define CEC_OP_CDC_ERROR_CODE_OTHER 3 +#define CEC_OP_HEC_SUPPORT_NO 0 +#define CEC_OP_HEC_SUPPORT_YES 1 +#define CEC_OP_HEC_ACTIVATION_ON 0 +#define CEC_OP_HEC_ACTIVATION_OFF 1 +#define CEC_MSG_CDC_HEC_SET_STATE_ADJACENT 0x02 +#define CEC_MSG_CDC_HEC_SET_STATE 0x03 +#define CEC_OP_HEC_SET_STATE_DEACTIVATE 0 +#define CEC_OP_HEC_SET_STATE_ACTIVATE 1 +#define CEC_MSG_CDC_HEC_REQUEST_DEACTIVATION 0x04 +#define CEC_MSG_CDC_HEC_NOTIFY_ALIVE 0x05 +#define CEC_MSG_CDC_HEC_DISCOVER 0x06 +#define CEC_MSG_CDC_HPD_SET_STATE 0x10 +#define CEC_OP_HPD_STATE_CP_EDID_DISABLE 0 +#define CEC_OP_HPD_STATE_CP_EDID_ENABLE 1 +#define CEC_OP_HPD_STATE_CP_EDID_DISABLE_ENABLE 2 +#define CEC_OP_HPD_STATE_EDID_DISABLE 3 +#define CEC_OP_HPD_STATE_EDID_ENABLE 4 +#define CEC_OP_HPD_STATE_EDID_DISABLE_ENABLE 5 +#define CEC_MSG_CDC_HPD_REPORT_STATE 0x11 +#define CEC_OP_HPD_ERROR_NONE 0 +#define CEC_OP_HPD_ERROR_INITIATOR_NOT_CAPABLE 1 +#define CEC_OP_HPD_ERROR_INITIATOR_WRONG_STATE 2 +#define CEC_OP_HPD_ERROR_OTHER 3 +#define CEC_OP_HPD_ERROR_NONE_NO_VIDEO 4 +static inline int cec_is_2nd_tv(const struct cec_log_addrs *las) +{ + + return las->num_log_addrs && + las->log_addr[0] >= CEC_LOG_ADDR_SPECIFIC && + las->primary_device_type[0] == CEC_OP_PRIM_DEVTYPE_TV; +} +static inline int cec_is_processor(const struct cec_log_addrs *las) +{ + + return las->num_log_addrs && + las->log_addr[0] >= CEC_LOG_ADDR_BACKUP_1 && + las->primary_device_type[0] == CEC_OP_PRIM_DEVTYPE_PROCESSOR; +} +static inline int cec_is_switch(const struct cec_log_addrs *las) +{ + + return las->num_log_addrs == 1 && + las->log_addr[0] == CEC_LOG_ADDR_UNREGISTERED && + las->primary_device_type[0] == CEC_OP_PRIM_DEVTYPE_SWITCH && + !(las->flags & CEC_LOG_ADDRS_FL_CDC_ONLY); +} +static inline int cec_is_cdc_only(const struct cec_log_addrs *las) +{ + + return las->num_log_addrs == 1 && + las->log_addr[0] == CEC_LOG_ADDR_UNREGISTERED && + las->primary_device_type[0] == CEC_OP_PRIM_DEVTYPE_SWITCH && + (las->flags & CEC_LOG_ADDRS_FL_CDC_ONLY); +} +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/cgroupstats.h b/linux-5.10/prebuilts/usr/include/linux/cgroupstats.h new file mode 100644 index 0000000..b34df08 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/cgroupstats.h @@ -0,0 +1,37 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _LINUX_CGROUPSTATS_H +#define _LINUX_CGROUPSTATS_H +#include +#include +struct cgroupstats { + __u64 nr_sleeping; + __u64 nr_running; + __u64 nr_stopped; + __u64 nr_uninterruptible; + + __u64 nr_io_wait; +}; +enum { + CGROUPSTATS_CMD_UNSPEC = __TASKSTATS_CMD_MAX, + CGROUPSTATS_CMD_GET, + CGROUPSTATS_CMD_NEW, + __CGROUPSTATS_CMD_MAX, +}; +#define CGROUPSTATS_CMD_MAX (__CGROUPSTATS_CMD_MAX - 1) +enum { + CGROUPSTATS_TYPE_UNSPEC = 0, + CGROUPSTATS_TYPE_CGROUP_STATS, + __CGROUPSTATS_TYPE_MAX, +}; +#define CGROUPSTATS_TYPE_MAX (__CGROUPSTATS_TYPE_MAX - 1) +enum { + CGROUPSTATS_CMD_ATTR_UNSPEC = 0, + CGROUPSTATS_CMD_ATTR_FD, + __CGROUPSTATS_CMD_ATTR_MAX, +}; +#define CGROUPSTATS_CMD_ATTR_MAX (__CGROUPSTATS_CMD_ATTR_MAX - 1) +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/chio.h b/linux-5.10/prebuilts/usr/include/linux/chio.h new file mode 100644 index 0000000..adf01a2 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/chio.h @@ -0,0 +1,108 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI_LINUX_CHIO_H +#define _UAPI_LINUX_CHIO_H +#define CHET_MT 0 +#define CHET_ST 1 +#define CHET_IE 2 +#define CHET_DT 3 +#define CHET_V1 4 +#define CHET_V2 5 +#define CHET_V3 6 +#define CHET_V4 7 +struct changer_params { + int cp_curpicker; + int cp_npickers; + int cp_nslots; + int cp_nportals; + int cp_ndrives; +}; +struct changer_vendor_params { + int cvp_n1; + char cvp_label1[16]; + int cvp_n2; + char cvp_label2[16]; + int cvp_n3; + char cvp_label3[16]; + int cvp_n4; + char cvp_label4[16]; + int reserved[8]; +}; +struct changer_move { + int cm_fromtype; + int cm_fromunit; + int cm_totype; + int cm_tounit; + int cm_flags; +}; +#define CM_INVERT 1 +struct changer_exchange { + int ce_srctype; + int ce_srcunit; + int ce_fdsttype; + int ce_fdstunit; + int ce_sdsttype; + int ce_sdstunit; + int ce_flags; +}; +#define CE_INVERT1 1 +#define CE_INVERT2 2 +struct changer_position { + int cp_type; + int cp_unit; + int cp_flags; +}; +#define CP_INVERT 1 +struct changer_element_status { + int ces_type; + unsigned char __user *ces_data; +}; +#define CESTATUS_FULL 0x01 +#define CESTATUS_IMPEXP 0x02 +#define CESTATUS_EXCEPT 0x04 +#define CESTATUS_ACCESS 0x08 +#define CESTATUS_EXENAB 0x10 +#define CESTATUS_INENAB 0x20 +struct changer_get_element { + int cge_type; + int cge_unit; + int cge_status; + int cge_errno; + int cge_srctype; + int cge_srcunit; + int cge_id; + int cge_lun; + char cge_pvoltag[36]; + char cge_avoltag[36]; + int cge_flags; +}; +#define CGE_ERRNO 0x01 +#define CGE_INVERT 0x02 +#define CGE_SRC 0x04 +#define CGE_IDLUN 0x08 +#define CGE_PVOLTAG 0x10 +#define CGE_AVOLTAG 0x20 +struct changer_set_voltag { + int csv_type; + int csv_unit; + char csv_voltag[36]; + int csv_flags; +}; +#define CSV_PVOLTAG 0x01 +#define CSV_AVOLTAG 0x02 +#define CSV_CLEARTAG 0x04 +#define CHIOMOVE _IOW('c', 1,struct changer_move) +#define CHIOEXCHANGE _IOW('c', 2,struct changer_exchange) +#define CHIOPOSITION _IOW('c', 3,struct changer_position) +#define CHIOGPICKER _IOR('c', 4,int) +#define CHIOSPICKER _IOW('c', 5,int) +#define CHIOGPARAMS _IOR('c', 6,struct changer_params) +#define CHIOGSTATUS _IOW('c', 8,struct changer_element_status) +#define CHIOGELEM _IOW('c',16,struct changer_get_element) +#define CHIOINITELEM _IO('c',17) +#define CHIOSVOLTAG _IOW('c',18,struct changer_set_voltag) +#define CHIOGVPARAMS _IOR('c',19,struct changer_vendor_params) +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/cifs/cifs_mount.h b/linux-5.10/prebuilts/usr/include/linux/cifs/cifs_mount.h new file mode 100644 index 0000000..2e550f5 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/cifs/cifs_mount.h @@ -0,0 +1,13 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _CIFS_MOUNT_H +#define _CIFS_MOUNT_H +#define CIFS_MAX_DOMAINNAME_LEN 256 +#define CIFS_MAX_USERNAME_LEN 256 +#define CIFS_MAX_PASSWORD_LEN 512 +#define CIFS_MAX_SHARE_LEN 256 +#define CIFS_NI_MAXHOST 1024 +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/close_range.h b/linux-5.10/prebuilts/usr/include/linux/close_range.h new file mode 100644 index 0000000..9496fa6 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/close_range.h @@ -0,0 +1,9 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI_LINUX_CLOSE_RANGE_H +#define _UAPI_LINUX_CLOSE_RANGE_H +#define CLOSE_RANGE_UNSHARE (1U << 1) +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/cm4000_cs.h b/linux-5.10/prebuilts/usr/include/linux/cm4000_cs.h new file mode 100644 index 0000000..478c9ec --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/cm4000_cs.h @@ -0,0 +1,41 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI_CM4000_H_ +#define _UAPI_CM4000_H_ +#include +#include +#define MAX_ATR 33 +#define CM4000_MAX_DEV 4 +typedef struct atreq { + __s32 atr_len; + unsigned char atr[64]; + __s32 power_act; + unsigned char bIFSD; + unsigned char bIFSC; +} atreq_t; +typedef struct ptsreq { + __u32 protocol; + unsigned char flags; + unsigned char pts1; + unsigned char pts2; + unsigned char pts3; +} ptsreq_t; +#define CM_IOC_MAGIC 'c' +#define CM_IOC_MAXNR 255 +#define CM_IOCGSTATUS _IOR (CM_IOC_MAGIC, 0, unsigned char *) +#define CM_IOCGATR _IOWR(CM_IOC_MAGIC, 1, atreq_t *) +#define CM_IOCSPTS _IOW (CM_IOC_MAGIC, 2, ptsreq_t *) +#define CM_IOCSRDR _IO (CM_IOC_MAGIC, 3) +#define CM_IOCARDOFF _IO (CM_IOC_MAGIC, 4) +#define CM_IOSDBGLVL _IOW(CM_IOC_MAGIC, 250, int*) +#define CM_CARD_INSERTED 0x01 +#define CM_CARD_POWERED 0x02 +#define CM_ATR_PRESENT 0x04 +#define CM_ATR_VALID 0x08 +#define CM_STATE_VALID 0x0f +#define CM_NO_READER 0x10 +#define CM_BAD_CARD 0x20 +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/cn_proc.h b/linux-5.10/prebuilts/usr/include/linux/cn_proc.h new file mode 100644 index 0000000..1657e37 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/cn_proc.h @@ -0,0 +1,88 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPICN_PROC_H +#define _UAPICN_PROC_H +#include +enum proc_cn_mcast_op { + PROC_CN_MCAST_LISTEN = 1, + PROC_CN_MCAST_IGNORE = 2 +}; +struct proc_event { + enum what { + + PROC_EVENT_NONE = 0x00000000, + PROC_EVENT_FORK = 0x00000001, + PROC_EVENT_EXEC = 0x00000002, + PROC_EVENT_UID = 0x00000004, + PROC_EVENT_GID = 0x00000040, + PROC_EVENT_SID = 0x00000080, + PROC_EVENT_PTRACE = 0x00000100, + PROC_EVENT_COMM = 0x00000200, + + + PROC_EVENT_COREDUMP = 0x40000000, + PROC_EVENT_EXIT = 0x80000000 + } what; + __u32 cpu; + __u64 __attribute__((aligned(8))) timestamp_ns; + + union { + struct { + __u32 err; + } ack; + struct fork_proc_event { + __kernel_pid_t parent_pid; + __kernel_pid_t parent_tgid; + __kernel_pid_t child_pid; + __kernel_pid_t child_tgid; + } fork; + struct exec_proc_event { + __kernel_pid_t process_pid; + __kernel_pid_t process_tgid; + } exec; + struct id_proc_event { + __kernel_pid_t process_pid; + __kernel_pid_t process_tgid; + union { + __u32 ruid; + __u32 rgid; + } r; + union { + __u32 euid; + __u32 egid; + } e; + } id; + struct sid_proc_event { + __kernel_pid_t process_pid; + __kernel_pid_t process_tgid; + } sid; + struct ptrace_proc_event { + __kernel_pid_t process_pid; + __kernel_pid_t process_tgid; + __kernel_pid_t tracer_pid; + __kernel_pid_t tracer_tgid; + } ptrace; + struct comm_proc_event { + __kernel_pid_t process_pid; + __kernel_pid_t process_tgid; + char comm[16]; + } comm; + struct coredump_proc_event { + __kernel_pid_t process_pid; + __kernel_pid_t process_tgid; + __kernel_pid_t parent_pid; + __kernel_pid_t parent_tgid; + } coredump; + struct exit_proc_event { + __kernel_pid_t process_pid; + __kernel_pid_t process_tgid; + __u32 exit_code, exit_signal; + __kernel_pid_t parent_pid; + __kernel_pid_t parent_tgid; + } exit; + } event_data; +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/coda.h b/linux-5.10/prebuilts/usr/include/linux/coda.h new file mode 100644 index 0000000..ab0df50 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/coda.h @@ -0,0 +1,518 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI_CODA_HEADER_ +#define _UAPI_CODA_HEADER_ +#if defined(__NetBSD__) || \ + ((defined(DJGPP) || defined(__CYGWIN32__)) && !defined(KERNEL)) +#include +#endif +#ifndef CODA_MAXSYMLINKS +#define CODA_MAXSYMLINKS 10 +#endif +#if defined(DJGPP) || defined(__CYGWIN32__) +#ifdef KERNEL +typedef unsigned long u_long; +typedef unsigned int u_int; +typedef unsigned short u_short; +typedef u_long ino_t; +typedef u_long dev_t; +typedef void * caddr_t; +#ifdef DOS +typedef unsigned __int64 u_quad_t; +#else +typedef unsigned long long u_quad_t; +#endif +#define inline +#else +#include +typedef unsigned long long u_quad_t; +#endif +#endif +#if defined(__linux__) +#include +#define cdev_t u_quad_t +#ifndef __KERNEL__ +#if !defined(_UQUAD_T_) && (!defined(__GLIBC__) || __GLIBC__ < 2) +#define _UQUAD_T_ 1 +typedef unsigned long long u_quad_t; +#endif +#endif +#else +#define cdev_t dev_t +#endif +#ifndef __BIT_TYPES_DEFINED__ +#define __BIT_TYPES_DEFINED__ +typedef signed char int8_t; +typedef unsigned char u_int8_t; +typedef short int16_t; +typedef unsigned short u_int16_t; +typedef int int32_t; +typedef unsigned int u_int32_t; +#endif +#define CODA_MAXNAMLEN 255 +#define CODA_MAXPATHLEN 1024 +#define CODA_MAXSYMLINK 10 +#define C_O_READ 0x001 +#define C_O_WRITE 0x002 +#define C_O_TRUNC 0x010 +#define C_O_EXCL 0x100 +#define C_O_CREAT 0x200 + +#define C_M_READ 00400 +#define C_M_WRITE 00200 +#define C_A_C_OK 8 +#define C_A_R_OK 4 +#define C_A_W_OK 2 +#define C_A_X_OK 1 +#define C_A_F_OK 0 +#ifndef _VENUS_DIRENT_T_ +#define _VENUS_DIRENT_T_ 1 +struct venus_dirent { + u_int32_t d_fileno; + u_int16_t d_reclen; + u_int8_t d_type; + u_int8_t d_namlen; + char d_name[CODA_MAXNAMLEN + 1]; +}; +#undef DIRSIZ +#define DIRSIZ(dp) ((sizeof (struct venus_dirent) - (CODA_MAXNAMLEN+1)) + \ + (((dp)->d_namlen+1 + 3) &~ 3)) +#define CDT_UNKNOWN 0 +#define CDT_FIFO 1 +#define CDT_CHR 2 +#define CDT_DIR 4 +#define CDT_BLK 6 +#define CDT_REG 8 +#define CDT_LNK 10 +#define CDT_SOCK 12 +#define CDT_WHT 14 +#define IFTOCDT(mode) (((mode) & 0170000) >> 12) +#define CDTTOIF(dirtype) ((dirtype) << 12) +#endif +#ifndef _VUID_T_ +#define _VUID_T_ +typedef u_int32_t vuid_t; +typedef u_int32_t vgid_t; +#endif +struct CodaFid { + u_int32_t opaque[4]; +}; +#define coda_f2i(fid)\ + (fid ? (fid->opaque[3] ^ (fid->opaque[2]<<10) ^ (fid->opaque[1]<<20) ^ fid->opaque[0]) : 0) +#ifndef _VENUS_VATTR_T_ +#define _VENUS_VATTR_T_ +enum coda_vtype { C_VNON, C_VREG, C_VDIR, C_VBLK, C_VCHR, C_VLNK, C_VSOCK, C_VFIFO, C_VBAD }; +struct coda_timespec { + int64_t tv_sec; + long tv_nsec; +}; +struct coda_vattr { + long va_type; + u_short va_mode; + short va_nlink; + vuid_t va_uid; + vgid_t va_gid; + long va_fileid; + u_quad_t va_size; + long va_blocksize; + struct coda_timespec va_atime; + struct coda_timespec va_mtime; + struct coda_timespec va_ctime; + u_long va_gen; + u_long va_flags; + cdev_t va_rdev; + u_quad_t va_bytes; + u_quad_t va_filerev; +}; +#endif +struct coda_statfs { + int32_t f_blocks; + int32_t f_bfree; + int32_t f_bavail; + int32_t f_files; + int32_t f_ffree; +}; +#define CODA_ROOT 2 +#define CODA_OPEN_BY_FD 3 +#define CODA_OPEN 4 +#define CODA_CLOSE 5 +#define CODA_IOCTL 6 +#define CODA_GETATTR 7 +#define CODA_SETATTR 8 +#define CODA_ACCESS 9 +#define CODA_LOOKUP 10 +#define CODA_CREATE 11 +#define CODA_REMOVE 12 +#define CODA_LINK 13 +#define CODA_RENAME 14 +#define CODA_MKDIR 15 +#define CODA_RMDIR 16 +#define CODA_SYMLINK 18 +#define CODA_READLINK 19 +#define CODA_FSYNC 20 +#define CODA_VGET 22 +#define CODA_SIGNAL 23 +#define CODA_REPLACE 24 +#define CODA_FLUSH 25 +#define CODA_PURGEUSER 26 +#define CODA_ZAPFILE 27 +#define CODA_ZAPDIR 28 +#define CODA_PURGEFID 30 +#define CODA_OPEN_BY_PATH 31 +#define CODA_RESOLVE 32 +#define CODA_REINTEGRATE 33 +#define CODA_STATFS 34 +#define CODA_STORE 35 +#define CODA_RELEASE 36 +#define CODA_ACCESS_INTENT 37 +#define CODA_NCALLS 38 +#define DOWNCALL(opcode) (opcode >= CODA_REPLACE && opcode <= CODA_PURGEFID) +#define VC_MAXDATASIZE 8192 +#define VC_MAXMSGSIZE sizeof(union inputArgs)+sizeof(union outputArgs) +\ + VC_MAXDATASIZE +#define CIOC_KERNEL_VERSION _IOWR('c', 10, size_t) +#define CODA_KERNEL_VERSION 5 +struct coda_in_hdr { + u_int32_t opcode; + u_int32_t unique; + __kernel_pid_t pid; + __kernel_pid_t pgid; + vuid_t uid; +}; +struct coda_out_hdr { + u_int32_t opcode; + u_int32_t unique; + u_int32_t result; +}; +struct coda_root_out { + struct coda_out_hdr oh; + struct CodaFid VFid; +}; +struct coda_root_in { + struct coda_in_hdr in; +}; +struct coda_open_in { + struct coda_in_hdr ih; + struct CodaFid VFid; + int flags; +}; +struct coda_open_out { + struct coda_out_hdr oh; + cdev_t dev; + ino_t inode; +}; +struct coda_store_in { + struct coda_in_hdr ih; + struct CodaFid VFid; + int flags; +}; +struct coda_store_out { + struct coda_out_hdr out; +}; +struct coda_release_in { + struct coda_in_hdr ih; + struct CodaFid VFid; + int flags; +}; +struct coda_release_out { + struct coda_out_hdr out; +}; +struct coda_close_in { + struct coda_in_hdr ih; + struct CodaFid VFid; + int flags; +}; +struct coda_close_out { + struct coda_out_hdr out; +}; +struct coda_ioctl_in { + struct coda_in_hdr ih; + struct CodaFid VFid; + int cmd; + int len; + int rwflag; + char *data; +}; +struct coda_ioctl_out { + struct coda_out_hdr oh; + int len; + caddr_t data; +}; +struct coda_getattr_in { + struct coda_in_hdr ih; + struct CodaFid VFid; +}; +struct coda_getattr_out { + struct coda_out_hdr oh; + struct coda_vattr attr; +}; +struct coda_setattr_in { + struct coda_in_hdr ih; + struct CodaFid VFid; + struct coda_vattr attr; +}; +struct coda_setattr_out { + struct coda_out_hdr out; +}; +struct coda_access_in { + struct coda_in_hdr ih; + struct CodaFid VFid; + int flags; +}; +struct coda_access_out { + struct coda_out_hdr out; +}; +#define CLU_CASE_SENSITIVE 0x01 +#define CLU_CASE_INSENSITIVE 0x02 +struct coda_lookup_in { + struct coda_in_hdr ih; + struct CodaFid VFid; + int name; + int flags; +}; +struct coda_lookup_out { + struct coda_out_hdr oh; + struct CodaFid VFid; + int vtype; +}; +struct coda_create_in { + struct coda_in_hdr ih; + struct CodaFid VFid; + struct coda_vattr attr; + int excl; + int mode; + int name; +}; +struct coda_create_out { + struct coda_out_hdr oh; + struct CodaFid VFid; + struct coda_vattr attr; +}; +struct coda_remove_in { + struct coda_in_hdr ih; + struct CodaFid VFid; + int name; +}; +struct coda_remove_out { + struct coda_out_hdr out; +}; +struct coda_link_in { + struct coda_in_hdr ih; + struct CodaFid sourceFid; + struct CodaFid destFid; + int tname; +}; +struct coda_link_out { + struct coda_out_hdr out; +}; +struct coda_rename_in { + struct coda_in_hdr ih; + struct CodaFid sourceFid; + int srcname; + struct CodaFid destFid; + int destname; +}; +struct coda_rename_out { + struct coda_out_hdr out; +}; +struct coda_mkdir_in { + struct coda_in_hdr ih; + struct CodaFid VFid; + struct coda_vattr attr; + int name; +}; +struct coda_mkdir_out { + struct coda_out_hdr oh; + struct CodaFid VFid; + struct coda_vattr attr; +}; +struct coda_rmdir_in { + struct coda_in_hdr ih; + struct CodaFid VFid; + int name; +}; +struct coda_rmdir_out { + struct coda_out_hdr out; +}; +struct coda_symlink_in { + struct coda_in_hdr ih; + struct CodaFid VFid; + int srcname; + struct coda_vattr attr; + int tname; +}; +struct coda_symlink_out { + struct coda_out_hdr out; +}; +struct coda_readlink_in { + struct coda_in_hdr ih; + struct CodaFid VFid; +}; +struct coda_readlink_out { + struct coda_out_hdr oh; + int count; + caddr_t data; +}; +struct coda_fsync_in { + struct coda_in_hdr ih; + struct CodaFid VFid; +}; +struct coda_fsync_out { + struct coda_out_hdr out; +}; +struct coda_vget_in { + struct coda_in_hdr ih; + struct CodaFid VFid; +}; +struct coda_vget_out { + struct coda_out_hdr oh; + struct CodaFid VFid; + int vtype; +}; +struct coda_purgeuser_out { + struct coda_out_hdr oh; + vuid_t uid; +}; +struct coda_zapfile_out { + struct coda_out_hdr oh; + struct CodaFid CodaFid; +}; + +struct coda_zapdir_out { + struct coda_out_hdr oh; + struct CodaFid CodaFid; +}; + +struct coda_purgefid_out { + struct coda_out_hdr oh; + struct CodaFid CodaFid; +}; + +struct coda_replace_out { + struct coda_out_hdr oh; + struct CodaFid NewFid; + struct CodaFid OldFid; +}; +struct coda_open_by_fd_in { + struct coda_in_hdr ih; + struct CodaFid VFid; + int flags; +}; +struct coda_open_by_fd_out { + struct coda_out_hdr oh; + int fd; +#ifdef __KERNEL__ + struct file *fh; +#endif +}; +struct coda_open_by_path_in { + struct coda_in_hdr ih; + struct CodaFid VFid; + int flags; +}; +struct coda_open_by_path_out { + struct coda_out_hdr oh; + int path; +}; +struct coda_statfs_in { + struct coda_in_hdr in; +}; +struct coda_statfs_out { + struct coda_out_hdr oh; + struct coda_statfs stat; +}; +#define CODA_ACCESS_TYPE_READ 1 +#define CODA_ACCESS_TYPE_WRITE 2 +#define CODA_ACCESS_TYPE_MMAP 3 +#define CODA_ACCESS_TYPE_READ_FINISH 4 +#define CODA_ACCESS_TYPE_WRITE_FINISH 5 +struct coda_access_intent_in { + struct coda_in_hdr ih; + struct CodaFid VFid; + int count; + int pos; + int type; +}; +struct coda_access_intent_out { + struct coda_out_hdr out; +}; +#define CODA_NOCACHE 0x80000000 +union inputArgs { + struct coda_in_hdr ih; + struct coda_open_in coda_open; + struct coda_store_in coda_store; + struct coda_release_in coda_release; + struct coda_close_in coda_close; + struct coda_ioctl_in coda_ioctl; + struct coda_getattr_in coda_getattr; + struct coda_setattr_in coda_setattr; + struct coda_access_in coda_access; + struct coda_lookup_in coda_lookup; + struct coda_create_in coda_create; + struct coda_remove_in coda_remove; + struct coda_link_in coda_link; + struct coda_rename_in coda_rename; + struct coda_mkdir_in coda_mkdir; + struct coda_rmdir_in coda_rmdir; + struct coda_symlink_in coda_symlink; + struct coda_readlink_in coda_readlink; + struct coda_fsync_in coda_fsync; + struct coda_vget_in coda_vget; + struct coda_open_by_fd_in coda_open_by_fd; + struct coda_open_by_path_in coda_open_by_path; + struct coda_statfs_in coda_statfs; + struct coda_access_intent_in coda_access_intent; +}; +union outputArgs { + struct coda_out_hdr oh; + struct coda_root_out coda_root; + struct coda_open_out coda_open; + struct coda_ioctl_out coda_ioctl; + struct coda_getattr_out coda_getattr; + struct coda_lookup_out coda_lookup; + struct coda_create_out coda_create; + struct coda_mkdir_out coda_mkdir; + struct coda_readlink_out coda_readlink; + struct coda_vget_out coda_vget; + struct coda_purgeuser_out coda_purgeuser; + struct coda_zapfile_out coda_zapfile; + struct coda_zapdir_out coda_zapdir; + struct coda_purgefid_out coda_purgefid; + struct coda_replace_out coda_replace; + struct coda_open_by_fd_out coda_open_by_fd; + struct coda_open_by_path_out coda_open_by_path; + struct coda_statfs_out coda_statfs; +}; +union coda_downcalls { + + + struct coda_purgeuser_out purgeuser; + struct coda_zapfile_out zapfile; + struct coda_zapdir_out zapdir; + struct coda_purgefid_out purgefid; + struct coda_replace_out replace; +}; +#define PIOCPARM_MASK 0x0000ffff +struct ViceIoctl { + void __user *in; + void __user *out; + u_short in_size; + u_short out_size; +}; +struct PioctlData { + const char __user *path; + int follow; + struct ViceIoctl vi; +}; +#define CODA_CONTROL ".CONTROL" +#define CODA_CONTROLLEN 8 +#define CTL_INO -1 +#define CODA_MOUNT_VERSION 1 +struct coda_mount_data { + int version; + int fd; +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/coda_psdev.h b/linux-5.10/prebuilts/usr/include/linux/coda_psdev.h new file mode 100644 index 0000000..fd88f95 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/coda_psdev.h @@ -0,0 +1,15 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI__CODA_PSDEV_H +#define _UAPI__CODA_PSDEV_H +#include +#define CODA_PSDEV_MAJOR 67 +#define MAX_CODADEVS 5 +#define CODA_REQ_ASYNC 0x1 +#define CODA_REQ_READ 0x2 +#define CODA_REQ_WRITE 0x4 +#define CODA_REQ_ABORT 0x8 +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/coff.h b/linux-5.10/prebuilts/usr/include/linux/coff.h new file mode 100644 index 0000000..8bde3c7 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/coff.h @@ -0,0 +1,208 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI_LINUX_COFF_H +#define _UAPI_LINUX_COFF_H +#define E_SYMNMLEN 8 +#define E_FILNMLEN 14 +#define E_DIMNUM 4 + +#define COFF_SHORT_L(ps) ((short)(((unsigned short)((unsigned char)ps[1])<<8)|\ + ((unsigned short)((unsigned char)ps[0])))) +#define COFF_LONG_L(ps) (((long)(((unsigned long)((unsigned char)ps[3])<<24) |\ + ((unsigned long)((unsigned char)ps[2])<<16) |\ + ((unsigned long)((unsigned char)ps[1])<<8) |\ + ((unsigned long)((unsigned char)ps[0]))))) + +#define COFF_SHORT_H(ps) ((short)(((unsigned short)((unsigned char)ps[0])<<8)|\ + ((unsigned short)((unsigned char)ps[1])))) +#define COFF_LONG_H(ps) (((long)(((unsigned long)((unsigned char)ps[0])<<24) |\ + ((unsigned long)((unsigned char)ps[1])<<16) |\ + ((unsigned long)((unsigned char)ps[2])<<8) |\ + ((unsigned long)((unsigned char)ps[3]))))) +#define COFF_LONG(v) COFF_LONG_L(v) +#define COFF_SHORT(v) COFF_SHORT_L(v) +struct COFF_filehdr { + char f_magic[2]; + char f_nscns[2]; + char f_timdat[4]; + char f_symptr[4]; + char f_nsyms[4]; + char f_opthdr[2]; + char f_flags[2]; +}; +#define COFF_F_RELFLG 0000001 +#define COFF_F_EXEC 0000002 +#define COFF_F_LNNO 0000004 +#define COFF_F_LSYMS 0000010 +#define COFF_F_MINMAL 0000020 +#define COFF_F_UPDATE 0000040 +#define COFF_F_SWABD 0000100 +#define COFF_F_AR16WR 0000200 +#define COFF_F_AR32WR 0000400 +#define COFF_F_AR32W 0001000 +#define COFF_F_PATCH 0002000 +#define COFF_F_NODF 0002000 +#define COFF_I386MAGIC 0x14c +#if 0 +#define COFF_I386PTXMAGIC 0x154 +#define COFF_I386AIXMAGIC 0x175 +#define COFF_I386BADMAG(x) ((COFF_SHORT((x).f_magic) != COFF_I386MAGIC) \ + && COFF_SHORT((x).f_magic) != COFF_I386PTXMAGIC \ + && COFF_SHORT((x).f_magic) != COFF_I386AIXMAGIC) +#else +#define COFF_I386BADMAG(x) (COFF_SHORT((x).f_magic) != COFF_I386MAGIC) +#endif +#define COFF_FILHDR struct COFF_filehdr +#define COFF_FILHSZ sizeof(COFF_FILHDR) +typedef struct +{ + char magic[2]; + char vstamp[2]; + char tsize[4]; + char dsize[4]; + char bsize[4]; + char entry[4]; + char text_start[4]; + char data_start[4]; +} +COFF_AOUTHDR; +#define COFF_AOUTSZ (sizeof(COFF_AOUTHDR)) +#define COFF_STMAGIC 0401 +#define COFF_OMAGIC 0404 +#define COFF_JMAGIC 0407 +#define COFF_DMAGIC 0410 +#define COFF_ZMAGIC 0413 +#define COFF_SHMAGIC 0443 +struct COFF_scnhdr { + char s_name[8]; + char s_paddr[4]; + char s_vaddr[4]; + char s_size[4]; + char s_scnptr[4]; + char s_relptr[4]; + char s_lnnoptr[4]; + char s_nreloc[2]; + char s_nlnno[2]; + char s_flags[4]; +}; +#define COFF_SCNHDR struct COFF_scnhdr +#define COFF_SCNHSZ sizeof(COFF_SCNHDR) +#define COFF_TEXT ".text" +#define COFF_DATA ".data" +#define COFF_BSS ".bss" +#define COFF_COMMENT ".comment" +#define COFF_LIB ".lib" +#define COFF_SECT_TEXT 0 +#define COFF_SECT_DATA 1 +#define COFF_SECT_BSS 2 +#define COFF_SECT_REQD 3 +#define COFF_STYP_REG 0x00 +#define COFF_STYP_DSECT 0x01 +#define COFF_STYP_NOLOAD 0x02 +#define COFF_STYP_GROUP 0x04 +#define COFF_STYP_PAD 0x08 +#define COFF_STYP_COPY 0x10 +#define COFF_STYP_TEXT 0x20 +#define COFF_STYP_DATA 0x40 +#define COFF_STYP_BSS 0x80 +#define COFF_STYP_INFO 0x200 +#define COFF_STYP_OVER 0x400 +#define COFF_STYP_LIB 0x800 +struct COFF_slib { + char sl_entsz[4]; + char sl_pathndx[4]; +}; +#define COFF_SLIBHD struct COFF_slib +#define COFF_SLIBSZ sizeof(COFF_SLIBHD) +struct COFF_lineno { + union { + char l_symndx[4]; + char l_paddr[4]; + } l_addr; + char l_lnno[2]; +}; +#define COFF_LINENO struct COFF_lineno +#define COFF_LINESZ 6 +#define COFF_E_SYMNMLEN 8 +#define COFF_E_FILNMLEN 14 +#define COFF_E_DIMNUM 4 +struct COFF_syment +{ + union { + char e_name[E_SYMNMLEN]; + struct { + char e_zeroes[4]; + char e_offset[4]; + } e; + } e; + char e_value[4]; + char e_scnum[2]; + char e_type[2]; + char e_sclass[1]; + char e_numaux[1]; +}; +#define COFF_N_BTMASK (0xf) +#define COFF_N_TMASK (0x30) +#define COFF_N_BTSHFT (4) +#define COFF_N_TSHIFT (2) + +union COFF_auxent { + struct { + char x_tagndx[4]; + union { + struct { + char x_lnno[2]; + char x_size[2]; + } x_lnsz; + char x_fsize[4]; + } x_misc; + union { + struct { + char x_lnnoptr[4]; + char x_endndx[4]; + } x_fcn; + struct { + char x_dimen[E_DIMNUM][2]; + } x_ary; + } x_fcnary; + char x_tvndx[2]; + } x_sym; + union { + char x_fname[E_FILNMLEN]; + struct { + char x_zeroes[4]; + char x_offset[4]; + } x_n; + } x_file; + struct { + char x_scnlen[4]; + char x_nreloc[2]; + char x_nlinno[2]; + } x_scn; + + struct { + char x_tvfill[4]; + char x_tvlen[2]; + char x_tvran[2][2]; + } x_tv; +}; +#define COFF_SYMENT struct COFF_syment +#define COFF_SYMESZ 18 +#define COFF_AUXENT union COFF_auxent +#define COFF_AUXESZ 18 +#define COFF_ETEXT "etext" +struct COFF_reloc { + char r_vaddr[4]; + char r_symndx[4]; + char r_type[2]; +}; +#define COFF_RELOC struct COFF_reloc +#define COFF_RELSZ 10 +#define COFF_DEF_DATA_SECTION_ALIGNMENT 4 +#define COFF_DEF_BSS_SECTION_ALIGNMENT 4 +#define COFF_DEF_TEXT_SECTION_ALIGNMENT 4 +#define COFF_DEF_SECTION_ALIGNMENT 4 +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/compiler.h b/linux-5.10/prebuilts/usr/include/linux/compiler.h new file mode 100644 index 0000000..0d66daf --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/compiler.h @@ -0,0 +1,9 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI_LINUX_COMPILER_H +#define _UAPI_LINUX_COMPILER_H +#define __user +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/compiler_types.h b/linux-5.10/prebuilts/usr/include/linux/compiler_types.h new file mode 100644 index 0000000..a1ea5d9 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/compiler_types.h @@ -0,0 +1,209 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef __LINUX_COMPILER_TYPES_H +#define __LINUX_COMPILER_TYPES_H +#ifndef __ASSEMBLY__ +#if 0 +# define __kernel __attribute__((address_space(0))) +# define __user __attribute__((noderef, address_space(__user))) +# define __iomem __attribute__((noderef, address_space(__iomem))) +# define __percpu __attribute__((noderef, address_space(__percpu))) +# define __rcu __attribute__((noderef, address_space(__rcu))) +static inline void __chk_user_ptr(const volatile void __user *ptr) { } +static inline void __chk_io_ptr(const volatile void __iomem *ptr) { } +# define __must_hold(x) __attribute__((context(x,1,1))) +# define __acquires(x) __attribute__((context(x,0,1))) +# define __releases(x) __attribute__((context(x,1,0))) +# define __acquire(x) __context__(x,1) +# define __release(x) __context__(x,-1) +# define __cond_lock(x,c) ((c) ? ({ __acquire(x); 1; }) : 0) +# define __force __attribute__((force)) +# define __nocast __attribute__((nocast)) +# define __safe __attribute__((safe)) +# define __private __attribute__((noderef)) +# define ACCESS_PRIVATE(p, member) (*((typeof((p)->member) __force *) &(p)->member)) +#else +# define __kernel +# ifdef STRUCTLEAK_PLUGIN +# define __user __attribute__((user)) +# else +# define __user +# endif +# define __iomem +# define __percpu +# define __rcu +# define __chk_user_ptr(x) (void)0 +# define __chk_io_ptr(x) (void)0 +# define __must_hold(x) +# define __acquires(x) +# define __releases(x) +# define __acquire(x) (void)0 +# define __release(x) (void)0 +# define __cond_lock(x,c) (c) +# define __force +# define __nocast +# define __safe +# define __private +# define ACCESS_PRIVATE(p, member) ((p)->member) +# define __builtin_warning(x, y...) (1) +#endif +#define ___PASTE(a,b) a##b +#define __PASTE(a,b) ___PASTE(a,b) +#ifdef __KERNEL__ +#include +#ifdef __clang__ +#include +#elif defined(__INTEL_COMPILER) +#include +#elif defined(__GNUC__) +#include +#else +#error "Unknown compiler" +#endif +#ifdef CONFIG_HAVE_ARCH_COMPILER_H +#include +#endif +struct ftrace_branch_data { + const char *func; + const char *file; + unsigned line; + union { + struct { + unsigned long correct; + unsigned long incorrect; + }; + struct { + unsigned long miss; + unsigned long hit; + }; + unsigned long miss_hit[2]; + }; +}; +struct ftrace_likely_data { + struct ftrace_branch_data data; + unsigned long constant; +}; +#ifdef CONFIG_ENABLE_MUST_CHECK +#define __must_check __attribute__((__warn_unused_result__)) +#else +#define __must_check +#endif +#if defined(CC_USING_HOTPATCH) +#define notrace __attribute__((hotpatch(0, 0))) +#elif defined(CC_USING_PATCHABLE_FUNCTION_ENTRY) +#define notrace __attribute__((patchable_function_entry(0, 0))) +#else +#define notrace __attribute__((__no_instrument_function__)) +#endif +#define __naked __attribute__((__naked__)) notrace +#define __compiler_offsetof(a, b) __builtin_offsetof(a, b) +#define inline inline __gnu_inline __inline_maybe_unused notrace +#define __inline__ inline +#ifdef KBUILD_EXTRA_WARN1 +#define __inline_maybe_unused +#else +#define __inline_maybe_unused __maybe_unused +#endif +#define noinline_for_stack noinline +#ifdef __SANITIZE_ADDRESS__ +# define __no_kasan_or_inline __no_sanitize_address notrace __maybe_unused +# define __no_sanitize_or_inline __no_kasan_or_inline +#else +# define __no_kasan_or_inline __always_inline +#endif +#define __no_kcsan __no_sanitize_thread +#ifdef __SANITIZE_THREAD__ +# define __no_sanitize_or_inline __no_kcsan notrace __maybe_unused +#endif +#ifndef __no_sanitize_or_inline +#define __no_sanitize_or_inline __always_inline +#endif +#define noinstr \ + noinline notrace __attribute((__section__(".noinstr.text"))) \ + __no_kcsan __no_sanitize_address __no_sanitize_coverage +#endif +#endif +#ifndef __latent_entropy +# define __latent_entropy +#endif +#ifndef __randomize_layout +# define __randomize_layout __designated_init +#endif +#ifndef __no_randomize_layout +# define __no_randomize_layout +#endif +#ifndef randomized_struct_fields_start +# define randomized_struct_fields_start +# define randomized_struct_fields_end +#endif +#ifndef __noscs +# define __noscs +#endif +#ifndef asm_volatile_goto +#define asm_volatile_goto(x...) asm goto(x) +#endif +#ifdef CONFIG_CC_HAS_ASM_INLINE +#define asm_inline asm __inline +#else +#define asm_inline asm +#endif +#define __same_type(a, b) __builtin_types_compatible_p(typeof(a), typeof(b)) +#define __scalar_type_to_expr_cases(type) \ + unsigned type: (unsigned type)0, \ + signed type: (signed type)0 +#define __unqual_scalar_typeof(x) typeof( \ + _Generic((x), \ + char: (char)0, \ + __scalar_type_to_expr_cases(char), \ + __scalar_type_to_expr_cases(short), \ + __scalar_type_to_expr_cases(int), \ + __scalar_type_to_expr_cases(long), \ + __scalar_type_to_expr_cases(long long), \ + default: (x))) +#define __native_word(t) \ + (sizeof(t) == sizeof(char) || sizeof(t) == sizeof(short) || \ + sizeof(t) == sizeof(int) || sizeof(t) == sizeof(long)) +#ifndef __compiletime_object_size +# define __compiletime_object_size(obj) -1 +#endif +#ifndef __compiletime_warning +# define __compiletime_warning(message) +#endif +#ifndef __compiletime_error +# define __compiletime_error(message) +#endif +#ifdef __OPTIMIZE__ +# define __compiletime_assert(condition, msg, prefix, suffix) \ + do { \ + extern void prefix ## suffix(void) __compiletime_error(msg); \ + if (!(condition)) \ + prefix ## suffix(); \ + } while (0) +#else +# define __compiletime_assert(condition, msg, prefix, suffix) do { } while (0) +#endif +#define _compiletime_assert(condition, msg, prefix, suffix) \ + __compiletime_assert(condition, msg, prefix, suffix) +#define compiletime_assert(condition, msg) \ + _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__) +#define compiletime_assert_atomic_type(t) \ + compiletime_assert(__native_word(t), \ + "Need native word sized stores/loads for atomicity.") +#ifndef __diag +#define __diag(string) +#endif +#ifndef __diag_GCC +#define __diag_GCC(version, severity, string) +#endif +#define __diag_push() __diag(push) +#define __diag_pop() __diag(pop) +#define __diag_ignore(compiler, version, option, comment) \ + __diag_ ## compiler(version, ignore, option) +#define __diag_warn(compiler, version, option, comment) \ + __diag_ ## compiler(version, warn, option) +#define __diag_error(compiler, version, option, comment) \ + __diag_ ## compiler(version, error, option) +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/connector.h b/linux-5.10/prebuilts/usr/include/linux/connector.h new file mode 100644 index 0000000..83013f1 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/connector.h @@ -0,0 +1,42 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI__CONNECTOR_H +#define _UAPI__CONNECTOR_H +#include +#define CN_IDX_PROC 0x1 +#define CN_VAL_PROC 0x1 +#define CN_IDX_CIFS 0x2 +#define CN_VAL_CIFS 0x1 +#define CN_W1_IDX 0x3 +#define CN_W1_VAL 0x1 +#define CN_IDX_V86D 0x4 +#define CN_VAL_V86D_UVESAFB 0x1 +#define CN_IDX_BB 0x5 +#define CN_DST_IDX 0x6 +#define CN_DST_VAL 0x1 +#define CN_IDX_DM 0x7 +#define CN_VAL_DM_USERSPACE_LOG 0x1 +#define CN_IDX_DRBD 0x8 +#define CN_VAL_DRBD 0x1 +#define CN_KVP_IDX 0x9 +#define CN_KVP_VAL 0x1 +#define CN_VSS_IDX 0xA +#define CN_VSS_VAL 0x1 +#define CN_NETLINK_USERS 11 +#define CONNECTOR_MAX_MSG_SIZE 16384 +struct cb_id { + __u32 idx; + __u32 val; +}; +struct cn_msg { + struct cb_id id; + __u32 seq; + __u32 ack; + __u16 len; + __u16 flags; + __u8 data[0]; +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/const.h b/linux-5.10/prebuilts/usr/include/linux/const.h new file mode 100644 index 0000000..2dc9cae --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/const.h @@ -0,0 +1,23 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI_LINUX_CONST_H +#define _UAPI_LINUX_CONST_H +#ifdef __ASSEMBLY__ +#define _AC(X,Y) X +#define _AT(T,X) X +#else +#define __AC(X,Y) (X##Y) +#define _AC(X,Y) __AC(X,Y) +#define _AT(T,X) ((T)(X)) +#endif +#define _UL(x) (_AC(x, UL)) +#define _ULL(x) (_AC(x, ULL)) +#define _BITUL(x) (_UL(1) << (x)) +#define _BITULL(x) (_ULL(1) << (x)) +#define __ALIGN_KERNEL(x, a) __ALIGN_KERNEL_MASK(x, (typeof(x))(a) - 1) +#define __ALIGN_KERNEL_MASK(x, mask) (((x) + (mask)) & ~(mask)) +#define __KERNEL_DIV_ROUND_UP(n, d) (((n) + (d) - 1) / (d)) +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/coresight-stm.h b/linux-5.10/prebuilts/usr/include/linux/coresight-stm.h new file mode 100644 index 0000000..47205f4 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/coresight-stm.h @@ -0,0 +1,16 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef __UAPI_CORESIGHT_STM_H_ +#define __UAPI_CORESIGHT_STM_H_ +#include +#define STM_FLAG_TIMESTAMPED _BITUL(3) +#define STM_FLAG_MARKED _BITUL(4) +#define STM_FLAG_GUARANTEED _BITUL(7) +enum { + STM_OPTION_GUARANTEED = 0, + STM_OPTION_INVARIANT, +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/cramfs_fs.h b/linux-5.10/prebuilts/usr/include/linux/cramfs_fs.h new file mode 100644 index 0000000..9a63103 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/cramfs_fs.h @@ -0,0 +1,58 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI__CRAMFS_H +#define _UAPI__CRAMFS_H +#include +#include +#define CRAMFS_SIGNATURE "Compressed ROMFS" +#define CRAMFS_MODE_WIDTH 16 +#define CRAMFS_UID_WIDTH 16 +#define CRAMFS_SIZE_WIDTH 24 +#define CRAMFS_GID_WIDTH 8 +#define CRAMFS_NAMELEN_WIDTH 6 +#define CRAMFS_OFFSET_WIDTH 26 +#define CRAMFS_MAXPATHLEN (((1 << CRAMFS_NAMELEN_WIDTH) - 1) << 2) +struct cramfs_inode { + __u32 mode:CRAMFS_MODE_WIDTH, uid:CRAMFS_UID_WIDTH; + + __u32 size:CRAMFS_SIZE_WIDTH, gid:CRAMFS_GID_WIDTH; + + + __u32 namelen:CRAMFS_NAMELEN_WIDTH, offset:CRAMFS_OFFSET_WIDTH; +}; +struct cramfs_info { + __u32 crc; + __u32 edition; + __u32 blocks; + __u32 files; +}; +struct cramfs_super { + __u32 magic; + __u32 size; + __u32 flags; + __u32 future; + __u8 signature[16]; + struct cramfs_info fsid; + __u8 name[16]; + struct cramfs_inode root; +}; +#define CRAMFS_FLAG_FSID_VERSION_2 0x00000001 +#define CRAMFS_FLAG_SORTED_DIRS 0x00000002 +#define CRAMFS_FLAG_HOLES 0x00000100 +#define CRAMFS_FLAG_WRONG_SIGNATURE 0x00000200 +#define CRAMFS_FLAG_SHIFTED_ROOT_OFFSET 0x00000400 +#define CRAMFS_FLAG_EXT_BLOCK_POINTERS 0x00000800 +#define CRAMFS_SUPPORTED_FLAGS ( 0x000000ff \ + | CRAMFS_FLAG_HOLES \ + | CRAMFS_FLAG_WRONG_SIGNATURE \ + | CRAMFS_FLAG_SHIFTED_ROOT_OFFSET \ + | CRAMFS_FLAG_EXT_BLOCK_POINTERS ) +#define CRAMFS_BLK_FLAG_UNCOMPRESSED (1 << 31) +#define CRAMFS_BLK_FLAG_DIRECT_PTR (1 << 30) +#define CRAMFS_BLK_FLAGS ( CRAMFS_BLK_FLAG_UNCOMPRESSED \ + | CRAMFS_BLK_FLAG_DIRECT_PTR ) +#define CRAMFS_BLK_DIRECT_PTR_SHIFT 2 +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/cryptouser.h b/linux-5.10/prebuilts/usr/include/linux/cryptouser.h new file mode 100644 index 0000000..23733ab --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/cryptouser.h @@ -0,0 +1,161 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI_LINUX_CRYPTOUSER_H +#define _UAPI_LINUX_CRYPTOUSER_H +#include +enum { + CRYPTO_MSG_BASE = 0x10, + CRYPTO_MSG_NEWALG = 0x10, + CRYPTO_MSG_DELALG, + CRYPTO_MSG_UPDATEALG, + CRYPTO_MSG_GETALG, + CRYPTO_MSG_DELRNG, + CRYPTO_MSG_GETSTAT, + __CRYPTO_MSG_MAX +}; +#define CRYPTO_MSG_MAX (__CRYPTO_MSG_MAX - 1) +#define CRYPTO_NR_MSGTYPES (CRYPTO_MSG_MAX + 1 - CRYPTO_MSG_BASE) +#define CRYPTO_MAX_NAME 64 +enum crypto_attr_type_t { + CRYPTOCFGA_UNSPEC, + CRYPTOCFGA_PRIORITY_VAL, + CRYPTOCFGA_REPORT_LARVAL, + CRYPTOCFGA_REPORT_HASH, + CRYPTOCFGA_REPORT_BLKCIPHER, + CRYPTOCFGA_REPORT_AEAD, + CRYPTOCFGA_REPORT_COMPRESS, + CRYPTOCFGA_REPORT_RNG, + CRYPTOCFGA_REPORT_CIPHER, + CRYPTOCFGA_REPORT_AKCIPHER, + CRYPTOCFGA_REPORT_KPP, + CRYPTOCFGA_REPORT_ACOMP, + CRYPTOCFGA_STAT_LARVAL, + CRYPTOCFGA_STAT_HASH, + CRYPTOCFGA_STAT_BLKCIPHER, + CRYPTOCFGA_STAT_AEAD, + CRYPTOCFGA_STAT_COMPRESS, + CRYPTOCFGA_STAT_RNG, + CRYPTOCFGA_STAT_CIPHER, + CRYPTOCFGA_STAT_AKCIPHER, + CRYPTOCFGA_STAT_KPP, + CRYPTOCFGA_STAT_ACOMP, + __CRYPTOCFGA_MAX +#define CRYPTOCFGA_MAX (__CRYPTOCFGA_MAX - 1) +}; +struct crypto_user_alg { + char cru_name[CRYPTO_MAX_NAME]; + char cru_driver_name[CRYPTO_MAX_NAME]; + char cru_module_name[CRYPTO_MAX_NAME]; + __u32 cru_type; + __u32 cru_mask; + __u32 cru_refcnt; + __u32 cru_flags; +}; +struct crypto_stat_aead { + char type[CRYPTO_MAX_NAME]; + __u64 stat_encrypt_cnt; + __u64 stat_encrypt_tlen; + __u64 stat_decrypt_cnt; + __u64 stat_decrypt_tlen; + __u64 stat_err_cnt; +}; +struct crypto_stat_akcipher { + char type[CRYPTO_MAX_NAME]; + __u64 stat_encrypt_cnt; + __u64 stat_encrypt_tlen; + __u64 stat_decrypt_cnt; + __u64 stat_decrypt_tlen; + __u64 stat_verify_cnt; + __u64 stat_sign_cnt; + __u64 stat_err_cnt; +}; +struct crypto_stat_cipher { + char type[CRYPTO_MAX_NAME]; + __u64 stat_encrypt_cnt; + __u64 stat_encrypt_tlen; + __u64 stat_decrypt_cnt; + __u64 stat_decrypt_tlen; + __u64 stat_err_cnt; +}; +struct crypto_stat_compress { + char type[CRYPTO_MAX_NAME]; + __u64 stat_compress_cnt; + __u64 stat_compress_tlen; + __u64 stat_decompress_cnt; + __u64 stat_decompress_tlen; + __u64 stat_err_cnt; +}; +struct crypto_stat_hash { + char type[CRYPTO_MAX_NAME]; + __u64 stat_hash_cnt; + __u64 stat_hash_tlen; + __u64 stat_err_cnt; +}; +struct crypto_stat_kpp { + char type[CRYPTO_MAX_NAME]; + __u64 stat_setsecret_cnt; + __u64 stat_generate_public_key_cnt; + __u64 stat_compute_shared_secret_cnt; + __u64 stat_err_cnt; +}; +struct crypto_stat_rng { + char type[CRYPTO_MAX_NAME]; + __u64 stat_generate_cnt; + __u64 stat_generate_tlen; + __u64 stat_seed_cnt; + __u64 stat_err_cnt; +}; +struct crypto_stat_larval { + char type[CRYPTO_MAX_NAME]; +}; +struct crypto_report_larval { + char type[CRYPTO_MAX_NAME]; +}; +struct crypto_report_hash { + char type[CRYPTO_MAX_NAME]; + unsigned int blocksize; + unsigned int digestsize; +}; +struct crypto_report_cipher { + char type[CRYPTO_MAX_NAME]; + unsigned int blocksize; + unsigned int min_keysize; + unsigned int max_keysize; +}; +struct crypto_report_blkcipher { + char type[CRYPTO_MAX_NAME]; + char geniv[CRYPTO_MAX_NAME]; + unsigned int blocksize; + unsigned int min_keysize; + unsigned int max_keysize; + unsigned int ivsize; +}; +struct crypto_report_aead { + char type[CRYPTO_MAX_NAME]; + char geniv[CRYPTO_MAX_NAME]; + unsigned int blocksize; + unsigned int maxauthsize; + unsigned int ivsize; +}; +struct crypto_report_comp { + char type[CRYPTO_MAX_NAME]; +}; +struct crypto_report_rng { + char type[CRYPTO_MAX_NAME]; + unsigned int seedsize; +}; +struct crypto_report_akcipher { + char type[CRYPTO_MAX_NAME]; +}; +struct crypto_report_kpp { + char type[CRYPTO_MAX_NAME]; +}; +struct crypto_report_acomp { + char type[CRYPTO_MAX_NAME]; +}; +#define CRYPTO_REPORT_MAXSIZE (sizeof(struct crypto_user_alg) + \ + sizeof(struct crypto_report_blkcipher)) +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/cuda.h b/linux-5.10/prebuilts/usr/include/linux/cuda.h new file mode 100644 index 0000000..276048b --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/cuda.h @@ -0,0 +1,27 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI_LINUX_CUDA_H +#define _UAPI_LINUX_CUDA_H +#define CUDA_WARM_START 0 +#define CUDA_AUTOPOLL 1 +#define CUDA_GET_6805_ADDR 2 +#define CUDA_GET_TIME 3 +#define CUDA_GET_PRAM 7 +#define CUDA_SET_6805_ADDR 8 +#define CUDA_SET_TIME 9 +#define CUDA_POWERDOWN 0xa +#define CUDA_POWERUP_TIME 0xb +#define CUDA_SET_PRAM 0xc +#define CUDA_MS_RESET 0xd +#define CUDA_SEND_DFAC 0xe +#define CUDA_RESET_SYSTEM 0x11 +#define CUDA_SET_IPL 0x12 +#define CUDA_SET_AUTO_RATE 0x14 +#define CUDA_GET_AUTO_RATE 0x16 +#define CUDA_SET_DEVICE_LIST 0x19 +#define CUDA_GET_DEVICE_LIST 0x1a +#define CUDA_GET_SET_IIC 0x22 +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/cyclades.h b/linux-5.10/prebuilts/usr/include/linux/cyclades.h new file mode 100644 index 0000000..e6eeac3 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/cyclades.h @@ -0,0 +1,301 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI_LINUX_CYCLADES_H +#define _UAPI_LINUX_CYCLADES_H +#include +struct cyclades_monitor { + unsigned long int_count; + unsigned long char_count; + unsigned long char_max; + unsigned long char_last; +}; +struct cyclades_idle_stats { + __kernel_old_time_t in_use; + __kernel_old_time_t recv_idle; + __kernel_old_time_t xmit_idle; + unsigned long recv_bytes; + unsigned long xmit_bytes; + unsigned long overruns; + unsigned long frame_errs; + unsigned long parity_errs; +}; +#define CYCLADES_MAGIC 0x4359 +#define CYGETMON 0x435901 +#define CYGETTHRESH 0x435902 +#define CYSETTHRESH 0x435903 +#define CYGETDEFTHRESH 0x435904 +#define CYSETDEFTHRESH 0x435905 +#define CYGETTIMEOUT 0x435906 +#define CYSETTIMEOUT 0x435907 +#define CYGETDEFTIMEOUT 0x435908 +#define CYSETDEFTIMEOUT 0x435909 +#define CYSETRFLOW 0x43590a +#define CYGETRFLOW 0x43590b +#define CYSETRTSDTR_INV 0x43590c +#define CYGETRTSDTR_INV 0x43590d +#define CYZSETPOLLCYCLE 0x43590e +#define CYZGETPOLLCYCLE 0x43590f +#define CYGETCD1400VER 0x435910 +#define CYSETWAIT 0x435912 +#define CYGETWAIT 0x435913 +#define CZIOC ('M' << 8) +#define CZ_NBOARDS (CZIOC|0xfa) +#define CZ_BOOT_START (CZIOC|0xfb) +#define CZ_BOOT_DATA (CZIOC|0xfc) +#define CZ_BOOT_END (CZIOC|0xfd) +#define CZ_TEST (CZIOC|0xfe) +#define CZ_DEF_POLL (HZ/25) +#define MAX_BOARD 4 +#define MAX_DEV 256 +#define CYZ_MAX_SPEED 921600 +#define CYZ_FIFO_SIZE 16 +#define CYZ_BOOT_NWORDS 0x100 +struct CYZ_BOOT_CTRL { + unsigned short nboard; + int status[MAX_BOARD]; + int nchannel[MAX_BOARD]; + int fw_rev[MAX_BOARD]; + unsigned long offset; + unsigned long data[CYZ_BOOT_NWORDS]; +}; +#ifndef DP_WINDOW_SIZE +#define DP_WINDOW_SIZE (0x00080000) +#define ZE_DP_WINDOW_SIZE (0x00100000) +#define CTRL_WINDOW_SIZE (0x00000080) +struct CUSTOM_REG { + __u32 fpga_id; + __u32 fpga_version; + __u32 cpu_start; + __u32 cpu_stop; + __u32 misc_reg; + __u32 idt_mode; + __u32 uart_irq_status; + __u32 clear_timer0_irq; + __u32 clear_timer1_irq; + __u32 clear_timer2_irq; + __u32 test_register; + __u32 test_count; + __u32 timer_select; + __u32 pr_uart_irq_status; + __u32 ram_wait_state; + __u32 uart_wait_state; + __u32 timer_wait_state; + __u32 ack_wait_state; +}; +struct RUNTIME_9060 { + __u32 loc_addr_range; + __u32 loc_addr_base; + __u32 loc_arbitr; + __u32 endian_descr; + __u32 loc_rom_range; + __u32 loc_rom_base; + __u32 loc_bus_descr; + __u32 loc_range_mst; + __u32 loc_base_mst; + __u32 loc_range_io; + __u32 pci_base_mst; + __u32 pci_conf_io; + __u32 filler1; + __u32 filler2; + __u32 filler3; + __u32 filler4; + __u32 mail_box_0; + __u32 mail_box_1; + __u32 mail_box_2; + __u32 mail_box_3; + __u32 filler5; + __u32 filler6; + __u32 filler7; + __u32 filler8; + __u32 pci_doorbell; + __u32 loc_doorbell; + __u32 intr_ctrl_stat; + __u32 init_ctrl; +}; +#define WIN_RAM 0x00000001L +#define WIN_CREG 0x14000001L +#define TIMER_BY_1M 0x00 +#define TIMER_BY_256K 0x01 +#define TIMER_BY_128K 0x02 +#define TIMER_BY_32K 0x03 +#endif +#ifndef ZFIRM_ID +#define MAX_CHAN 64 +#define ID_ADDRESS 0x00000180L +#define ZFIRM_ID 0x5557465AL +#define ZFIRM_HLT 0x59505B5CL +#define ZFIRM_RST 0x56040674L +#define ZF_TINACT_DEF 1000 +#define ZF_TINACT ZF_TINACT_DEF +struct FIRM_ID { + __u32 signature; + __u32 zfwctrl_addr; +}; +#define C_OS_LINUX 0x00000030 +#define C_CH_DISABLE 0x00000000 +#define C_CH_TXENABLE 0x00000001 +#define C_CH_RXENABLE 0x00000002 +#define C_CH_ENABLE 0x00000003 +#define C_CH_LOOPBACK 0x00000004 +#define C_PR_NONE 0x00000000 +#define C_PR_ODD 0x00000001 +#define C_PR_EVEN 0x00000002 +#define C_PR_MARK 0x00000004 +#define C_PR_SPACE 0x00000008 +#define C_PR_PARITY 0x000000ff +#define C_PR_DISCARD 0x00000100 +#define C_PR_IGNORE 0x00000200 +#define C_DL_CS5 0x00000001 +#define C_DL_CS6 0x00000002 +#define C_DL_CS7 0x00000004 +#define C_DL_CS8 0x00000008 +#define C_DL_CS 0x0000000f +#define C_DL_1STOP 0x00000010 +#define C_DL_15STOP 0x00000020 +#define C_DL_2STOP 0x00000040 +#define C_DL_STOP 0x000000f0 +#define C_IN_DISABLE 0x00000000 +#define C_IN_TXBEMPTY 0x00000001 +#define C_IN_TXLOWWM 0x00000002 +#define C_IN_RXHIWM 0x00000010 +#define C_IN_RXNNDT 0x00000020 +#define C_IN_MDCD 0x00000100 +#define C_IN_MDSR 0x00000200 +#define C_IN_MRI 0x00000400 +#define C_IN_MCTS 0x00000800 +#define C_IN_RXBRK 0x00001000 +#define C_IN_PR_ERROR 0x00002000 +#define C_IN_FR_ERROR 0x00004000 +#define C_IN_OVR_ERROR 0x00008000 +#define C_IN_RXOFL 0x00010000 +#define C_IN_IOCTLW 0x00020000 +#define C_IN_MRTS 0x00040000 +#define C_IN_ICHAR 0x00080000 + +#define C_FL_OXX 0x00000001 +#define C_FL_IXX 0x00000002 +#define C_FL_OIXANY 0x00000004 +#define C_FL_SWFLOW 0x0000000f +#define C_FS_TXIDLE 0x00000000 +#define C_FS_SENDING 0x00000001 +#define C_FS_SWFLOW 0x00000002 +#define C_RS_PARAM 0x80000000 +#define C_RS_RTS 0x00000001 +#define C_RS_DTR 0x00000004 +#define C_RS_DCD 0x00000100 +#define C_RS_DSR 0x00000200 +#define C_RS_RI 0x00000400 +#define C_RS_CTS 0x00000800 +#define C_CM_RESET 0x01 +#define C_CM_IOCTL 0x02 +#define C_CM_IOCTLW 0x03 +#define C_CM_IOCTLM 0x04 +#define C_CM_SENDXOFF 0x10 +#define C_CM_SENDXON 0x11 +#define C_CM_CLFLOW 0x12 +#define C_CM_SENDBRK 0x41 +#define C_CM_INTBACK 0x42 +#define C_CM_SET_BREAK 0x43 +#define C_CM_CLR_BREAK 0x44 +#define C_CM_CMD_DONE 0x45 +#define C_CM_INTBACK2 0x46 +#define C_CM_TINACT 0x51 +#define C_CM_IRQ_ENBL 0x52 +#define C_CM_IRQ_DSBL 0x53 +#define C_CM_ACK_ENBL 0x54 +#define C_CM_ACK_DSBL 0x55 +#define C_CM_FLUSH_RX 0x56 +#define C_CM_FLUSH_TX 0x57 +#define C_CM_Q_ENABLE 0x58 +#define C_CM_Q_DISABLE 0x59 +#define C_CM_TXBEMPTY 0x60 +#define C_CM_TXLOWWM 0x61 +#define C_CM_RXHIWM 0x62 +#define C_CM_RXNNDT 0x63 +#define C_CM_TXFEMPTY 0x64 +#define C_CM_ICHAR 0x65 +#define C_CM_MDCD 0x70 +#define C_CM_MDSR 0x71 +#define C_CM_MRI 0x72 +#define C_CM_MCTS 0x73 +#define C_CM_MRTS 0x74 +#define C_CM_RXBRK 0x84 +#define C_CM_PR_ERROR 0x85 +#define C_CM_FR_ERROR 0x86 +#define C_CM_OVR_ERROR 0x87 +#define C_CM_RXOFL 0x88 +#define C_CM_CMDERROR 0x90 +#define C_CM_FATAL 0x91 +#define C_CM_HW_RESET 0x92 +struct CH_CTRL { + __u32 op_mode; + __u32 intr_enable; + __u32 sw_flow; + __u32 flow_status; + __u32 comm_baud; + __u32 comm_parity; + __u32 comm_data_l; + __u32 comm_flags; + __u32 hw_flow; + __u32 rs_control; + __u32 rs_status; + __u32 flow_xon; + __u32 flow_xoff; + __u32 hw_overflow; + __u32 sw_overflow; + __u32 comm_error; + __u32 ichar; + __u32 filler[7]; +}; +struct BUF_CTRL { + __u32 flag_dma; + __u32 tx_bufaddr; + __u32 tx_bufsize; + __u32 tx_threshold; + __u32 tx_get; + __u32 tx_put; + __u32 rx_bufaddr; + __u32 rx_bufsize; + __u32 rx_threshold; + __u32 rx_get; + __u32 rx_put; + __u32 filler[5]; +}; +struct BOARD_CTRL { + + __u32 n_channel; + __u32 fw_version; + + __u32 op_system; + __u32 dr_version; + + __u32 inactivity; + + __u32 hcmd_channel; + __u32 hcmd_param; + + __u32 fwcmd_channel; + __u32 fwcmd_param; + __u32 zf_int_queue_addr; + + __u32 filler[6]; +}; +#define QUEUE_SIZE (10*MAX_CHAN) +struct INT_QUEUE { + unsigned char intr_code[QUEUE_SIZE]; + unsigned long channel[QUEUE_SIZE]; + unsigned long param[QUEUE_SIZE]; + unsigned long put; + unsigned long get; +}; + +struct ZFW_CTRL { + struct BOARD_CTRL board_ctrl; + struct CH_CTRL ch_ctrl[MAX_CHAN]; + struct BUF_CTRL buf_ctrl[MAX_CHAN]; +}; +#endif +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/cycx_cfm.h b/linux-5.10/prebuilts/usr/include/linux/cycx_cfm.h new file mode 100644 index 0000000..38a0932 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/cycx_cfm.h @@ -0,0 +1,50 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _CYCX_CFM_H +#define _CYCX_CFM_H +#define CFM_VERSION 2 +#define CFM_SIGNATURE "CFM - Cyclades CYCX Firmware Module" +#define CFM_IMAGE_SIZE 0x20000 +#define CFM_DESCR_LEN 256 +#define CFM_MAX_CYCX 1 +#define CFM_LOAD_BUFSZ 0x400 +#define GEN_POWER_ON 0x1280 +#define GEN_SET_SEG 0x1401 +#define GEN_BOOT_DAT 0x1402 +#define GEN_START 0x1403 +#define GEN_DEFPAR 0x1404 +#define CYCX_2X 2 +#define CYCX_8X 8 +#define CYCX_16X 16 +#define CFID_X25_2X 5200 +struct cycx_fw_info { + unsigned short codeid; + unsigned short version; + unsigned short adapter[CFM_MAX_CYCX]; + unsigned long memsize; + unsigned short reserved[2]; + unsigned short startoffs; + unsigned short winoffs; + unsigned short codeoffs; + unsigned long codesize; + unsigned short dataoffs; + unsigned long datasize; +}; +struct cycx_firmware { + char signature[80]; + unsigned short version; + unsigned short checksum; + unsigned short reserved[6]; + char descr[CFM_DESCR_LEN]; + struct cycx_fw_info info; + unsigned char image[0]; +}; +struct cycx_fw_header { + unsigned long reset_size; + unsigned long data_size; + unsigned long code_size; +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/dcbnl.h b/linux-5.10/prebuilts/usr/include/linux/dcbnl.h new file mode 100644 index 0000000..5e4ec7a --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/dcbnl.h @@ -0,0 +1,339 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef __LINUX_DCBNL_H__ +#define __LINUX_DCBNL_H__ +#include +#define IEEE_8021QAZ_MAX_TCS 8 +#define IEEE_8021QAZ_TSA_STRICT 0 +#define IEEE_8021QAZ_TSA_CB_SHAPER 1 +#define IEEE_8021QAZ_TSA_ETS 2 +#define IEEE_8021QAZ_TSA_VENDOR 255 +struct ieee_ets { + __u8 willing; + __u8 ets_cap; + __u8 cbs; + __u8 tc_tx_bw[IEEE_8021QAZ_MAX_TCS]; + __u8 tc_rx_bw[IEEE_8021QAZ_MAX_TCS]; + __u8 tc_tsa[IEEE_8021QAZ_MAX_TCS]; + __u8 prio_tc[IEEE_8021QAZ_MAX_TCS]; + __u8 tc_reco_bw[IEEE_8021QAZ_MAX_TCS]; + __u8 tc_reco_tsa[IEEE_8021QAZ_MAX_TCS]; + __u8 reco_prio_tc[IEEE_8021QAZ_MAX_TCS]; +}; +struct ieee_maxrate { + __u64 tc_maxrate[IEEE_8021QAZ_MAX_TCS]; +}; +enum dcbnl_cndd_states { + DCB_CNDD_RESET = 0, + DCB_CNDD_EDGE, + DCB_CNDD_INTERIOR, + DCB_CNDD_INTERIOR_READY, +}; +struct ieee_qcn { + __u8 rpg_enable[IEEE_8021QAZ_MAX_TCS]; + __u32 rppp_max_rps[IEEE_8021QAZ_MAX_TCS]; + __u32 rpg_time_reset[IEEE_8021QAZ_MAX_TCS]; + __u32 rpg_byte_reset[IEEE_8021QAZ_MAX_TCS]; + __u32 rpg_threshold[IEEE_8021QAZ_MAX_TCS]; + __u32 rpg_max_rate[IEEE_8021QAZ_MAX_TCS]; + __u32 rpg_ai_rate[IEEE_8021QAZ_MAX_TCS]; + __u32 rpg_hai_rate[IEEE_8021QAZ_MAX_TCS]; + __u32 rpg_gd[IEEE_8021QAZ_MAX_TCS]; + __u32 rpg_min_dec_fac[IEEE_8021QAZ_MAX_TCS]; + __u32 rpg_min_rate[IEEE_8021QAZ_MAX_TCS]; + __u32 cndd_state_machine[IEEE_8021QAZ_MAX_TCS]; +}; +struct ieee_qcn_stats { + __u64 rppp_rp_centiseconds[IEEE_8021QAZ_MAX_TCS]; + __u32 rppp_created_rps[IEEE_8021QAZ_MAX_TCS]; +}; +struct ieee_pfc { + __u8 pfc_cap; + __u8 pfc_en; + __u8 mbc; + __u16 delay; + __u64 requests[IEEE_8021QAZ_MAX_TCS]; + __u64 indications[IEEE_8021QAZ_MAX_TCS]; +}; +#define IEEE_8021Q_MAX_PRIORITIES 8 +#define DCBX_MAX_BUFFERS 8 +struct dcbnl_buffer { + + __u8 prio2buffer[IEEE_8021Q_MAX_PRIORITIES]; + + __u32 buffer_size[DCBX_MAX_BUFFERS]; + __u32 total_size; +}; +#define CEE_DCBX_MAX_PGS 8 +#define CEE_DCBX_MAX_PRIO 8 +struct cee_pg { + __u8 willing; + __u8 error; + __u8 pg_en; + __u8 tcs_supported; + __u8 pg_bw[CEE_DCBX_MAX_PGS]; + __u8 prio_pg[CEE_DCBX_MAX_PGS]; +}; +struct cee_pfc { + __u8 willing; + __u8 error; + __u8 pfc_en; + __u8 tcs_supported; +}; +#define IEEE_8021QAZ_APP_SEL_ETHERTYPE 1 +#define IEEE_8021QAZ_APP_SEL_STREAM 2 +#define IEEE_8021QAZ_APP_SEL_DGRAM 3 +#define IEEE_8021QAZ_APP_SEL_ANY 4 +#define IEEE_8021QAZ_APP_SEL_DSCP 5 +struct dcb_app { + __u8 selector; + __u8 priority; + __u16 protocol; +}; +struct dcb_peer_app_info { + __u8 willing; + __u8 error; +}; +struct dcbmsg { + __u8 dcb_family; + __u8 cmd; + __u16 dcb_pad; +}; +enum dcbnl_commands { + DCB_CMD_UNDEFINED, + DCB_CMD_GSTATE, + DCB_CMD_SSTATE, + DCB_CMD_PGTX_GCFG, + DCB_CMD_PGTX_SCFG, + DCB_CMD_PGRX_GCFG, + DCB_CMD_PGRX_SCFG, + DCB_CMD_PFC_GCFG, + DCB_CMD_PFC_SCFG, + DCB_CMD_SET_ALL, + DCB_CMD_GPERM_HWADDR, + DCB_CMD_GCAP, + DCB_CMD_GNUMTCS, + DCB_CMD_SNUMTCS, + DCB_CMD_PFC_GSTATE, + DCB_CMD_PFC_SSTATE, + DCB_CMD_BCN_GCFG, + DCB_CMD_BCN_SCFG, + DCB_CMD_GAPP, + DCB_CMD_SAPP, + DCB_CMD_IEEE_SET, + DCB_CMD_IEEE_GET, + DCB_CMD_GDCBX, + DCB_CMD_SDCBX, + DCB_CMD_GFEATCFG, + DCB_CMD_SFEATCFG, + DCB_CMD_CEE_GET, + DCB_CMD_IEEE_DEL, + __DCB_CMD_ENUM_MAX, + DCB_CMD_MAX = __DCB_CMD_ENUM_MAX - 1, +}; +enum dcbnl_attrs { + DCB_ATTR_UNDEFINED, + DCB_ATTR_IFNAME, + DCB_ATTR_STATE, + DCB_ATTR_PFC_STATE, + DCB_ATTR_PFC_CFG, + DCB_ATTR_NUM_TC, + DCB_ATTR_PG_CFG, + DCB_ATTR_SET_ALL, + DCB_ATTR_PERM_HWADDR, + DCB_ATTR_CAP, + DCB_ATTR_NUMTCS, + DCB_ATTR_BCN, + DCB_ATTR_APP, + + DCB_ATTR_IEEE, + DCB_ATTR_DCBX, + DCB_ATTR_FEATCFG, + + DCB_ATTR_CEE, + __DCB_ATTR_ENUM_MAX, + DCB_ATTR_MAX = __DCB_ATTR_ENUM_MAX - 1, +}; +enum ieee_attrs { + DCB_ATTR_IEEE_UNSPEC, + DCB_ATTR_IEEE_ETS, + DCB_ATTR_IEEE_PFC, + DCB_ATTR_IEEE_APP_TABLE, + DCB_ATTR_IEEE_PEER_ETS, + DCB_ATTR_IEEE_PEER_PFC, + DCB_ATTR_IEEE_PEER_APP, + DCB_ATTR_IEEE_MAXRATE, + DCB_ATTR_IEEE_QCN, + DCB_ATTR_IEEE_QCN_STATS, + DCB_ATTR_DCB_BUFFER, + __DCB_ATTR_IEEE_MAX +}; +#define DCB_ATTR_IEEE_MAX (__DCB_ATTR_IEEE_MAX - 1) +enum ieee_attrs_app { + DCB_ATTR_IEEE_APP_UNSPEC, + DCB_ATTR_IEEE_APP, + __DCB_ATTR_IEEE_APP_MAX +}; +#define DCB_ATTR_IEEE_APP_MAX (__DCB_ATTR_IEEE_APP_MAX - 1) +enum cee_attrs { + DCB_ATTR_CEE_UNSPEC, + DCB_ATTR_CEE_PEER_PG, + DCB_ATTR_CEE_PEER_PFC, + DCB_ATTR_CEE_PEER_APP_TABLE, + DCB_ATTR_CEE_TX_PG, + DCB_ATTR_CEE_RX_PG, + DCB_ATTR_CEE_PFC, + DCB_ATTR_CEE_APP_TABLE, + DCB_ATTR_CEE_FEAT, + __DCB_ATTR_CEE_MAX +}; +#define DCB_ATTR_CEE_MAX (__DCB_ATTR_CEE_MAX - 1) +enum peer_app_attr { + DCB_ATTR_CEE_PEER_APP_UNSPEC, + DCB_ATTR_CEE_PEER_APP_INFO, + DCB_ATTR_CEE_PEER_APP, + __DCB_ATTR_CEE_PEER_APP_MAX +}; +#define DCB_ATTR_CEE_PEER_APP_MAX (__DCB_ATTR_CEE_PEER_APP_MAX - 1) +enum cee_attrs_app { + DCB_ATTR_CEE_APP_UNSPEC, + DCB_ATTR_CEE_APP, + __DCB_ATTR_CEE_APP_MAX +}; +#define DCB_ATTR_CEE_APP_MAX (__DCB_ATTR_CEE_APP_MAX - 1) +enum dcbnl_pfc_up_attrs { + DCB_PFC_UP_ATTR_UNDEFINED, + DCB_PFC_UP_ATTR_0, + DCB_PFC_UP_ATTR_1, + DCB_PFC_UP_ATTR_2, + DCB_PFC_UP_ATTR_3, + DCB_PFC_UP_ATTR_4, + DCB_PFC_UP_ATTR_5, + DCB_PFC_UP_ATTR_6, + DCB_PFC_UP_ATTR_7, + DCB_PFC_UP_ATTR_ALL, + __DCB_PFC_UP_ATTR_ENUM_MAX, + DCB_PFC_UP_ATTR_MAX = __DCB_PFC_UP_ATTR_ENUM_MAX - 1, +}; +enum dcbnl_pg_attrs { + DCB_PG_ATTR_UNDEFINED, + DCB_PG_ATTR_TC_0, + DCB_PG_ATTR_TC_1, + DCB_PG_ATTR_TC_2, + DCB_PG_ATTR_TC_3, + DCB_PG_ATTR_TC_4, + DCB_PG_ATTR_TC_5, + DCB_PG_ATTR_TC_6, + DCB_PG_ATTR_TC_7, + DCB_PG_ATTR_TC_MAX, + DCB_PG_ATTR_TC_ALL, + DCB_PG_ATTR_BW_ID_0, + DCB_PG_ATTR_BW_ID_1, + DCB_PG_ATTR_BW_ID_2, + DCB_PG_ATTR_BW_ID_3, + DCB_PG_ATTR_BW_ID_4, + DCB_PG_ATTR_BW_ID_5, + DCB_PG_ATTR_BW_ID_6, + DCB_PG_ATTR_BW_ID_7, + DCB_PG_ATTR_BW_ID_MAX, + DCB_PG_ATTR_BW_ID_ALL, + __DCB_PG_ATTR_ENUM_MAX, + DCB_PG_ATTR_MAX = __DCB_PG_ATTR_ENUM_MAX - 1, +}; +enum dcbnl_tc_attrs { + DCB_TC_ATTR_PARAM_UNDEFINED, + DCB_TC_ATTR_PARAM_PGID, + DCB_TC_ATTR_PARAM_UP_MAPPING, + DCB_TC_ATTR_PARAM_STRICT_PRIO, + DCB_TC_ATTR_PARAM_BW_PCT, + DCB_TC_ATTR_PARAM_ALL, + __DCB_TC_ATTR_PARAM_ENUM_MAX, + DCB_TC_ATTR_PARAM_MAX = __DCB_TC_ATTR_PARAM_ENUM_MAX - 1, +}; +enum dcbnl_cap_attrs { + DCB_CAP_ATTR_UNDEFINED, + DCB_CAP_ATTR_ALL, + DCB_CAP_ATTR_PG, + DCB_CAP_ATTR_PFC, + DCB_CAP_ATTR_UP2TC, + DCB_CAP_ATTR_PG_TCS, + DCB_CAP_ATTR_PFC_TCS, + DCB_CAP_ATTR_GSP, + DCB_CAP_ATTR_BCN, + DCB_CAP_ATTR_DCBX, + __DCB_CAP_ATTR_ENUM_MAX, + DCB_CAP_ATTR_MAX = __DCB_CAP_ATTR_ENUM_MAX - 1, +}; +#define DCB_CAP_DCBX_HOST 0x01 +#define DCB_CAP_DCBX_LLD_MANAGED 0x02 +#define DCB_CAP_DCBX_VER_CEE 0x04 +#define DCB_CAP_DCBX_VER_IEEE 0x08 +#define DCB_CAP_DCBX_STATIC 0x10 +enum dcbnl_numtcs_attrs { + DCB_NUMTCS_ATTR_UNDEFINED, + DCB_NUMTCS_ATTR_ALL, + DCB_NUMTCS_ATTR_PG, + DCB_NUMTCS_ATTR_PFC, + __DCB_NUMTCS_ATTR_ENUM_MAX, + DCB_NUMTCS_ATTR_MAX = __DCB_NUMTCS_ATTR_ENUM_MAX - 1, +}; +enum dcbnl_bcn_attrs{ + DCB_BCN_ATTR_UNDEFINED = 0, + DCB_BCN_ATTR_RP_0, + DCB_BCN_ATTR_RP_1, + DCB_BCN_ATTR_RP_2, + DCB_BCN_ATTR_RP_3, + DCB_BCN_ATTR_RP_4, + DCB_BCN_ATTR_RP_5, + DCB_BCN_ATTR_RP_6, + DCB_BCN_ATTR_RP_7, + DCB_BCN_ATTR_RP_ALL, + DCB_BCN_ATTR_BCNA_0, + DCB_BCN_ATTR_BCNA_1, + DCB_BCN_ATTR_ALPHA, + DCB_BCN_ATTR_BETA, + DCB_BCN_ATTR_GD, + DCB_BCN_ATTR_GI, + DCB_BCN_ATTR_TMAX, + DCB_BCN_ATTR_TD, + DCB_BCN_ATTR_RMIN, + DCB_BCN_ATTR_W, + DCB_BCN_ATTR_RD, + DCB_BCN_ATTR_RU, + DCB_BCN_ATTR_WRTT, + DCB_BCN_ATTR_RI, + DCB_BCN_ATTR_C, + DCB_BCN_ATTR_ALL, + __DCB_BCN_ATTR_ENUM_MAX, + DCB_BCN_ATTR_MAX = __DCB_BCN_ATTR_ENUM_MAX - 1, +}; +enum dcb_general_attr_values { + DCB_ATTR_VALUE_UNDEFINED = 0xff +}; +#define DCB_APP_IDTYPE_ETHTYPE 0x00 +#define DCB_APP_IDTYPE_PORTNUM 0x01 +enum dcbnl_app_attrs { + DCB_APP_ATTR_UNDEFINED, + DCB_APP_ATTR_IDTYPE, + DCB_APP_ATTR_ID, + DCB_APP_ATTR_PRIORITY, + __DCB_APP_ATTR_ENUM_MAX, + DCB_APP_ATTR_MAX = __DCB_APP_ATTR_ENUM_MAX - 1, +}; +#define DCB_FEATCFG_ERROR 0x01 +#define DCB_FEATCFG_ENABLE 0x02 +#define DCB_FEATCFG_WILLING 0x04 +#define DCB_FEATCFG_ADVERTISE 0x08 +enum dcbnl_featcfg_attrs { + DCB_FEATCFG_ATTR_UNDEFINED, + DCB_FEATCFG_ATTR_ALL, + DCB_FEATCFG_ATTR_PG, + DCB_FEATCFG_ATTR_PFC, + DCB_FEATCFG_ATTR_APP, + __DCB_FEATCFG_ATTR_ENUM_MAX, + DCB_FEATCFG_ATTR_MAX = __DCB_FEATCFG_ATTR_ENUM_MAX - 1, +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/dccp.h b/linux-5.10/prebuilts/usr/include/linux/dccp.h new file mode 100644 index 0000000..c9cd0f5 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/dccp.h @@ -0,0 +1,174 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI_LINUX_DCCP_H +#define _UAPI_LINUX_DCCP_H +#include +#include +struct dccp_hdr { + __be16 dccph_sport, + dccph_dport; + __u8 dccph_doff; +#if defined(__LITTLE_ENDIAN_BITFIELD) + __u8 dccph_cscov:4, + dccph_ccval:4; +#elif defined(__BIG_ENDIAN_BITFIELD) + __u8 dccph_ccval:4, + dccph_cscov:4; +#else +#error "Adjust your defines" +#endif + __sum16 dccph_checksum; +#if defined(__LITTLE_ENDIAN_BITFIELD) + __u8 dccph_x:1, + dccph_type:4, + dccph_reserved:3; +#elif defined(__BIG_ENDIAN_BITFIELD) + __u8 dccph_reserved:3, + dccph_type:4, + dccph_x:1; +#else +#error "Adjust your defines" +#endif + __u8 dccph_seq2; + __be16 dccph_seq; +}; +struct dccp_hdr_ext { + __be32 dccph_seq_low; +}; +struct dccp_hdr_request { + __be32 dccph_req_service; +}; +struct dccp_hdr_ack_bits { + __be16 dccph_reserved1; + __be16 dccph_ack_nr_high; + __be32 dccph_ack_nr_low; +}; +struct dccp_hdr_response { + struct dccp_hdr_ack_bits dccph_resp_ack; + __be32 dccph_resp_service; +}; +struct dccp_hdr_reset { + struct dccp_hdr_ack_bits dccph_reset_ack; + __u8 dccph_reset_code, + dccph_reset_data[3]; +}; +enum dccp_pkt_type { + DCCP_PKT_REQUEST = 0, + DCCP_PKT_RESPONSE, + DCCP_PKT_DATA, + DCCP_PKT_ACK, + DCCP_PKT_DATAACK, + DCCP_PKT_CLOSEREQ, + DCCP_PKT_CLOSE, + DCCP_PKT_RESET, + DCCP_PKT_SYNC, + DCCP_PKT_SYNCACK, + DCCP_PKT_INVALID, +}; +#define DCCP_NR_PKT_TYPES DCCP_PKT_INVALID +static inline unsigned int dccp_packet_hdr_len(const __u8 type) +{ + if (type == DCCP_PKT_DATA) + return 0; + if (type == DCCP_PKT_DATAACK || + type == DCCP_PKT_ACK || + type == DCCP_PKT_SYNC || + type == DCCP_PKT_SYNCACK || + type == DCCP_PKT_CLOSE || + type == DCCP_PKT_CLOSEREQ) + return sizeof(struct dccp_hdr_ack_bits); + if (type == DCCP_PKT_REQUEST) + return sizeof(struct dccp_hdr_request); + if (type == DCCP_PKT_RESPONSE) + return sizeof(struct dccp_hdr_response); + return sizeof(struct dccp_hdr_reset); +} +enum dccp_reset_codes { + DCCP_RESET_CODE_UNSPECIFIED = 0, + DCCP_RESET_CODE_CLOSED, + DCCP_RESET_CODE_ABORTED, + DCCP_RESET_CODE_NO_CONNECTION, + DCCP_RESET_CODE_PACKET_ERROR, + DCCP_RESET_CODE_OPTION_ERROR, + DCCP_RESET_CODE_MANDATORY_ERROR, + DCCP_RESET_CODE_CONNECTION_REFUSED, + DCCP_RESET_CODE_BAD_SERVICE_CODE, + DCCP_RESET_CODE_TOO_BUSY, + DCCP_RESET_CODE_BAD_INIT_COOKIE, + DCCP_RESET_CODE_AGGRESSION_PENALTY, + DCCP_MAX_RESET_CODES +}; +enum { + DCCPO_PADDING = 0, + DCCPO_MANDATORY = 1, + DCCPO_MIN_RESERVED = 3, + DCCPO_MAX_RESERVED = 31, + DCCPO_CHANGE_L = 32, + DCCPO_CONFIRM_L = 33, + DCCPO_CHANGE_R = 34, + DCCPO_CONFIRM_R = 35, + DCCPO_NDP_COUNT = 37, + DCCPO_ACK_VECTOR_0 = 38, + DCCPO_ACK_VECTOR_1 = 39, + DCCPO_TIMESTAMP = 41, + DCCPO_TIMESTAMP_ECHO = 42, + DCCPO_ELAPSED_TIME = 43, + DCCPO_MAX = 45, + DCCPO_MIN_RX_CCID_SPECIFIC = 128, + DCCPO_MAX_RX_CCID_SPECIFIC = 191, + DCCPO_MIN_TX_CCID_SPECIFIC = 192, + DCCPO_MAX_TX_CCID_SPECIFIC = 255, +}; +#define DCCP_SINGLE_OPT_MAXLEN 253 +enum { + DCCPC_CCID2 = 2, + DCCPC_CCID3 = 3, +}; +enum dccp_feature_numbers { + DCCPF_RESERVED = 0, + DCCPF_CCID = 1, + DCCPF_SHORT_SEQNOS = 2, + DCCPF_SEQUENCE_WINDOW = 3, + DCCPF_ECN_INCAPABLE = 4, + DCCPF_ACK_RATIO = 5, + DCCPF_SEND_ACK_VECTOR = 6, + DCCPF_SEND_NDP_COUNT = 7, + DCCPF_MIN_CSUM_COVER = 8, + DCCPF_DATA_CHECKSUM = 9, + + DCCPF_MIN_CCID_SPECIFIC = 128, + DCCPF_SEND_LEV_RATE = 192, + DCCPF_MAX_CCID_SPECIFIC = 255, +}; +enum dccp_cmsg_type { + DCCP_SCM_PRIORITY = 1, + DCCP_SCM_QPOLICY_MAX = 0xFFFF, + + DCCP_SCM_MAX +}; +enum dccp_packet_dequeueing_policy { + DCCPQ_POLICY_SIMPLE, + DCCPQ_POLICY_PRIO, + DCCPQ_POLICY_MAX +}; +#define DCCP_SOCKOPT_PACKET_SIZE 1 +#define DCCP_SOCKOPT_SERVICE 2 +#define DCCP_SOCKOPT_CHANGE_L 3 +#define DCCP_SOCKOPT_CHANGE_R 4 +#define DCCP_SOCKOPT_GET_CUR_MPS 5 +#define DCCP_SOCKOPT_SERVER_TIMEWAIT 6 +#define DCCP_SOCKOPT_SEND_CSCOV 10 +#define DCCP_SOCKOPT_RECV_CSCOV 11 +#define DCCP_SOCKOPT_AVAILABLE_CCIDS 12 +#define DCCP_SOCKOPT_CCID 13 +#define DCCP_SOCKOPT_TX_CCID 14 +#define DCCP_SOCKOPT_RX_CCID 15 +#define DCCP_SOCKOPT_QPOLICY_ID 16 +#define DCCP_SOCKOPT_QPOLICY_TXQLEN 17 +#define DCCP_SOCKOPT_CCID_RX_INFO 128 +#define DCCP_SOCKOPT_CCID_TX_INFO 192 +#define DCCP_SERVICE_LIST_MAX_LEN 32 +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/devlink.h b/linux-5.10/prebuilts/usr/include/linux/devlink.h new file mode 100644 index 0000000..9ba50c5 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/devlink.h @@ -0,0 +1,411 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI_LINUX_DEVLINK_H_ +#define _UAPI_LINUX_DEVLINK_H_ +#include +#define DEVLINK_GENL_NAME "devlink" +#define DEVLINK_GENL_VERSION 0x1 +#define DEVLINK_GENL_MCGRP_CONFIG_NAME "config" +enum devlink_command { + + DEVLINK_CMD_UNSPEC, + DEVLINK_CMD_GET, + DEVLINK_CMD_SET, + DEVLINK_CMD_NEW, + DEVLINK_CMD_DEL, + DEVLINK_CMD_PORT_GET, + DEVLINK_CMD_PORT_SET, + DEVLINK_CMD_PORT_NEW, + DEVLINK_CMD_PORT_DEL, + DEVLINK_CMD_PORT_SPLIT, + DEVLINK_CMD_PORT_UNSPLIT, + DEVLINK_CMD_SB_GET, + DEVLINK_CMD_SB_SET, + DEVLINK_CMD_SB_NEW, + DEVLINK_CMD_SB_DEL, + DEVLINK_CMD_SB_POOL_GET, + DEVLINK_CMD_SB_POOL_SET, + DEVLINK_CMD_SB_POOL_NEW, + DEVLINK_CMD_SB_POOL_DEL, + DEVLINK_CMD_SB_PORT_POOL_GET, + DEVLINK_CMD_SB_PORT_POOL_SET, + DEVLINK_CMD_SB_PORT_POOL_NEW, + DEVLINK_CMD_SB_PORT_POOL_DEL, + DEVLINK_CMD_SB_TC_POOL_BIND_GET, + DEVLINK_CMD_SB_TC_POOL_BIND_SET, + DEVLINK_CMD_SB_TC_POOL_BIND_NEW, + DEVLINK_CMD_SB_TC_POOL_BIND_DEL, + + DEVLINK_CMD_SB_OCC_SNAPSHOT, + DEVLINK_CMD_SB_OCC_MAX_CLEAR, + DEVLINK_CMD_ESWITCH_GET, +#define DEVLINK_CMD_ESWITCH_MODE_GET \ + DEVLINK_CMD_ESWITCH_GET + DEVLINK_CMD_ESWITCH_SET, +#define DEVLINK_CMD_ESWITCH_MODE_SET \ + DEVLINK_CMD_ESWITCH_SET + DEVLINK_CMD_DPIPE_TABLE_GET, + DEVLINK_CMD_DPIPE_ENTRIES_GET, + DEVLINK_CMD_DPIPE_HEADERS_GET, + DEVLINK_CMD_DPIPE_TABLE_COUNTERS_SET, + DEVLINK_CMD_RESOURCE_SET, + DEVLINK_CMD_RESOURCE_DUMP, + + DEVLINK_CMD_RELOAD, + DEVLINK_CMD_PARAM_GET, + DEVLINK_CMD_PARAM_SET, + DEVLINK_CMD_PARAM_NEW, + DEVLINK_CMD_PARAM_DEL, + DEVLINK_CMD_REGION_GET, + DEVLINK_CMD_REGION_SET, + DEVLINK_CMD_REGION_NEW, + DEVLINK_CMD_REGION_DEL, + DEVLINK_CMD_REGION_READ, + DEVLINK_CMD_PORT_PARAM_GET, + DEVLINK_CMD_PORT_PARAM_SET, + DEVLINK_CMD_PORT_PARAM_NEW, + DEVLINK_CMD_PORT_PARAM_DEL, + DEVLINK_CMD_INFO_GET, + DEVLINK_CMD_HEALTH_REPORTER_GET, + DEVLINK_CMD_HEALTH_REPORTER_SET, + DEVLINK_CMD_HEALTH_REPORTER_RECOVER, + DEVLINK_CMD_HEALTH_REPORTER_DIAGNOSE, + DEVLINK_CMD_HEALTH_REPORTER_DUMP_GET, + DEVLINK_CMD_HEALTH_REPORTER_DUMP_CLEAR, + DEVLINK_CMD_FLASH_UPDATE, + DEVLINK_CMD_FLASH_UPDATE_END, + DEVLINK_CMD_FLASH_UPDATE_STATUS, + DEVLINK_CMD_TRAP_GET, + DEVLINK_CMD_TRAP_SET, + DEVLINK_CMD_TRAP_NEW, + DEVLINK_CMD_TRAP_DEL, + DEVLINK_CMD_TRAP_GROUP_GET, + DEVLINK_CMD_TRAP_GROUP_SET, + DEVLINK_CMD_TRAP_GROUP_NEW, + DEVLINK_CMD_TRAP_GROUP_DEL, + DEVLINK_CMD_TRAP_POLICER_GET, + DEVLINK_CMD_TRAP_POLICER_SET, + DEVLINK_CMD_TRAP_POLICER_NEW, + DEVLINK_CMD_TRAP_POLICER_DEL, + DEVLINK_CMD_HEALTH_REPORTER_TEST, + + __DEVLINK_CMD_MAX, + DEVLINK_CMD_MAX = __DEVLINK_CMD_MAX - 1 +}; +enum devlink_port_type { + DEVLINK_PORT_TYPE_NOTSET, + DEVLINK_PORT_TYPE_AUTO, + DEVLINK_PORT_TYPE_ETH, + DEVLINK_PORT_TYPE_IB, +}; +enum devlink_sb_pool_type { + DEVLINK_SB_POOL_TYPE_INGRESS, + DEVLINK_SB_POOL_TYPE_EGRESS, +}; +enum devlink_sb_threshold_type { + DEVLINK_SB_THRESHOLD_TYPE_STATIC, + DEVLINK_SB_THRESHOLD_TYPE_DYNAMIC, +}; +#define DEVLINK_SB_THRESHOLD_TO_ALPHA_MAX 20 +enum devlink_eswitch_mode { + DEVLINK_ESWITCH_MODE_LEGACY, + DEVLINK_ESWITCH_MODE_SWITCHDEV, +}; +enum devlink_eswitch_inline_mode { + DEVLINK_ESWITCH_INLINE_MODE_NONE, + DEVLINK_ESWITCH_INLINE_MODE_LINK, + DEVLINK_ESWITCH_INLINE_MODE_NETWORK, + DEVLINK_ESWITCH_INLINE_MODE_TRANSPORT, +}; +enum devlink_eswitch_encap_mode { + DEVLINK_ESWITCH_ENCAP_MODE_NONE, + DEVLINK_ESWITCH_ENCAP_MODE_BASIC, +}; +enum devlink_port_flavour { + DEVLINK_PORT_FLAVOUR_PHYSICAL, + DEVLINK_PORT_FLAVOUR_CPU, + DEVLINK_PORT_FLAVOUR_DSA, + DEVLINK_PORT_FLAVOUR_PCI_PF, + DEVLINK_PORT_FLAVOUR_PCI_VF, + DEVLINK_PORT_FLAVOUR_VIRTUAL, + DEVLINK_PORT_FLAVOUR_UNUSED, +}; +enum devlink_param_cmode { + DEVLINK_PARAM_CMODE_RUNTIME, + DEVLINK_PARAM_CMODE_DRIVERINIT, + DEVLINK_PARAM_CMODE_PERMANENT, + + __DEVLINK_PARAM_CMODE_MAX, + DEVLINK_PARAM_CMODE_MAX = __DEVLINK_PARAM_CMODE_MAX - 1 +}; +enum devlink_param_fw_load_policy_value { + DEVLINK_PARAM_FW_LOAD_POLICY_VALUE_DRIVER, + DEVLINK_PARAM_FW_LOAD_POLICY_VALUE_FLASH, + DEVLINK_PARAM_FW_LOAD_POLICY_VALUE_DISK, + DEVLINK_PARAM_FW_LOAD_POLICY_VALUE_UNKNOWN, +}; +enum devlink_param_reset_dev_on_drv_probe_value { + DEVLINK_PARAM_RESET_DEV_ON_DRV_PROBE_VALUE_UNKNOWN, + DEVLINK_PARAM_RESET_DEV_ON_DRV_PROBE_VALUE_ALWAYS, + DEVLINK_PARAM_RESET_DEV_ON_DRV_PROBE_VALUE_NEVER, + DEVLINK_PARAM_RESET_DEV_ON_DRV_PROBE_VALUE_DISK, +}; +enum { + DEVLINK_ATTR_STATS_RX_PACKETS, + DEVLINK_ATTR_STATS_RX_BYTES, + DEVLINK_ATTR_STATS_RX_DROPPED, + __DEVLINK_ATTR_STATS_MAX, + DEVLINK_ATTR_STATS_MAX = __DEVLINK_ATTR_STATS_MAX - 1 +}; +enum { + DEVLINK_FLASH_OVERWRITE_SETTINGS_BIT, + DEVLINK_FLASH_OVERWRITE_IDENTIFIERS_BIT, + __DEVLINK_FLASH_OVERWRITE_MAX_BIT, + DEVLINK_FLASH_OVERWRITE_MAX_BIT = __DEVLINK_FLASH_OVERWRITE_MAX_BIT - 1 +}; +#define DEVLINK_FLASH_OVERWRITE_SETTINGS _BITUL(DEVLINK_FLASH_OVERWRITE_SETTINGS_BIT) +#define DEVLINK_FLASH_OVERWRITE_IDENTIFIERS _BITUL(DEVLINK_FLASH_OVERWRITE_IDENTIFIERS_BIT) +#define DEVLINK_SUPPORTED_FLASH_OVERWRITE_SECTIONS \ + (_BITUL(__DEVLINK_FLASH_OVERWRITE_MAX_BIT) - 1) +enum devlink_trap_action { + DEVLINK_TRAP_ACTION_DROP, + DEVLINK_TRAP_ACTION_TRAP, + DEVLINK_TRAP_ACTION_MIRROR, +}; +enum devlink_trap_type { + DEVLINK_TRAP_TYPE_DROP, + DEVLINK_TRAP_TYPE_EXCEPTION, + DEVLINK_TRAP_TYPE_CONTROL, +}; +enum { + + DEVLINK_ATTR_TRAP_METADATA_TYPE_IN_PORT, + + DEVLINK_ATTR_TRAP_METADATA_TYPE_FA_COOKIE, +}; +enum devlink_reload_action { + DEVLINK_RELOAD_ACTION_UNSPEC, + DEVLINK_RELOAD_ACTION_DRIVER_REINIT, + DEVLINK_RELOAD_ACTION_FW_ACTIVATE, + + __DEVLINK_RELOAD_ACTION_MAX, + DEVLINK_RELOAD_ACTION_MAX = __DEVLINK_RELOAD_ACTION_MAX - 1 +}; +enum devlink_reload_limit { + DEVLINK_RELOAD_LIMIT_UNSPEC, + DEVLINK_RELOAD_LIMIT_NO_RESET, + + __DEVLINK_RELOAD_LIMIT_MAX, + DEVLINK_RELOAD_LIMIT_MAX = __DEVLINK_RELOAD_LIMIT_MAX - 1 +}; +#define DEVLINK_RELOAD_LIMITS_VALID_MASK (_BITUL(__DEVLINK_RELOAD_LIMIT_MAX) - 1) +enum devlink_attr { + + DEVLINK_ATTR_UNSPEC, + + DEVLINK_ATTR_BUS_NAME, + DEVLINK_ATTR_DEV_NAME, + DEVLINK_ATTR_PORT_INDEX, + DEVLINK_ATTR_PORT_TYPE, + DEVLINK_ATTR_PORT_DESIRED_TYPE, + DEVLINK_ATTR_PORT_NETDEV_IFINDEX, + DEVLINK_ATTR_PORT_NETDEV_NAME, + DEVLINK_ATTR_PORT_IBDEV_NAME, + DEVLINK_ATTR_PORT_SPLIT_COUNT, + DEVLINK_ATTR_PORT_SPLIT_GROUP, + DEVLINK_ATTR_SB_INDEX, + DEVLINK_ATTR_SB_SIZE, + DEVLINK_ATTR_SB_INGRESS_POOL_COUNT, + DEVLINK_ATTR_SB_EGRESS_POOL_COUNT, + DEVLINK_ATTR_SB_INGRESS_TC_COUNT, + DEVLINK_ATTR_SB_EGRESS_TC_COUNT, + DEVLINK_ATTR_SB_POOL_INDEX, + DEVLINK_ATTR_SB_POOL_TYPE, + DEVLINK_ATTR_SB_POOL_SIZE, + DEVLINK_ATTR_SB_POOL_THRESHOLD_TYPE, + DEVLINK_ATTR_SB_THRESHOLD, + DEVLINK_ATTR_SB_TC_INDEX, + DEVLINK_ATTR_SB_OCC_CUR, + DEVLINK_ATTR_SB_OCC_MAX, + DEVLINK_ATTR_ESWITCH_MODE, + DEVLINK_ATTR_ESWITCH_INLINE_MODE, + DEVLINK_ATTR_DPIPE_TABLES, + DEVLINK_ATTR_DPIPE_TABLE, + DEVLINK_ATTR_DPIPE_TABLE_NAME, + DEVLINK_ATTR_DPIPE_TABLE_SIZE, + DEVLINK_ATTR_DPIPE_TABLE_MATCHES, + DEVLINK_ATTR_DPIPE_TABLE_ACTIONS, + DEVLINK_ATTR_DPIPE_TABLE_COUNTERS_ENABLED, + DEVLINK_ATTR_DPIPE_ENTRIES, + DEVLINK_ATTR_DPIPE_ENTRY, + DEVLINK_ATTR_DPIPE_ENTRY_INDEX, + DEVLINK_ATTR_DPIPE_ENTRY_MATCH_VALUES, + DEVLINK_ATTR_DPIPE_ENTRY_ACTION_VALUES, + DEVLINK_ATTR_DPIPE_ENTRY_COUNTER, + DEVLINK_ATTR_DPIPE_MATCH, + DEVLINK_ATTR_DPIPE_MATCH_VALUE, + DEVLINK_ATTR_DPIPE_MATCH_TYPE, + DEVLINK_ATTR_DPIPE_ACTION, + DEVLINK_ATTR_DPIPE_ACTION_VALUE, + DEVLINK_ATTR_DPIPE_ACTION_TYPE, + DEVLINK_ATTR_DPIPE_VALUE, + DEVLINK_ATTR_DPIPE_VALUE_MASK, + DEVLINK_ATTR_DPIPE_VALUE_MAPPING, + DEVLINK_ATTR_DPIPE_HEADERS, + DEVLINK_ATTR_DPIPE_HEADER, + DEVLINK_ATTR_DPIPE_HEADER_NAME, + DEVLINK_ATTR_DPIPE_HEADER_ID, + DEVLINK_ATTR_DPIPE_HEADER_FIELDS, + DEVLINK_ATTR_DPIPE_HEADER_GLOBAL, + DEVLINK_ATTR_DPIPE_HEADER_INDEX, + DEVLINK_ATTR_DPIPE_FIELD, + DEVLINK_ATTR_DPIPE_FIELD_NAME, + DEVLINK_ATTR_DPIPE_FIELD_ID, + DEVLINK_ATTR_DPIPE_FIELD_BITWIDTH, + DEVLINK_ATTR_DPIPE_FIELD_MAPPING_TYPE, + DEVLINK_ATTR_PAD, + DEVLINK_ATTR_ESWITCH_ENCAP_MODE, + DEVLINK_ATTR_RESOURCE_LIST, + DEVLINK_ATTR_RESOURCE, + DEVLINK_ATTR_RESOURCE_NAME, + DEVLINK_ATTR_RESOURCE_ID, + DEVLINK_ATTR_RESOURCE_SIZE, + DEVLINK_ATTR_RESOURCE_SIZE_NEW, + DEVLINK_ATTR_RESOURCE_SIZE_VALID, + DEVLINK_ATTR_RESOURCE_SIZE_MIN, + DEVLINK_ATTR_RESOURCE_SIZE_MAX, + DEVLINK_ATTR_RESOURCE_SIZE_GRAN, + DEVLINK_ATTR_RESOURCE_UNIT, + DEVLINK_ATTR_RESOURCE_OCC, + DEVLINK_ATTR_DPIPE_TABLE_RESOURCE_ID, + DEVLINK_ATTR_DPIPE_TABLE_RESOURCE_UNITS, + DEVLINK_ATTR_PORT_FLAVOUR, + DEVLINK_ATTR_PORT_NUMBER, + DEVLINK_ATTR_PORT_SPLIT_SUBPORT_NUMBER, + DEVLINK_ATTR_PARAM, + DEVLINK_ATTR_PARAM_NAME, + DEVLINK_ATTR_PARAM_GENERIC, + DEVLINK_ATTR_PARAM_TYPE, + DEVLINK_ATTR_PARAM_VALUES_LIST, + DEVLINK_ATTR_PARAM_VALUE, + DEVLINK_ATTR_PARAM_VALUE_DATA, + DEVLINK_ATTR_PARAM_VALUE_CMODE, + DEVLINK_ATTR_REGION_NAME, + DEVLINK_ATTR_REGION_SIZE, + DEVLINK_ATTR_REGION_SNAPSHOTS, + DEVLINK_ATTR_REGION_SNAPSHOT, + DEVLINK_ATTR_REGION_SNAPSHOT_ID, + DEVLINK_ATTR_REGION_CHUNKS, + DEVLINK_ATTR_REGION_CHUNK, + DEVLINK_ATTR_REGION_CHUNK_DATA, + DEVLINK_ATTR_REGION_CHUNK_ADDR, + DEVLINK_ATTR_REGION_CHUNK_LEN, + DEVLINK_ATTR_INFO_DRIVER_NAME, + DEVLINK_ATTR_INFO_SERIAL_NUMBER, + DEVLINK_ATTR_INFO_VERSION_FIXED, + DEVLINK_ATTR_INFO_VERSION_RUNNING, + DEVLINK_ATTR_INFO_VERSION_STORED, + DEVLINK_ATTR_INFO_VERSION_NAME, + DEVLINK_ATTR_INFO_VERSION_VALUE, + DEVLINK_ATTR_SB_POOL_CELL_SIZE, + DEVLINK_ATTR_FMSG, + DEVLINK_ATTR_FMSG_OBJ_NEST_START, + DEVLINK_ATTR_FMSG_PAIR_NEST_START, + DEVLINK_ATTR_FMSG_ARR_NEST_START, + DEVLINK_ATTR_FMSG_NEST_END, + DEVLINK_ATTR_FMSG_OBJ_NAME, + DEVLINK_ATTR_FMSG_OBJ_VALUE_TYPE, + DEVLINK_ATTR_FMSG_OBJ_VALUE_DATA, + DEVLINK_ATTR_HEALTH_REPORTER, + DEVLINK_ATTR_HEALTH_REPORTER_NAME, + DEVLINK_ATTR_HEALTH_REPORTER_STATE, + DEVLINK_ATTR_HEALTH_REPORTER_ERR_COUNT, + DEVLINK_ATTR_HEALTH_REPORTER_RECOVER_COUNT, + DEVLINK_ATTR_HEALTH_REPORTER_DUMP_TS, + DEVLINK_ATTR_HEALTH_REPORTER_GRACEFUL_PERIOD, + DEVLINK_ATTR_HEALTH_REPORTER_AUTO_RECOVER, + DEVLINK_ATTR_FLASH_UPDATE_FILE_NAME, + DEVLINK_ATTR_FLASH_UPDATE_COMPONENT, + DEVLINK_ATTR_FLASH_UPDATE_STATUS_MSG, + DEVLINK_ATTR_FLASH_UPDATE_STATUS_DONE, + DEVLINK_ATTR_FLASH_UPDATE_STATUS_TOTAL, + DEVLINK_ATTR_PORT_PCI_PF_NUMBER, + DEVLINK_ATTR_PORT_PCI_VF_NUMBER, + DEVLINK_ATTR_STATS, + DEVLINK_ATTR_TRAP_NAME, + + DEVLINK_ATTR_TRAP_ACTION, + + DEVLINK_ATTR_TRAP_TYPE, + DEVLINK_ATTR_TRAP_GENERIC, + DEVLINK_ATTR_TRAP_METADATA, + DEVLINK_ATTR_TRAP_GROUP_NAME, + DEVLINK_ATTR_RELOAD_FAILED, + DEVLINK_ATTR_HEALTH_REPORTER_DUMP_TS_NS, + DEVLINK_ATTR_NETNS_FD, + DEVLINK_ATTR_NETNS_PID, + DEVLINK_ATTR_NETNS_ID, + DEVLINK_ATTR_HEALTH_REPORTER_AUTO_DUMP, + DEVLINK_ATTR_TRAP_POLICER_ID, + DEVLINK_ATTR_TRAP_POLICER_RATE, + DEVLINK_ATTR_TRAP_POLICER_BURST, + DEVLINK_ATTR_PORT_FUNCTION, + DEVLINK_ATTR_INFO_BOARD_SERIAL_NUMBER, + DEVLINK_ATTR_PORT_LANES, + DEVLINK_ATTR_PORT_SPLITTABLE, + DEVLINK_ATTR_PORT_EXTERNAL, + DEVLINK_ATTR_PORT_CONTROLLER_NUMBER, + DEVLINK_ATTR_FLASH_UPDATE_STATUS_TIMEOUT, + DEVLINK_ATTR_FLASH_UPDATE_OVERWRITE_MASK, + DEVLINK_ATTR_RELOAD_ACTION, + DEVLINK_ATTR_RELOAD_ACTIONS_PERFORMED, + DEVLINK_ATTR_RELOAD_LIMITS, + DEVLINK_ATTR_DEV_STATS, + DEVLINK_ATTR_RELOAD_STATS, + DEVLINK_ATTR_RELOAD_STATS_ENTRY, + DEVLINK_ATTR_RELOAD_STATS_LIMIT, + DEVLINK_ATTR_RELOAD_STATS_VALUE, + DEVLINK_ATTR_REMOTE_RELOAD_STATS, + DEVLINK_ATTR_RELOAD_ACTION_INFO, + DEVLINK_ATTR_RELOAD_ACTION_STATS, + + __DEVLINK_ATTR_MAX, + DEVLINK_ATTR_MAX = __DEVLINK_ATTR_MAX - 1 +}; +enum devlink_dpipe_field_mapping_type { + DEVLINK_DPIPE_FIELD_MAPPING_TYPE_NONE, + DEVLINK_DPIPE_FIELD_MAPPING_TYPE_IFINDEX, +}; +enum devlink_dpipe_match_type { + DEVLINK_DPIPE_MATCH_TYPE_FIELD_EXACT, +}; +enum devlink_dpipe_action_type { + DEVLINK_DPIPE_ACTION_TYPE_FIELD_MODIFY, +}; +enum devlink_dpipe_field_ethernet_id { + DEVLINK_DPIPE_FIELD_ETHERNET_DST_MAC, +}; +enum devlink_dpipe_field_ipv4_id { + DEVLINK_DPIPE_FIELD_IPV4_DST_IP, +}; +enum devlink_dpipe_field_ipv6_id { + DEVLINK_DPIPE_FIELD_IPV6_DST_IP, +}; +enum devlink_dpipe_header_id { + DEVLINK_DPIPE_HEADER_ETHERNET, + DEVLINK_DPIPE_HEADER_IPV4, + DEVLINK_DPIPE_HEADER_IPV6, +}; +enum devlink_resource_unit { + DEVLINK_RESOURCE_UNIT_ENTRY, +}; +enum devlink_port_function_attr { + DEVLINK_PORT_FUNCTION_ATTR_UNSPEC, + DEVLINK_PORT_FUNCTION_ATTR_HW_ADDR, + __DEVLINK_PORT_FUNCTION_ATTR_MAX, + DEVLINK_PORT_FUNCTION_ATTR_MAX = __DEVLINK_PORT_FUNCTION_ATTR_MAX - 1 +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/dlm.h b/linux-5.10/prebuilts/usr/include/linux/dlm.h new file mode 100644 index 0000000..685916a --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/dlm.h @@ -0,0 +1,23 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI__DLM_DOT_H__ +#define _UAPI__DLM_DOT_H__ +#include +#include +typedef void dlm_lockspace_t; +#define DLM_SBF_DEMOTED 0x01 +#define DLM_SBF_VALNOTVALID 0x02 +#define DLM_SBF_ALTMODE 0x04 +struct dlm_lksb { + int sb_status; + __u32 sb_lkid; + char sb_flags; + char * sb_lvbptr; +}; +#define DLM_LSFL_TIMEWARN 0x00000002 +#define DLM_LSFL_FS 0x00000004 +#define DLM_LSFL_NEWEXCL 0x00000008 +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/dlm_device.h b/linux-5.10/prebuilts/usr/include/linux/dlm_device.h new file mode 100644 index 0000000..a4b3720 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/dlm_device.h @@ -0,0 +1,75 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _LINUX_DLM_DEVICE_H +#define _LINUX_DLM_DEVICE_H +#include +#include +#define DLM_USER_LVB_LEN 32 +#define DLM_DEVICE_VERSION_MAJOR 6 +#define DLM_DEVICE_VERSION_MINOR 0 +#define DLM_DEVICE_VERSION_PATCH 2 +struct dlm_lock_params { + __u8 mode; + __u8 namelen; + __u16 unused; + __u32 flags; + __u32 lkid; + __u32 parent; + __u64 xid; + __u64 timeout; + void __user *castparam; + void __user *castaddr; + void __user *bastparam; + void __user *bastaddr; + struct dlm_lksb __user *lksb; + char lvb[DLM_USER_LVB_LEN]; + char name[0]; +}; +struct dlm_lspace_params { + __u32 flags; + __u32 minor; + char name[0]; +}; +struct dlm_purge_params { + __u32 nodeid; + __u32 pid; +}; +struct dlm_write_request { + __u32 version[3]; + __u8 cmd; + __u8 is64bit; + __u8 unused[2]; + union { + struct dlm_lock_params lock; + struct dlm_lspace_params lspace; + struct dlm_purge_params purge; + } i; +}; +struct dlm_device_version { + __u32 version[3]; +}; +struct dlm_lock_result { + __u32 version[3]; + __u32 length; + void __user * user_astaddr; + void __user * user_astparam; + struct dlm_lksb __user * user_lksb; + struct dlm_lksb lksb; + __u8 bast_mode; + __u8 unused[3]; + + __u32 lvb_offset; +}; +#define DLM_USER_LOCK 1 +#define DLM_USER_UNLOCK 2 +#define DLM_USER_QUERY 3 +#define DLM_USER_CREATE_LOCKSPACE 4 +#define DLM_USER_REMOVE_LOCKSPACE 5 +#define DLM_USER_PURGE 6 +#define DLM_USER_DEADLOCK 7 +#define DLM_USER_LSFLG_AUTOFREE 1 +#define DLM_USER_LSFLG_FORCEFREE 2 +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/dlm_netlink.h b/linux-5.10/prebuilts/usr/include/linux/dlm_netlink.h new file mode 100644 index 0000000..038e524 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/dlm_netlink.h @@ -0,0 +1,46 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _DLM_NETLINK_H +#define _DLM_NETLINK_H +#include +#include +enum { + DLM_STATUS_WAITING = 1, + DLM_STATUS_GRANTED = 2, + DLM_STATUS_CONVERT = 3, +}; +#define DLM_LOCK_DATA_VERSION 1 +struct dlm_lock_data { + __u16 version; + __u32 lockspace_id; + int nodeid; + int ownpid; + __u32 id; + __u32 remid; + __u64 xid; + __s8 status; + __s8 grmode; + __s8 rqmode; + unsigned long timestamp; + int resource_namelen; + char resource_name[DLM_RESNAME_MAXLEN]; +}; +enum { + DLM_CMD_UNSPEC = 0, + DLM_CMD_HELLO, + DLM_CMD_TIMEOUT, + __DLM_CMD_MAX, +}; +#define DLM_CMD_MAX (__DLM_CMD_MAX - 1) +enum { + DLM_TYPE_UNSPEC = 0, + DLM_TYPE_LOCK, + __DLM_TYPE_MAX, +}; +#define DLM_TYPE_MAX (__DLM_TYPE_MAX - 1) +#define DLM_GENL_VERSION 0x1 +#define DLM_GENL_NAME "DLM" +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/dlm_plock.h b/linux-5.10/prebuilts/usr/include/linux/dlm_plock.h new file mode 100644 index 0000000..9380c77 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/dlm_plock.h @@ -0,0 +1,34 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI__DLM_PLOCK_DOT_H__ +#define _UAPI__DLM_PLOCK_DOT_H__ +#include +#define DLM_PLOCK_MISC_NAME "dlm_plock" +#define DLM_PLOCK_VERSION_MAJOR 1 +#define DLM_PLOCK_VERSION_MINOR 2 +#define DLM_PLOCK_VERSION_PATCH 0 +enum { + DLM_PLOCK_OP_LOCK = 1, + DLM_PLOCK_OP_UNLOCK, + DLM_PLOCK_OP_GET, +}; +#define DLM_PLOCK_FL_CLOSE 1 +struct dlm_plock_info { + __u32 version[3]; + __u8 optype; + __u8 ex; + __u8 wait; + __u8 flags; + __u32 pid; + __s32 nodeid; + __s32 rv; + __u32 fsid; + __u64 number; + __u64 start; + __u64 end; + __u64 owner; +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/dlmconstants.h b/linux-5.10/prebuilts/usr/include/linux/dlmconstants.h new file mode 100644 index 0000000..8728eb6 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/dlmconstants.h @@ -0,0 +1,38 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef __DLMCONSTANTS_DOT_H__ +#define __DLMCONSTANTS_DOT_H__ +#define DLM_LOCKSPACE_LEN 64 +#define DLM_RESNAME_MAXLEN 64 +#define DLM_LOCK_IV (-1) +#define DLM_LOCK_NL 0 +#define DLM_LOCK_CR 1 +#define DLM_LOCK_CW 2 +#define DLM_LOCK_PR 3 +#define DLM_LOCK_PW 4 +#define DLM_LOCK_EX 5 +#define DLM_LKF_NOQUEUE 0x00000001 +#define DLM_LKF_CANCEL 0x00000002 +#define DLM_LKF_CONVERT 0x00000004 +#define DLM_LKF_VALBLK 0x00000008 +#define DLM_LKF_QUECVT 0x00000010 +#define DLM_LKF_IVVALBLK 0x00000020 +#define DLM_LKF_CONVDEADLK 0x00000040 +#define DLM_LKF_PERSISTENT 0x00000080 +#define DLM_LKF_NODLCKWT 0x00000100 +#define DLM_LKF_NODLCKBLK 0x00000200 +#define DLM_LKF_EXPEDITE 0x00000400 +#define DLM_LKF_NOQUEUEBAST 0x00000800 +#define DLM_LKF_HEADQUE 0x00001000 +#define DLM_LKF_NOORDER 0x00002000 +#define DLM_LKF_ORPHAN 0x00004000 +#define DLM_LKF_ALTPR 0x00008000 +#define DLM_LKF_ALTCW 0x00010000 +#define DLM_LKF_FORCEUNLOCK 0x00020000 +#define DLM_LKF_TIMEOUT 0x00040000 +#define DLM_ECANCEL 0x10001 +#define DLM_EUNLOCK 0x10002 +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/dm-ioctl.h b/linux-5.10/prebuilts/usr/include/linux/dm-ioctl.h new file mode 100644 index 0000000..05d8d7b --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/dm-ioctl.h @@ -0,0 +1,122 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _LINUX_DM_IOCTL_V4_H +#define _LINUX_DM_IOCTL_V4_H +#include +#define DM_DIR "mapper" +#define DM_CONTROL_NODE "control" +#define DM_MAX_TYPE_NAME 16 +#define DM_NAME_LEN 128 +#define DM_UUID_LEN 129 +struct dm_ioctl { + + __u32 version[3]; + __u32 data_size; + __u32 data_start; + __u32 target_count; + __s32 open_count; + __u32 flags; + + __u32 event_nr; + __u32 padding; + __u64 dev; + char name[DM_NAME_LEN]; + char uuid[DM_UUID_LEN]; + char data[7]; +}; +struct dm_target_spec { + __u64 sector_start; + __u64 length; + __s32 status; + + __u32 next; + char target_type[DM_MAX_TYPE_NAME]; + +}; +struct dm_target_deps { + __u32 count; + __u32 padding; + __u64 dev[0]; +}; +struct dm_name_list { + __u64 dev; + __u32 next; + char name[0]; +}; +struct dm_target_versions { + __u32 next; + __u32 version[3]; + char name[0]; +}; +struct dm_target_msg { + __u64 sector; + char message[0]; +}; +enum { + + DM_VERSION_CMD = 0, + DM_REMOVE_ALL_CMD, + DM_LIST_DEVICES_CMD, + + DM_DEV_CREATE_CMD, + DM_DEV_REMOVE_CMD, + DM_DEV_RENAME_CMD, + DM_DEV_SUSPEND_CMD, + DM_DEV_STATUS_CMD, + DM_DEV_WAIT_CMD, + + DM_TABLE_LOAD_CMD, + DM_TABLE_CLEAR_CMD, + DM_TABLE_DEPS_CMD, + DM_TABLE_STATUS_CMD, + + DM_LIST_VERSIONS_CMD, + DM_TARGET_MSG_CMD, + DM_DEV_SET_GEOMETRY_CMD, + DM_DEV_ARM_POLL_CMD, + DM_GET_TARGET_VERSION_CMD, +}; +#define DM_IOCTL 0xfd +#define DM_VERSION _IOWR(DM_IOCTL, DM_VERSION_CMD, struct dm_ioctl) +#define DM_REMOVE_ALL _IOWR(DM_IOCTL, DM_REMOVE_ALL_CMD, struct dm_ioctl) +#define DM_LIST_DEVICES _IOWR(DM_IOCTL, DM_LIST_DEVICES_CMD, struct dm_ioctl) +#define DM_DEV_CREATE _IOWR(DM_IOCTL, DM_DEV_CREATE_CMD, struct dm_ioctl) +#define DM_DEV_REMOVE _IOWR(DM_IOCTL, DM_DEV_REMOVE_CMD, struct dm_ioctl) +#define DM_DEV_RENAME _IOWR(DM_IOCTL, DM_DEV_RENAME_CMD, struct dm_ioctl) +#define DM_DEV_SUSPEND _IOWR(DM_IOCTL, DM_DEV_SUSPEND_CMD, struct dm_ioctl) +#define DM_DEV_STATUS _IOWR(DM_IOCTL, DM_DEV_STATUS_CMD, struct dm_ioctl) +#define DM_DEV_WAIT _IOWR(DM_IOCTL, DM_DEV_WAIT_CMD, struct dm_ioctl) +#define DM_DEV_ARM_POLL _IOWR(DM_IOCTL, DM_DEV_ARM_POLL_CMD, struct dm_ioctl) +#define DM_TABLE_LOAD _IOWR(DM_IOCTL, DM_TABLE_LOAD_CMD, struct dm_ioctl) +#define DM_TABLE_CLEAR _IOWR(DM_IOCTL, DM_TABLE_CLEAR_CMD, struct dm_ioctl) +#define DM_TABLE_DEPS _IOWR(DM_IOCTL, DM_TABLE_DEPS_CMD, struct dm_ioctl) +#define DM_TABLE_STATUS _IOWR(DM_IOCTL, DM_TABLE_STATUS_CMD, struct dm_ioctl) +#define DM_LIST_VERSIONS _IOWR(DM_IOCTL, DM_LIST_VERSIONS_CMD, struct dm_ioctl) +#define DM_GET_TARGET_VERSION _IOWR(DM_IOCTL, DM_GET_TARGET_VERSION_CMD, struct dm_ioctl) +#define DM_TARGET_MSG _IOWR(DM_IOCTL, DM_TARGET_MSG_CMD, struct dm_ioctl) +#define DM_DEV_SET_GEOMETRY _IOWR(DM_IOCTL, DM_DEV_SET_GEOMETRY_CMD, struct dm_ioctl) +#define DM_VERSION_MAJOR 4 +#define DM_VERSION_MINOR 43 +#define DM_VERSION_PATCHLEVEL 0 +#define DM_VERSION_EXTRA "-ioctl (2020-10-01)" +#define DM_READONLY_FLAG (1 << 0) +#define DM_SUSPEND_FLAG (1 << 1) +#define DM_PERSISTENT_DEV_FLAG (1 << 3) +#define DM_STATUS_TABLE_FLAG (1 << 4) +#define DM_ACTIVE_PRESENT_FLAG (1 << 5) +#define DM_INACTIVE_PRESENT_FLAG (1 << 6) +#define DM_BUFFER_FULL_FLAG (1 << 8) +#define DM_SKIP_BDGET_FLAG (1 << 9) +#define DM_SKIP_LOCKFS_FLAG (1 << 10) +#define DM_NOFLUSH_FLAG (1 << 11) +#define DM_QUERY_INACTIVE_TABLE_FLAG (1 << 12) +#define DM_UEVENT_GENERATED_FLAG (1 << 13) +#define DM_UUID_FLAG (1 << 14) +#define DM_SECURE_DATA_FLAG (1 << 15) +#define DM_DATA_OUT_FLAG (1 << 16) +#define DM_DEFERRED_REMOVE (1 << 17) +#define DM_INTERNAL_SUSPEND_FLAG (1 << 18) +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/dm-log-userspace.h b/linux-5.10/prebuilts/usr/include/linux/dm-log-userspace.h new file mode 100644 index 0000000..79b0b79 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/dm-log-userspace.h @@ -0,0 +1,43 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef __DM_LOG_USERSPACE_H__ +#define __DM_LOG_USERSPACE_H__ +#include +#include +#define DM_ULOG_CTR 1 +#define DM_ULOG_DTR 2 +#define DM_ULOG_PRESUSPEND 3 +#define DM_ULOG_POSTSUSPEND 4 +#define DM_ULOG_RESUME 5 +#define DM_ULOG_GET_REGION_SIZE 6 +#define DM_ULOG_IS_CLEAN 7 +#define DM_ULOG_IN_SYNC 8 +#define DM_ULOG_FLUSH 9 +#define DM_ULOG_MARK_REGION 10 +#define DM_ULOG_CLEAR_REGION 11 +#define DM_ULOG_GET_RESYNC_WORK 12 +#define DM_ULOG_SET_REGION_SYNC 13 +#define DM_ULOG_GET_SYNC_COUNT 14 +#define DM_ULOG_STATUS_INFO 15 +#define DM_ULOG_STATUS_TABLE 16 +#define DM_ULOG_IS_REMOTE_RECOVERING 17 +#define DM_ULOG_REQUEST_MASK 0xFF +#define DM_ULOG_REQUEST_TYPE(request_type) \ + (DM_ULOG_REQUEST_MASK & (request_type)) +#define DM_ULOG_REQUEST_VERSION 3 +struct dm_ulog_request { + + __u64 luid; + char uuid[DM_UUID_LEN]; + char padding[3]; + __u32 version; + __s32 error; + __u32 seq; + __u32 request_type; + __u32 data_size; + char data[0]; +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/dma-buf.h b/linux-5.10/prebuilts/usr/include/linux/dma-buf.h new file mode 100644 index 0000000..b63117a --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/dma-buf.h @@ -0,0 +1,25 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _DMA_BUF_UAPI_H_ +#define _DMA_BUF_UAPI_H_ +#include +struct dma_buf_sync { + __u64 flags; +}; +#define DMA_BUF_SYNC_READ (1 << 0) +#define DMA_BUF_SYNC_WRITE (2 << 0) +#define DMA_BUF_SYNC_RW (DMA_BUF_SYNC_READ | DMA_BUF_SYNC_WRITE) +#define DMA_BUF_SYNC_START (0 << 2) +#define DMA_BUF_SYNC_END (1 << 2) +#define DMA_BUF_SYNC_VALID_FLAGS_MASK \ + (DMA_BUF_SYNC_RW | DMA_BUF_SYNC_END) +#define DMA_BUF_NAME_LEN 32 +#define DMA_BUF_BASE 'b' +#define DMA_BUF_IOCTL_SYNC _IOW(DMA_BUF_BASE, 0, struct dma_buf_sync) +#define DMA_BUF_SET_NAME _IOW(DMA_BUF_BASE, 1, const char *) +#define DMA_BUF_SET_NAME_A _IOW(DMA_BUF_BASE, 1, u32) +#define DMA_BUF_SET_NAME_B _IOW(DMA_BUF_BASE, 1, u64) +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/dma-heap.h b/linux-5.10/prebuilts/usr/include/linux/dma-heap.h new file mode 100644 index 0000000..8167ecc --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/dma-heap.h @@ -0,0 +1,21 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI_LINUX_DMABUF_POOL_H +#define _UAPI_LINUX_DMABUF_POOL_H +#include +#include +#define DMA_HEAP_VALID_FD_FLAGS (O_CLOEXEC | O_ACCMODE) +#define DMA_HEAP_VALID_HEAP_FLAGS (0) +struct dma_heap_allocation_data { + __u64 len; + __u32 fd; + __u32 fd_flags; + __u64 heap_flags; +}; +#define DMA_HEAP_IOC_MAGIC 'H' +#define DMA_HEAP_IOCTL_ALLOC _IOWR(DMA_HEAP_IOC_MAGIC, 0x0,\ + struct dma_heap_allocation_data) +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/dn.h b/linux-5.10/prebuilts/usr/include/linux/dn.h new file mode 100644 index 0000000..fa68f83 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/dn.h @@ -0,0 +1,101 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _LINUX_DN_H +#define _LINUX_DN_H +#include +#include +#include +#define DNPROTO_NSP 2 +#define DNPROTO_ROU 3 +#define DNPROTO_NML 4 +#define DNPROTO_EVL 5 +#define DNPROTO_EVR 6 +#define DNPROTO_NSPT 7 +#define DN_ADDL 2 +#define DN_MAXADDL 2 +#define DN_MAXOPTL 16 +#define DN_MAXOBJL 16 +#define DN_MAXACCL 40 +#define DN_MAXALIASL 128 +#define DN_MAXNODEL 256 +#define DNBUFSIZE 65023 +#define SO_CONDATA 1 +#define SO_CONACCESS 2 +#define SO_PROXYUSR 3 +#define SO_LINKINFO 7 +#define DSO_CONDATA 1 +#define DSO_DISDATA 10 +#define DSO_CONACCESS 2 +#define DSO_ACCEPTMODE 4 +#define DSO_CONACCEPT 5 +#define DSO_CONREJECT 6 +#define DSO_LINKINFO 7 +#define DSO_STREAM 8 +#define DSO_SEQPACKET 9 +#define DSO_MAXWINDOW 11 +#define DSO_NODELAY 12 +#define DSO_CORK 13 +#define DSO_SERVICES 14 +#define DSO_INFO 15 +#define DSO_MAX 15 +#define LL_INACTIVE 0 +#define LL_CONNECTING 1 +#define LL_RUNNING 2 +#define LL_DISCONNECTING 3 +#define ACC_IMMED 0 +#define ACC_DEFER 1 +#define SDF_WILD 1 +#define SDF_PROXY 2 +#define SDF_UICPROXY 4 +struct dn_naddr { + __le16 a_len; + __u8 a_addr[DN_MAXADDL]; +}; +struct sockaddr_dn { + __u16 sdn_family; + __u8 sdn_flags; + __u8 sdn_objnum; + __le16 sdn_objnamel; + __u8 sdn_objname[DN_MAXOBJL]; + struct dn_naddr sdn_add; +}; +#define sdn_nodeaddrl sdn_add.a_len +#define sdn_nodeaddr sdn_add.a_addr +struct optdata_dn { + __le16 opt_status; +#define opt_sts opt_status + __le16 opt_optl; + __u8 opt_data[16]; +}; +struct accessdata_dn { + __u8 acc_accl; + __u8 acc_acc[DN_MAXACCL]; + __u8 acc_passl; + __u8 acc_pass[DN_MAXACCL]; + __u8 acc_userl; + __u8 acc_user[DN_MAXACCL]; +}; +struct linkinfo_dn { + __u16 idn_segsize; + __u8 idn_linkstate; +}; +union etheraddress { + __u8 dne_addr[ETH_ALEN]; + struct { + __u8 dne_hiord[4]; + __u8 dne_nodeaddr[2]; + } dne_remote; +}; +struct dn_addr { + __le16 dna_family; + union etheraddress dna_netaddr; +}; +#define DECNET_IOCTL_BASE 0x89 +#define SIOCSNETADDR _IOW(DECNET_IOCTL_BASE, 0xe0, struct dn_naddr) +#define SIOCGNETADDR _IOR(DECNET_IOCTL_BASE, 0xe1, struct dn_naddr) +#define OSIOCSNETADDR _IOW(DECNET_IOCTL_BASE, 0xe0, int) +#define OSIOCGNETADDR _IOR(DECNET_IOCTL_BASE, 0xe1, int) +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/dns_resolver.h b/linux-5.10/prebuilts/usr/include/linux/dns_resolver.h new file mode 100644 index 0000000..e050eae --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/dns_resolver.h @@ -0,0 +1,65 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI_LINUX_DNS_RESOLVER_H +#define _UAPI_LINUX_DNS_RESOLVER_H +#include +enum dns_payload_content_type { + DNS_PAYLOAD_IS_SERVER_LIST = 0, +}; +enum dns_payload_address_type { + DNS_ADDRESS_IS_IPV4 = 0, + DNS_ADDRESS_IS_IPV6 = 1, +}; +enum dns_payload_protocol_type { + DNS_SERVER_PROTOCOL_UNSPECIFIED = 0, + DNS_SERVER_PROTOCOL_UDP = 1, + DNS_SERVER_PROTOCOL_TCP = 2, +}; +enum dns_record_source { + DNS_RECORD_UNAVAILABLE = 0, + DNS_RECORD_FROM_CONFIG = 1, + DNS_RECORD_FROM_DNS_A = 2, + DNS_RECORD_FROM_DNS_AFSDB = 3, + DNS_RECORD_FROM_DNS_SRV = 4, + DNS_RECORD_FROM_NSS = 5, + NR__dns_record_source +}; +enum dns_lookup_status { + DNS_LOOKUP_NOT_DONE = 0, + DNS_LOOKUP_GOOD = 1, + DNS_LOOKUP_GOOD_WITH_BAD = 2, + DNS_LOOKUP_BAD = 3, + DNS_LOOKUP_GOT_NOT_FOUND = 4, + DNS_LOOKUP_GOT_LOCAL_FAILURE = 5, + DNS_LOOKUP_GOT_TEMP_FAILURE = 6, + DNS_LOOKUP_GOT_NS_FAILURE = 7, + NR__dns_lookup_status +}; +struct dns_payload_header { + __u8 zero; + __u8 content; + __u8 version; +} __packed; +struct dns_server_list_v1_header { + struct dns_payload_header hdr; + __u8 source; + __u8 status; + __u8 nr_servers; +} __packed; +struct dns_server_list_v1_server { + __u16 name_len; + __u16 priority; + __u16 weight; + __u16 port; + __u8 source; + __u8 status; + __u8 protocol; + __u8 nr_addrs; +} __packed; +struct dns_server_list_v1_address { + __u8 address_type; +} __packed; +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/dqblk_xfs.h b/linux-5.10/prebuilts/usr/include/linux/dqblk_xfs.h new file mode 100644 index 0000000..528eda7 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/dqblk_xfs.h @@ -0,0 +1,123 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _LINUX_DQBLK_XFS_H +#define _LINUX_DQBLK_XFS_H +#include +#define XQM_CMD(x) (('X'<<8)+(x)) +#define XQM_COMMAND(x) (((x) & (0xff<<8)) == ('X'<<8)) +#define XQM_USRQUOTA 0 +#define XQM_GRPQUOTA 1 +#define XQM_PRJQUOTA 2 +#define XQM_MAXQUOTAS 3 +#define Q_XQUOTAON XQM_CMD(1) +#define Q_XQUOTAOFF XQM_CMD(2) +#define Q_XGETQUOTA XQM_CMD(3) +#define Q_XSETQLIM XQM_CMD(4) +#define Q_XGETQSTAT XQM_CMD(5) +#define Q_XQUOTARM XQM_CMD(6) +#define Q_XQUOTASYNC XQM_CMD(7) +#define Q_XGETQSTATV XQM_CMD(8) +#define Q_XGETNEXTQUOTA XQM_CMD(9) +#define FS_DQUOT_VERSION 1 +typedef struct fs_disk_quota { + __s8 d_version; + __s8 d_flags; + __u16 d_fieldmask; + __u32 d_id; + __u64 d_blk_hardlimit; + __u64 d_blk_softlimit; + __u64 d_ino_hardlimit; + __u64 d_ino_softlimit; + __u64 d_bcount; + __u64 d_icount; + __s32 d_itimer; + __s32 d_btimer; + __u16 d_iwarns; + __u16 d_bwarns; + __s8 d_itimer_hi; + __s8 d_btimer_hi; + __s8 d_rtbtimer_hi; + __s8 d_padding2; + __u64 d_rtb_hardlimit; + __u64 d_rtb_softlimit; + __u64 d_rtbcount; + __s32 d_rtbtimer; + __u16 d_rtbwarns; + __s16 d_padding3; + char d_padding4[8]; +} fs_disk_quota_t; +#define FS_DQ_ISOFT (1<<0) +#define FS_DQ_IHARD (1<<1) +#define FS_DQ_BSOFT (1<<2) +#define FS_DQ_BHARD (1<<3) +#define FS_DQ_RTBSOFT (1<<4) +#define FS_DQ_RTBHARD (1<<5) +#define FS_DQ_LIMIT_MASK (FS_DQ_ISOFT | FS_DQ_IHARD | FS_DQ_BSOFT | \ + FS_DQ_BHARD | FS_DQ_RTBSOFT | FS_DQ_RTBHARD) +#define FS_DQ_BTIMER (1<<6) +#define FS_DQ_ITIMER (1<<7) +#define FS_DQ_RTBTIMER (1<<8) +#define FS_DQ_TIMER_MASK (FS_DQ_BTIMER | FS_DQ_ITIMER | FS_DQ_RTBTIMER) +#define FS_DQ_BWARNS (1<<9) +#define FS_DQ_IWARNS (1<<10) +#define FS_DQ_RTBWARNS (1<<11) +#define FS_DQ_WARNS_MASK (FS_DQ_BWARNS | FS_DQ_IWARNS | FS_DQ_RTBWARNS) +#define FS_DQ_BCOUNT (1<<12) +#define FS_DQ_ICOUNT (1<<13) +#define FS_DQ_RTBCOUNT (1<<14) +#define FS_DQ_ACCT_MASK (FS_DQ_BCOUNT | FS_DQ_ICOUNT | FS_DQ_RTBCOUNT) +#define FS_DQ_BIGTIME (1<<15) +#define FS_QUOTA_UDQ_ACCT (1<<0) +#define FS_QUOTA_UDQ_ENFD (1<<1) +#define FS_QUOTA_GDQ_ACCT (1<<2) +#define FS_QUOTA_GDQ_ENFD (1<<3) +#define FS_QUOTA_PDQ_ACCT (1<<4) +#define FS_QUOTA_PDQ_ENFD (1<<5) +#define FS_USER_QUOTA (1<<0) +#define FS_PROJ_QUOTA (1<<1) +#define FS_GROUP_QUOTA (1<<2) +#define FS_QSTAT_VERSION 1 +typedef struct fs_qfilestat { + __u64 qfs_ino; + __u64 qfs_nblks; + __u32 qfs_nextents; +} fs_qfilestat_t; +typedef struct fs_quota_stat { + __s8 qs_version; + __u16 qs_flags; + __s8 qs_pad; + fs_qfilestat_t qs_uquota; + fs_qfilestat_t qs_gquota; + __u32 qs_incoredqs; + __s32 qs_btimelimit; + __s32 qs_itimelimit; + __s32 qs_rtbtimelimit; + __u16 qs_bwarnlimit; + __u16 qs_iwarnlimit; +} fs_quota_stat_t; +#define FS_QSTATV_VERSION1 1 +struct fs_qfilestatv { + __u64 qfs_ino; + __u64 qfs_nblks; + __u32 qfs_nextents; + __u32 qfs_pad; +}; +struct fs_quota_statv { + __s8 qs_version; + __u8 qs_pad1; + __u16 qs_flags; + __u32 qs_incoredqs; + struct fs_qfilestatv qs_uquota; + struct fs_qfilestatv qs_gquota; + struct fs_qfilestatv qs_pquota; + __s32 qs_btimelimit; + __s32 qs_itimelimit; + __s32 qs_rtbtimelimit; + __u16 qs_bwarnlimit; + __u16 qs_iwarnlimit; + __u64 qs_pad2[8]; +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/dvb/audio.h b/linux-5.10/prebuilts/usr/include/linux/dvb/audio.h new file mode 100644 index 0000000..94202db --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/dvb/audio.h @@ -0,0 +1,64 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _DVBAUDIO_H_ +#define _DVBAUDIO_H_ +#include +typedef enum { + AUDIO_SOURCE_DEMUX, + AUDIO_SOURCE_MEMORY +} audio_stream_source_t; +typedef enum { + AUDIO_STOPPED, + AUDIO_PLAYING, + AUDIO_PAUSED +} audio_play_state_t; +typedef enum { + AUDIO_STEREO, + AUDIO_MONO_LEFT, + AUDIO_MONO_RIGHT, + AUDIO_MONO, + AUDIO_STEREO_SWAPPED +} audio_channel_select_t; +typedef struct audio_mixer { + unsigned int volume_left; + unsigned int volume_right; + +} audio_mixer_t; +typedef struct audio_status { + int AV_sync_state; + int mute_state; + audio_play_state_t play_state; + audio_stream_source_t stream_source; + audio_channel_select_t channel_select; + int bypass_mode; + audio_mixer_t mixer_state; +} audio_status_t; +#define AUDIO_CAP_DTS 1 +#define AUDIO_CAP_LPCM 2 +#define AUDIO_CAP_MP1 4 +#define AUDIO_CAP_MP2 8 +#define AUDIO_CAP_MP3 16 +#define AUDIO_CAP_AAC 32 +#define AUDIO_CAP_OGG 64 +#define AUDIO_CAP_SDDS 128 +#define AUDIO_CAP_AC3 256 +#define AUDIO_STOP _IO('o', 1) +#define AUDIO_PLAY _IO('o', 2) +#define AUDIO_PAUSE _IO('o', 3) +#define AUDIO_CONTINUE _IO('o', 4) +#define AUDIO_SELECT_SOURCE _IO('o', 5) +#define AUDIO_SET_MUTE _IO('o', 6) +#define AUDIO_SET_AV_SYNC _IO('o', 7) +#define AUDIO_SET_BYPASS_MODE _IO('o', 8) +#define AUDIO_CHANNEL_SELECT _IO('o', 9) +#define AUDIO_GET_STATUS _IOR('o', 10, audio_status_t) +#define AUDIO_GET_CAPABILITIES _IOR('o', 11, unsigned int) +#define AUDIO_CLEAR_BUFFER _IO('o', 12) +#define AUDIO_SET_ID _IO('o', 13) +#define AUDIO_SET_MIXER _IOW('o', 14, audio_mixer_t) +#define AUDIO_SET_STREAMTYPE _IO('o', 15) +#define AUDIO_BILINGUAL_CHANNEL_SELECT _IO('o', 20) +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/dvb/ca.h b/linux-5.10/prebuilts/usr/include/linux/dvb/ca.h new file mode 100644 index 0000000..bd8725d --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/dvb/ca.h @@ -0,0 +1,58 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _DVBCA_H_ +#define _DVBCA_H_ +struct ca_slot_info { + int num; + int type; +#define CA_CI 1 +#define CA_CI_LINK 2 +#define CA_CI_PHYS 4 +#define CA_DESCR 8 +#define CA_SC 128 + unsigned int flags; +#define CA_CI_MODULE_PRESENT 1 +#define CA_CI_MODULE_READY 2 +}; +struct ca_descr_info { + unsigned int num; + unsigned int type; +#define CA_ECD 1 +#define CA_NDS 2 +#define CA_DSS 4 +}; +struct ca_caps { + unsigned int slot_num; + unsigned int slot_type; + unsigned int descr_num; + unsigned int descr_type; +}; +struct ca_msg { + unsigned int index; + unsigned int type; + unsigned int length; + unsigned char msg[256]; +}; +struct ca_descr { + unsigned int index; + unsigned int parity; + unsigned char cw[8]; +}; +#define CA_RESET _IO('o', 128) +#define CA_GET_CAP _IOR('o', 129, struct ca_caps) +#define CA_GET_SLOT_INFO _IOR('o', 130, struct ca_slot_info) +#define CA_GET_DESCR_INFO _IOR('o', 131, struct ca_descr_info) +#define CA_GET_MSG _IOR('o', 132, struct ca_msg) +#define CA_SEND_MSG _IOW('o', 133, struct ca_msg) +#define CA_SET_DESCR _IOW('o', 134, struct ca_descr) +#if !defined(__KERNEL__) +typedef struct ca_slot_info ca_slot_info_t; +typedef struct ca_descr_info ca_descr_info_t; +typedef struct ca_caps ca_caps_t; +typedef struct ca_msg ca_msg_t; +typedef struct ca_descr ca_descr_t; +#endif +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/dvb/dmx.h b/linux-5.10/prebuilts/usr/include/linux/dvb/dmx.h new file mode 100644 index 0000000..48fbba1 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/dvb/dmx.h @@ -0,0 +1,121 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI_DVBDMX_H_ +#define _UAPI_DVBDMX_H_ +#include +#ifndef __KERNEL__ +#include +#endif +#define DMX_FILTER_SIZE 16 +enum dmx_output { + DMX_OUT_DECODER, + DMX_OUT_TAP, + DMX_OUT_TS_TAP, + DMX_OUT_TSDEMUX_TAP +}; +enum dmx_input { + DMX_IN_FRONTEND, + DMX_IN_DVR +}; +enum dmx_ts_pes { + DMX_PES_AUDIO0, + DMX_PES_VIDEO0, + DMX_PES_TELETEXT0, + DMX_PES_SUBTITLE0, + DMX_PES_PCR0, + DMX_PES_AUDIO1, + DMX_PES_VIDEO1, + DMX_PES_TELETEXT1, + DMX_PES_SUBTITLE1, + DMX_PES_PCR1, + DMX_PES_AUDIO2, + DMX_PES_VIDEO2, + DMX_PES_TELETEXT2, + DMX_PES_SUBTITLE2, + DMX_PES_PCR2, + DMX_PES_AUDIO3, + DMX_PES_VIDEO3, + DMX_PES_TELETEXT3, + DMX_PES_SUBTITLE3, + DMX_PES_PCR3, + DMX_PES_OTHER +}; +#define DMX_PES_AUDIO DMX_PES_AUDIO0 +#define DMX_PES_VIDEO DMX_PES_VIDEO0 +#define DMX_PES_TELETEXT DMX_PES_TELETEXT0 +#define DMX_PES_SUBTITLE DMX_PES_SUBTITLE0 +#define DMX_PES_PCR DMX_PES_PCR0 +struct dmx_filter { + __u8 filter[DMX_FILTER_SIZE]; + __u8 mask[DMX_FILTER_SIZE]; + __u8 mode[DMX_FILTER_SIZE]; +}; +struct dmx_sct_filter_params { + __u16 pid; + struct dmx_filter filter; + __u32 timeout; + __u32 flags; +#define DMX_CHECK_CRC 1 +#define DMX_ONESHOT 2 +#define DMX_IMMEDIATE_START 4 +}; +struct dmx_pes_filter_params { + __u16 pid; + enum dmx_input input; + enum dmx_output output; + enum dmx_ts_pes pes_type; + __u32 flags; +}; +struct dmx_stc { + unsigned int num; + unsigned int base; + __u64 stc; +}; +enum dmx_buffer_flags { + DMX_BUFFER_FLAG_HAD_CRC32_DISCARD = 1 << 0, + DMX_BUFFER_FLAG_TEI = 1 << 1, + DMX_BUFFER_PKT_COUNTER_MISMATCH = 1 << 2, + DMX_BUFFER_FLAG_DISCONTINUITY_DETECTED = 1 << 3, + DMX_BUFFER_FLAG_DISCONTINUITY_INDICATOR = 1 << 4, +}; +struct dmx_buffer { + __u32 index; + __u32 bytesused; + __u32 offset; + __u32 length; + __u32 flags; + __u32 count; +}; +struct dmx_requestbuffers { + __u32 count; + __u32 size; +}; +struct dmx_exportbuffer { + __u32 index; + __u32 flags; + __s32 fd; +}; +#define DMX_START _IO('o', 41) +#define DMX_STOP _IO('o', 42) +#define DMX_SET_FILTER _IOW('o', 43, struct dmx_sct_filter_params) +#define DMX_SET_PES_FILTER _IOW('o', 44, struct dmx_pes_filter_params) +#define DMX_SET_BUFFER_SIZE _IO('o', 45) +#define DMX_GET_PES_PIDS _IOR('o', 47, __u16[5]) +#define DMX_GET_STC _IOWR('o', 50, struct dmx_stc) +#define DMX_ADD_PID _IOW('o', 51, __u16) +#define DMX_REMOVE_PID _IOW('o', 52, __u16) +#if !defined(__KERNEL__) +typedef enum dmx_output dmx_output_t; +typedef enum dmx_input dmx_input_t; +typedef enum dmx_ts_pes dmx_pes_type_t; +typedef struct dmx_filter dmx_filter_t; +#endif +#define DMX_REQBUFS _IOWR('o', 60, struct dmx_requestbuffers) +#define DMX_QUERYBUF _IOWR('o', 61, struct dmx_buffer) +#define DMX_EXPBUF _IOWR('o', 62, struct dmx_exportbuffer) +#define DMX_QBUF _IOWR('o', 63, struct dmx_buffer) +#define DMX_DQBUF _IOWR('o', 64, struct dmx_buffer) +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/dvb/frontend.h b/linux-5.10/prebuilts/usr/include/linux/dvb/frontend.h new file mode 100644 index 0000000..c2fb5d9 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/dvb/frontend.h @@ -0,0 +1,422 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _DVBFRONTEND_H_ +#define _DVBFRONTEND_H_ +#include +enum fe_caps { + FE_IS_STUPID = 0, + FE_CAN_INVERSION_AUTO = 0x1, + FE_CAN_FEC_1_2 = 0x2, + FE_CAN_FEC_2_3 = 0x4, + FE_CAN_FEC_3_4 = 0x8, + FE_CAN_FEC_4_5 = 0x10, + FE_CAN_FEC_5_6 = 0x20, + FE_CAN_FEC_6_7 = 0x40, + FE_CAN_FEC_7_8 = 0x80, + FE_CAN_FEC_8_9 = 0x100, + FE_CAN_FEC_AUTO = 0x200, + FE_CAN_QPSK = 0x400, + FE_CAN_QAM_16 = 0x800, + FE_CAN_QAM_32 = 0x1000, + FE_CAN_QAM_64 = 0x2000, + FE_CAN_QAM_128 = 0x4000, + FE_CAN_QAM_256 = 0x8000, + FE_CAN_QAM_AUTO = 0x10000, + FE_CAN_TRANSMISSION_MODE_AUTO = 0x20000, + FE_CAN_BANDWIDTH_AUTO = 0x40000, + FE_CAN_GUARD_INTERVAL_AUTO = 0x80000, + FE_CAN_HIERARCHY_AUTO = 0x100000, + FE_CAN_8VSB = 0x200000, + FE_CAN_16VSB = 0x400000, + FE_HAS_EXTENDED_CAPS = 0x800000, + FE_CAN_MULTISTREAM = 0x4000000, + FE_CAN_TURBO_FEC = 0x8000000, + FE_CAN_2G_MODULATION = 0x10000000, + FE_NEEDS_BENDING = 0x20000000, + FE_CAN_RECOVER = 0x40000000, + FE_CAN_MUTE_TS = 0x80000000 +}; +enum fe_type { + FE_QPSK, + FE_QAM, + FE_OFDM, + FE_ATSC +}; +struct dvb_frontend_info { + char name[128]; + enum fe_type type; + __u32 frequency_min; + __u32 frequency_max; + __u32 frequency_stepsize; + __u32 frequency_tolerance; + __u32 symbol_rate_min; + __u32 symbol_rate_max; + __u32 symbol_rate_tolerance; + __u32 notifier_delay; + enum fe_caps caps; +}; +struct dvb_diseqc_master_cmd { + __u8 msg[6]; + __u8 msg_len; +}; +struct dvb_diseqc_slave_reply { + __u8 msg[4]; + __u8 msg_len; + int timeout; +}; +enum fe_sec_voltage { + SEC_VOLTAGE_13, + SEC_VOLTAGE_18, + SEC_VOLTAGE_OFF +}; +enum fe_sec_tone_mode { + SEC_TONE_ON, + SEC_TONE_OFF +}; +enum fe_sec_mini_cmd { + SEC_MINI_A, + SEC_MINI_B +}; +enum fe_status { + FE_NONE = 0x00, + FE_HAS_SIGNAL = 0x01, + FE_HAS_CARRIER = 0x02, + FE_HAS_VITERBI = 0x04, + FE_HAS_SYNC = 0x08, + FE_HAS_LOCK = 0x10, + FE_TIMEDOUT = 0x20, + FE_REINIT = 0x40, +}; +enum fe_spectral_inversion { + INVERSION_OFF, + INVERSION_ON, + INVERSION_AUTO +}; +enum fe_code_rate { + FEC_NONE = 0, + FEC_1_2, + FEC_2_3, + FEC_3_4, + FEC_4_5, + FEC_5_6, + FEC_6_7, + FEC_7_8, + FEC_8_9, + FEC_AUTO, + FEC_3_5, + FEC_9_10, + FEC_2_5, +}; +enum fe_modulation { + QPSK, + QAM_16, + QAM_32, + QAM_64, + QAM_128, + QAM_256, + QAM_AUTO, + VSB_8, + VSB_16, + PSK_8, + APSK_16, + APSK_32, + DQPSK, + QAM_4_NR, +}; +enum fe_transmit_mode { + TRANSMISSION_MODE_2K, + TRANSMISSION_MODE_8K, + TRANSMISSION_MODE_AUTO, + TRANSMISSION_MODE_4K, + TRANSMISSION_MODE_1K, + TRANSMISSION_MODE_16K, + TRANSMISSION_MODE_32K, + TRANSMISSION_MODE_C1, + TRANSMISSION_MODE_C3780, +}; +enum fe_guard_interval { + GUARD_INTERVAL_1_32, + GUARD_INTERVAL_1_16, + GUARD_INTERVAL_1_8, + GUARD_INTERVAL_1_4, + GUARD_INTERVAL_AUTO, + GUARD_INTERVAL_1_128, + GUARD_INTERVAL_19_128, + GUARD_INTERVAL_19_256, + GUARD_INTERVAL_PN420, + GUARD_INTERVAL_PN595, + GUARD_INTERVAL_PN945, +}; +enum fe_hierarchy { + HIERARCHY_NONE, + HIERARCHY_1, + HIERARCHY_2, + HIERARCHY_4, + HIERARCHY_AUTO +}; +enum fe_interleaving { + INTERLEAVING_NONE, + INTERLEAVING_AUTO, + INTERLEAVING_240, + INTERLEAVING_720, +}; +#define DTV_UNDEFINED 0 +#define DTV_TUNE 1 +#define DTV_CLEAR 2 +#define DTV_FREQUENCY 3 +#define DTV_MODULATION 4 +#define DTV_BANDWIDTH_HZ 5 +#define DTV_INVERSION 6 +#define DTV_DISEQC_MASTER 7 +#define DTV_SYMBOL_RATE 8 +#define DTV_INNER_FEC 9 +#define DTV_VOLTAGE 10 +#define DTV_TONE 11 +#define DTV_PILOT 12 +#define DTV_ROLLOFF 13 +#define DTV_DISEQC_SLAVE_REPLY 14 +#define DTV_FE_CAPABILITY_COUNT 15 +#define DTV_FE_CAPABILITY 16 +#define DTV_DELIVERY_SYSTEM 17 +#define DTV_ISDBT_PARTIAL_RECEPTION 18 +#define DTV_ISDBT_SOUND_BROADCASTING 19 +#define DTV_ISDBT_SB_SUBCHANNEL_ID 20 +#define DTV_ISDBT_SB_SEGMENT_IDX 21 +#define DTV_ISDBT_SB_SEGMENT_COUNT 22 +#define DTV_ISDBT_LAYERA_FEC 23 +#define DTV_ISDBT_LAYERA_MODULATION 24 +#define DTV_ISDBT_LAYERA_SEGMENT_COUNT 25 +#define DTV_ISDBT_LAYERA_TIME_INTERLEAVING 26 +#define DTV_ISDBT_LAYERB_FEC 27 +#define DTV_ISDBT_LAYERB_MODULATION 28 +#define DTV_ISDBT_LAYERB_SEGMENT_COUNT 29 +#define DTV_ISDBT_LAYERB_TIME_INTERLEAVING 30 +#define DTV_ISDBT_LAYERC_FEC 31 +#define DTV_ISDBT_LAYERC_MODULATION 32 +#define DTV_ISDBT_LAYERC_SEGMENT_COUNT 33 +#define DTV_ISDBT_LAYERC_TIME_INTERLEAVING 34 +#define DTV_API_VERSION 35 +#define DTV_CODE_RATE_HP 36 +#define DTV_CODE_RATE_LP 37 +#define DTV_GUARD_INTERVAL 38 +#define DTV_TRANSMISSION_MODE 39 +#define DTV_HIERARCHY 40 +#define DTV_ISDBT_LAYER_ENABLED 41 +#define DTV_STREAM_ID 42 +#define DTV_ISDBS_TS_ID_LEGACY DTV_STREAM_ID +#define DTV_DVBT2_PLP_ID_LEGACY 43 +#define DTV_ENUM_DELSYS 44 +#define DTV_ATSCMH_FIC_VER 45 +#define DTV_ATSCMH_PARADE_ID 46 +#define DTV_ATSCMH_NOG 47 +#define DTV_ATSCMH_TNOG 48 +#define DTV_ATSCMH_SGN 49 +#define DTV_ATSCMH_PRC 50 +#define DTV_ATSCMH_RS_FRAME_MODE 51 +#define DTV_ATSCMH_RS_FRAME_ENSEMBLE 52 +#define DTV_ATSCMH_RS_CODE_MODE_PRI 53 +#define DTV_ATSCMH_RS_CODE_MODE_SEC 54 +#define DTV_ATSCMH_SCCC_BLOCK_MODE 55 +#define DTV_ATSCMH_SCCC_CODE_MODE_A 56 +#define DTV_ATSCMH_SCCC_CODE_MODE_B 57 +#define DTV_ATSCMH_SCCC_CODE_MODE_C 58 +#define DTV_ATSCMH_SCCC_CODE_MODE_D 59 +#define DTV_INTERLEAVING 60 +#define DTV_LNA 61 +#define DTV_STAT_SIGNAL_STRENGTH 62 +#define DTV_STAT_CNR 63 +#define DTV_STAT_PRE_ERROR_BIT_COUNT 64 +#define DTV_STAT_PRE_TOTAL_BIT_COUNT 65 +#define DTV_STAT_POST_ERROR_BIT_COUNT 66 +#define DTV_STAT_POST_TOTAL_BIT_COUNT 67 +#define DTV_STAT_ERROR_BLOCK_COUNT 68 +#define DTV_STAT_TOTAL_BLOCK_COUNT 69 +#define DTV_SCRAMBLING_SEQUENCE_INDEX 70 +#define DTV_MAX_COMMAND DTV_SCRAMBLING_SEQUENCE_INDEX +enum fe_pilot { + PILOT_ON, + PILOT_OFF, + PILOT_AUTO, +}; +enum fe_rolloff { + ROLLOFF_35, + ROLLOFF_20, + ROLLOFF_25, + ROLLOFF_AUTO, +}; +enum fe_delivery_system { + SYS_UNDEFINED, + SYS_DVBC_ANNEX_A, + SYS_DVBC_ANNEX_B, + SYS_DVBT, + SYS_DSS, + SYS_DVBS, + SYS_DVBS2, + SYS_DVBH, + SYS_ISDBT, + SYS_ISDBS, + SYS_ISDBC, + SYS_ATSC, + SYS_ATSCMH, + SYS_DTMB, + SYS_CMMB, + SYS_DAB, + SYS_DVBT2, + SYS_TURBO, + SYS_DVBC_ANNEX_C, +}; +#define SYS_DVBC_ANNEX_AC SYS_DVBC_ANNEX_A +#define SYS_DMBTH SYS_DTMB +enum atscmh_sccc_block_mode { + ATSCMH_SCCC_BLK_SEP = 0, + ATSCMH_SCCC_BLK_COMB = 1, + ATSCMH_SCCC_BLK_RES = 2, +}; +enum atscmh_sccc_code_mode { + ATSCMH_SCCC_CODE_HLF = 0, + ATSCMH_SCCC_CODE_QTR = 1, + ATSCMH_SCCC_CODE_RES = 2, +}; +enum atscmh_rs_frame_ensemble { + ATSCMH_RSFRAME_ENS_PRI = 0, + ATSCMH_RSFRAME_ENS_SEC = 1, +}; +enum atscmh_rs_frame_mode { + ATSCMH_RSFRAME_PRI_ONLY = 0, + ATSCMH_RSFRAME_PRI_SEC = 1, + ATSCMH_RSFRAME_RES = 2, +}; +enum atscmh_rs_code_mode { + ATSCMH_RSCODE_211_187 = 0, + ATSCMH_RSCODE_223_187 = 1, + ATSCMH_RSCODE_235_187 = 2, + ATSCMH_RSCODE_RES = 3, +}; +#define NO_STREAM_ID_FILTER (~0U) +#define LNA_AUTO (~0U) +enum fecap_scale_params { + FE_SCALE_NOT_AVAILABLE = 0, + FE_SCALE_DECIBEL, + FE_SCALE_RELATIVE, + FE_SCALE_COUNTER +}; +struct dtv_stats { + __u8 scale; + union { + __u64 uvalue; + __s64 svalue; + }; +} __attribute__ ((packed)); +#define MAX_DTV_STATS 4 +struct dtv_fe_stats { + __u8 len; + struct dtv_stats stat[MAX_DTV_STATS]; +} __attribute__ ((packed)); +struct dtv_property { + __u32 cmd; + __u32 reserved[3]; + union { + __u32 data; + struct dtv_fe_stats st; + struct { + __u8 data[32]; + __u32 len; + __u32 reserved1[3]; + void *reserved2; + } buffer; + } u; + int result; +} __attribute__ ((packed)); +#define DTV_IOCTL_MAX_MSGS 64 +struct dtv_properties { + __u32 num; + struct dtv_property *props; +}; +#define FE_TUNE_MODE_ONESHOT 0x01 +#define FE_GET_INFO _IOR('o', 61, struct dvb_frontend_info) +#define FE_DISEQC_RESET_OVERLOAD _IO('o', 62) +#define FE_DISEQC_SEND_MASTER_CMD _IOW('o', 63, struct dvb_diseqc_master_cmd) +#define FE_DISEQC_RECV_SLAVE_REPLY _IOR('o', 64, struct dvb_diseqc_slave_reply) +#define FE_DISEQC_SEND_BURST _IO('o', 65) +#define FE_SET_TONE _IO('o', 66) +#define FE_SET_VOLTAGE _IO('o', 67) +#define FE_ENABLE_HIGH_LNB_VOLTAGE _IO('o', 68) +#define FE_READ_STATUS _IOR('o', 69, fe_status_t) +#define FE_READ_BER _IOR('o', 70, __u32) +#define FE_READ_SIGNAL_STRENGTH _IOR('o', 71, __u16) +#define FE_READ_SNR _IOR('o', 72, __u16) +#define FE_READ_UNCORRECTED_BLOCKS _IOR('o', 73, __u32) +#define FE_SET_FRONTEND_TUNE_MODE _IO('o', 81) +#define FE_GET_EVENT _IOR('o', 78, struct dvb_frontend_event) +#define FE_DISHNETWORK_SEND_LEGACY_CMD _IO('o', 80) +#define FE_SET_PROPERTY _IOW('o', 82, struct dtv_properties) +#define FE_GET_PROPERTY _IOR('o', 83, struct dtv_properties) +#if defined(__DVB_CORE__) || !defined(__KERNEL__) +enum fe_bandwidth { + BANDWIDTH_8_MHZ, + BANDWIDTH_7_MHZ, + BANDWIDTH_6_MHZ, + BANDWIDTH_AUTO, + BANDWIDTH_5_MHZ, + BANDWIDTH_10_MHZ, + BANDWIDTH_1_712_MHZ, +}; +typedef enum fe_sec_voltage fe_sec_voltage_t; +typedef enum fe_caps fe_caps_t; +typedef enum fe_type fe_type_t; +typedef enum fe_sec_tone_mode fe_sec_tone_mode_t; +typedef enum fe_sec_mini_cmd fe_sec_mini_cmd_t; +typedef enum fe_status fe_status_t; +typedef enum fe_spectral_inversion fe_spectral_inversion_t; +typedef enum fe_code_rate fe_code_rate_t; +typedef enum fe_modulation fe_modulation_t; +typedef enum fe_transmit_mode fe_transmit_mode_t; +typedef enum fe_bandwidth fe_bandwidth_t; +typedef enum fe_guard_interval fe_guard_interval_t; +typedef enum fe_hierarchy fe_hierarchy_t; +typedef enum fe_pilot fe_pilot_t; +typedef enum fe_rolloff fe_rolloff_t; +typedef enum fe_delivery_system fe_delivery_system_t; +struct dvb_qpsk_parameters { + __u32 symbol_rate; + fe_code_rate_t fec_inner; +}; +struct dvb_qam_parameters { + __u32 symbol_rate; + fe_code_rate_t fec_inner; + fe_modulation_t modulation; +}; +struct dvb_vsb_parameters { + fe_modulation_t modulation; +}; +struct dvb_ofdm_parameters { + fe_bandwidth_t bandwidth; + fe_code_rate_t code_rate_HP; + fe_code_rate_t code_rate_LP; + fe_modulation_t constellation; + fe_transmit_mode_t transmission_mode; + fe_guard_interval_t guard_interval; + fe_hierarchy_t hierarchy_information; +}; +struct dvb_frontend_parameters { + __u32 frequency; + + fe_spectral_inversion_t inversion; + union { + struct dvb_qpsk_parameters qpsk; + struct dvb_qam_parameters qam; + struct dvb_ofdm_parameters ofdm; + struct dvb_vsb_parameters vsb; + } u; +}; +struct dvb_frontend_event { + fe_status_t status; + struct dvb_frontend_parameters parameters; +}; +#define FE_SET_FRONTEND _IOW('o', 76, struct dvb_frontend_parameters) +#define FE_GET_FRONTEND _IOR('o', 77, struct dvb_frontend_parameters) +#endif +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/dvb/net.h b/linux-5.10/prebuilts/usr/include/linux/dvb/net.h new file mode 100644 index 0000000..4c21021 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/dvb/net.h @@ -0,0 +1,25 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _DVBNET_H_ +#define _DVBNET_H_ +#include +struct dvb_net_if { + __u16 pid; + __u16 if_num; + __u8 feedtype; +#define DVB_NET_FEEDTYPE_MPE 0 +#define DVB_NET_FEEDTYPE_ULE 1 +}; +#define NET_ADD_IF _IOWR('o', 52, struct dvb_net_if) +#define NET_REMOVE_IF _IO('o', 53) +#define NET_GET_IF _IOWR('o', 54, struct dvb_net_if) +struct __dvb_net_if_old { + __u16 pid; + __u16 if_num; +}; +#define __NET_ADD_IF_OLD _IOWR('o', 52, struct __dvb_net_if_old) +#define __NET_GET_IF_OLD _IOWR('o', 54, struct __dvb_net_if_old) +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/dvb/osd.h b/linux-5.10/prebuilts/usr/include/linux/dvb/osd.h new file mode 100644 index 0000000..69cfc14 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/dvb/osd.h @@ -0,0 +1,90 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _DVBOSD_H_ +#define _DVBOSD_H_ +#include +typedef enum { + + OSD_Close = 1, + + OSD_Open, + + OSD_Show, + + OSD_Hide, + + OSD_Clear, + + OSD_Fill, + + OSD_SetColor, + + OSD_SetPalette, + + OSD_SetTrans, + + OSD_SetPixel, + + OSD_GetPixel, + + OSD_SetRow, + + OSD_SetBlock, + + OSD_FillRow, + + OSD_FillBlock, + + OSD_Line, + + OSD_Query, + + OSD_Test, + + OSD_Text, + OSD_SetWindow, + OSD_MoveWindow, + OSD_OpenRaw, +} OSD_Command; +typedef struct osd_cmd_s { + OSD_Command cmd; + int x0; + int y0; + int x1; + int y1; + int color; + void __user *data; +} osd_cmd_t; +typedef enum { + OSD_BITMAP1, + OSD_BITMAP2, + OSD_BITMAP4, + OSD_BITMAP8, + OSD_BITMAP1HR, + OSD_BITMAP2HR, + OSD_BITMAP4HR, + OSD_BITMAP8HR, + OSD_YCRCB422, + OSD_YCRCB444, + OSD_YCRCB444HR, + OSD_VIDEOTSIZE, + OSD_VIDEOHSIZE, + OSD_VIDEOQSIZE, + OSD_VIDEODSIZE, + OSD_VIDEOTHSIZE, + OSD_VIDEOTQSIZE, + OSD_VIDEOTDSIZE, + OSD_VIDEONSIZE, + OSD_CURSOR +} osd_raw_window_t; +typedef struct osd_cap_s { + int cmd; +#define OSD_CAP_MEMSIZE 1 + long val; +} osd_cap_t; +#define OSD_SEND_CMD _IOW('o', 160, osd_cmd_t) +#define OSD_GET_CAPABILITY _IOR('o', 161, osd_cap_t) +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/dvb/version.h b/linux-5.10/prebuilts/usr/include/linux/dvb/version.h new file mode 100644 index 0000000..969d9d8 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/dvb/version.h @@ -0,0 +1,10 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _DVBVERSION_H_ +#define _DVBVERSION_H_ +#define DVB_API_VERSION 5 +#define DVB_API_VERSION_MINOR 11 +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/dvb/video.h b/linux-5.10/prebuilts/usr/include/linux/dvb/video.h new file mode 100644 index 0000000..ed1b7ad --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/dvb/video.h @@ -0,0 +1,120 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI_DVBVIDEO_H_ +#define _UAPI_DVBVIDEO_H_ +#include +#ifndef __KERNEL__ +#include +#endif +typedef enum { + VIDEO_FORMAT_4_3, + VIDEO_FORMAT_16_9, + VIDEO_FORMAT_221_1 +} video_format_t; +typedef enum { + VIDEO_PAN_SCAN, + VIDEO_LETTER_BOX, + VIDEO_CENTER_CUT_OUT +} video_displayformat_t; +typedef struct { + int w; + int h; + video_format_t aspect_ratio; +} video_size_t; +typedef enum { + VIDEO_SOURCE_DEMUX, + VIDEO_SOURCE_MEMORY +} video_stream_source_t; +typedef enum { + VIDEO_STOPPED, + VIDEO_PLAYING, + VIDEO_FREEZED +} video_play_state_t; +#define VIDEO_CMD_PLAY (0) +#define VIDEO_CMD_STOP (1) +#define VIDEO_CMD_FREEZE (2) +#define VIDEO_CMD_CONTINUE (3) +#define VIDEO_CMD_FREEZE_TO_BLACK (1 << 0) +#define VIDEO_CMD_STOP_TO_BLACK (1 << 0) +#define VIDEO_CMD_STOP_IMMEDIATELY (1 << 1) +#define VIDEO_PLAY_FMT_NONE (0) +#define VIDEO_PLAY_FMT_GOP (1) +struct video_command { + __u32 cmd; + __u32 flags; + union { + struct { + __u64 pts; + } stop; + struct { + + __s32 speed; + __u32 format; + } play; + struct { + __u32 data[16]; + } raw; + }; +}; +#define VIDEO_VSYNC_FIELD_UNKNOWN (0) +#define VIDEO_VSYNC_FIELD_ODD (1) +#define VIDEO_VSYNC_FIELD_EVEN (2) +#define VIDEO_VSYNC_FIELD_PROGRESSIVE (3) +struct video_event { + __s32 type; +#define VIDEO_EVENT_SIZE_CHANGED 1 +#define VIDEO_EVENT_FRAME_RATE_CHANGED 2 +#define VIDEO_EVENT_DECODER_STOPPED 3 +#define VIDEO_EVENT_VSYNC 4 + + long timestamp; + union { + video_size_t size; + unsigned int frame_rate; + unsigned char vsync_field; + } u; +}; +struct video_status { + int video_blank; + video_play_state_t play_state; + video_stream_source_t stream_source; + video_format_t video_format; + video_displayformat_t display_format; +}; +struct video_still_picture { + char __user *iFrame; + __s32 size; +}; +typedef __u16 video_attributes_t; +#define VIDEO_CAP_MPEG1 1 +#define VIDEO_CAP_MPEG2 2 +#define VIDEO_CAP_SYS 4 +#define VIDEO_CAP_PROG 8 +#define VIDEO_CAP_SPU 16 +#define VIDEO_CAP_NAVI 32 +#define VIDEO_CAP_CSS 64 +#define VIDEO_STOP _IO('o', 21) +#define VIDEO_PLAY _IO('o', 22) +#define VIDEO_FREEZE _IO('o', 23) +#define VIDEO_CONTINUE _IO('o', 24) +#define VIDEO_SELECT_SOURCE _IO('o', 25) +#define VIDEO_SET_BLANK _IO('o', 26) +#define VIDEO_GET_STATUS _IOR('o', 27, struct video_status) +#define VIDEO_GET_EVENT _IOR('o', 28, struct video_event) +#define VIDEO_SET_DISPLAY_FORMAT _IO('o', 29) +#define VIDEO_STILLPICTURE _IOW('o', 30, struct video_still_picture) +#define VIDEO_FAST_FORWARD _IO('o', 31) +#define VIDEO_SLOWMOTION _IO('o', 32) +#define VIDEO_GET_CAPABILITIES _IOR('o', 33, unsigned int) +#define VIDEO_CLEAR_BUFFER _IO('o', 34) +#define VIDEO_SET_STREAMTYPE _IO('o', 36) +#define VIDEO_SET_FORMAT _IO('o', 37) +#define VIDEO_GET_SIZE _IOR('o', 55, video_size_t) +#define VIDEO_GET_PTS _IOR('o', 57, __u64) +#define VIDEO_GET_FRAME_COUNT _IOR('o', 58, __u64) +#define VIDEO_COMMAND _IOWR('o', 59, struct video_command) +#define VIDEO_TRY_COMMAND _IOWR('o', 60, struct video_command) +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/edd.h b/linux-5.10/prebuilts/usr/include/linux/edd.h new file mode 100644 index 0000000..f00a4ff --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/edd.h @@ -0,0 +1,153 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI_LINUX_EDD_H +#define _UAPI_LINUX_EDD_H +#include +#define EDDNR 0x1e9 +#define EDDBUF 0xd00 +#define EDDMAXNR 6 +#define EDDEXTSIZE 8 +#define EDDPARMSIZE 74 +#define CHECKEXTENSIONSPRESENT 0x41 +#define GETDEVICEPARAMETERS 0x48 +#define LEGACYGETDEVICEPARAMETERS 0x08 +#define EDDMAGIC1 0x55AA +#define EDDMAGIC2 0xAA55 +#define READ_SECTORS 0x02 +#define EDD_MBR_SIG_OFFSET 0x1B8 +#define EDD_MBR_SIG_BUF 0x290 +#define EDD_MBR_SIG_MAX 16 +#define EDD_MBR_SIG_NR_BUF 0x1ea +#ifndef __ASSEMBLY__ +#define EDD_EXT_FIXED_DISK_ACCESS (1 << 0) +#define EDD_EXT_DEVICE_LOCKING_AND_EJECTING (1 << 1) +#define EDD_EXT_ENHANCED_DISK_DRIVE_SUPPORT (1 << 2) +#define EDD_EXT_64BIT_EXTENSIONS (1 << 3) +#define EDD_INFO_DMA_BOUNDARY_ERROR_TRANSPARENT (1 << 0) +#define EDD_INFO_GEOMETRY_VALID (1 << 1) +#define EDD_INFO_REMOVABLE (1 << 2) +#define EDD_INFO_WRITE_VERIFY (1 << 3) +#define EDD_INFO_MEDIA_CHANGE_NOTIFICATION (1 << 4) +#define EDD_INFO_LOCKABLE (1 << 5) +#define EDD_INFO_NO_MEDIA_PRESENT (1 << 6) +#define EDD_INFO_USE_INT13_FN50 (1 << 7) +struct edd_device_params { + __u16 length; + __u16 info_flags; + __u32 num_default_cylinders; + __u32 num_default_heads; + __u32 sectors_per_track; + __u64 number_of_sectors; + __u16 bytes_per_sector; + __u32 dpte_ptr; + __u16 key; + __u8 device_path_info_length; + __u8 reserved2; + __u16 reserved3; + __u8 host_bus_type[4]; + __u8 interface_type[8]; + union { + struct { + __u16 base_address; + __u16 reserved1; + __u32 reserved2; + } __attribute__ ((packed)) isa; + struct { + __u8 bus; + __u8 slot; + __u8 function; + __u8 channel; + __u32 reserved; + } __attribute__ ((packed)) pci; + + struct { + __u64 reserved; + } __attribute__ ((packed)) ibnd; + struct { + __u64 reserved; + } __attribute__ ((packed)) xprs; + struct { + __u64 reserved; + } __attribute__ ((packed)) htpt; + struct { + __u64 reserved; + } __attribute__ ((packed)) unknown; + } interface_path; + union { + struct { + __u8 device; + __u8 reserved1; + __u16 reserved2; + __u32 reserved3; + __u64 reserved4; + } __attribute__ ((packed)) ata; + struct { + __u8 device; + __u8 lun; + __u8 reserved1; + __u8 reserved2; + __u32 reserved3; + __u64 reserved4; + } __attribute__ ((packed)) atapi; + struct { + __u16 id; + __u64 lun; + __u16 reserved1; + __u32 reserved2; + } __attribute__ ((packed)) scsi; + struct { + __u64 serial_number; + __u64 reserved; + } __attribute__ ((packed)) usb; + struct { + __u64 eui; + __u64 reserved; + } __attribute__ ((packed)) i1394; + struct { + __u64 wwid; + __u64 lun; + } __attribute__ ((packed)) fibre; + struct { + __u64 identity_tag; + __u64 reserved; + } __attribute__ ((packed)) i2o; + struct { + __u32 array_number; + __u32 reserved1; + __u64 reserved2; + } __attribute__ ((packed)) raid; + struct { + __u8 device; + __u8 reserved1; + __u16 reserved2; + __u32 reserved3; + __u64 reserved4; + } __attribute__ ((packed)) sata; + struct { + __u64 reserved1; + __u64 reserved2; + } __attribute__ ((packed)) unknown; + } device_path; + __u8 reserved4; + __u8 checksum; +} __attribute__ ((packed)); +struct edd_info { + __u8 device; + __u8 version; + __u16 interface_support; + __u16 legacy_max_cylinder; + __u8 legacy_max_head; + __u8 legacy_sectors_per_track; + struct edd_device_params params; +} __attribute__ ((packed)); +struct edd { + unsigned int mbr_signature[EDD_MBR_SIG_MAX]; + struct edd_info edd_info[EDDMAXNR]; + unsigned char mbr_signature_nr; + unsigned char edd_info_nr; +}; +#endif +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/efs_fs_sb.h b/linux-5.10/prebuilts/usr/include/linux/efs_fs_sb.h new file mode 100644 index 0000000..4e9e309 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/efs_fs_sb.h @@ -0,0 +1,48 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef __EFS_FS_SB_H__ +#define __EFS_FS_SB_H__ +#include +#include +#define EFS_MAGIC 0x072959 +#define EFS_NEWMAGIC 0x07295a +#define IS_EFS_MAGIC(x) ((x == EFS_MAGIC) || (x == EFS_NEWMAGIC)) +#define EFS_SUPER 1 +#define EFS_ROOTINODE 2 +struct efs_super { + __be32 fs_size; + __be32 fs_firstcg; + __be32 fs_cgfsize; + __be16 fs_cgisize; + __be16 fs_sectors; + __be16 fs_heads; + __be16 fs_ncg; + __be16 fs_dirty; + __be32 fs_time; + __be32 fs_magic; + char fs_fname[6]; + char fs_fpack[6]; + __be32 fs_bmsize; + __be32 fs_tfree; + __be32 fs_tinode; + __be32 fs_bmblock; + __be32 fs_replsb; + __be32 fs_lastialloc; + char fs_spare[20]; + __be32 fs_checksum; +}; +struct efs_sb_info { + __u32 fs_magic; + __u32 fs_start; + __u32 first_block; + __u32 total_blocks; + __u32 group_size; + __u32 data_free; + __u32 inode_free; + __u16 inode_blocks; + __u16 total_groups; +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/elf-em.h b/linux-5.10/prebuilts/usr/include/linux/elf-em.h new file mode 100644 index 0000000..6a701bf --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/elf-em.h @@ -0,0 +1,57 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _LINUX_ELF_EM_H +#define _LINUX_ELF_EM_H +#define EM_NONE 0 +#define EM_M32 1 +#define EM_SPARC 2 +#define EM_386 3 +#define EM_68K 4 +#define EM_88K 5 +#define EM_486 6 +#define EM_860 7 +#define EM_MIPS 8 + +#define EM_MIPS_RS3_LE 10 +#define EM_MIPS_RS4_BE 10 +#define EM_PARISC 15 +#define EM_SPARC32PLUS 18 +#define EM_PPC 20 +#define EM_PPC64 21 +#define EM_SPU 23 +#define EM_ARM 40 +#define EM_SH 42 +#define EM_SPARCV9 43 +#define EM_H8_300 46 +#define EM_IA_64 50 +#define EM_X86_64 62 +#define EM_S390 22 +#define EM_CRIS 76 +#define EM_M32R 88 +#define EM_MN10300 89 +#define EM_OPENRISC 92 +#define EM_ARCOMPACT 93 +#define EM_XTENSA 94 +#define EM_BLACKFIN 106 +#define EM_UNICORE 110 +#define EM_ALTERA_NIOS2 113 +#define EM_TI_C6000 140 +#define EM_HEXAGON 164 +#define EM_NDS32 167 +#define EM_AARCH64 183 +#define EM_TILEPRO 188 +#define EM_MICROBLAZE 189 +#define EM_TILEGX 191 +#define EM_ARCV2 195 +#define EM_RISCV 243 +#define EM_BPF 247 +#define EM_CSKY 252 +#define EM_FRV 0x5441 +#define EM_ALPHA 0x9026 +#define EM_CYGNUS_M32R 0x9041 +#define EM_S390_OLD 0xA390 +#define EM_CYGNUS_MN10300 0xbeef +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/elf-fdpic.h b/linux-5.10/prebuilts/usr/include/linux/elf-fdpic.h new file mode 100644 index 0000000..1be8b58 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/elf-fdpic.h @@ -0,0 +1,21 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI_LINUX_ELF_FDPIC_H +#define _UAPI_LINUX_ELF_FDPIC_H +#include +#define PT_GNU_STACK (PT_LOOS + 0x474e551) +struct elf32_fdpic_loadseg { + Elf32_Addr addr; + Elf32_Addr p_vaddr; + Elf32_Word p_memsz; +}; +struct elf32_fdpic_loadmap { + Elf32_Half version; + Elf32_Half nsegs; + struct elf32_fdpic_loadseg segs[]; +}; +#define ELF32_FDPIC_LOADMAP_VERSION 0x0000 +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/elf.h b/linux-5.10/prebuilts/usr/include/linux/elf.h new file mode 100644 index 0000000..5209ae0 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/elf.h @@ -0,0 +1,369 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI_LINUX_ELF_H +#define _UAPI_LINUX_ELF_H +#include +#include +typedef __u32 Elf32_Addr; +typedef __u16 Elf32_Half; +typedef __u32 Elf32_Off; +typedef __s32 Elf32_Sword; +typedef __u32 Elf32_Word; +typedef __u64 Elf64_Addr; +typedef __u16 Elf64_Half; +typedef __s16 Elf64_SHalf; +typedef __u64 Elf64_Off; +typedef __s32 Elf64_Sword; +typedef __u32 Elf64_Word; +typedef __u64 Elf64_Xword; +typedef __s64 Elf64_Sxword; +#define PT_NULL 0 +#define PT_LOAD 1 +#define PT_DYNAMIC 2 +#define PT_INTERP 3 +#define PT_NOTE 4 +#define PT_SHLIB 5 +#define PT_PHDR 6 +#define PT_TLS 7 +#define PT_LOOS 0x60000000 +#define PT_HIOS 0x6fffffff +#define PT_LOPROC 0x70000000 +#define PT_HIPROC 0x7fffffff +#define PT_GNU_EH_FRAME 0x6474e550 +#define PT_GNU_PROPERTY 0x6474e553 +#define PT_GNU_STACK (PT_LOOS + 0x474e551) +#define PN_XNUM 0xffff +#define ET_NONE 0 +#define ET_REL 1 +#define ET_EXEC 2 +#define ET_DYN 3 +#define ET_CORE 4 +#define ET_LOPROC 0xff00 +#define ET_HIPROC 0xffff +#define DT_NULL 0 +#define DT_NEEDED 1 +#define DT_PLTRELSZ 2 +#define DT_PLTGOT 3 +#define DT_HASH 4 +#define DT_STRTAB 5 +#define DT_SYMTAB 6 +#define DT_RELA 7 +#define DT_RELASZ 8 +#define DT_RELAENT 9 +#define DT_STRSZ 10 +#define DT_SYMENT 11 +#define DT_INIT 12 +#define DT_FINI 13 +#define DT_SONAME 14 +#define DT_RPATH 15 +#define DT_SYMBOLIC 16 +#define DT_REL 17 +#define DT_RELSZ 18 +#define DT_RELENT 19 +#define DT_PLTREL 20 +#define DT_DEBUG 21 +#define DT_TEXTREL 22 +#define DT_JMPREL 23 +#define DT_ENCODING 32 +#define OLD_DT_LOOS 0x60000000 +#define DT_LOOS 0x6000000d +#define DT_HIOS 0x6ffff000 +#define DT_VALRNGLO 0x6ffffd00 +#define DT_VALRNGHI 0x6ffffdff +#define DT_ADDRRNGLO 0x6ffffe00 +#define DT_ADDRRNGHI 0x6ffffeff +#define DT_VERSYM 0x6ffffff0 +#define DT_RELACOUNT 0x6ffffff9 +#define DT_RELCOUNT 0x6ffffffa +#define DT_FLAGS_1 0x6ffffffb +#define DT_VERDEF 0x6ffffffc +#define DT_VERDEFNUM 0x6ffffffd +#define DT_VERNEED 0x6ffffffe +#define DT_VERNEEDNUM 0x6fffffff +#define OLD_DT_HIOS 0x6fffffff +#define DT_LOPROC 0x70000000 +#define DT_HIPROC 0x7fffffff +#define STB_LOCAL 0 +#define STB_GLOBAL 1 +#define STB_WEAK 2 +#define STT_NOTYPE 0 +#define STT_OBJECT 1 +#define STT_FUNC 2 +#define STT_SECTION 3 +#define STT_FILE 4 +#define STT_COMMON 5 +#define STT_TLS 6 +#define ELF_ST_BIND(x) ((x) >> 4) +#define ELF_ST_TYPE(x) (((unsigned int) x) & 0xf) +#define ELF32_ST_BIND(x) ELF_ST_BIND(x) +#define ELF32_ST_TYPE(x) ELF_ST_TYPE(x) +#define ELF64_ST_BIND(x) ELF_ST_BIND(x) +#define ELF64_ST_TYPE(x) ELF_ST_TYPE(x) +typedef struct dynamic{ + Elf32_Sword d_tag; + union{ + Elf32_Sword d_val; + Elf32_Addr d_ptr; + } d_un; +} Elf32_Dyn; +typedef struct { + Elf64_Sxword d_tag; + union { + Elf64_Xword d_val; + Elf64_Addr d_ptr; + } d_un; +} Elf64_Dyn; +#define ELF32_R_SYM(x) ((x) >> 8) +#define ELF32_R_TYPE(x) ((x) & 0xff) +#define ELF64_R_SYM(i) ((i) >> 32) +#define ELF64_R_TYPE(i) ((i) & 0xffffffff) +typedef struct elf32_rel { + Elf32_Addr r_offset; + Elf32_Word r_info; +} Elf32_Rel; +typedef struct elf64_rel { + Elf64_Addr r_offset; + Elf64_Xword r_info; +} Elf64_Rel; +typedef struct elf32_rela{ + Elf32_Addr r_offset; + Elf32_Word r_info; + Elf32_Sword r_addend; +} Elf32_Rela; +typedef struct elf64_rela { + Elf64_Addr r_offset; + Elf64_Xword r_info; + Elf64_Sxword r_addend; +} Elf64_Rela; +typedef struct elf32_sym{ + Elf32_Word st_name; + Elf32_Addr st_value; + Elf32_Word st_size; + unsigned char st_info; + unsigned char st_other; + Elf32_Half st_shndx; +} Elf32_Sym; +typedef struct elf64_sym { + Elf64_Word st_name; + unsigned char st_info; + unsigned char st_other; + Elf64_Half st_shndx; + Elf64_Addr st_value; + Elf64_Xword st_size; +} Elf64_Sym; +#define EI_NIDENT 16 +typedef struct elf32_hdr{ + unsigned char e_ident[EI_NIDENT]; + Elf32_Half e_type; + Elf32_Half e_machine; + Elf32_Word e_version; + Elf32_Addr e_entry; + Elf32_Off e_phoff; + Elf32_Off e_shoff; + Elf32_Word e_flags; + Elf32_Half e_ehsize; + Elf32_Half e_phentsize; + Elf32_Half e_phnum; + Elf32_Half e_shentsize; + Elf32_Half e_shnum; + Elf32_Half e_shstrndx; +} Elf32_Ehdr; +typedef struct elf64_hdr { + unsigned char e_ident[EI_NIDENT]; + Elf64_Half e_type; + Elf64_Half e_machine; + Elf64_Word e_version; + Elf64_Addr e_entry; + Elf64_Off e_phoff; + Elf64_Off e_shoff; + Elf64_Word e_flags; + Elf64_Half e_ehsize; + Elf64_Half e_phentsize; + Elf64_Half e_phnum; + Elf64_Half e_shentsize; + Elf64_Half e_shnum; + Elf64_Half e_shstrndx; +} Elf64_Ehdr; +#define PF_R 0x4 +#define PF_W 0x2 +#define PF_X 0x1 +typedef struct elf32_phdr{ + Elf32_Word p_type; + Elf32_Off p_offset; + Elf32_Addr p_vaddr; + Elf32_Addr p_paddr; + Elf32_Word p_filesz; + Elf32_Word p_memsz; + Elf32_Word p_flags; + Elf32_Word p_align; +} Elf32_Phdr; +typedef struct elf64_phdr { + Elf64_Word p_type; + Elf64_Word p_flags; + Elf64_Off p_offset; + Elf64_Addr p_vaddr; + Elf64_Addr p_paddr; + Elf64_Xword p_filesz; + Elf64_Xword p_memsz; + Elf64_Xword p_align; +} Elf64_Phdr; +#define SHT_NULL 0 +#define SHT_PROGBITS 1 +#define SHT_SYMTAB 2 +#define SHT_STRTAB 3 +#define SHT_RELA 4 +#define SHT_HASH 5 +#define SHT_DYNAMIC 6 +#define SHT_NOTE 7 +#define SHT_NOBITS 8 +#define SHT_REL 9 +#define SHT_SHLIB 10 +#define SHT_DYNSYM 11 +#define SHT_NUM 12 +#define SHT_LOPROC 0x70000000 +#define SHT_HIPROC 0x7fffffff +#define SHT_LOUSER 0x80000000 +#define SHT_HIUSER 0xffffffff +#define SHF_WRITE 0x1 +#define SHF_ALLOC 0x2 +#define SHF_EXECINSTR 0x4 +#define SHF_RELA_LIVEPATCH 0x00100000 +#define SHF_RO_AFTER_INIT 0x00200000 +#define SHF_MASKPROC 0xf0000000 +#define SHN_UNDEF 0 +#define SHN_LORESERVE 0xff00 +#define SHN_LOPROC 0xff00 +#define SHN_HIPROC 0xff1f +#define SHN_LIVEPATCH 0xff20 +#define SHN_ABS 0xfff1 +#define SHN_COMMON 0xfff2 +#define SHN_HIRESERVE 0xffff + +typedef struct elf32_shdr { + Elf32_Word sh_name; + Elf32_Word sh_type; + Elf32_Word sh_flags; + Elf32_Addr sh_addr; + Elf32_Off sh_offset; + Elf32_Word sh_size; + Elf32_Word sh_link; + Elf32_Word sh_info; + Elf32_Word sh_addralign; + Elf32_Word sh_entsize; +} Elf32_Shdr; +typedef struct elf64_shdr { + Elf64_Word sh_name; + Elf64_Word sh_type; + Elf64_Xword sh_flags; + Elf64_Addr sh_addr; + Elf64_Off sh_offset; + Elf64_Xword sh_size; + Elf64_Word sh_link; + Elf64_Word sh_info; + Elf64_Xword sh_addralign; + Elf64_Xword sh_entsize; +} Elf64_Shdr; +#define EI_MAG0 0 +#define EI_MAG1 1 +#define EI_MAG2 2 +#define EI_MAG3 3 +#define EI_CLASS 4 +#define EI_DATA 5 +#define EI_VERSION 6 +#define EI_OSABI 7 +#define EI_PAD 8 +#define ELFMAG0 0x7f +#define ELFMAG1 'E' +#define ELFMAG2 'L' +#define ELFMAG3 'F' +#define ELFMAG "\177ELF" +#define SELFMAG 4 +#define ELFCLASSNONE 0 +#define ELFCLASS32 1 +#define ELFCLASS64 2 +#define ELFCLASSNUM 3 +#define ELFDATANONE 0 +#define ELFDATA2LSB 1 +#define ELFDATA2MSB 2 +#define EV_NONE 0 +#define EV_CURRENT 1 +#define EV_NUM 2 +#define ELFOSABI_NONE 0 +#define ELFOSABI_LINUX 3 +#ifndef ELF_OSABI +#define ELF_OSABI ELFOSABI_NONE +#endif +#define NT_PRSTATUS 1 +#define NT_PRFPREG 2 +#define NT_PRPSINFO 3 +#define NT_TASKSTRUCT 4 +#define NT_AUXV 6 +#define NT_SIGINFO 0x53494749 +#define NT_FILE 0x46494c45 +#define NT_PRXFPREG 0x46e62b7f +#define NT_PPC_VMX 0x100 +#define NT_PPC_SPE 0x101 +#define NT_PPC_VSX 0x102 +#define NT_PPC_TAR 0x103 +#define NT_PPC_PPR 0x104 +#define NT_PPC_DSCR 0x105 +#define NT_PPC_EBB 0x106 +#define NT_PPC_PMU 0x107 +#define NT_PPC_TM_CGPR 0x108 +#define NT_PPC_TM_CFPR 0x109 +#define NT_PPC_TM_CVMX 0x10a +#define NT_PPC_TM_CVSX 0x10b +#define NT_PPC_TM_SPR 0x10c +#define NT_PPC_TM_CTAR 0x10d +#define NT_PPC_TM_CPPR 0x10e +#define NT_PPC_TM_CDSCR 0x10f +#define NT_PPC_PKEY 0x110 +#define NT_386_TLS 0x200 +#define NT_386_IOPERM 0x201 +#define NT_X86_XSTATE 0x202 +#define NT_S390_HIGH_GPRS 0x300 +#define NT_S390_TIMER 0x301 +#define NT_S390_TODCMP 0x302 +#define NT_S390_TODPREG 0x303 +#define NT_S390_CTRS 0x304 +#define NT_S390_PREFIX 0x305 +#define NT_S390_LAST_BREAK 0x306 +#define NT_S390_SYSTEM_CALL 0x307 +#define NT_S390_TDB 0x308 +#define NT_S390_VXRS_LOW 0x309 +#define NT_S390_VXRS_HIGH 0x30a +#define NT_S390_GS_CB 0x30b +#define NT_S390_GS_BC 0x30c +#define NT_S390_RI_CB 0x30d +#define NT_ARM_VFP 0x400 +#define NT_ARM_TLS 0x401 +#define NT_ARM_HW_BREAK 0x402 +#define NT_ARM_HW_WATCH 0x403 +#define NT_ARM_SYSTEM_CALL 0x404 +#define NT_ARM_SVE 0x405 +#define NT_ARM_PAC_MASK 0x406 +#define NT_ARM_PACA_KEYS 0x407 +#define NT_ARM_PACG_KEYS 0x408 +#define NT_ARM_TAGGED_ADDR_CTRL 0x409 +#define NT_ARC_V2 0x600 +#define NT_VMCOREDD 0x700 +#define NT_MIPS_DSP 0x800 +#define NT_MIPS_FP_MODE 0x801 +#define NT_MIPS_MSA 0x802 +#define NT_GNU_PROPERTY_TYPE_0 5 +typedef struct elf32_note { + Elf32_Word n_namesz; + Elf32_Word n_descsz; + Elf32_Word n_type; +} Elf32_Nhdr; +typedef struct elf64_note { + Elf64_Word n_namesz; + Elf64_Word n_descsz; + Elf64_Word n_type; +} Elf64_Nhdr; +#define GNU_PROPERTY_AARCH64_FEATURE_1_AND 0xc0000000 +#define GNU_PROPERTY_AARCH64_FEATURE_1_BTI (1U << 0) +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/elfcore.h b/linux-5.10/prebuilts/usr/include/linux/elfcore.h new file mode 100644 index 0000000..c51fd81 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/elfcore.h @@ -0,0 +1,81 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI_LINUX_ELFCORE_H +#define _UAPI_LINUX_ELFCORE_H +#include +#include +#include +#include +#include +#include +struct elf_siginfo +{ + int si_signo; + int si_code; + int si_errno; +}; +#ifndef __KERNEL__ +typedef elf_greg_t greg_t; +typedef elf_gregset_t gregset_t; +typedef elf_fpregset_t fpregset_t; +typedef elf_fpxregset_t fpxregset_t; +#define NGREG ELF_NGREG +#endif +struct elf_prstatus +{ +#if 0 + long pr_flags; + short pr_why; + short pr_what; +#endif + struct elf_siginfo pr_info; + short pr_cursig; + unsigned long pr_sigpend; + unsigned long pr_sighold; +#if 0 + struct sigaltstack pr_altstack; + struct sigaction pr_action; +#endif + pid_t pr_pid; + pid_t pr_ppid; + pid_t pr_pgrp; + pid_t pr_sid; + struct timeval pr_utime; + struct timeval pr_stime; + struct timeval pr_cutime; + struct timeval pr_cstime; +#if 0 + long pr_instr; +#endif + elf_gregset_t pr_reg; +#ifdef CONFIG_BINFMT_ELF_FDPIC + + unsigned long pr_exec_fdpic_loadmap; + unsigned long pr_interp_fdpic_loadmap; +#endif + int pr_fpvalid; +}; +#define ELF_PRARGSZ (80) +struct elf_prpsinfo +{ + char pr_state; + char pr_sname; + char pr_zomb; + char pr_nice; + unsigned long pr_flag; + __kernel_uid_t pr_uid; + __kernel_gid_t pr_gid; + pid_t pr_pid, pr_ppid, pr_pgrp, pr_sid; + + char pr_fname[16]; + char pr_psargs[ELF_PRARGSZ]; +}; +#ifndef __KERNEL__ +typedef struct elf_prstatus prstatus_t; +typedef struct elf_prpsinfo prpsinfo_t; +#define PRARGSZ ELF_PRARGSZ +#endif +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/errno.h b/linux-5.10/prebuilts/usr/include/linux/errno.h new file mode 100644 index 0000000..268d331 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/errno.h @@ -0,0 +1,6 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#include diff --git a/linux-5.10/prebuilts/usr/include/linux/errqueue.h b/linux-5.10/prebuilts/usr/include/linux/errqueue.h new file mode 100644 index 0000000..d222285 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/errqueue.h @@ -0,0 +1,55 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI_LINUX_ERRQUEUE_H +#define _UAPI_LINUX_ERRQUEUE_H +#include +#include +struct sock_ee_data_rfc4884 { + __u16 len; + __u8 flags; + __u8 reserved; +}; +struct sock_extended_err { + __u32 ee_errno; + __u8 ee_origin; + __u8 ee_type; + __u8 ee_code; + __u8 ee_pad; + __u32 ee_info; + union { + __u32 ee_data; + struct sock_ee_data_rfc4884 ee_rfc4884; + }; +}; +#define SO_EE_ORIGIN_NONE 0 +#define SO_EE_ORIGIN_LOCAL 1 +#define SO_EE_ORIGIN_ICMP 2 +#define SO_EE_ORIGIN_ICMP6 3 +#define SO_EE_ORIGIN_TXSTATUS 4 +#define SO_EE_ORIGIN_ZEROCOPY 5 +#define SO_EE_ORIGIN_TXTIME 6 +#define SO_EE_ORIGIN_TIMESTAMPING SO_EE_ORIGIN_TXSTATUS +#define SO_EE_OFFENDER(ee) ((struct sockaddr*)((ee)+1)) +#define SO_EE_CODE_ZEROCOPY_COPIED 1 +#define SO_EE_CODE_TXTIME_INVALID_PARAM 1 +#define SO_EE_CODE_TXTIME_MISSED 2 +#define SO_EE_RFC4884_FLAG_INVALID 1 +struct scm_timestamping { +#ifdef __KERNEL__ + struct __kernel_old_timespec ts[3]; +#else + struct timespec ts[3]; +#endif +}; +struct scm_timestamping64 { + struct __kernel_timespec ts[3]; +}; +enum { + SCM_TSTAMP_SND, + SCM_TSTAMP_SCHED, + SCM_TSTAMP_ACK, +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/erspan.h b/linux-5.10/prebuilts/usr/include/linux/erspan.h new file mode 100644 index 0000000..fd7053a --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/erspan.h @@ -0,0 +1,40 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI_ERSPAN_H +#define _UAPI_ERSPAN_H +#include +#include +struct erspan_md2 { + __be32 timestamp; + __be16 sgt; +#if defined(__LITTLE_ENDIAN_BITFIELD) + __u8 hwid_upper:2, + ft:5, + p:1; + __u8 o:1, + gra:2, + dir:1, + hwid:4; +#elif defined(__BIG_ENDIAN_BITFIELD) + __u8 p:1, + ft:5, + hwid_upper:2; + __u8 hwid:4, + dir:1, + gra:2, + o:1; +#else +#error "Please fix " +#endif +}; +struct erspan_metadata { + int version; + union { + __be32 index; + struct erspan_md2 md2; + } u; +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/ethtool.h b/linux-5.10/prebuilts/usr/include/linux/ethtool.h new file mode 100644 index 0000000..bc0e169 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/ethtool.h @@ -0,0 +1,918 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI_LINUX_ETHTOOL_H +#define _UAPI_LINUX_ETHTOOL_H +#include +#include +#include +#ifndef __KERNEL__ +#include +#endif +struct ethtool_cmd { + __u32 cmd; + __u32 supported; + __u32 advertising; + __u16 speed; + __u8 duplex; + __u8 port; + __u8 phy_address; + __u8 transceiver; + __u8 autoneg; + __u8 mdio_support; + __u32 maxtxpkt; + __u32 maxrxpkt; + __u16 speed_hi; + __u8 eth_tp_mdix; + __u8 eth_tp_mdix_ctrl; + __u32 lp_advertising; + __u32 reserved[2]; +}; +static inline void ethtool_cmd_speed_set(struct ethtool_cmd *ep, + __u32 speed) +{ + ep->speed = (__u16)(speed & 0xFFFF); + ep->speed_hi = (__u16)(speed >> 16); +} +static inline __u32 ethtool_cmd_speed(const struct ethtool_cmd *ep) +{ + return (ep->speed_hi << 16) | ep->speed; +} +#define ETH_MDIO_SUPPORTS_C22 1 +#define ETH_MDIO_SUPPORTS_C45 2 +#define ETHTOOL_FWVERS_LEN 32 +#define ETHTOOL_BUSINFO_LEN 32 +#define ETHTOOL_EROMVERS_LEN 32 +struct ethtool_drvinfo { + __u32 cmd; + char driver[32]; + char version[32]; + char fw_version[ETHTOOL_FWVERS_LEN]; + char bus_info[ETHTOOL_BUSINFO_LEN]; + char erom_version[ETHTOOL_EROMVERS_LEN]; + char reserved2[12]; + __u32 n_priv_flags; + __u32 n_stats; + __u32 testinfo_len; + __u32 eedump_len; + __u32 regdump_len; +}; +#define SOPASS_MAX 6 +struct ethtool_wolinfo { + __u32 cmd; + __u32 supported; + __u32 wolopts; + __u8 sopass[SOPASS_MAX]; +}; +struct ethtool_value { + __u32 cmd; + __u32 data; +}; +#define PFC_STORM_PREVENTION_AUTO 0xffff +#define PFC_STORM_PREVENTION_DISABLE 0 +enum tunable_id { + ETHTOOL_ID_UNSPEC, + ETHTOOL_RX_COPYBREAK, + ETHTOOL_TX_COPYBREAK, + ETHTOOL_PFC_PREVENTION_TOUT, + + __ETHTOOL_TUNABLE_COUNT, +}; +enum tunable_type_id { + ETHTOOL_TUNABLE_UNSPEC, + ETHTOOL_TUNABLE_U8, + ETHTOOL_TUNABLE_U16, + ETHTOOL_TUNABLE_U32, + ETHTOOL_TUNABLE_U64, + ETHTOOL_TUNABLE_STRING, + ETHTOOL_TUNABLE_S8, + ETHTOOL_TUNABLE_S16, + ETHTOOL_TUNABLE_S32, + ETHTOOL_TUNABLE_S64, +}; +struct ethtool_tunable { + __u32 cmd; + __u32 id; + __u32 type_id; + __u32 len; + void *data[0]; +}; +#define DOWNSHIFT_DEV_DEFAULT_COUNT 0xff +#define DOWNSHIFT_DEV_DISABLE 0 +#define ETHTOOL_PHY_FAST_LINK_DOWN_ON 0 +#define ETHTOOL_PHY_FAST_LINK_DOWN_OFF 0xff +#define ETHTOOL_PHY_EDPD_DFLT_TX_MSECS 0xffff +#define ETHTOOL_PHY_EDPD_NO_TX 0xfffe +#define ETHTOOL_PHY_EDPD_DISABLE 0 +enum phy_tunable_id { + ETHTOOL_PHY_ID_UNSPEC, + ETHTOOL_PHY_DOWNSHIFT, + ETHTOOL_PHY_FAST_LINK_DOWN, + ETHTOOL_PHY_EDPD, + + __ETHTOOL_PHY_TUNABLE_COUNT, +}; +struct ethtool_regs { + __u32 cmd; + __u32 version; + __u32 len; + __u8 data[0]; +}; +struct ethtool_eeprom { + __u32 cmd; + __u32 magic; + __u32 offset; + __u32 len; + __u8 data[0]; +}; +struct ethtool_eee { + __u32 cmd; + __u32 supported; + __u32 advertised; + __u32 lp_advertised; + __u32 eee_active; + __u32 eee_enabled; + __u32 tx_lpi_enabled; + __u32 tx_lpi_timer; + __u32 reserved[2]; +}; +struct ethtool_modinfo { + __u32 cmd; + __u32 type; + __u32 eeprom_len; + __u32 reserved[8]; +}; +struct ethtool_coalesce { + __u32 cmd; + __u32 rx_coalesce_usecs; + __u32 rx_max_coalesced_frames; + __u32 rx_coalesce_usecs_irq; + __u32 rx_max_coalesced_frames_irq; + __u32 tx_coalesce_usecs; + __u32 tx_max_coalesced_frames; + __u32 tx_coalesce_usecs_irq; + __u32 tx_max_coalesced_frames_irq; + __u32 stats_block_coalesce_usecs; + __u32 use_adaptive_rx_coalesce; + __u32 use_adaptive_tx_coalesce; + __u32 pkt_rate_low; + __u32 rx_coalesce_usecs_low; + __u32 rx_max_coalesced_frames_low; + __u32 tx_coalesce_usecs_low; + __u32 tx_max_coalesced_frames_low; + __u32 pkt_rate_high; + __u32 rx_coalesce_usecs_high; + __u32 rx_max_coalesced_frames_high; + __u32 tx_coalesce_usecs_high; + __u32 tx_max_coalesced_frames_high; + __u32 rate_sample_interval; +}; +struct ethtool_ringparam { + __u32 cmd; + __u32 rx_max_pending; + __u32 rx_mini_max_pending; + __u32 rx_jumbo_max_pending; + __u32 tx_max_pending; + __u32 rx_pending; + __u32 rx_mini_pending; + __u32 rx_jumbo_pending; + __u32 tx_pending; +}; +struct ethtool_channels { + __u32 cmd; + __u32 max_rx; + __u32 max_tx; + __u32 max_other; + __u32 max_combined; + __u32 rx_count; + __u32 tx_count; + __u32 other_count; + __u32 combined_count; +}; +struct ethtool_pauseparam { + __u32 cmd; + __u32 autoneg; + __u32 rx_pause; + __u32 tx_pause; +}; +enum ethtool_link_ext_state { + ETHTOOL_LINK_EXT_STATE_AUTONEG, + ETHTOOL_LINK_EXT_STATE_LINK_TRAINING_FAILURE, + ETHTOOL_LINK_EXT_STATE_LINK_LOGICAL_MISMATCH, + ETHTOOL_LINK_EXT_STATE_BAD_SIGNAL_INTEGRITY, + ETHTOOL_LINK_EXT_STATE_NO_CABLE, + ETHTOOL_LINK_EXT_STATE_CABLE_ISSUE, + ETHTOOL_LINK_EXT_STATE_EEPROM_ISSUE, + ETHTOOL_LINK_EXT_STATE_CALIBRATION_FAILURE, + ETHTOOL_LINK_EXT_STATE_POWER_BUDGET_EXCEEDED, + ETHTOOL_LINK_EXT_STATE_OVERHEAT, +}; +enum ethtool_link_ext_substate_autoneg { + ETHTOOL_LINK_EXT_SUBSTATE_AN_NO_PARTNER_DETECTED = 1, + ETHTOOL_LINK_EXT_SUBSTATE_AN_ACK_NOT_RECEIVED, + ETHTOOL_LINK_EXT_SUBSTATE_AN_NEXT_PAGE_EXCHANGE_FAILED, + ETHTOOL_LINK_EXT_SUBSTATE_AN_NO_PARTNER_DETECTED_FORCE_MODE, + ETHTOOL_LINK_EXT_SUBSTATE_AN_FEC_MISMATCH_DURING_OVERRIDE, + ETHTOOL_LINK_EXT_SUBSTATE_AN_NO_HCD, +}; +enum ethtool_link_ext_substate_link_training { + ETHTOOL_LINK_EXT_SUBSTATE_LT_KR_FRAME_LOCK_NOT_ACQUIRED = 1, + ETHTOOL_LINK_EXT_SUBSTATE_LT_KR_LINK_INHIBIT_TIMEOUT, + ETHTOOL_LINK_EXT_SUBSTATE_LT_KR_LINK_PARTNER_DID_NOT_SET_RECEIVER_READY, + ETHTOOL_LINK_EXT_SUBSTATE_LT_REMOTE_FAULT, +}; +enum ethtool_link_ext_substate_link_logical_mismatch { + ETHTOOL_LINK_EXT_SUBSTATE_LLM_PCS_DID_NOT_ACQUIRE_BLOCK_LOCK = 1, + ETHTOOL_LINK_EXT_SUBSTATE_LLM_PCS_DID_NOT_ACQUIRE_AM_LOCK, + ETHTOOL_LINK_EXT_SUBSTATE_LLM_PCS_DID_NOT_GET_ALIGN_STATUS, + ETHTOOL_LINK_EXT_SUBSTATE_LLM_FC_FEC_IS_NOT_LOCKED, + ETHTOOL_LINK_EXT_SUBSTATE_LLM_RS_FEC_IS_NOT_LOCKED, +}; +enum ethtool_link_ext_substate_bad_signal_integrity { + ETHTOOL_LINK_EXT_SUBSTATE_BSI_LARGE_NUMBER_OF_PHYSICAL_ERRORS = 1, + ETHTOOL_LINK_EXT_SUBSTATE_BSI_UNSUPPORTED_RATE, +}; +enum ethtool_link_ext_substate_cable_issue { + ETHTOOL_LINK_EXT_SUBSTATE_CI_UNSUPPORTED_CABLE = 1, + ETHTOOL_LINK_EXT_SUBSTATE_CI_CABLE_TEST_FAILURE, +}; +#define ETH_GSTRING_LEN 32 +enum ethtool_stringset { + ETH_SS_TEST = 0, + ETH_SS_STATS, + ETH_SS_PRIV_FLAGS, + ETH_SS_NTUPLE_FILTERS, + ETH_SS_FEATURES, + ETH_SS_RSS_HASH_FUNCS, + ETH_SS_TUNABLES, + ETH_SS_PHY_STATS, + ETH_SS_PHY_TUNABLES, + ETH_SS_LINK_MODES, + ETH_SS_MSG_CLASSES, + ETH_SS_WOL_MODES, + ETH_SS_SOF_TIMESTAMPING, + ETH_SS_TS_TX_TYPES, + ETH_SS_TS_RX_FILTERS, + ETH_SS_UDP_TUNNEL_TYPES, + + ETH_SS_COUNT +}; +struct ethtool_gstrings { + __u32 cmd; + __u32 string_set; + __u32 len; + __u8 data[0]; +}; +struct ethtool_sset_info { + __u32 cmd; + __u32 reserved; + __u64 sset_mask; + __u32 data[0]; +}; +enum ethtool_test_flags { + ETH_TEST_FL_OFFLINE = (1 << 0), + ETH_TEST_FL_FAILED = (1 << 1), + ETH_TEST_FL_EXTERNAL_LB = (1 << 2), + ETH_TEST_FL_EXTERNAL_LB_DONE = (1 << 3), +}; +struct ethtool_test { + __u32 cmd; + __u32 flags; + __u32 reserved; + __u32 len; + __u64 data[0]; +}; +struct ethtool_stats { + __u32 cmd; + __u32 n_stats; + __u64 data[0]; +}; +struct ethtool_perm_addr { + __u32 cmd; + __u32 size; + __u8 data[0]; +}; +enum ethtool_flags { + ETH_FLAG_TXVLAN = (1 << 7), + ETH_FLAG_RXVLAN = (1 << 8), + ETH_FLAG_LRO = (1 << 15), + ETH_FLAG_NTUPLE = (1 << 27), + ETH_FLAG_RXHASH = (1 << 28), +}; +struct ethtool_tcpip4_spec { + __be32 ip4src; + __be32 ip4dst; + __be16 psrc; + __be16 pdst; + __u8 tos; +}; +struct ethtool_ah_espip4_spec { + __be32 ip4src; + __be32 ip4dst; + __be32 spi; + __u8 tos; +}; +#define ETH_RX_NFC_IP4 1 +struct ethtool_usrip4_spec { + __be32 ip4src; + __be32 ip4dst; + __be32 l4_4_bytes; + __u8 tos; + __u8 ip_ver; + __u8 proto; +}; +struct ethtool_tcpip6_spec { + __be32 ip6src[4]; + __be32 ip6dst[4]; + __be16 psrc; + __be16 pdst; + __u8 tclass; +}; +struct ethtool_ah_espip6_spec { + __be32 ip6src[4]; + __be32 ip6dst[4]; + __be32 spi; + __u8 tclass; +}; +struct ethtool_usrip6_spec { + __be32 ip6src[4]; + __be32 ip6dst[4]; + __be32 l4_4_bytes; + __u8 tclass; + __u8 l4_proto; +}; +union ethtool_flow_union { + struct ethtool_tcpip4_spec tcp_ip4_spec; + struct ethtool_tcpip4_spec udp_ip4_spec; + struct ethtool_tcpip4_spec sctp_ip4_spec; + struct ethtool_ah_espip4_spec ah_ip4_spec; + struct ethtool_ah_espip4_spec esp_ip4_spec; + struct ethtool_usrip4_spec usr_ip4_spec; + struct ethtool_tcpip6_spec tcp_ip6_spec; + struct ethtool_tcpip6_spec udp_ip6_spec; + struct ethtool_tcpip6_spec sctp_ip6_spec; + struct ethtool_ah_espip6_spec ah_ip6_spec; + struct ethtool_ah_espip6_spec esp_ip6_spec; + struct ethtool_usrip6_spec usr_ip6_spec; + struct ethhdr ether_spec; + __u8 hdata[52]; +}; +struct ethtool_flow_ext { + __u8 padding[2]; + unsigned char h_dest[ETH_ALEN]; + __be16 vlan_etype; + __be16 vlan_tci; + __be32 data[2]; +}; +struct ethtool_rx_flow_spec { + __u32 flow_type; + union ethtool_flow_union h_u; + struct ethtool_flow_ext h_ext; + union ethtool_flow_union m_u; + struct ethtool_flow_ext m_ext; + __u64 ring_cookie; + __u32 location; +}; +#define ETHTOOL_RX_FLOW_SPEC_RING 0x00000000FFFFFFFFLL +#define ETHTOOL_RX_FLOW_SPEC_RING_VF 0x000000FF00000000LL +#define ETHTOOL_RX_FLOW_SPEC_RING_VF_OFF 32 +static inline __u64 ethtool_get_flow_spec_ring(__u64 ring_cookie) +{ + return ETHTOOL_RX_FLOW_SPEC_RING & ring_cookie; +} +static inline __u64 ethtool_get_flow_spec_ring_vf(__u64 ring_cookie) +{ + return (ETHTOOL_RX_FLOW_SPEC_RING_VF & ring_cookie) >> + ETHTOOL_RX_FLOW_SPEC_RING_VF_OFF; +} +struct ethtool_rxnfc { + __u32 cmd; + __u32 flow_type; + __u64 data; + struct ethtool_rx_flow_spec fs; + union { + __u32 rule_cnt; + __u32 rss_context; + }; + __u32 rule_locs[0]; +}; +struct ethtool_rxfh_indir { + __u32 cmd; + __u32 size; + __u32 ring_index[0]; +}; +struct ethtool_rxfh { + __u32 cmd; + __u32 rss_context; + __u32 indir_size; + __u32 key_size; + __u8 hfunc; + __u8 rsvd8[3]; + __u32 rsvd32; + __u32 rss_config[0]; +}; +#define ETH_RXFH_CONTEXT_ALLOC 0xffffffff +#define ETH_RXFH_INDIR_NO_CHANGE 0xffffffff +struct ethtool_rx_ntuple_flow_spec { + __u32 flow_type; + union { + struct ethtool_tcpip4_spec tcp_ip4_spec; + struct ethtool_tcpip4_spec udp_ip4_spec; + struct ethtool_tcpip4_spec sctp_ip4_spec; + struct ethtool_ah_espip4_spec ah_ip4_spec; + struct ethtool_ah_espip4_spec esp_ip4_spec; + struct ethtool_usrip4_spec usr_ip4_spec; + struct ethhdr ether_spec; + __u8 hdata[72]; + } h_u, m_u; + __u16 vlan_tag; + __u16 vlan_tag_mask; + __u64 data; + __u64 data_mask; + __s32 action; +#define ETHTOOL_RXNTUPLE_ACTION_DROP (-1) +#define ETHTOOL_RXNTUPLE_ACTION_CLEAR (-2) +}; +struct ethtool_rx_ntuple { + __u32 cmd; + struct ethtool_rx_ntuple_flow_spec fs; +}; +#define ETHTOOL_FLASH_MAX_FILENAME 128 +enum ethtool_flash_op_type { + ETHTOOL_FLASH_ALL_REGIONS = 0, +}; +struct ethtool_flash { + __u32 cmd; + __u32 region; + char data[ETHTOOL_FLASH_MAX_FILENAME]; +}; +struct ethtool_dump { + __u32 cmd; + __u32 version; + __u32 flag; + __u32 len; + __u8 data[0]; +}; +#define ETH_FW_DUMP_DISABLE 0 +struct ethtool_get_features_block { + __u32 available; + __u32 requested; + __u32 active; + __u32 never_changed; +}; +struct ethtool_gfeatures { + __u32 cmd; + __u32 size; + struct ethtool_get_features_block features[0]; +}; +struct ethtool_set_features_block { + __u32 valid; + __u32 requested; +}; +struct ethtool_sfeatures { + __u32 cmd; + __u32 size; + struct ethtool_set_features_block features[0]; +}; +struct ethtool_ts_info { + __u32 cmd; + __u32 so_timestamping; + __s32 phc_index; + __u32 tx_types; + __u32 tx_reserved[3]; + __u32 rx_filters; + __u32 rx_reserved[3]; +}; +enum ethtool_sfeatures_retval_bits { + ETHTOOL_F_UNSUPPORTED__BIT, + ETHTOOL_F_WISH__BIT, + ETHTOOL_F_COMPAT__BIT, +}; +#define ETHTOOL_F_UNSUPPORTED (1 << ETHTOOL_F_UNSUPPORTED__BIT) +#define ETHTOOL_F_WISH (1 << ETHTOOL_F_WISH__BIT) +#define ETHTOOL_F_COMPAT (1 << ETHTOOL_F_COMPAT__BIT) +#define MAX_NUM_QUEUE 4096 +struct ethtool_per_queue_op { + __u32 cmd; + __u32 sub_command; + __u32 queue_mask[__KERNEL_DIV_ROUND_UP(MAX_NUM_QUEUE, 32)]; + char data[]; +}; +struct ethtool_fecparam { + __u32 cmd; + + __u32 active_fec; + __u32 fec; + __u32 reserved; +}; +enum ethtool_fec_config_bits { + ETHTOOL_FEC_NONE_BIT, + ETHTOOL_FEC_AUTO_BIT, + ETHTOOL_FEC_OFF_BIT, + ETHTOOL_FEC_RS_BIT, + ETHTOOL_FEC_BASER_BIT, + ETHTOOL_FEC_LLRS_BIT, +}; +#define ETHTOOL_FEC_NONE (1 << ETHTOOL_FEC_NONE_BIT) +#define ETHTOOL_FEC_AUTO (1 << ETHTOOL_FEC_AUTO_BIT) +#define ETHTOOL_FEC_OFF (1 << ETHTOOL_FEC_OFF_BIT) +#define ETHTOOL_FEC_RS (1 << ETHTOOL_FEC_RS_BIT) +#define ETHTOOL_FEC_BASER (1 << ETHTOOL_FEC_BASER_BIT) +#define ETHTOOL_FEC_LLRS (1 << ETHTOOL_FEC_LLRS_BIT) +#define ETHTOOL_GSET 0x00000001 +#define ETHTOOL_SSET 0x00000002 +#define ETHTOOL_GDRVINFO 0x00000003 +#define ETHTOOL_GREGS 0x00000004 +#define ETHTOOL_GWOL 0x00000005 +#define ETHTOOL_SWOL 0x00000006 +#define ETHTOOL_GMSGLVL 0x00000007 +#define ETHTOOL_SMSGLVL 0x00000008 +#define ETHTOOL_NWAY_RST 0x00000009 +#define ETHTOOL_GLINK 0x0000000a +#define ETHTOOL_GEEPROM 0x0000000b +#define ETHTOOL_SEEPROM 0x0000000c +#define ETHTOOL_GCOALESCE 0x0000000e +#define ETHTOOL_SCOALESCE 0x0000000f +#define ETHTOOL_GRINGPARAM 0x00000010 +#define ETHTOOL_SRINGPARAM 0x00000011 +#define ETHTOOL_GPAUSEPARAM 0x00000012 +#define ETHTOOL_SPAUSEPARAM 0x00000013 +#define ETHTOOL_GRXCSUM 0x00000014 +#define ETHTOOL_SRXCSUM 0x00000015 +#define ETHTOOL_GTXCSUM 0x00000016 +#define ETHTOOL_STXCSUM 0x00000017 +#define ETHTOOL_GSG 0x00000018 +#define ETHTOOL_SSG 0x00000019 +#define ETHTOOL_TEST 0x0000001a +#define ETHTOOL_GSTRINGS 0x0000001b +#define ETHTOOL_PHYS_ID 0x0000001c +#define ETHTOOL_GSTATS 0x0000001d +#define ETHTOOL_GTSO 0x0000001e +#define ETHTOOL_STSO 0x0000001f +#define ETHTOOL_GPERMADDR 0x00000020 +#define ETHTOOL_GUFO 0x00000021 +#define ETHTOOL_SUFO 0x00000022 +#define ETHTOOL_GGSO 0x00000023 +#define ETHTOOL_SGSO 0x00000024 +#define ETHTOOL_GFLAGS 0x00000025 +#define ETHTOOL_SFLAGS 0x00000026 +#define ETHTOOL_GPFLAGS 0x00000027 +#define ETHTOOL_SPFLAGS 0x00000028 +#define ETHTOOL_GRXFH 0x00000029 +#define ETHTOOL_SRXFH 0x0000002a +#define ETHTOOL_GGRO 0x0000002b +#define ETHTOOL_SGRO 0x0000002c +#define ETHTOOL_GRXRINGS 0x0000002d +#define ETHTOOL_GRXCLSRLCNT 0x0000002e +#define ETHTOOL_GRXCLSRULE 0x0000002f +#define ETHTOOL_GRXCLSRLALL 0x00000030 +#define ETHTOOL_SRXCLSRLDEL 0x00000031 +#define ETHTOOL_SRXCLSRLINS 0x00000032 +#define ETHTOOL_FLASHDEV 0x00000033 +#define ETHTOOL_RESET 0x00000034 +#define ETHTOOL_SRXNTUPLE 0x00000035 +#define ETHTOOL_GRXNTUPLE 0x00000036 +#define ETHTOOL_GSSET_INFO 0x00000037 +#define ETHTOOL_GRXFHINDIR 0x00000038 +#define ETHTOOL_SRXFHINDIR 0x00000039 +#define ETHTOOL_GFEATURES 0x0000003a +#define ETHTOOL_SFEATURES 0x0000003b +#define ETHTOOL_GCHANNELS 0x0000003c +#define ETHTOOL_SCHANNELS 0x0000003d +#define ETHTOOL_SET_DUMP 0x0000003e +#define ETHTOOL_GET_DUMP_FLAG 0x0000003f +#define ETHTOOL_GET_DUMP_DATA 0x00000040 +#define ETHTOOL_GET_TS_INFO 0x00000041 +#define ETHTOOL_GMODULEINFO 0x00000042 +#define ETHTOOL_GMODULEEEPROM 0x00000043 +#define ETHTOOL_GEEE 0x00000044 +#define ETHTOOL_SEEE 0x00000045 +#define ETHTOOL_GRSSH 0x00000046 +#define ETHTOOL_SRSSH 0x00000047 +#define ETHTOOL_GTUNABLE 0x00000048 +#define ETHTOOL_STUNABLE 0x00000049 +#define ETHTOOL_GPHYSTATS 0x0000004a +#define ETHTOOL_PERQUEUE 0x0000004b +#define ETHTOOL_GLINKSETTINGS 0x0000004c +#define ETHTOOL_SLINKSETTINGS 0x0000004d +#define ETHTOOL_PHY_GTUNABLE 0x0000004e +#define ETHTOOL_PHY_STUNABLE 0x0000004f +#define ETHTOOL_GFECPARAM 0x00000050 +#define ETHTOOL_SFECPARAM 0x00000051 +#define SPARC_ETH_GSET ETHTOOL_GSET +#define SPARC_ETH_SSET ETHTOOL_SSET +enum ethtool_link_mode_bit_indices { + ETHTOOL_LINK_MODE_10baseT_Half_BIT = 0, + ETHTOOL_LINK_MODE_10baseT_Full_BIT = 1, + ETHTOOL_LINK_MODE_100baseT_Half_BIT = 2, + ETHTOOL_LINK_MODE_100baseT_Full_BIT = 3, + ETHTOOL_LINK_MODE_1000baseT_Half_BIT = 4, + ETHTOOL_LINK_MODE_1000baseT_Full_BIT = 5, + ETHTOOL_LINK_MODE_Autoneg_BIT = 6, + ETHTOOL_LINK_MODE_TP_BIT = 7, + ETHTOOL_LINK_MODE_AUI_BIT = 8, + ETHTOOL_LINK_MODE_MII_BIT = 9, + ETHTOOL_LINK_MODE_FIBRE_BIT = 10, + ETHTOOL_LINK_MODE_BNC_BIT = 11, + ETHTOOL_LINK_MODE_10000baseT_Full_BIT = 12, + ETHTOOL_LINK_MODE_Pause_BIT = 13, + ETHTOOL_LINK_MODE_Asym_Pause_BIT = 14, + ETHTOOL_LINK_MODE_2500baseX_Full_BIT = 15, + ETHTOOL_LINK_MODE_Backplane_BIT = 16, + ETHTOOL_LINK_MODE_1000baseKX_Full_BIT = 17, + ETHTOOL_LINK_MODE_10000baseKX4_Full_BIT = 18, + ETHTOOL_LINK_MODE_10000baseKR_Full_BIT = 19, + ETHTOOL_LINK_MODE_10000baseR_FEC_BIT = 20, + ETHTOOL_LINK_MODE_20000baseMLD2_Full_BIT = 21, + ETHTOOL_LINK_MODE_20000baseKR2_Full_BIT = 22, + ETHTOOL_LINK_MODE_40000baseKR4_Full_BIT = 23, + ETHTOOL_LINK_MODE_40000baseCR4_Full_BIT = 24, + ETHTOOL_LINK_MODE_40000baseSR4_Full_BIT = 25, + ETHTOOL_LINK_MODE_40000baseLR4_Full_BIT = 26, + ETHTOOL_LINK_MODE_56000baseKR4_Full_BIT = 27, + ETHTOOL_LINK_MODE_56000baseCR4_Full_BIT = 28, + ETHTOOL_LINK_MODE_56000baseSR4_Full_BIT = 29, + ETHTOOL_LINK_MODE_56000baseLR4_Full_BIT = 30, + ETHTOOL_LINK_MODE_25000baseCR_Full_BIT = 31, + + ETHTOOL_LINK_MODE_25000baseKR_Full_BIT = 32, + ETHTOOL_LINK_MODE_25000baseSR_Full_BIT = 33, + ETHTOOL_LINK_MODE_50000baseCR2_Full_BIT = 34, + ETHTOOL_LINK_MODE_50000baseKR2_Full_BIT = 35, + ETHTOOL_LINK_MODE_100000baseKR4_Full_BIT = 36, + ETHTOOL_LINK_MODE_100000baseSR4_Full_BIT = 37, + ETHTOOL_LINK_MODE_100000baseCR4_Full_BIT = 38, + ETHTOOL_LINK_MODE_100000baseLR4_ER4_Full_BIT = 39, + ETHTOOL_LINK_MODE_50000baseSR2_Full_BIT = 40, + ETHTOOL_LINK_MODE_1000baseX_Full_BIT = 41, + ETHTOOL_LINK_MODE_10000baseCR_Full_BIT = 42, + ETHTOOL_LINK_MODE_10000baseSR_Full_BIT = 43, + ETHTOOL_LINK_MODE_10000baseLR_Full_BIT = 44, + ETHTOOL_LINK_MODE_10000baseLRM_Full_BIT = 45, + ETHTOOL_LINK_MODE_10000baseER_Full_BIT = 46, + ETHTOOL_LINK_MODE_2500baseT_Full_BIT = 47, + ETHTOOL_LINK_MODE_5000baseT_Full_BIT = 48, + ETHTOOL_LINK_MODE_FEC_NONE_BIT = 49, + ETHTOOL_LINK_MODE_FEC_RS_BIT = 50, + ETHTOOL_LINK_MODE_FEC_BASER_BIT = 51, + ETHTOOL_LINK_MODE_50000baseKR_Full_BIT = 52, + ETHTOOL_LINK_MODE_50000baseSR_Full_BIT = 53, + ETHTOOL_LINK_MODE_50000baseCR_Full_BIT = 54, + ETHTOOL_LINK_MODE_50000baseLR_ER_FR_Full_BIT = 55, + ETHTOOL_LINK_MODE_50000baseDR_Full_BIT = 56, + ETHTOOL_LINK_MODE_100000baseKR2_Full_BIT = 57, + ETHTOOL_LINK_MODE_100000baseSR2_Full_BIT = 58, + ETHTOOL_LINK_MODE_100000baseCR2_Full_BIT = 59, + ETHTOOL_LINK_MODE_100000baseLR2_ER2_FR2_Full_BIT = 60, + ETHTOOL_LINK_MODE_100000baseDR2_Full_BIT = 61, + ETHTOOL_LINK_MODE_200000baseKR4_Full_BIT = 62, + ETHTOOL_LINK_MODE_200000baseSR4_Full_BIT = 63, + ETHTOOL_LINK_MODE_200000baseLR4_ER4_FR4_Full_BIT = 64, + ETHTOOL_LINK_MODE_200000baseDR4_Full_BIT = 65, + ETHTOOL_LINK_MODE_200000baseCR4_Full_BIT = 66, + ETHTOOL_LINK_MODE_100baseT1_Full_BIT = 67, + ETHTOOL_LINK_MODE_1000baseT1_Full_BIT = 68, + ETHTOOL_LINK_MODE_400000baseKR8_Full_BIT = 69, + ETHTOOL_LINK_MODE_400000baseSR8_Full_BIT = 70, + ETHTOOL_LINK_MODE_400000baseLR8_ER8_FR8_Full_BIT = 71, + ETHTOOL_LINK_MODE_400000baseDR8_Full_BIT = 72, + ETHTOOL_LINK_MODE_400000baseCR8_Full_BIT = 73, + ETHTOOL_LINK_MODE_FEC_LLRS_BIT = 74, + ETHTOOL_LINK_MODE_100000baseKR_Full_BIT = 75, + ETHTOOL_LINK_MODE_100000baseSR_Full_BIT = 76, + ETHTOOL_LINK_MODE_100000baseLR_ER_FR_Full_BIT = 77, + ETHTOOL_LINK_MODE_100000baseCR_Full_BIT = 78, + ETHTOOL_LINK_MODE_100000baseDR_Full_BIT = 79, + ETHTOOL_LINK_MODE_200000baseKR2_Full_BIT = 80, + ETHTOOL_LINK_MODE_200000baseSR2_Full_BIT = 81, + ETHTOOL_LINK_MODE_200000baseLR2_ER2_FR2_Full_BIT = 82, + ETHTOOL_LINK_MODE_200000baseDR2_Full_BIT = 83, + ETHTOOL_LINK_MODE_200000baseCR2_Full_BIT = 84, + ETHTOOL_LINK_MODE_400000baseKR4_Full_BIT = 85, + ETHTOOL_LINK_MODE_400000baseSR4_Full_BIT = 86, + ETHTOOL_LINK_MODE_400000baseLR4_ER4_FR4_Full_BIT = 87, + ETHTOOL_LINK_MODE_400000baseDR4_Full_BIT = 88, + ETHTOOL_LINK_MODE_400000baseCR4_Full_BIT = 89, + ETHTOOL_LINK_MODE_100baseFX_Half_BIT = 90, + ETHTOOL_LINK_MODE_100baseFX_Full_BIT = 91, + + __ETHTOOL_LINK_MODE_MASK_NBITS +}; +#define __ETHTOOL_LINK_MODE_LEGACY_MASK(base_name) \ + (1UL << (ETHTOOL_LINK_MODE_ ## base_name ## _BIT)) +#define SUPPORTED_10baseT_Half __ETHTOOL_LINK_MODE_LEGACY_MASK(10baseT_Half) +#define SUPPORTED_10baseT_Full __ETHTOOL_LINK_MODE_LEGACY_MASK(10baseT_Full) +#define SUPPORTED_100baseT_Half __ETHTOOL_LINK_MODE_LEGACY_MASK(100baseT_Half) +#define SUPPORTED_100baseT_Full __ETHTOOL_LINK_MODE_LEGACY_MASK(100baseT_Full) +#define SUPPORTED_1000baseT_Half __ETHTOOL_LINK_MODE_LEGACY_MASK(1000baseT_Half) +#define SUPPORTED_1000baseT_Full __ETHTOOL_LINK_MODE_LEGACY_MASK(1000baseT_Full) +#define SUPPORTED_Autoneg __ETHTOOL_LINK_MODE_LEGACY_MASK(Autoneg) +#define SUPPORTED_TP __ETHTOOL_LINK_MODE_LEGACY_MASK(TP) +#define SUPPORTED_AUI __ETHTOOL_LINK_MODE_LEGACY_MASK(AUI) +#define SUPPORTED_MII __ETHTOOL_LINK_MODE_LEGACY_MASK(MII) +#define SUPPORTED_FIBRE __ETHTOOL_LINK_MODE_LEGACY_MASK(FIBRE) +#define SUPPORTED_BNC __ETHTOOL_LINK_MODE_LEGACY_MASK(BNC) +#define SUPPORTED_10000baseT_Full __ETHTOOL_LINK_MODE_LEGACY_MASK(10000baseT_Full) +#define SUPPORTED_Pause __ETHTOOL_LINK_MODE_LEGACY_MASK(Pause) +#define SUPPORTED_Asym_Pause __ETHTOOL_LINK_MODE_LEGACY_MASK(Asym_Pause) +#define SUPPORTED_2500baseX_Full __ETHTOOL_LINK_MODE_LEGACY_MASK(2500baseX_Full) +#define SUPPORTED_Backplane __ETHTOOL_LINK_MODE_LEGACY_MASK(Backplane) +#define SUPPORTED_1000baseKX_Full __ETHTOOL_LINK_MODE_LEGACY_MASK(1000baseKX_Full) +#define SUPPORTED_10000baseKX4_Full __ETHTOOL_LINK_MODE_LEGACY_MASK(10000baseKX4_Full) +#define SUPPORTED_10000baseKR_Full __ETHTOOL_LINK_MODE_LEGACY_MASK(10000baseKR_Full) +#define SUPPORTED_10000baseR_FEC __ETHTOOL_LINK_MODE_LEGACY_MASK(10000baseR_FEC) +#define SUPPORTED_20000baseMLD2_Full __ETHTOOL_LINK_MODE_LEGACY_MASK(20000baseMLD2_Full) +#define SUPPORTED_20000baseKR2_Full __ETHTOOL_LINK_MODE_LEGACY_MASK(20000baseKR2_Full) +#define SUPPORTED_40000baseKR4_Full __ETHTOOL_LINK_MODE_LEGACY_MASK(40000baseKR4_Full) +#define SUPPORTED_40000baseCR4_Full __ETHTOOL_LINK_MODE_LEGACY_MASK(40000baseCR4_Full) +#define SUPPORTED_40000baseSR4_Full __ETHTOOL_LINK_MODE_LEGACY_MASK(40000baseSR4_Full) +#define SUPPORTED_40000baseLR4_Full __ETHTOOL_LINK_MODE_LEGACY_MASK(40000baseLR4_Full) +#define SUPPORTED_56000baseKR4_Full __ETHTOOL_LINK_MODE_LEGACY_MASK(56000baseKR4_Full) +#define SUPPORTED_56000baseCR4_Full __ETHTOOL_LINK_MODE_LEGACY_MASK(56000baseCR4_Full) +#define SUPPORTED_56000baseSR4_Full __ETHTOOL_LINK_MODE_LEGACY_MASK(56000baseSR4_Full) +#define SUPPORTED_56000baseLR4_Full __ETHTOOL_LINK_MODE_LEGACY_MASK(56000baseLR4_Full) +#define ADVERTISED_10baseT_Half __ETHTOOL_LINK_MODE_LEGACY_MASK(10baseT_Half) +#define ADVERTISED_10baseT_Full __ETHTOOL_LINK_MODE_LEGACY_MASK(10baseT_Full) +#define ADVERTISED_100baseT_Half __ETHTOOL_LINK_MODE_LEGACY_MASK(100baseT_Half) +#define ADVERTISED_100baseT_Full __ETHTOOL_LINK_MODE_LEGACY_MASK(100baseT_Full) +#define ADVERTISED_1000baseT_Half __ETHTOOL_LINK_MODE_LEGACY_MASK(1000baseT_Half) +#define ADVERTISED_1000baseT_Full __ETHTOOL_LINK_MODE_LEGACY_MASK(1000baseT_Full) +#define ADVERTISED_Autoneg __ETHTOOL_LINK_MODE_LEGACY_MASK(Autoneg) +#define ADVERTISED_TP __ETHTOOL_LINK_MODE_LEGACY_MASK(TP) +#define ADVERTISED_AUI __ETHTOOL_LINK_MODE_LEGACY_MASK(AUI) +#define ADVERTISED_MII __ETHTOOL_LINK_MODE_LEGACY_MASK(MII) +#define ADVERTISED_FIBRE __ETHTOOL_LINK_MODE_LEGACY_MASK(FIBRE) +#define ADVERTISED_BNC __ETHTOOL_LINK_MODE_LEGACY_MASK(BNC) +#define ADVERTISED_10000baseT_Full __ETHTOOL_LINK_MODE_LEGACY_MASK(10000baseT_Full) +#define ADVERTISED_Pause __ETHTOOL_LINK_MODE_LEGACY_MASK(Pause) +#define ADVERTISED_Asym_Pause __ETHTOOL_LINK_MODE_LEGACY_MASK(Asym_Pause) +#define ADVERTISED_2500baseX_Full __ETHTOOL_LINK_MODE_LEGACY_MASK(2500baseX_Full) +#define ADVERTISED_Backplane __ETHTOOL_LINK_MODE_LEGACY_MASK(Backplane) +#define ADVERTISED_1000baseKX_Full __ETHTOOL_LINK_MODE_LEGACY_MASK(1000baseKX_Full) +#define ADVERTISED_10000baseKX4_Full __ETHTOOL_LINK_MODE_LEGACY_MASK(10000baseKX4_Full) +#define ADVERTISED_10000baseKR_Full __ETHTOOL_LINK_MODE_LEGACY_MASK(10000baseKR_Full) +#define ADVERTISED_10000baseR_FEC __ETHTOOL_LINK_MODE_LEGACY_MASK(10000baseR_FEC) +#define ADVERTISED_20000baseMLD2_Full __ETHTOOL_LINK_MODE_LEGACY_MASK(20000baseMLD2_Full) +#define ADVERTISED_20000baseKR2_Full __ETHTOOL_LINK_MODE_LEGACY_MASK(20000baseKR2_Full) +#define ADVERTISED_40000baseKR4_Full __ETHTOOL_LINK_MODE_LEGACY_MASK(40000baseKR4_Full) +#define ADVERTISED_40000baseCR4_Full __ETHTOOL_LINK_MODE_LEGACY_MASK(40000baseCR4_Full) +#define ADVERTISED_40000baseSR4_Full __ETHTOOL_LINK_MODE_LEGACY_MASK(40000baseSR4_Full) +#define ADVERTISED_40000baseLR4_Full __ETHTOOL_LINK_MODE_LEGACY_MASK(40000baseLR4_Full) +#define ADVERTISED_56000baseKR4_Full __ETHTOOL_LINK_MODE_LEGACY_MASK(56000baseKR4_Full) +#define ADVERTISED_56000baseCR4_Full __ETHTOOL_LINK_MODE_LEGACY_MASK(56000baseCR4_Full) +#define ADVERTISED_56000baseSR4_Full __ETHTOOL_LINK_MODE_LEGACY_MASK(56000baseSR4_Full) +#define ADVERTISED_56000baseLR4_Full __ETHTOOL_LINK_MODE_LEGACY_MASK(56000baseLR4_Full) +#define SPEED_10 10 +#define SPEED_100 100 +#define SPEED_1000 1000 +#define SPEED_2500 2500 +#define SPEED_5000 5000 +#define SPEED_10000 10000 +#define SPEED_14000 14000 +#define SPEED_20000 20000 +#define SPEED_25000 25000 +#define SPEED_40000 40000 +#define SPEED_50000 50000 +#define SPEED_56000 56000 +#define SPEED_100000 100000 +#define SPEED_200000 200000 +#define SPEED_400000 400000 +#define SPEED_UNKNOWN -1 +static inline int ethtool_validate_speed(__u32 speed) +{ + return speed <= INT_MAX || speed == (__u32)SPEED_UNKNOWN; +} +#define DUPLEX_HALF 0x00 +#define DUPLEX_FULL 0x01 +#define DUPLEX_UNKNOWN 0xff +static inline int ethtool_validate_duplex(__u8 duplex) +{ + switch (duplex) { + case DUPLEX_HALF: + case DUPLEX_FULL: + case DUPLEX_UNKNOWN: + return 1; + } + return 0; +} +#define MASTER_SLAVE_CFG_UNSUPPORTED 0 +#define MASTER_SLAVE_CFG_UNKNOWN 1 +#define MASTER_SLAVE_CFG_MASTER_PREFERRED 2 +#define MASTER_SLAVE_CFG_SLAVE_PREFERRED 3 +#define MASTER_SLAVE_CFG_MASTER_FORCE 4 +#define MASTER_SLAVE_CFG_SLAVE_FORCE 5 +#define MASTER_SLAVE_STATE_UNSUPPORTED 0 +#define MASTER_SLAVE_STATE_UNKNOWN 1 +#define MASTER_SLAVE_STATE_MASTER 2 +#define MASTER_SLAVE_STATE_SLAVE 3 +#define MASTER_SLAVE_STATE_ERR 4 +#define PORT_TP 0x00 +#define PORT_AUI 0x01 +#define PORT_MII 0x02 +#define PORT_FIBRE 0x03 +#define PORT_BNC 0x04 +#define PORT_DA 0x05 +#define PORT_NONE 0xef +#define PORT_OTHER 0xff +#define XCVR_INTERNAL 0x00 +#define XCVR_EXTERNAL 0x01 +#define XCVR_DUMMY1 0x02 +#define XCVR_DUMMY2 0x03 +#define XCVR_DUMMY3 0x04 +#define AUTONEG_DISABLE 0x00 +#define AUTONEG_ENABLE 0x01 +#define ETH_TP_MDI_INVALID 0x00 +#define ETH_TP_MDI 0x01 +#define ETH_TP_MDI_X 0x02 +#define ETH_TP_MDI_AUTO 0x03 +#define WAKE_PHY (1 << 0) +#define WAKE_UCAST (1 << 1) +#define WAKE_MCAST (1 << 2) +#define WAKE_BCAST (1 << 3) +#define WAKE_ARP (1 << 4) +#define WAKE_MAGIC (1 << 5) +#define WAKE_MAGICSECURE (1 << 6) +#define WAKE_FILTER (1 << 7) +#define WOL_MODE_COUNT 8 +#define TCP_V4_FLOW 0x01 +#define UDP_V4_FLOW 0x02 +#define SCTP_V4_FLOW 0x03 +#define AH_ESP_V4_FLOW 0x04 +#define TCP_V6_FLOW 0x05 +#define UDP_V6_FLOW 0x06 +#define SCTP_V6_FLOW 0x07 +#define AH_ESP_V6_FLOW 0x08 +#define AH_V4_FLOW 0x09 +#define ESP_V4_FLOW 0x0a +#define AH_V6_FLOW 0x0b +#define ESP_V6_FLOW 0x0c +#define IPV4_USER_FLOW 0x0d +#define IP_USER_FLOW IPV4_USER_FLOW +#define IPV6_USER_FLOW 0x0e +#define IPV4_FLOW 0x10 +#define IPV6_FLOW 0x11 +#define ETHER_FLOW 0x12 +#define FLOW_EXT 0x80000000 +#define FLOW_MAC_EXT 0x40000000 +#define FLOW_RSS 0x20000000 +#define RXH_L2DA (1 << 1) +#define RXH_VLAN (1 << 2) +#define RXH_L3_PROTO (1 << 3) +#define RXH_IP_SRC (1 << 4) +#define RXH_IP_DST (1 << 5) +#define RXH_L4_B_0_1 (1 << 6) +#define RXH_L4_B_2_3 (1 << 7) +#define RXH_DISCARD (1 << 31) +#define RX_CLS_FLOW_DISC 0xffffffffffffffffULL +#define RX_CLS_FLOW_WAKE 0xfffffffffffffffeULL +#define RX_CLS_LOC_SPECIAL 0x80000000 +#define RX_CLS_LOC_ANY 0xffffffff +#define RX_CLS_LOC_FIRST 0xfffffffe +#define RX_CLS_LOC_LAST 0xfffffffd +#define ETH_MODULE_SFF_8079 0x1 +#define ETH_MODULE_SFF_8079_LEN 256 +#define ETH_MODULE_SFF_8472 0x2 +#define ETH_MODULE_SFF_8472_LEN 512 +#define ETH_MODULE_SFF_8636 0x3 +#define ETH_MODULE_SFF_8636_LEN 256 +#define ETH_MODULE_SFF_8436 0x4 +#define ETH_MODULE_SFF_8436_LEN 256 +#define ETH_MODULE_SFF_8636_MAX_LEN 640 +#define ETH_MODULE_SFF_8436_MAX_LEN 640 +enum ethtool_reset_flags { + + ETH_RESET_MGMT = 1 << 0, + ETH_RESET_IRQ = 1 << 1, + ETH_RESET_DMA = 1 << 2, + ETH_RESET_FILTER = 1 << 3, + ETH_RESET_OFFLOAD = 1 << 4, + ETH_RESET_MAC = 1 << 5, + ETH_RESET_PHY = 1 << 6, + ETH_RESET_RAM = 1 << 7, + ETH_RESET_AP = 1 << 8, + ETH_RESET_DEDICATED = 0x0000ffff, + ETH_RESET_ALL = 0xffffffff, +}; +#define ETH_RESET_SHARED_SHIFT 16 +struct ethtool_link_settings { + __u32 cmd; + __u32 speed; + __u8 duplex; + __u8 port; + __u8 phy_address; + __u8 autoneg; + __u8 mdio_support; + __u8 eth_tp_mdix; + __u8 eth_tp_mdix_ctrl; + __s8 link_mode_masks_nwords; + __u8 transceiver; + __u8 master_slave_cfg; + __u8 master_slave_state; + __u8 reserved1[1]; + __u32 reserved[7]; + __u32 link_mode_masks[0]; + +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/ethtool_netlink.h b/linux-5.10/prebuilts/usr/include/linux/ethtool_netlink.h new file mode 100644 index 0000000..0610e51 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/ethtool_netlink.h @@ -0,0 +1,488 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI_LINUX_ETHTOOL_NETLINK_H_ +#define _UAPI_LINUX_ETHTOOL_NETLINK_H_ +#include +enum { + ETHTOOL_MSG_USER_NONE, + ETHTOOL_MSG_STRSET_GET, + ETHTOOL_MSG_LINKINFO_GET, + ETHTOOL_MSG_LINKINFO_SET, + ETHTOOL_MSG_LINKMODES_GET, + ETHTOOL_MSG_LINKMODES_SET, + ETHTOOL_MSG_LINKSTATE_GET, + ETHTOOL_MSG_DEBUG_GET, + ETHTOOL_MSG_DEBUG_SET, + ETHTOOL_MSG_WOL_GET, + ETHTOOL_MSG_WOL_SET, + ETHTOOL_MSG_FEATURES_GET, + ETHTOOL_MSG_FEATURES_SET, + ETHTOOL_MSG_PRIVFLAGS_GET, + ETHTOOL_MSG_PRIVFLAGS_SET, + ETHTOOL_MSG_RINGS_GET, + ETHTOOL_MSG_RINGS_SET, + ETHTOOL_MSG_CHANNELS_GET, + ETHTOOL_MSG_CHANNELS_SET, + ETHTOOL_MSG_COALESCE_GET, + ETHTOOL_MSG_COALESCE_SET, + ETHTOOL_MSG_PAUSE_GET, + ETHTOOL_MSG_PAUSE_SET, + ETHTOOL_MSG_EEE_GET, + ETHTOOL_MSG_EEE_SET, + ETHTOOL_MSG_TSINFO_GET, + ETHTOOL_MSG_CABLE_TEST_ACT, + ETHTOOL_MSG_CABLE_TEST_TDR_ACT, + ETHTOOL_MSG_TUNNEL_INFO_GET, + + __ETHTOOL_MSG_USER_CNT, + ETHTOOL_MSG_USER_MAX = __ETHTOOL_MSG_USER_CNT - 1 +}; +enum { + ETHTOOL_MSG_KERNEL_NONE, + ETHTOOL_MSG_STRSET_GET_REPLY, + ETHTOOL_MSG_LINKINFO_GET_REPLY, + ETHTOOL_MSG_LINKINFO_NTF, + ETHTOOL_MSG_LINKMODES_GET_REPLY, + ETHTOOL_MSG_LINKMODES_NTF, + ETHTOOL_MSG_LINKSTATE_GET_REPLY, + ETHTOOL_MSG_DEBUG_GET_REPLY, + ETHTOOL_MSG_DEBUG_NTF, + ETHTOOL_MSG_WOL_GET_REPLY, + ETHTOOL_MSG_WOL_NTF, + ETHTOOL_MSG_FEATURES_GET_REPLY, + ETHTOOL_MSG_FEATURES_SET_REPLY, + ETHTOOL_MSG_FEATURES_NTF, + ETHTOOL_MSG_PRIVFLAGS_GET_REPLY, + ETHTOOL_MSG_PRIVFLAGS_NTF, + ETHTOOL_MSG_RINGS_GET_REPLY, + ETHTOOL_MSG_RINGS_NTF, + ETHTOOL_MSG_CHANNELS_GET_REPLY, + ETHTOOL_MSG_CHANNELS_NTF, + ETHTOOL_MSG_COALESCE_GET_REPLY, + ETHTOOL_MSG_COALESCE_NTF, + ETHTOOL_MSG_PAUSE_GET_REPLY, + ETHTOOL_MSG_PAUSE_NTF, + ETHTOOL_MSG_EEE_GET_REPLY, + ETHTOOL_MSG_EEE_NTF, + ETHTOOL_MSG_TSINFO_GET_REPLY, + ETHTOOL_MSG_CABLE_TEST_NTF, + ETHTOOL_MSG_CABLE_TEST_TDR_NTF, + ETHTOOL_MSG_TUNNEL_INFO_GET_REPLY, + + __ETHTOOL_MSG_KERNEL_CNT, + ETHTOOL_MSG_KERNEL_MAX = __ETHTOOL_MSG_KERNEL_CNT - 1 +}; +#define ETHTOOL_FLAG_COMPACT_BITSETS (1 << 0) +#define ETHTOOL_FLAG_OMIT_REPLY (1 << 1) +#define ETHTOOL_FLAG_STATS (1 << 2) +#define ETHTOOL_FLAG_ALL (ETHTOOL_FLAG_COMPACT_BITSETS | \ + ETHTOOL_FLAG_OMIT_REPLY | \ + ETHTOOL_FLAG_STATS) +enum { + ETHTOOL_A_HEADER_UNSPEC, + ETHTOOL_A_HEADER_DEV_INDEX, + ETHTOOL_A_HEADER_DEV_NAME, + ETHTOOL_A_HEADER_FLAGS, + + __ETHTOOL_A_HEADER_CNT, + ETHTOOL_A_HEADER_MAX = __ETHTOOL_A_HEADER_CNT - 1 +}; +enum { + ETHTOOL_A_BITSET_BIT_UNSPEC, + ETHTOOL_A_BITSET_BIT_INDEX, + ETHTOOL_A_BITSET_BIT_NAME, + ETHTOOL_A_BITSET_BIT_VALUE, + + __ETHTOOL_A_BITSET_BIT_CNT, + ETHTOOL_A_BITSET_BIT_MAX = __ETHTOOL_A_BITSET_BIT_CNT - 1 +}; +enum { + ETHTOOL_A_BITSET_BITS_UNSPEC, + ETHTOOL_A_BITSET_BITS_BIT, + + __ETHTOOL_A_BITSET_BITS_CNT, + ETHTOOL_A_BITSET_BITS_MAX = __ETHTOOL_A_BITSET_BITS_CNT - 1 +}; +enum { + ETHTOOL_A_BITSET_UNSPEC, + ETHTOOL_A_BITSET_NOMASK, + ETHTOOL_A_BITSET_SIZE, + ETHTOOL_A_BITSET_BITS, + ETHTOOL_A_BITSET_VALUE, + ETHTOOL_A_BITSET_MASK, + + __ETHTOOL_A_BITSET_CNT, + ETHTOOL_A_BITSET_MAX = __ETHTOOL_A_BITSET_CNT - 1 +}; +enum { + ETHTOOL_A_STRING_UNSPEC, + ETHTOOL_A_STRING_INDEX, + ETHTOOL_A_STRING_VALUE, + + __ETHTOOL_A_STRING_CNT, + ETHTOOL_A_STRING_MAX = __ETHTOOL_A_STRING_CNT - 1 +}; +enum { + ETHTOOL_A_STRINGS_UNSPEC, + ETHTOOL_A_STRINGS_STRING, + + __ETHTOOL_A_STRINGS_CNT, + ETHTOOL_A_STRINGS_MAX = __ETHTOOL_A_STRINGS_CNT - 1 +}; +enum { + ETHTOOL_A_STRINGSET_UNSPEC, + ETHTOOL_A_STRINGSET_ID, + ETHTOOL_A_STRINGSET_COUNT, + ETHTOOL_A_STRINGSET_STRINGS, + + __ETHTOOL_A_STRINGSET_CNT, + ETHTOOL_A_STRINGSET_MAX = __ETHTOOL_A_STRINGSET_CNT - 1 +}; +enum { + ETHTOOL_A_STRINGSETS_UNSPEC, + ETHTOOL_A_STRINGSETS_STRINGSET, + + __ETHTOOL_A_STRINGSETS_CNT, + ETHTOOL_A_STRINGSETS_MAX = __ETHTOOL_A_STRINGSETS_CNT - 1 +}; +enum { + ETHTOOL_A_STRSET_UNSPEC, + ETHTOOL_A_STRSET_HEADER, + ETHTOOL_A_STRSET_STRINGSETS, + ETHTOOL_A_STRSET_COUNTS_ONLY, + + __ETHTOOL_A_STRSET_CNT, + ETHTOOL_A_STRSET_MAX = __ETHTOOL_A_STRSET_CNT - 1 +}; +enum { + ETHTOOL_A_LINKINFO_UNSPEC, + ETHTOOL_A_LINKINFO_HEADER, + ETHTOOL_A_LINKINFO_PORT, + ETHTOOL_A_LINKINFO_PHYADDR, + ETHTOOL_A_LINKINFO_TP_MDIX, + ETHTOOL_A_LINKINFO_TP_MDIX_CTRL, + ETHTOOL_A_LINKINFO_TRANSCEIVER, + + __ETHTOOL_A_LINKINFO_CNT, + ETHTOOL_A_LINKINFO_MAX = __ETHTOOL_A_LINKINFO_CNT - 1 +}; +enum { + ETHTOOL_A_LINKMODES_UNSPEC, + ETHTOOL_A_LINKMODES_HEADER, + ETHTOOL_A_LINKMODES_AUTONEG, + ETHTOOL_A_LINKMODES_OURS, + ETHTOOL_A_LINKMODES_PEER, + ETHTOOL_A_LINKMODES_SPEED, + ETHTOOL_A_LINKMODES_DUPLEX, + ETHTOOL_A_LINKMODES_MASTER_SLAVE_CFG, + ETHTOOL_A_LINKMODES_MASTER_SLAVE_STATE, + + __ETHTOOL_A_LINKMODES_CNT, + ETHTOOL_A_LINKMODES_MAX = __ETHTOOL_A_LINKMODES_CNT - 1 +}; +enum { + ETHTOOL_A_LINKSTATE_UNSPEC, + ETHTOOL_A_LINKSTATE_HEADER, + ETHTOOL_A_LINKSTATE_LINK, + ETHTOOL_A_LINKSTATE_SQI, + ETHTOOL_A_LINKSTATE_SQI_MAX, + ETHTOOL_A_LINKSTATE_EXT_STATE, + ETHTOOL_A_LINKSTATE_EXT_SUBSTATE, + + __ETHTOOL_A_LINKSTATE_CNT, + ETHTOOL_A_LINKSTATE_MAX = __ETHTOOL_A_LINKSTATE_CNT - 1 +}; +enum { + ETHTOOL_A_DEBUG_UNSPEC, + ETHTOOL_A_DEBUG_HEADER, + ETHTOOL_A_DEBUG_MSGMASK, + + __ETHTOOL_A_DEBUG_CNT, + ETHTOOL_A_DEBUG_MAX = __ETHTOOL_A_DEBUG_CNT - 1 +}; +enum { + ETHTOOL_A_WOL_UNSPEC, + ETHTOOL_A_WOL_HEADER, + ETHTOOL_A_WOL_MODES, + ETHTOOL_A_WOL_SOPASS, + + __ETHTOOL_A_WOL_CNT, + ETHTOOL_A_WOL_MAX = __ETHTOOL_A_WOL_CNT - 1 +}; +enum { + ETHTOOL_A_FEATURES_UNSPEC, + ETHTOOL_A_FEATURES_HEADER, + ETHTOOL_A_FEATURES_HW, + ETHTOOL_A_FEATURES_WANTED, + ETHTOOL_A_FEATURES_ACTIVE, + ETHTOOL_A_FEATURES_NOCHANGE, + + __ETHTOOL_A_FEATURES_CNT, + ETHTOOL_A_FEATURES_MAX = __ETHTOOL_A_FEATURES_CNT - 1 +}; +enum { + ETHTOOL_A_PRIVFLAGS_UNSPEC, + ETHTOOL_A_PRIVFLAGS_HEADER, + ETHTOOL_A_PRIVFLAGS_FLAGS, + + __ETHTOOL_A_PRIVFLAGS_CNT, + ETHTOOL_A_PRIVFLAGS_MAX = __ETHTOOL_A_PRIVFLAGS_CNT - 1 +}; +enum { + ETHTOOL_A_RINGS_UNSPEC, + ETHTOOL_A_RINGS_HEADER, + ETHTOOL_A_RINGS_RX_MAX, + ETHTOOL_A_RINGS_RX_MINI_MAX, + ETHTOOL_A_RINGS_RX_JUMBO_MAX, + ETHTOOL_A_RINGS_TX_MAX, + ETHTOOL_A_RINGS_RX, + ETHTOOL_A_RINGS_RX_MINI, + ETHTOOL_A_RINGS_RX_JUMBO, + ETHTOOL_A_RINGS_TX, + + __ETHTOOL_A_RINGS_CNT, + ETHTOOL_A_RINGS_MAX = (__ETHTOOL_A_RINGS_CNT - 1) +}; +enum { + ETHTOOL_A_CHANNELS_UNSPEC, + ETHTOOL_A_CHANNELS_HEADER, + ETHTOOL_A_CHANNELS_RX_MAX, + ETHTOOL_A_CHANNELS_TX_MAX, + ETHTOOL_A_CHANNELS_OTHER_MAX, + ETHTOOL_A_CHANNELS_COMBINED_MAX, + ETHTOOL_A_CHANNELS_RX_COUNT, + ETHTOOL_A_CHANNELS_TX_COUNT, + ETHTOOL_A_CHANNELS_OTHER_COUNT, + ETHTOOL_A_CHANNELS_COMBINED_COUNT, + + __ETHTOOL_A_CHANNELS_CNT, + ETHTOOL_A_CHANNELS_MAX = (__ETHTOOL_A_CHANNELS_CNT - 1) +}; +enum { + ETHTOOL_A_COALESCE_UNSPEC, + ETHTOOL_A_COALESCE_HEADER, + ETHTOOL_A_COALESCE_RX_USECS, + ETHTOOL_A_COALESCE_RX_MAX_FRAMES, + ETHTOOL_A_COALESCE_RX_USECS_IRQ, + ETHTOOL_A_COALESCE_RX_MAX_FRAMES_IRQ, + ETHTOOL_A_COALESCE_TX_USECS, + ETHTOOL_A_COALESCE_TX_MAX_FRAMES, + ETHTOOL_A_COALESCE_TX_USECS_IRQ, + ETHTOOL_A_COALESCE_TX_MAX_FRAMES_IRQ, + ETHTOOL_A_COALESCE_STATS_BLOCK_USECS, + ETHTOOL_A_COALESCE_USE_ADAPTIVE_RX, + ETHTOOL_A_COALESCE_USE_ADAPTIVE_TX, + ETHTOOL_A_COALESCE_PKT_RATE_LOW, + ETHTOOL_A_COALESCE_RX_USECS_LOW, + ETHTOOL_A_COALESCE_RX_MAX_FRAMES_LOW, + ETHTOOL_A_COALESCE_TX_USECS_LOW, + ETHTOOL_A_COALESCE_TX_MAX_FRAMES_LOW, + ETHTOOL_A_COALESCE_PKT_RATE_HIGH, + ETHTOOL_A_COALESCE_RX_USECS_HIGH, + ETHTOOL_A_COALESCE_RX_MAX_FRAMES_HIGH, + ETHTOOL_A_COALESCE_TX_USECS_HIGH, + ETHTOOL_A_COALESCE_TX_MAX_FRAMES_HIGH, + ETHTOOL_A_COALESCE_RATE_SAMPLE_INTERVAL, + + __ETHTOOL_A_COALESCE_CNT, + ETHTOOL_A_COALESCE_MAX = (__ETHTOOL_A_COALESCE_CNT - 1) +}; +enum { + ETHTOOL_A_PAUSE_UNSPEC, + ETHTOOL_A_PAUSE_HEADER, + ETHTOOL_A_PAUSE_AUTONEG, + ETHTOOL_A_PAUSE_RX, + ETHTOOL_A_PAUSE_TX, + ETHTOOL_A_PAUSE_STATS, + + __ETHTOOL_A_PAUSE_CNT, + ETHTOOL_A_PAUSE_MAX = (__ETHTOOL_A_PAUSE_CNT - 1) +}; +enum { + ETHTOOL_A_PAUSE_STAT_UNSPEC, + ETHTOOL_A_PAUSE_STAT_PAD, + ETHTOOL_A_PAUSE_STAT_TX_FRAMES, + ETHTOOL_A_PAUSE_STAT_RX_FRAMES, + + __ETHTOOL_A_PAUSE_STAT_CNT, + ETHTOOL_A_PAUSE_STAT_MAX = (__ETHTOOL_A_PAUSE_STAT_CNT - 1) +}; +enum { + ETHTOOL_A_EEE_UNSPEC, + ETHTOOL_A_EEE_HEADER, + ETHTOOL_A_EEE_MODES_OURS, + ETHTOOL_A_EEE_MODES_PEER, + ETHTOOL_A_EEE_ACTIVE, + ETHTOOL_A_EEE_ENABLED, + ETHTOOL_A_EEE_TX_LPI_ENABLED, + ETHTOOL_A_EEE_TX_LPI_TIMER, + + __ETHTOOL_A_EEE_CNT, + ETHTOOL_A_EEE_MAX = (__ETHTOOL_A_EEE_CNT - 1) +}; +enum { + ETHTOOL_A_TSINFO_UNSPEC, + ETHTOOL_A_TSINFO_HEADER, + ETHTOOL_A_TSINFO_TIMESTAMPING, + ETHTOOL_A_TSINFO_TX_TYPES, + ETHTOOL_A_TSINFO_RX_FILTERS, + ETHTOOL_A_TSINFO_PHC_INDEX, + + __ETHTOOL_A_TSINFO_CNT, + ETHTOOL_A_TSINFO_MAX = (__ETHTOOL_A_TSINFO_CNT - 1) +}; +enum { + ETHTOOL_A_CABLE_TEST_UNSPEC, + ETHTOOL_A_CABLE_TEST_HEADER, + + __ETHTOOL_A_CABLE_TEST_CNT, + ETHTOOL_A_CABLE_TEST_MAX = __ETHTOOL_A_CABLE_TEST_CNT - 1 +}; +enum { + ETHTOOL_A_CABLE_RESULT_CODE_UNSPEC, + ETHTOOL_A_CABLE_RESULT_CODE_OK, + ETHTOOL_A_CABLE_RESULT_CODE_OPEN, + ETHTOOL_A_CABLE_RESULT_CODE_SAME_SHORT, + ETHTOOL_A_CABLE_RESULT_CODE_CROSS_SHORT, +}; +enum { + ETHTOOL_A_CABLE_PAIR_A, + ETHTOOL_A_CABLE_PAIR_B, + ETHTOOL_A_CABLE_PAIR_C, + ETHTOOL_A_CABLE_PAIR_D, +}; +enum { + ETHTOOL_A_CABLE_RESULT_UNSPEC, + ETHTOOL_A_CABLE_RESULT_PAIR, + ETHTOOL_A_CABLE_RESULT_CODE, + __ETHTOOL_A_CABLE_RESULT_CNT, + ETHTOOL_A_CABLE_RESULT_MAX = (__ETHTOOL_A_CABLE_RESULT_CNT - 1) +}; +enum { + ETHTOOL_A_CABLE_FAULT_LENGTH_UNSPEC, + ETHTOOL_A_CABLE_FAULT_LENGTH_PAIR, + ETHTOOL_A_CABLE_FAULT_LENGTH_CM, + __ETHTOOL_A_CABLE_FAULT_LENGTH_CNT, + ETHTOOL_A_CABLE_FAULT_LENGTH_MAX = (__ETHTOOL_A_CABLE_FAULT_LENGTH_CNT - 1) +}; +enum { + ETHTOOL_A_CABLE_TEST_NTF_STATUS_UNSPEC, + ETHTOOL_A_CABLE_TEST_NTF_STATUS_STARTED, + ETHTOOL_A_CABLE_TEST_NTF_STATUS_COMPLETED +}; +enum { + ETHTOOL_A_CABLE_NEST_UNSPEC, + ETHTOOL_A_CABLE_NEST_RESULT, + ETHTOOL_A_CABLE_NEST_FAULT_LENGTH, + __ETHTOOL_A_CABLE_NEST_CNT, + ETHTOOL_A_CABLE_NEST_MAX = (__ETHTOOL_A_CABLE_NEST_CNT - 1) +}; +enum { + ETHTOOL_A_CABLE_TEST_NTF_UNSPEC, + ETHTOOL_A_CABLE_TEST_NTF_HEADER, + ETHTOOL_A_CABLE_TEST_NTF_STATUS, + ETHTOOL_A_CABLE_TEST_NTF_NEST, + __ETHTOOL_A_CABLE_TEST_NTF_CNT, + ETHTOOL_A_CABLE_TEST_NTF_MAX = (__ETHTOOL_A_CABLE_TEST_NTF_CNT - 1) +}; +enum { + ETHTOOL_A_CABLE_TEST_TDR_CFG_UNSPEC, + ETHTOOL_A_CABLE_TEST_TDR_CFG_FIRST, + ETHTOOL_A_CABLE_TEST_TDR_CFG_LAST, + ETHTOOL_A_CABLE_TEST_TDR_CFG_STEP, + ETHTOOL_A_CABLE_TEST_TDR_CFG_PAIR, + + __ETHTOOL_A_CABLE_TEST_TDR_CFG_CNT, + ETHTOOL_A_CABLE_TEST_TDR_CFG_MAX = __ETHTOOL_A_CABLE_TEST_TDR_CFG_CNT - 1 +}; +enum { + ETHTOOL_A_CABLE_TEST_TDR_UNSPEC, + ETHTOOL_A_CABLE_TEST_TDR_HEADER, + ETHTOOL_A_CABLE_TEST_TDR_CFG, + + __ETHTOOL_A_CABLE_TEST_TDR_CNT, + ETHTOOL_A_CABLE_TEST_TDR_MAX = __ETHTOOL_A_CABLE_TEST_TDR_CNT - 1 +}; +enum { + ETHTOOL_A_CABLE_AMPLITUDE_UNSPEC, + ETHTOOL_A_CABLE_AMPLITUDE_PAIR, + ETHTOOL_A_CABLE_AMPLITUDE_mV, + __ETHTOOL_A_CABLE_AMPLITUDE_CNT, + ETHTOOL_A_CABLE_AMPLITUDE_MAX = (__ETHTOOL_A_CABLE_AMPLITUDE_CNT - 1) +}; +enum { + ETHTOOL_A_CABLE_PULSE_UNSPEC, + ETHTOOL_A_CABLE_PULSE_mV, + __ETHTOOL_A_CABLE_PULSE_CNT, + ETHTOOL_A_CABLE_PULSE_MAX = (__ETHTOOL_A_CABLE_PULSE_CNT - 1) +}; +enum { + ETHTOOL_A_CABLE_STEP_UNSPEC, + ETHTOOL_A_CABLE_STEP_FIRST_DISTANCE, + ETHTOOL_A_CABLE_STEP_LAST_DISTANCE, + ETHTOOL_A_CABLE_STEP_STEP_DISTANCE, + __ETHTOOL_A_CABLE_STEP_CNT, + ETHTOOL_A_CABLE_STEP_MAX = (__ETHTOOL_A_CABLE_STEP_CNT - 1) +}; +enum { + ETHTOOL_A_CABLE_TDR_NEST_UNSPEC, + ETHTOOL_A_CABLE_TDR_NEST_STEP, + ETHTOOL_A_CABLE_TDR_NEST_AMPLITUDE, + ETHTOOL_A_CABLE_TDR_NEST_PULSE, + __ETHTOOL_A_CABLE_TDR_NEST_CNT, + ETHTOOL_A_CABLE_TDR_NEST_MAX = (__ETHTOOL_A_CABLE_TDR_NEST_CNT - 1) +}; +enum { + ETHTOOL_A_CABLE_TEST_TDR_NTF_UNSPEC, + ETHTOOL_A_CABLE_TEST_TDR_NTF_HEADER, + ETHTOOL_A_CABLE_TEST_TDR_NTF_STATUS, + ETHTOOL_A_CABLE_TEST_TDR_NTF_NEST, + + __ETHTOOL_A_CABLE_TEST_TDR_NTF_CNT, + ETHTOOL_A_CABLE_TEST_TDR_NTF_MAX = __ETHTOOL_A_CABLE_TEST_TDR_NTF_CNT - 1 +}; +enum { + ETHTOOL_UDP_TUNNEL_TYPE_VXLAN, + ETHTOOL_UDP_TUNNEL_TYPE_GENEVE, + ETHTOOL_UDP_TUNNEL_TYPE_VXLAN_GPE, + __ETHTOOL_UDP_TUNNEL_TYPE_CNT +}; +enum { + ETHTOOL_A_TUNNEL_UDP_ENTRY_UNSPEC, + ETHTOOL_A_TUNNEL_UDP_ENTRY_PORT, + ETHTOOL_A_TUNNEL_UDP_ENTRY_TYPE, + + __ETHTOOL_A_TUNNEL_UDP_ENTRY_CNT, + ETHTOOL_A_TUNNEL_UDP_ENTRY_MAX = (__ETHTOOL_A_TUNNEL_UDP_ENTRY_CNT - 1) +}; +enum { + ETHTOOL_A_TUNNEL_UDP_TABLE_UNSPEC, + ETHTOOL_A_TUNNEL_UDP_TABLE_SIZE, + ETHTOOL_A_TUNNEL_UDP_TABLE_TYPES, + ETHTOOL_A_TUNNEL_UDP_TABLE_ENTRY, + + __ETHTOOL_A_TUNNEL_UDP_TABLE_CNT, + ETHTOOL_A_TUNNEL_UDP_TABLE_MAX = (__ETHTOOL_A_TUNNEL_UDP_TABLE_CNT - 1) +}; +enum { + ETHTOOL_A_TUNNEL_UDP_UNSPEC, + ETHTOOL_A_TUNNEL_UDP_TABLE, + + __ETHTOOL_A_TUNNEL_UDP_CNT, + ETHTOOL_A_TUNNEL_UDP_MAX = (__ETHTOOL_A_TUNNEL_UDP_CNT - 1) +}; +enum { + ETHTOOL_A_TUNNEL_INFO_UNSPEC, + ETHTOOL_A_TUNNEL_INFO_HEADER, + ETHTOOL_A_TUNNEL_INFO_UDP_PORTS, + + __ETHTOOL_A_TUNNEL_INFO_CNT, + ETHTOOL_A_TUNNEL_INFO_MAX = (__ETHTOOL_A_TUNNEL_INFO_CNT - 1) +}; +#define ETHTOOL_GENL_NAME "ethtool" +#define ETHTOOL_GENL_VERSION 1 +#define ETHTOOL_MCGRP_MONITOR_NAME "monitor" +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/eventpoll.h b/linux-5.10/prebuilts/usr/include/linux/eventpoll.h new file mode 100644 index 0000000..d0d5118 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/eventpoll.h @@ -0,0 +1,51 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI_LINUX_EVENTPOLL_H +#define _UAPI_LINUX_EVENTPOLL_H +#include +#include +#define EPOLL_CLOEXEC O_CLOEXEC +#define EPOLL_CTL_ADD 1 +#define EPOLL_CTL_DEL 2 +#define EPOLL_CTL_MOD 3 +#define EPOLLIN (__force __poll_t)0x00000001 +#define EPOLLPRI (__force __poll_t)0x00000002 +#define EPOLLOUT (__force __poll_t)0x00000004 +#define EPOLLERR (__force __poll_t)0x00000008 +#define EPOLLHUP (__force __poll_t)0x00000010 +#define EPOLLNVAL (__force __poll_t)0x00000020 +#define EPOLLRDNORM (__force __poll_t)0x00000040 +#define EPOLLRDBAND (__force __poll_t)0x00000080 +#define EPOLLWRNORM (__force __poll_t)0x00000100 +#define EPOLLWRBAND (__force __poll_t)0x00000200 +#define EPOLLMSG (__force __poll_t)0x00000400 +#define EPOLLRDHUP (__force __poll_t)0x00002000 +#define EPOLLEXCLUSIVE ((__force __poll_t)(1U << 28)) +#define EPOLLWAKEUP ((__force __poll_t)(1U << 29)) +#define EPOLLONESHOT ((__force __poll_t)(1U << 30)) +#define EPOLLET ((__force __poll_t)(1U << 31)) +#ifdef __x86_64__ +#define EPOLL_PACKED __attribute__((packed)) +#else +#define EPOLL_PACKED +#endif +struct epoll_event { + __poll_t events; + __u64 data; +} EPOLL_PACKED; +#ifdef CONFIG_PM_SLEEP +static inline void ep_take_care_of_epollwakeup(struct epoll_event *epev) +{ + if ((epev->events & EPOLLWAKEUP) && !capable(CAP_BLOCK_SUSPEND)) + epev->events &= ~EPOLLWAKEUP; +} +#else +static inline void ep_take_care_of_epollwakeup(struct epoll_event *epev) +{ + epev->events &= ~EPOLLWAKEUP; +} +#endif +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/f2fs.h b/linux-5.10/prebuilts/usr/include/linux/f2fs.h new file mode 100644 index 0000000..e8e82df --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/f2fs.h @@ -0,0 +1,71 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI_LINUX_F2FS_H +#define _UAPI_LINUX_F2FS_H +#include +#include +#define F2FS_IOCTL_MAGIC 0xf5 +#define F2FS_IOC_START_ATOMIC_WRITE _IO(F2FS_IOCTL_MAGIC, 1) +#define F2FS_IOC_COMMIT_ATOMIC_WRITE _IO(F2FS_IOCTL_MAGIC, 2) +#define F2FS_IOC_START_VOLATILE_WRITE _IO(F2FS_IOCTL_MAGIC, 3) +#define F2FS_IOC_RELEASE_VOLATILE_WRITE _IO(F2FS_IOCTL_MAGIC, 4) +#define F2FS_IOC_ABORT_VOLATILE_WRITE _IO(F2FS_IOCTL_MAGIC, 5) +#define F2FS_IOC_GARBAGE_COLLECT _IOW(F2FS_IOCTL_MAGIC, 6, __u32) +#define F2FS_IOC_WRITE_CHECKPOINT _IO(F2FS_IOCTL_MAGIC, 7) +#define F2FS_IOC_DEFRAGMENT _IOWR(F2FS_IOCTL_MAGIC, 8, \ + struct f2fs_defragment) +#define F2FS_IOC_MOVE_RANGE _IOWR(F2FS_IOCTL_MAGIC, 9, \ + struct f2fs_move_range) +#define F2FS_IOC_FLUSH_DEVICE _IOW(F2FS_IOCTL_MAGIC, 10, \ + struct f2fs_flush_device) +#define F2FS_IOC_GARBAGE_COLLECT_RANGE _IOW(F2FS_IOCTL_MAGIC, 11, \ + struct f2fs_gc_range) +#define F2FS_IOC_GET_FEATURES _IOR(F2FS_IOCTL_MAGIC, 12, __u32) +#define F2FS_IOC_SET_PIN_FILE _IOW(F2FS_IOCTL_MAGIC, 13, __u32) +#define F2FS_IOC_GET_PIN_FILE _IOR(F2FS_IOCTL_MAGIC, 14, __u32) +#define F2FS_IOC_PRECACHE_EXTENTS _IO(F2FS_IOCTL_MAGIC, 15) +#define F2FS_IOC_RESIZE_FS _IOW(F2FS_IOCTL_MAGIC, 16, __u64) +#define F2FS_IOC_GET_COMPRESS_BLOCKS _IOR(F2FS_IOCTL_MAGIC, 17, __u64) +#define F2FS_IOC_RELEASE_COMPRESS_BLOCKS \ + _IOR(F2FS_IOCTL_MAGIC, 18, __u64) +#define F2FS_IOC_RESERVE_COMPRESS_BLOCKS \ + _IOR(F2FS_IOCTL_MAGIC, 19, __u64) +#define F2FS_IOC_SEC_TRIM_FILE _IOW(F2FS_IOCTL_MAGIC, 20, \ + struct f2fs_sectrim_range) +#define F2FS_IOC_SHUTDOWN _IOR('X', 125, __u32) +#define F2FS_GOING_DOWN_FULLSYNC 0x0 +#define F2FS_GOING_DOWN_METASYNC 0x1 +#define F2FS_GOING_DOWN_NOSYNC 0x2 +#define F2FS_GOING_DOWN_METAFLUSH 0x3 +#define F2FS_GOING_DOWN_NEED_FSCK 0x4 +#define F2FS_TRIM_FILE_DISCARD 0x1 +#define F2FS_TRIM_FILE_ZEROOUT 0x2 +#define F2FS_TRIM_FILE_MASK 0x3 +struct f2fs_gc_range { + __u32 sync; + __u64 start; + __u64 len; +}; +struct f2fs_defragment { + __u64 start; + __u64 len; +}; +struct f2fs_move_range { + __u32 dst_fd; + __u64 pos_in; + __u64 pos_out; + __u64 len; +}; +struct f2fs_flush_device { + __u32 dev_num; + __u32 segments; +}; +struct f2fs_sectrim_range { + __u64 start; + __u64 len; + __u64 flags; +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/fadvise.h b/linux-5.10/prebuilts/usr/include/linux/fadvise.h new file mode 100644 index 0000000..707844e --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/fadvise.h @@ -0,0 +1,19 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef FADVISE_H_INCLUDED +#define FADVISE_H_INCLUDED +#define POSIX_FADV_NORMAL 0 +#define POSIX_FADV_RANDOM 1 +#define POSIX_FADV_SEQUENTIAL 2 +#define POSIX_FADV_WILLNEED 3 +#if defined(__s390x__) +#define POSIX_FADV_DONTNEED 6 +#define POSIX_FADV_NOREUSE 7 +#else +#define POSIX_FADV_DONTNEED 4 +#define POSIX_FADV_NOREUSE 5 +#endif +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/falloc.h b/linux-5.10/prebuilts/usr/include/linux/falloc.h new file mode 100644 index 0000000..1ed125c --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/falloc.h @@ -0,0 +1,15 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI_FALLOC_H_ +#define _UAPI_FALLOC_H_ +#define FALLOC_FL_KEEP_SIZE 0x01 +#define FALLOC_FL_PUNCH_HOLE 0x02 +#define FALLOC_FL_NO_HIDE_STALE 0x04 +#define FALLOC_FL_COLLAPSE_RANGE 0x08 +#define FALLOC_FL_ZERO_RANGE 0x10 +#define FALLOC_FL_INSERT_RANGE 0x20 +#define FALLOC_FL_UNSHARE_RANGE 0x40 +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/fanotify.h b/linux-5.10/prebuilts/usr/include/linux/fanotify.h new file mode 100644 index 0000000..d8a5434 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/fanotify.h @@ -0,0 +1,114 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI_LINUX_FANOTIFY_H +#define _UAPI_LINUX_FANOTIFY_H +#include +#define FAN_ACCESS 0x00000001 +#define FAN_MODIFY 0x00000002 +#define FAN_ATTRIB 0x00000004 +#define FAN_CLOSE_WRITE 0x00000008 +#define FAN_CLOSE_NOWRITE 0x00000010 +#define FAN_OPEN 0x00000020 +#define FAN_MOVED_FROM 0x00000040 +#define FAN_MOVED_TO 0x00000080 +#define FAN_CREATE 0x00000100 +#define FAN_DELETE 0x00000200 +#define FAN_DELETE_SELF 0x00000400 +#define FAN_MOVE_SELF 0x00000800 +#define FAN_OPEN_EXEC 0x00001000 +#define FAN_Q_OVERFLOW 0x00004000 +#define FAN_OPEN_PERM 0x00010000 +#define FAN_ACCESS_PERM 0x00020000 +#define FAN_OPEN_EXEC_PERM 0x00040000 +#define FAN_EVENT_ON_CHILD 0x08000000 +#define FAN_ONDIR 0x40000000 +#define FAN_CLOSE (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE) +#define FAN_MOVE (FAN_MOVED_FROM | FAN_MOVED_TO) +#define FAN_CLOEXEC 0x00000001 +#define FAN_NONBLOCK 0x00000002 +#define FAN_CLASS_NOTIF 0x00000000 +#define FAN_CLASS_CONTENT 0x00000004 +#define FAN_CLASS_PRE_CONTENT 0x00000008 +#define FAN_ALL_CLASS_BITS (FAN_CLASS_NOTIF | FAN_CLASS_CONTENT | \ + FAN_CLASS_PRE_CONTENT) +#define FAN_UNLIMITED_QUEUE 0x00000010 +#define FAN_UNLIMITED_MARKS 0x00000020 +#define FAN_ENABLE_AUDIT 0x00000040 +#define FAN_REPORT_TID 0x00000100 +#define FAN_REPORT_FID 0x00000200 +#define FAN_REPORT_DIR_FID 0x00000400 +#define FAN_REPORT_NAME 0x00000800 +#define FAN_REPORT_DFID_NAME (FAN_REPORT_DIR_FID | FAN_REPORT_NAME) +#define FAN_ALL_INIT_FLAGS (FAN_CLOEXEC | FAN_NONBLOCK | \ + FAN_ALL_CLASS_BITS | FAN_UNLIMITED_QUEUE |\ + FAN_UNLIMITED_MARKS) +#define FAN_MARK_ADD 0x00000001 +#define FAN_MARK_REMOVE 0x00000002 +#define FAN_MARK_DONT_FOLLOW 0x00000004 +#define FAN_MARK_ONLYDIR 0x00000008 +#define FAN_MARK_IGNORED_MASK 0x00000020 +#define FAN_MARK_IGNORED_SURV_MODIFY 0x00000040 +#define FAN_MARK_FLUSH 0x00000080 +#define FAN_MARK_INODE 0x00000000 +#define FAN_MARK_MOUNT 0x00000010 +#define FAN_MARK_FILESYSTEM 0x00000100 +#define FAN_ALL_MARK_FLAGS (FAN_MARK_ADD |\ + FAN_MARK_REMOVE |\ + FAN_MARK_DONT_FOLLOW |\ + FAN_MARK_ONLYDIR |\ + FAN_MARK_MOUNT |\ + FAN_MARK_IGNORED_MASK |\ + FAN_MARK_IGNORED_SURV_MODIFY |\ + FAN_MARK_FLUSH) +#define FAN_ALL_EVENTS (FAN_ACCESS |\ + FAN_MODIFY |\ + FAN_CLOSE |\ + FAN_OPEN) +#define FAN_ALL_PERM_EVENTS (FAN_OPEN_PERM |\ + FAN_ACCESS_PERM) +#define FAN_ALL_OUTGOING_EVENTS (FAN_ALL_EVENTS |\ + FAN_ALL_PERM_EVENTS |\ + FAN_Q_OVERFLOW) +#define FANOTIFY_METADATA_VERSION 3 +struct fanotify_event_metadata { + __u32 event_len; + __u8 vers; + __u8 reserved; + __u16 metadata_len; + __aligned_u64 mask; + __s32 fd; + __s32 pid; +}; +#define FAN_EVENT_INFO_TYPE_FID 1 +#define FAN_EVENT_INFO_TYPE_DFID_NAME 2 +#define FAN_EVENT_INFO_TYPE_DFID 3 +struct fanotify_event_info_header { + __u8 info_type; + __u8 pad; + __u16 len; +}; +struct fanotify_event_info_fid { + struct fanotify_event_info_header hdr; + __kernel_fsid_t fsid; + + unsigned char handle[0]; +}; +struct fanotify_response { + __s32 fd; + __u32 response; +}; +#define FAN_ALLOW 0x01 +#define FAN_DENY 0x02 +#define FAN_AUDIT 0x10 +#define FAN_NOFD -1 +#define FAN_EVENT_METADATA_LEN (sizeof(struct fanotify_event_metadata)) +#define FAN_EVENT_NEXT(meta, len) ((len) -= (meta)->event_len, \ + (struct fanotify_event_metadata*)(((char *)(meta)) + \ + (meta)->event_len)) +#define FAN_EVENT_OK(meta, len) ((long)(len) >= (long)FAN_EVENT_METADATA_LEN && \ + (long)(meta)->event_len >= (long)FAN_EVENT_METADATA_LEN && \ + (long)(meta)->event_len <= (long)(len)) +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/fb.h b/linux-5.10/prebuilts/usr/include/linux/fb.h new file mode 100644 index 0000000..276a512 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/fb.h @@ -0,0 +1,329 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI_LINUX_FB_H +#define _UAPI_LINUX_FB_H +#include +#include +#define FB_MAX 32 +#define FBIOGET_VSCREENINFO 0x4600 +#define FBIOPUT_VSCREENINFO 0x4601 +#define FBIOGET_FSCREENINFO 0x4602 +#define FBIOGETCMAP 0x4604 +#define FBIOPUTCMAP 0x4605 +#define FBIOPAN_DISPLAY 0x4606 +#ifndef __KERNEL__ +#define FBIO_CURSOR _IOWR('F', 0x08, struct fb_cursor) +#endif +#define FBIOGET_CON2FBMAP 0x460F +#define FBIOPUT_CON2FBMAP 0x4610 +#define FBIOBLANK 0x4611 +#define FBIOGET_VBLANK _IOR('F', 0x12, struct fb_vblank) +#define FBIO_ALLOC 0x4613 +#define FBIO_FREE 0x4614 +#define FBIOGET_GLYPH 0x4615 +#define FBIOGET_HWCINFO 0x4616 +#define FBIOPUT_MODEINFO 0x4617 +#define FBIOGET_DISPINFO 0x4618 +#define FBIO_WAITFORVSYNC _IOW('F', 0x20, __u32) +#define FB_TYPE_PACKED_PIXELS 0 +#define FB_TYPE_PLANES 1 +#define FB_TYPE_INTERLEAVED_PLANES 2 +#define FB_TYPE_TEXT 3 +#define FB_TYPE_VGA_PLANES 4 +#define FB_TYPE_FOURCC 5 +#define FB_AUX_TEXT_MDA 0 +#define FB_AUX_TEXT_CGA 1 +#define FB_AUX_TEXT_S3_MMIO 2 +#define FB_AUX_TEXT_MGA_STEP16 3 +#define FB_AUX_TEXT_MGA_STEP8 4 +#define FB_AUX_TEXT_SVGA_GROUP 8 +#define FB_AUX_TEXT_SVGA_MASK 7 +#define FB_AUX_TEXT_SVGA_STEP2 8 +#define FB_AUX_TEXT_SVGA_STEP4 9 +#define FB_AUX_TEXT_SVGA_STEP8 10 +#define FB_AUX_TEXT_SVGA_STEP16 11 +#define FB_AUX_TEXT_SVGA_LAST 15 +#define FB_AUX_VGA_PLANES_VGA4 0 +#define FB_AUX_VGA_PLANES_CFB4 1 +#define FB_AUX_VGA_PLANES_CFB8 2 +#define FB_VISUAL_MONO01 0 +#define FB_VISUAL_MONO10 1 +#define FB_VISUAL_TRUECOLOR 2 +#define FB_VISUAL_PSEUDOCOLOR 3 +#define FB_VISUAL_DIRECTCOLOR 4 +#define FB_VISUAL_STATIC_PSEUDOCOLOR 5 +#define FB_VISUAL_FOURCC 6 +#define FB_ACCEL_NONE 0 +#define FB_ACCEL_ATARIBLITT 1 +#define FB_ACCEL_AMIGABLITT 2 +#define FB_ACCEL_S3_TRIO64 3 +#define FB_ACCEL_NCR_77C32BLT 4 +#define FB_ACCEL_S3_VIRGE 5 +#define FB_ACCEL_ATI_MACH64GX 6 +#define FB_ACCEL_DEC_TGA 7 +#define FB_ACCEL_ATI_MACH64CT 8 +#define FB_ACCEL_ATI_MACH64VT 9 +#define FB_ACCEL_ATI_MACH64GT 10 +#define FB_ACCEL_SUN_CREATOR 11 +#define FB_ACCEL_SUN_CGSIX 12 +#define FB_ACCEL_SUN_LEO 13 +#define FB_ACCEL_IMS_TWINTURBO 14 +#define FB_ACCEL_3DLABS_PERMEDIA2 15 +#define FB_ACCEL_MATROX_MGA2064W 16 +#define FB_ACCEL_MATROX_MGA1064SG 17 +#define FB_ACCEL_MATROX_MGA2164W 18 +#define FB_ACCEL_MATROX_MGA2164W_AGP 19 +#define FB_ACCEL_MATROX_MGAG100 20 +#define FB_ACCEL_MATROX_MGAG200 21 +#define FB_ACCEL_SUN_CG14 22 +#define FB_ACCEL_SUN_BWTWO 23 +#define FB_ACCEL_SUN_CGTHREE 24 +#define FB_ACCEL_SUN_TCX 25 +#define FB_ACCEL_MATROX_MGAG400 26 +#define FB_ACCEL_NV3 27 +#define FB_ACCEL_NV4 28 +#define FB_ACCEL_NV5 29 +#define FB_ACCEL_CT_6555x 30 +#define FB_ACCEL_3DFX_BANSHEE 31 +#define FB_ACCEL_ATI_RAGE128 32 +#define FB_ACCEL_IGS_CYBER2000 33 +#define FB_ACCEL_IGS_CYBER2010 34 +#define FB_ACCEL_IGS_CYBER5000 35 +#define FB_ACCEL_SIS_GLAMOUR 36 +#define FB_ACCEL_3DLABS_PERMEDIA3 37 +#define FB_ACCEL_ATI_RADEON 38 +#define FB_ACCEL_I810 39 +#define FB_ACCEL_SIS_GLAMOUR_2 40 +#define FB_ACCEL_SIS_XABRE 41 +#define FB_ACCEL_I830 42 +#define FB_ACCEL_NV_10 43 +#define FB_ACCEL_NV_20 44 +#define FB_ACCEL_NV_30 45 +#define FB_ACCEL_NV_40 46 +#define FB_ACCEL_XGI_VOLARI_V 47 +#define FB_ACCEL_XGI_VOLARI_Z 48 +#define FB_ACCEL_OMAP1610 49 +#define FB_ACCEL_TRIDENT_TGUI 50 +#define FB_ACCEL_TRIDENT_3DIMAGE 51 +#define FB_ACCEL_TRIDENT_BLADE3D 52 +#define FB_ACCEL_TRIDENT_BLADEXP 53 +#define FB_ACCEL_CIRRUS_ALPINE 53 +#define FB_ACCEL_NEOMAGIC_NM2070 90 +#define FB_ACCEL_NEOMAGIC_NM2090 91 +#define FB_ACCEL_NEOMAGIC_NM2093 92 +#define FB_ACCEL_NEOMAGIC_NM2097 93 +#define FB_ACCEL_NEOMAGIC_NM2160 94 +#define FB_ACCEL_NEOMAGIC_NM2200 95 +#define FB_ACCEL_NEOMAGIC_NM2230 96 +#define FB_ACCEL_NEOMAGIC_NM2360 97 +#define FB_ACCEL_NEOMAGIC_NM2380 98 +#define FB_ACCEL_PXA3XX 99 +#define FB_ACCEL_SAVAGE4 0x80 +#define FB_ACCEL_SAVAGE3D 0x81 +#define FB_ACCEL_SAVAGE3D_MV 0x82 +#define FB_ACCEL_SAVAGE2000 0x83 +#define FB_ACCEL_SAVAGE_MX_MV 0x84 +#define FB_ACCEL_SAVAGE_MX 0x85 +#define FB_ACCEL_SAVAGE_IX_MV 0x86 +#define FB_ACCEL_SAVAGE_IX 0x87 +#define FB_ACCEL_PROSAVAGE_PM 0x88 +#define FB_ACCEL_PROSAVAGE_KM 0x89 +#define FB_ACCEL_S3TWISTER_P 0x8a +#define FB_ACCEL_S3TWISTER_K 0x8b +#define FB_ACCEL_SUPERSAVAGE 0x8c +#define FB_ACCEL_PROSAVAGE_DDR 0x8d +#define FB_ACCEL_PROSAVAGE_DDRK 0x8e +#define FB_ACCEL_PUV3_UNIGFX 0xa0 +#define FB_CAP_FOURCC 1 +struct fb_fix_screeninfo { + char id[16]; + unsigned long smem_start; + + __u32 smem_len; + __u32 type; + __u32 type_aux; + __u32 visual; + __u16 xpanstep; + __u16 ypanstep; + __u16 ywrapstep; + __u32 line_length; + unsigned long mmio_start; + + __u32 mmio_len; + __u32 accel; + + __u16 capabilities; + __u16 reserved[2]; +}; +struct fb_bitfield { + __u32 offset; + __u32 length; + __u32 msb_right; + +}; +#define FB_NONSTD_HAM 1 +#define FB_NONSTD_REV_PIX_IN_B 2 +#define FB_ACTIVATE_NOW 0 +#define FB_ACTIVATE_NXTOPEN 1 +#define FB_ACTIVATE_TEST 2 +#define FB_ACTIVATE_MASK 15 + +#define FB_ACTIVATE_VBL 16 +#define FB_CHANGE_CMAP_VBL 32 +#define FB_ACTIVATE_ALL 64 +#define FB_ACTIVATE_FORCE 128 +#define FB_ACTIVATE_INV_MODE 256 +#define FB_ACTIVATE_KD_TEXT 512 +#define FB_ACCELF_TEXT 1 +#define FB_SYNC_HOR_HIGH_ACT 1 +#define FB_SYNC_VERT_HIGH_ACT 2 +#define FB_SYNC_EXT 4 +#define FB_SYNC_COMP_HIGH_ACT 8 +#define FB_SYNC_BROADCAST 16 + + +#define FB_SYNC_ON_GREEN 32 +#define FB_VMODE_NONINTERLACED 0 +#define FB_VMODE_INTERLACED 1 +#define FB_VMODE_DOUBLE 2 +#define FB_VMODE_ODD_FLD_FIRST 4 +#define FB_VMODE_MASK 255 +#define FB_VMODE_YWRAP 256 +#define FB_VMODE_SMOOTH_XPAN 512 +#define FB_VMODE_CONUPDATE 512 +#define FB_ROTATE_UR 0 +#define FB_ROTATE_CW 1 +#define FB_ROTATE_UD 2 +#define FB_ROTATE_CCW 3 +#define PICOS2KHZ(a) (1000000000UL/(a)) +#define KHZ2PICOS(a) (1000000000UL/(a)) +struct fb_var_screeninfo { + __u32 xres; + __u32 yres; + __u32 xres_virtual; + __u32 yres_virtual; + __u32 xoffset; + __u32 yoffset; + __u32 bits_per_pixel; + __u32 grayscale; + + struct fb_bitfield red; + struct fb_bitfield green; + struct fb_bitfield blue; + struct fb_bitfield transp; + __u32 nonstd; + __u32 activate; + __u32 height; + __u32 width; + __u32 accel_flags; + + __u32 pixclock; + __u32 left_margin; + __u32 right_margin; + __u32 upper_margin; + __u32 lower_margin; + __u32 hsync_len; + __u32 vsync_len; + __u32 sync; + __u32 vmode; + __u32 rotate; + __u32 colorspace; + __u32 reserved[4]; +}; +struct fb_cmap { + __u32 start; + __u32 len; + __u16 *red; + __u16 *green; + __u16 *blue; + __u16 *transp; +}; +struct fb_con2fbmap { + __u32 console; + __u32 framebuffer; +}; +#define VESA_NO_BLANKING 0 +#define VESA_VSYNC_SUSPEND 1 +#define VESA_HSYNC_SUSPEND 2 +#define VESA_POWERDOWN 3 +enum { + + FB_BLANK_UNBLANK = VESA_NO_BLANKING, + + FB_BLANK_NORMAL = VESA_NO_BLANKING + 1, + + FB_BLANK_VSYNC_SUSPEND = VESA_VSYNC_SUSPEND + 1, + + FB_BLANK_HSYNC_SUSPEND = VESA_HSYNC_SUSPEND + 1, + + FB_BLANK_POWERDOWN = VESA_POWERDOWN + 1 +}; +#define FB_VBLANK_VBLANKING 0x001 +#define FB_VBLANK_HBLANKING 0x002 +#define FB_VBLANK_HAVE_VBLANK 0x004 +#define FB_VBLANK_HAVE_HBLANK 0x008 +#define FB_VBLANK_HAVE_COUNT 0x010 +#define FB_VBLANK_HAVE_VCOUNT 0x020 +#define FB_VBLANK_HAVE_HCOUNT 0x040 +#define FB_VBLANK_VSYNCING 0x080 +#define FB_VBLANK_HAVE_VSYNC 0x100 +struct fb_vblank { + __u32 flags; + __u32 count; + __u32 vcount; + __u32 hcount; + __u32 reserved[4]; +}; +#define ROP_COPY 0 +#define ROP_XOR 1 +struct fb_copyarea { + __u32 dx; + __u32 dy; + __u32 width; + __u32 height; + __u32 sx; + __u32 sy; +}; +struct fb_fillrect { + __u32 dx; + __u32 dy; + __u32 width; + __u32 height; + __u32 color; + __u32 rop; +}; +struct fb_image { + __u32 dx; + __u32 dy; + __u32 width; + __u32 height; + __u32 fg_color; + __u32 bg_color; + __u8 depth; + const char *data; + struct fb_cmap cmap; +}; +#define FB_CUR_SETIMAGE 0x01 +#define FB_CUR_SETPOS 0x02 +#define FB_CUR_SETHOT 0x04 +#define FB_CUR_SETCMAP 0x08 +#define FB_CUR_SETSHAPE 0x10 +#define FB_CUR_SETSIZE 0x20 +#define FB_CUR_SETALL 0xFF +struct fbcurpos { + __u16 x, y; +}; +struct fb_cursor { + __u16 set; + __u16 enable; + __u16 rop; + const char *mask; + struct fbcurpos hot; + struct fb_image image; +}; +#define FB_BACKLIGHT_LEVELS 128 +#define FB_BACKLIGHT_MAX 0xFF +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/fcntl.h b/linux-5.10/prebuilts/usr/include/linux/fcntl.h new file mode 100644 index 0000000..e63321d --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/fcntl.h @@ -0,0 +1,54 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI_LINUX_FCNTL_H +#define _UAPI_LINUX_FCNTL_H +#include +#include +#define F_SETLEASE (F_LINUX_SPECIFIC_BASE + 0) +#define F_GETLEASE (F_LINUX_SPECIFIC_BASE + 1) +#define F_CANCELLK (F_LINUX_SPECIFIC_BASE + 5) +#define F_DUPFD_CLOEXEC (F_LINUX_SPECIFIC_BASE + 6) +#define F_NOTIFY (F_LINUX_SPECIFIC_BASE+2) +#define F_SETPIPE_SZ (F_LINUX_SPECIFIC_BASE + 7) +#define F_GETPIPE_SZ (F_LINUX_SPECIFIC_BASE + 8) +#define F_ADD_SEALS (F_LINUX_SPECIFIC_BASE + 9) +#define F_GET_SEALS (F_LINUX_SPECIFIC_BASE + 10) +#define F_SEAL_SEAL 0x0001 +#define F_SEAL_SHRINK 0x0002 +#define F_SEAL_GROW 0x0004 +#define F_SEAL_WRITE 0x0008 +#define F_SEAL_FUTURE_WRITE 0x0010 +#define F_GET_RW_HINT (F_LINUX_SPECIFIC_BASE + 11) +#define F_SET_RW_HINT (F_LINUX_SPECIFIC_BASE + 12) +#define F_GET_FILE_RW_HINT (F_LINUX_SPECIFIC_BASE + 13) +#define F_SET_FILE_RW_HINT (F_LINUX_SPECIFIC_BASE + 14) +#define RWH_WRITE_LIFE_NOT_SET 0 +#define RWH_WRITE_LIFE_NONE 1 +#define RWH_WRITE_LIFE_SHORT 2 +#define RWH_WRITE_LIFE_MEDIUM 3 +#define RWH_WRITE_LIFE_LONG 4 +#define RWH_WRITE_LIFE_EXTREME 5 +#define RWF_WRITE_LIFE_NOT_SET RWH_WRITE_LIFE_NOT_SET +#define DN_ACCESS 0x00000001 +#define DN_MODIFY 0x00000002 +#define DN_CREATE 0x00000004 +#define DN_DELETE 0x00000008 +#define DN_RENAME 0x00000010 +#define DN_ATTRIB 0x00000020 +#define DN_MULTISHOT 0x80000000 +#define AT_FDCWD -100 +#define AT_SYMLINK_NOFOLLOW 0x100 +#define AT_EACCESS 0x200 +#define AT_REMOVEDIR 0x200 +#define AT_SYMLINK_FOLLOW 0x400 +#define AT_NO_AUTOMOUNT 0x800 +#define AT_EMPTY_PATH 0x1000 +#define AT_STATX_SYNC_TYPE 0x6000 +#define AT_STATX_SYNC_AS_STAT 0x0000 +#define AT_STATX_FORCE_SYNC 0x2000 +#define AT_STATX_DONT_SYNC 0x4000 +#define AT_RECURSIVE 0x8000 +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/fd.h b/linux-5.10/prebuilts/usr/include/linux/fd.h new file mode 100644 index 0000000..1fc0956 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/fd.h @@ -0,0 +1,223 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI_LINUX_FD_H +#define _UAPI_LINUX_FD_H +#include +#include +struct floppy_struct { + unsigned int size, + sect, + head, + track, + stretch; + + + +#define FD_STRETCH 1 +#define FD_SWAPSIDES 2 +#define FD_ZEROBASED 4 +#define FD_SECTBASEMASK 0x3FC +#define FD_MKSECTBASE(s) (((s) ^ 1) << 2) +#define FD_SECTBASE(floppy) ((((floppy)->stretch & FD_SECTBASEMASK) >> 2) ^ 1) + unsigned char gap, + rate, +#define FD_2M 0x4 +#define FD_SIZECODEMASK 0x38 +#define FD_SIZECODE(floppy) (((((floppy)->rate&FD_SIZECODEMASK)>> 3)+ 2) %8) +#define FD_SECTSIZE(floppy) ( (floppy)->rate & FD_2M ? \ + 512 : 128 << FD_SIZECODE(floppy) ) +#define FD_PERP 0x40 + spec1, + fmt_gap; + const char * name; +}; +#define FDCLRPRM _IO(2, 0x41) +#define FDSETPRM _IOW(2, 0x42, struct floppy_struct) +#define FDSETMEDIAPRM FDSETPRM +#define FDDEFPRM _IOW(2, 0x43, struct floppy_struct) +#define FDGETPRM _IOR(2, 0x04, struct floppy_struct) +#define FDDEFMEDIAPRM FDDEFPRM +#define FDGETMEDIAPRM FDGETPRM +#define FDMSGON _IO(2,0x45) +#define FDMSGOFF _IO(2,0x46) +#define FD_FILL_BYTE 0xF6 +struct format_descr { + unsigned int device,head,track; +}; +#define FDFMTBEG _IO(2,0x47) +#define FDFMTTRK _IOW(2,0x48, struct format_descr) +#define FDFMTEND _IO(2,0x49) +struct floppy_max_errors { + unsigned int + abort, + read_track, + reset, + recal, + + reporting; +}; +#define FDSETEMSGTRESH _IO(2,0x4a) +#define FDFLUSH _IO(2,0x4b) +#define FDSETMAXERRS _IOW(2, 0x4c, struct floppy_max_errors) +#define FDGETMAXERRS _IOR(2, 0x0e, struct floppy_max_errors) +typedef char floppy_drive_name[16]; +#define FDGETDRVTYP _IOR(2, 0x0f, floppy_drive_name) +struct floppy_drive_params { + signed char cmos; + + + unsigned long max_dtr; + unsigned long hlt; + unsigned long hut; + unsigned long srt; + unsigned long spinup; + unsigned long spindown; + unsigned char spindown_offset; + unsigned char select_delay; + unsigned char rps; + unsigned char tracks; + unsigned long timeout; + + unsigned char interleave_sect; + + struct floppy_max_errors max_errors; + + char flags; +#define FTD_MSG 0x10 +#define FD_BROKEN_DCL 0x20 +#define FD_DEBUG 0x02 +#define FD_SILENT_DCL_CLEAR 0x4 +#define FD_INVERTED_DCL 0x80 + char read_track; +#define FD_AUTODETECT_SIZE 8 + short autodetect[FD_AUTODETECT_SIZE]; + + int checkfreq; + int native_format; +}; +enum { + FD_NEED_TWADDLE_BIT, + FD_VERIFY_BIT, + FD_DISK_NEWCHANGE_BIT, + FD_UNUSED_BIT, + FD_DISK_CHANGED_BIT, + FD_DISK_WRITABLE_BIT, + FD_OPEN_SHOULD_FAIL_BIT +}; +#define FDSETDRVPRM _IOW(2, 0x90, struct floppy_drive_params) +#define FDGETDRVPRM _IOR(2, 0x11, struct floppy_drive_params) +struct floppy_drive_struct { + unsigned long flags; +#define FD_NEED_TWADDLE (1 << FD_NEED_TWADDLE_BIT) +#define FD_VERIFY (1 << FD_VERIFY_BIT) +#define FD_DISK_NEWCHANGE (1 << FD_DISK_NEWCHANGE_BIT) +#define FD_DISK_CHANGED (1 << FD_DISK_CHANGED_BIT) +#define FD_DISK_WRITABLE (1 << FD_DISK_WRITABLE_BIT) + unsigned long spinup_date; + unsigned long select_date; + unsigned long first_read_date; + short probed_format; + short track; + short maxblock; + short maxtrack; + int generation; + int keep_data; + + + int fd_ref; + int fd_device; + unsigned long last_checked; + + char *dmabuf; + int bufblocks; +}; +#define FDGETDRVSTAT _IOR(2, 0x12, struct floppy_drive_struct) +#define FDPOLLDRVSTAT _IOR(2, 0x13, struct floppy_drive_struct) +enum reset_mode { + FD_RESET_IF_NEEDED, + FD_RESET_IF_RAWCMD, + FD_RESET_ALWAYS +}; +#define FDRESET _IO(2, 0x54) +struct floppy_fdc_state { + int spec1; + int spec2; + int dtr; + unsigned char version; + unsigned char dor; + unsigned long address; + unsigned int rawcmd:2; + unsigned int reset:1; + unsigned int need_configure:1; + unsigned int perp_mode:2; + unsigned int has_fifo:1; + unsigned int driver_version; +#define FD_DRIVER_VERSION 0x100 + unsigned char track[4]; + +}; +#define FDGETFDCSTAT _IOR(2, 0x15, struct floppy_fdc_state) +struct floppy_write_errors { + + unsigned int write_errors; + + + unsigned long first_error_sector; + int first_error_generation; + unsigned long last_error_sector; + int last_error_generation; + + unsigned int badness; +}; +#define FDWERRORCLR _IO(2, 0x56) +#define FDWERRORGET _IOR(2, 0x17, struct floppy_write_errors) +#define FDHAVEBATCHEDRAWCMD +struct floppy_raw_cmd { + unsigned int flags; +#define FD_RAW_READ 1 +#define FD_RAW_WRITE 2 +#define FD_RAW_NO_MOTOR 4 +#define FD_RAW_DISK_CHANGE 4 +#define FD_RAW_INTR 8 +#define FD_RAW_SPIN 0x10 +#define FD_RAW_NO_MOTOR_AFTER 0x20 +#define FD_RAW_NEED_DISK 0x40 +#define FD_RAW_NEED_SEEK 0x80 +#define FD_RAW_MORE 0x100 +#define FD_RAW_STOP_IF_FAILURE 0x200 +#define FD_RAW_STOP_IF_SUCCESS 0x400 +#define FD_RAW_SOFTFAILURE 0x800 +#define FD_RAW_FAILURE 0x10000 +#define FD_RAW_HARDFAILURE 0x20000 + void __user *data; + char *kernel_data; + struct floppy_raw_cmd *next; + long length; + long phys_length; + int buffer_length; + unsigned char rate; +#define FD_RAW_CMD_SIZE 16 +#define FD_RAW_REPLY_SIZE 16 +#define FD_RAW_CMD_FULLSIZE (FD_RAW_CMD_SIZE + 1 + FD_RAW_REPLY_SIZE) + + unsigned char cmd_count; + union { + struct { + unsigned char cmd[FD_RAW_CMD_SIZE]; + unsigned char reply_count; + unsigned char reply[FD_RAW_REPLY_SIZE]; + }; + unsigned char fullcmd[FD_RAW_CMD_FULLSIZE]; + }; + int track; + int resultcode; + int reserved1; + int reserved2; +}; +#define FDRAWCMD _IO(2, 0x58) +#define FDTWADDLE _IO(2, 0x59) +#define FDEJECT _IO(2, 0x5a) +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/fdreg.h b/linux-5.10/prebuilts/usr/include/linux/fdreg.h new file mode 100644 index 0000000..ce6fa35 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/fdreg.h @@ -0,0 +1,87 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _LINUX_FDREG_H +#define _LINUX_FDREG_H +#define FD_SRA 0 +#define FD_SRB 1 +#define FD_DOR 2 +#define FD_TDR 3 +#define FD_DSR 4 +#define FD_STATUS 4 +#define FD_DATA 5 +#define FD_DIR 7 +#define FD_DCR 7 +#define STATUS_BUSYMASK 0x0F +#define STATUS_BUSY 0x10 +#define STATUS_DMA 0x20 +#define STATUS_DIR 0x40 +#define STATUS_READY 0x80 +#define ST0_DS 0x03 +#define ST0_HA 0x04 +#define ST0_NR 0x08 +#define ST0_ECE 0x10 +#define ST0_SE 0x20 +#define ST0_INTR 0xC0 +#define ST1_MAM 0x01 +#define ST1_WP 0x02 +#define ST1_ND 0x04 +#define ST1_OR 0x10 +#define ST1_CRC 0x20 +#define ST1_EOC 0x80 +#define ST2_MAM 0x01 +#define ST2_BC 0x02 +#define ST2_SNS 0x04 +#define ST2_SEH 0x08 +#define ST2_WC 0x10 +#define ST2_CRC 0x20 +#define ST2_CM 0x40 +#define ST3_HA 0x04 +#define ST3_DS 0x08 +#define ST3_TZ 0x10 +#define ST3_RY 0x20 +#define ST3_WP 0x40 +#define ST3_FT 0x80 +#define FD_RECALIBRATE 0x07 +#define FD_SEEK 0x0F +#define FD_READ 0xE6 +#define FD_WRITE 0xC5 +#define FD_SENSEI 0x08 +#define FD_SPECIFY 0x03 +#define FD_FORMAT 0x4D +#define FD_VERSION 0x10 +#define FD_CONFIGURE 0x13 +#define FD_PERPENDICULAR 0x12 +#define FD_GETSTATUS 0x04 +#define FD_DUMPREGS 0x0E +#define FD_READID 0xEA +#define FD_UNLOCK 0x14 +#define FD_LOCK 0x94 +#define FD_RSEEK_OUT 0x8f +#define FD_RSEEK_IN 0xcf +#define FD_PARTID 0x18 +#define FD_SAVE 0x2e +#define FD_DRIVESPEC 0x8e +#define FD_RESTORE 0x4e +#define FD_POWERDOWN 0x27 +#define FD_FORMAT_N_WRITE 0xef +#define FD_OPTION 0x33 +#define DMA_READ 0x46 +#define DMA_WRITE 0x4A +#define FDC_NONE 0x00 +#define FDC_UNKNOWN 0x10 +#define FDC_8272A 0x20 +#define FDC_765ED 0x30 +#define FDC_82072 0x40 +#define FDC_82072A 0x45 +#define FDC_82077_ORIG 0x51 +#define FDC_82077 0x52 +#define FDC_82078_UNKN 0x5f +#define FDC_82078 0x60 +#define FDC_82078_1 0x61 +#define FDC_S82078B 0x62 +#define FDC_87306 0x63 +#define FD_RESET_DELAY 20 +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/fib_rules.h b/linux-5.10/prebuilts/usr/include/linux/fib_rules.h new file mode 100644 index 0000000..ce9b88a --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/fib_rules.h @@ -0,0 +1,79 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef __LINUX_FIB_RULES_H +#define __LINUX_FIB_RULES_H +#include +#include +#define FIB_RULE_PERMANENT 0x00000001 +#define FIB_RULE_INVERT 0x00000002 +#define FIB_RULE_UNRESOLVED 0x00000004 +#define FIB_RULE_IIF_DETACHED 0x00000008 +#define FIB_RULE_DEV_DETACHED FIB_RULE_IIF_DETACHED +#define FIB_RULE_OIF_DETACHED 0x00000010 +#define FIB_RULE_FIND_SADDR 0x00010000 +struct fib_rule_hdr { + __u8 family; + __u8 dst_len; + __u8 src_len; + __u8 tos; + __u8 table; + __u8 res1; + __u8 res2; + __u8 action; + __u32 flags; +}; +struct fib_rule_uid_range { + __u32 start; + __u32 end; +}; +struct fib_rule_port_range { + __u16 start; + __u16 end; +}; +enum { + FRA_UNSPEC, + FRA_DST, + FRA_SRC, + FRA_IIFNAME, +#define FRA_IFNAME FRA_IIFNAME + FRA_GOTO, + FRA_UNUSED2, + FRA_PRIORITY, + FRA_UNUSED3, + FRA_UNUSED4, + FRA_UNUSED5, + FRA_FWMARK, + FRA_FLOW, + FRA_TUN_ID, + FRA_SUPPRESS_IFGROUP, + FRA_SUPPRESS_PREFIXLEN, + FRA_TABLE, + FRA_FWMASK, + FRA_OIFNAME, + FRA_PAD, + FRA_L3MDEV, + FRA_UID_RANGE, + FRA_PROTOCOL, + FRA_IP_PROTO, + FRA_SPORT_RANGE, + FRA_DPORT_RANGE, + __FRA_MAX +}; +#define FRA_MAX (__FRA_MAX - 1) +enum { + FR_ACT_UNSPEC, + FR_ACT_TO_TBL, + FR_ACT_GOTO, + FR_ACT_NOP, + FR_ACT_RES3, + FR_ACT_RES4, + FR_ACT_BLACKHOLE, + FR_ACT_UNREACHABLE, + FR_ACT_PROHIBIT, + __FR_ACT_MAX, +}; +#define FR_ACT_MAX (__FR_ACT_MAX - 1) +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/fiemap.h b/linux-5.10/prebuilts/usr/include/linux/fiemap.h new file mode 100644 index 0000000..18d384a --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/fiemap.h @@ -0,0 +1,42 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI_LINUX_FIEMAP_H +#define _UAPI_LINUX_FIEMAP_H +#include +struct fiemap_extent { + __u64 fe_logical; + __u64 fe_physical; + __u64 fe_length; + __u64 fe_reserved64[2]; + __u32 fe_flags; + __u32 fe_reserved[3]; +}; +struct fiemap { + __u64 fm_start; + __u64 fm_length; + __u32 fm_flags; + __u32 fm_mapped_extents; + __u32 fm_extent_count; + __u32 fm_reserved; + struct fiemap_extent fm_extents[0]; +}; +#define FIEMAP_MAX_OFFSET (~0ULL) +#define FIEMAP_FLAG_SYNC 0x00000001 +#define FIEMAP_FLAG_XATTR 0x00000002 +#define FIEMAP_FLAG_CACHE 0x00000004 +#define FIEMAP_FLAGS_COMPAT (FIEMAP_FLAG_SYNC | FIEMAP_FLAG_XATTR) +#define FIEMAP_EXTENT_LAST 0x00000001 +#define FIEMAP_EXTENT_UNKNOWN 0x00000002 +#define FIEMAP_EXTENT_DELALLOC 0x00000004 +#define FIEMAP_EXTENT_ENCODED 0x00000008 +#define FIEMAP_EXTENT_DATA_ENCRYPTED 0x00000080 +#define FIEMAP_EXTENT_NOT_ALIGNED 0x00000100 +#define FIEMAP_EXTENT_DATA_INLINE 0x00000200 +#define FIEMAP_EXTENT_DATA_TAIL 0x00000400 +#define FIEMAP_EXTENT_UNWRITTEN 0x00000800 +#define FIEMAP_EXTENT_MERGED 0x00001000 +#define FIEMAP_EXTENT_SHARED 0x00002000 +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/filter.h b/linux-5.10/prebuilts/usr/include/linux/filter.h new file mode 100644 index 0000000..d43dd2e --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/filter.h @@ -0,0 +1,58 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI__LINUX_FILTER_H__ +#define _UAPI__LINUX_FILTER_H__ +#include +#include +#include +#define BPF_MAJOR_VERSION 1 +#define BPF_MINOR_VERSION 1 + +struct sock_filter { + __u16 code; + __u8 jt; + __u8 jf; + __u32 k; +}; +struct sock_fprog { + unsigned short len; + struct sock_filter __user *filter; +}; +#define BPF_RVAL(code) ((code) & 0x18) +#define BPF_A 0x10 +#define BPF_MISCOP(code) ((code) & 0xf8) +#define BPF_TAX 0x00 +#define BPF_TXA 0x80 +#ifndef BPF_STMT +#define BPF_STMT(code, k) { (unsigned short)(code), 0, 0, k } +#endif +#ifndef BPF_JUMP +#define BPF_JUMP(code, k, jt, jf) { (unsigned short)(code), jt, jf, k } +#endif +#define BPF_MEMWORDS 16 +#define SKF_AD_OFF (-0x1000) +#define SKF_AD_PROTOCOL 0 +#define SKF_AD_PKTTYPE 4 +#define SKF_AD_IFINDEX 8 +#define SKF_AD_NLATTR 12 +#define SKF_AD_NLATTR_NEST 16 +#define SKF_AD_MARK 20 +#define SKF_AD_QUEUE 24 +#define SKF_AD_HATYPE 28 +#define SKF_AD_RXHASH 32 +#define SKF_AD_CPU 36 +#define SKF_AD_ALU_XOR_X 40 +#define SKF_AD_VLAN_TAG 44 +#define SKF_AD_VLAN_TAG_PRESENT 48 +#define SKF_AD_PAY_OFFSET 52 +#define SKF_AD_RANDOM 56 +#define SKF_AD_VLAN_TPID 60 +#define SKF_AD_MAX 64 +#define SKF_NET_OFF (-0x100000) +#define SKF_LL_OFF (-0x200000) +#define BPF_NET_OFF SKF_NET_OFF +#define BPF_LL_OFF SKF_LL_OFF +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/firewire-cdev.h b/linux-5.10/prebuilts/usr/include/linux/firewire-cdev.h new file mode 100644 index 0000000..7dca45f --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/firewire-cdev.h @@ -0,0 +1,257 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _LINUX_FIREWIRE_CDEV_H +#define _LINUX_FIREWIRE_CDEV_H +#include +#include +#include +#define FW_CDEV_EVENT_BUS_RESET 0x00 +#define FW_CDEV_EVENT_RESPONSE 0x01 +#define FW_CDEV_EVENT_REQUEST 0x02 +#define FW_CDEV_EVENT_ISO_INTERRUPT 0x03 +#define FW_CDEV_EVENT_ISO_RESOURCE_ALLOCATED 0x04 +#define FW_CDEV_EVENT_ISO_RESOURCE_DEALLOCATED 0x05 +#define FW_CDEV_EVENT_REQUEST2 0x06 +#define FW_CDEV_EVENT_PHY_PACKET_SENT 0x07 +#define FW_CDEV_EVENT_PHY_PACKET_RECEIVED 0x08 +#define FW_CDEV_EVENT_ISO_INTERRUPT_MULTICHANNEL 0x09 +struct fw_cdev_event_common { + __u64 closure; + __u32 type; +}; +struct fw_cdev_event_bus_reset { + __u64 closure; + __u32 type; + __u32 node_id; + __u32 local_node_id; + __u32 bm_node_id; + __u32 irm_node_id; + __u32 root_node_id; + __u32 generation; +}; +struct fw_cdev_event_response { + __u64 closure; + __u32 type; + __u32 rcode; + __u32 length; + __u32 data[0]; +}; +struct fw_cdev_event_request { + __u64 closure; + __u32 type; + __u32 tcode; + __u64 offset; + __u32 handle; + __u32 length; + __u32 data[0]; +}; +struct fw_cdev_event_request2 { + __u64 closure; + __u32 type; + __u32 tcode; + __u64 offset; + __u32 source_node_id; + __u32 destination_node_id; + __u32 card; + __u32 generation; + __u32 handle; + __u32 length; + __u32 data[0]; +}; +struct fw_cdev_event_iso_interrupt { + __u64 closure; + __u32 type; + __u32 cycle; + __u32 header_length; + __u32 header[0]; +}; +struct fw_cdev_event_iso_interrupt_mc { + __u64 closure; + __u32 type; + __u32 completed; +}; +struct fw_cdev_event_iso_resource { + __u64 closure; + __u32 type; + __u32 handle; + __s32 channel; + __s32 bandwidth; +}; +struct fw_cdev_event_phy_packet { + __u64 closure; + __u32 type; + __u32 rcode; + __u32 length; + __u32 data[0]; +}; +union fw_cdev_event { + struct fw_cdev_event_common common; + struct fw_cdev_event_bus_reset bus_reset; + struct fw_cdev_event_response response; + struct fw_cdev_event_request request; + struct fw_cdev_event_request2 request2; + struct fw_cdev_event_iso_interrupt iso_interrupt; + struct fw_cdev_event_iso_interrupt_mc iso_interrupt_mc; + struct fw_cdev_event_iso_resource iso_resource; + struct fw_cdev_event_phy_packet phy_packet; +}; +#define FW_CDEV_IOC_GET_INFO _IOWR('#', 0x00, struct fw_cdev_get_info) +#define FW_CDEV_IOC_SEND_REQUEST _IOW('#', 0x01, struct fw_cdev_send_request) +#define FW_CDEV_IOC_ALLOCATE _IOWR('#', 0x02, struct fw_cdev_allocate) +#define FW_CDEV_IOC_DEALLOCATE _IOW('#', 0x03, struct fw_cdev_deallocate) +#define FW_CDEV_IOC_SEND_RESPONSE _IOW('#', 0x04, struct fw_cdev_send_response) +#define FW_CDEV_IOC_INITIATE_BUS_RESET _IOW('#', 0x05, struct fw_cdev_initiate_bus_reset) +#define FW_CDEV_IOC_ADD_DESCRIPTOR _IOWR('#', 0x06, struct fw_cdev_add_descriptor) +#define FW_CDEV_IOC_REMOVE_DESCRIPTOR _IOW('#', 0x07, struct fw_cdev_remove_descriptor) +#define FW_CDEV_IOC_CREATE_ISO_CONTEXT _IOWR('#', 0x08, struct fw_cdev_create_iso_context) +#define FW_CDEV_IOC_QUEUE_ISO _IOWR('#', 0x09, struct fw_cdev_queue_iso) +#define FW_CDEV_IOC_START_ISO _IOW('#', 0x0a, struct fw_cdev_start_iso) +#define FW_CDEV_IOC_STOP_ISO _IOW('#', 0x0b, struct fw_cdev_stop_iso) +#define FW_CDEV_IOC_GET_CYCLE_TIMER _IOR('#', 0x0c, struct fw_cdev_get_cycle_timer) +#define FW_CDEV_IOC_ALLOCATE_ISO_RESOURCE _IOWR('#', 0x0d, struct fw_cdev_allocate_iso_resource) +#define FW_CDEV_IOC_DEALLOCATE_ISO_RESOURCE _IOW('#', 0x0e, struct fw_cdev_deallocate) +#define FW_CDEV_IOC_ALLOCATE_ISO_RESOURCE_ONCE _IOW('#', 0x0f, struct fw_cdev_allocate_iso_resource) +#define FW_CDEV_IOC_DEALLOCATE_ISO_RESOURCE_ONCE _IOW('#', 0x10, struct fw_cdev_allocate_iso_resource) +#define FW_CDEV_IOC_GET_SPEED _IO('#', 0x11) +#define FW_CDEV_IOC_SEND_BROADCAST_REQUEST _IOW('#', 0x12, struct fw_cdev_send_request) +#define FW_CDEV_IOC_SEND_STREAM_PACKET _IOW('#', 0x13, struct fw_cdev_send_stream_packet) +#define FW_CDEV_IOC_GET_CYCLE_TIMER2 _IOWR('#', 0x14, struct fw_cdev_get_cycle_timer2) +#define FW_CDEV_IOC_SEND_PHY_PACKET _IOWR('#', 0x15, struct fw_cdev_send_phy_packet) +#define FW_CDEV_IOC_RECEIVE_PHY_PACKETS _IOW('#', 0x16, struct fw_cdev_receive_phy_packets) +#define FW_CDEV_IOC_SET_ISO_CHANNELS _IOW('#', 0x17, struct fw_cdev_set_iso_channels) +#define FW_CDEV_IOC_FLUSH_ISO _IOW('#', 0x18, struct fw_cdev_flush_iso) +struct fw_cdev_get_info { + __u32 version; + __u32 rom_length; + __u64 rom; + __u64 bus_reset; + __u64 bus_reset_closure; + __u32 card; +}; +struct fw_cdev_send_request { + __u32 tcode; + __u32 length; + __u64 offset; + __u64 closure; + __u64 data; + __u32 generation; +}; +struct fw_cdev_send_response { + __u32 rcode; + __u32 length; + __u64 data; + __u32 handle; +}; +struct fw_cdev_allocate { + __u64 offset; + __u64 closure; + __u32 length; + __u32 handle; + __u64 region_end; +}; +struct fw_cdev_deallocate { + __u32 handle; +}; +#define FW_CDEV_LONG_RESET 0 +#define FW_CDEV_SHORT_RESET 1 +struct fw_cdev_initiate_bus_reset { + __u32 type; +}; +struct fw_cdev_add_descriptor { + __u32 immediate; + __u32 key; + __u64 data; + __u32 length; + __u32 handle; +}; +struct fw_cdev_remove_descriptor { + __u32 handle; +}; +#define FW_CDEV_ISO_CONTEXT_TRANSMIT 0 +#define FW_CDEV_ISO_CONTEXT_RECEIVE 1 +#define FW_CDEV_ISO_CONTEXT_RECEIVE_MULTICHANNEL 2 +struct fw_cdev_create_iso_context { + __u32 type; + __u32 header_size; + __u32 channel; + __u32 speed; + __u64 closure; + __u32 handle; +}; +struct fw_cdev_set_iso_channels { + __u64 channels; + __u32 handle; +}; +#define FW_CDEV_ISO_PAYLOAD_LENGTH(v) (v) +#define FW_CDEV_ISO_INTERRUPT (1 << 16) +#define FW_CDEV_ISO_SKIP (1 << 17) +#define FW_CDEV_ISO_SYNC (1 << 17) +#define FW_CDEV_ISO_TAG(v) ((v) << 18) +#define FW_CDEV_ISO_SY(v) ((v) << 20) +#define FW_CDEV_ISO_HEADER_LENGTH(v) ((v) << 24) +struct fw_cdev_iso_packet { + __u32 control; + __u32 header[0]; +}; +struct fw_cdev_queue_iso { + __u64 packets; + __u64 data; + __u32 size; + __u32 handle; +}; +#define FW_CDEV_ISO_CONTEXT_MATCH_TAG0 1 +#define FW_CDEV_ISO_CONTEXT_MATCH_TAG1 2 +#define FW_CDEV_ISO_CONTEXT_MATCH_TAG2 4 +#define FW_CDEV_ISO_CONTEXT_MATCH_TAG3 8 +#define FW_CDEV_ISO_CONTEXT_MATCH_ALL_TAGS 15 +struct fw_cdev_start_iso { + __s32 cycle; + __u32 sync; + __u32 tags; + __u32 handle; +}; +struct fw_cdev_stop_iso { + __u32 handle; +}; +struct fw_cdev_flush_iso { + __u32 handle; +}; +struct fw_cdev_get_cycle_timer { + __u64 local_time; + __u32 cycle_timer; +}; +struct fw_cdev_get_cycle_timer2 { + __s64 tv_sec; + __s32 tv_nsec; + __s32 clk_id; + __u32 cycle_timer; +}; +struct fw_cdev_allocate_iso_resource { + __u64 closure; + __u64 channels; + __u32 bandwidth; + __u32 handle; +}; +struct fw_cdev_send_stream_packet { + __u32 length; + __u32 tag; + __u32 channel; + __u32 sy; + __u64 closure; + __u64 data; + __u32 generation; + __u32 speed; +}; +struct fw_cdev_send_phy_packet { + __u64 closure; + __u32 data[2]; + __u32 generation; +}; +struct fw_cdev_receive_phy_packets { + __u64 closure; +}; +#define FW_CDEV_VERSION 3 +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/firewire-constants.h b/linux-5.10/prebuilts/usr/include/linux/firewire-constants.h new file mode 100644 index 0000000..9edcca5 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/firewire-constants.h @@ -0,0 +1,61 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _LINUX_FIREWIRE_CONSTANTS_H +#define _LINUX_FIREWIRE_CONSTANTS_H +#define TCODE_WRITE_QUADLET_REQUEST 0x0 +#define TCODE_WRITE_BLOCK_REQUEST 0x1 +#define TCODE_WRITE_RESPONSE 0x2 +#define TCODE_READ_QUADLET_REQUEST 0x4 +#define TCODE_READ_BLOCK_REQUEST 0x5 +#define TCODE_READ_QUADLET_RESPONSE 0x6 +#define TCODE_READ_BLOCK_RESPONSE 0x7 +#define TCODE_CYCLE_START 0x8 +#define TCODE_LOCK_REQUEST 0x9 +#define TCODE_STREAM_DATA 0xa +#define TCODE_LOCK_RESPONSE 0xb +#define EXTCODE_MASK_SWAP 0x1 +#define EXTCODE_COMPARE_SWAP 0x2 +#define EXTCODE_FETCH_ADD 0x3 +#define EXTCODE_LITTLE_ADD 0x4 +#define EXTCODE_BOUNDED_ADD 0x5 +#define EXTCODE_WRAP_ADD 0x6 +#define EXTCODE_VENDOR_DEPENDENT 0x7 +#define TCODE_LOCK_MASK_SWAP (0x10 | EXTCODE_MASK_SWAP) +#define TCODE_LOCK_COMPARE_SWAP (0x10 | EXTCODE_COMPARE_SWAP) +#define TCODE_LOCK_FETCH_ADD (0x10 | EXTCODE_FETCH_ADD) +#define TCODE_LOCK_LITTLE_ADD (0x10 | EXTCODE_LITTLE_ADD) +#define TCODE_LOCK_BOUNDED_ADD (0x10 | EXTCODE_BOUNDED_ADD) +#define TCODE_LOCK_WRAP_ADD (0x10 | EXTCODE_WRAP_ADD) +#define TCODE_LOCK_VENDOR_DEPENDENT (0x10 | EXTCODE_VENDOR_DEPENDENT) +#define RCODE_COMPLETE 0x0 +#define RCODE_CONFLICT_ERROR 0x4 +#define RCODE_DATA_ERROR 0x5 +#define RCODE_TYPE_ERROR 0x6 +#define RCODE_ADDRESS_ERROR 0x7 +#define RCODE_SEND_ERROR 0x10 +#define RCODE_CANCELLED 0x11 +#define RCODE_BUSY 0x12 +#define RCODE_GENERATION 0x13 +#define RCODE_NO_ACK 0x14 +#define SCODE_100 0x0 +#define SCODE_200 0x1 +#define SCODE_400 0x2 +#define SCODE_800 0x3 +#define SCODE_1600 0x4 +#define SCODE_3200 0x5 +#define SCODE_BETA 0x3 +#define ACK_COMPLETE 0x1 +#define ACK_PENDING 0x2 +#define ACK_BUSY_X 0x4 +#define ACK_BUSY_A 0x5 +#define ACK_BUSY_B 0x6 +#define ACK_DATA_ERROR 0xd +#define ACK_TYPE_ERROR 0xe +#define RETRY_1 0x00 +#define RETRY_X 0x01 +#define RETRY_A 0x02 +#define RETRY_B 0x03 +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/flat.h b/linux-5.10/prebuilts/usr/include/linux/flat.h new file mode 100644 index 0000000..757192d --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/flat.h @@ -0,0 +1,34 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI_LINUX_FLAT_H +#define _UAPI_LINUX_FLAT_H +#define FLAT_VERSION 0x00000004L +#ifdef CONFIG_BINFMT_SHARED_FLAT +#define MAX_SHARED_LIBS (4) +#else +#define MAX_SHARED_LIBS (1) +#endif +struct flat_hdr { + char magic[4]; + unsigned long rev; + unsigned long entry; + unsigned long data_start; + unsigned long data_end; + unsigned long bss_end; + + unsigned long stack_size; + unsigned long reloc_start; + unsigned long reloc_count; + unsigned long flags; + unsigned long build_date; + unsigned long filler[5]; +}; +#define FLAT_FLAG_RAM 0x0001 +#define FLAT_FLAG_GOTPIC 0x0002 +#define FLAT_FLAG_GZIP 0x0004 +#define FLAT_FLAG_GZDATA 0x0008 +#define FLAT_FLAG_KTRACE 0x0010 +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/fou.h b/linux-5.10/prebuilts/usr/include/linux/fou.h new file mode 100644 index 0000000..80971ab --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/fou.h @@ -0,0 +1,39 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI_LINUX_FOU_H +#define _UAPI_LINUX_FOU_H +#define FOU_GENL_NAME "fou" +#define FOU_GENL_VERSION 0x1 +enum { + FOU_ATTR_UNSPEC, + FOU_ATTR_PORT, + FOU_ATTR_AF, + FOU_ATTR_IPPROTO, + FOU_ATTR_TYPE, + FOU_ATTR_REMCSUM_NOPARTIAL, + FOU_ATTR_LOCAL_V4, + FOU_ATTR_LOCAL_V6, + FOU_ATTR_PEER_V4, + FOU_ATTR_PEER_V6, + FOU_ATTR_PEER_PORT, + FOU_ATTR_IFINDEX, + __FOU_ATTR_MAX, +}; +#define FOU_ATTR_MAX (__FOU_ATTR_MAX - 1) +enum { + FOU_CMD_UNSPEC, + FOU_CMD_ADD, + FOU_CMD_DEL, + FOU_CMD_GET, + __FOU_CMD_MAX, +}; +enum { + FOU_ENCAP_UNSPEC, + FOU_ENCAP_DIRECT, + FOU_ENCAP_GUE, +}; +#define FOU_CMD_MAX (__FOU_CMD_MAX - 1) +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/fpga-dfl.h b/linux-5.10/prebuilts/usr/include/linux/fpga-dfl.h new file mode 100644 index 0000000..731e1c9 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/fpga-dfl.h @@ -0,0 +1,93 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI_LINUX_FPGA_DFL_H +#define _UAPI_LINUX_FPGA_DFL_H +#include +#include +#define DFL_FPGA_API_VERSION 0 +#define DFL_FPGA_MAGIC 0xB6 +#define DFL_FPGA_BASE 0 +#define DFL_PORT_BASE 0x40 +#define DFL_FME_BASE 0x80 +#define DFL_FPGA_GET_API_VERSION _IO(DFL_FPGA_MAGIC, DFL_FPGA_BASE + 0) +#define DFL_FPGA_CHECK_EXTENSION _IO(DFL_FPGA_MAGIC, DFL_FPGA_BASE + 1) +#define DFL_FPGA_PORT_RESET _IO(DFL_FPGA_MAGIC, DFL_PORT_BASE + 0) +struct dfl_fpga_port_info { + + __u32 argsz; + + __u32 flags; + __u32 num_regions; + __u32 num_umsgs; +}; +#define DFL_FPGA_PORT_GET_INFO _IO(DFL_FPGA_MAGIC, DFL_PORT_BASE + 1) +struct dfl_fpga_port_region_info { + + __u32 argsz; + + __u32 flags; +#define DFL_PORT_REGION_READ (1 << 0) +#define DFL_PORT_REGION_WRITE (1 << 1) +#define DFL_PORT_REGION_MMAP (1 << 2) + + __u32 index; +#define DFL_PORT_REGION_INDEX_AFU 0 +#define DFL_PORT_REGION_INDEX_STP 1 + __u32 padding; + + __u64 size; + __u64 offset; +}; +#define DFL_FPGA_PORT_GET_REGION_INFO _IO(DFL_FPGA_MAGIC, DFL_PORT_BASE + 2) +struct dfl_fpga_port_dma_map { + + __u32 argsz; + __u32 flags; + __u64 user_addr; + __u64 length; + + __u64 iova; +}; +#define DFL_FPGA_PORT_DMA_MAP _IO(DFL_FPGA_MAGIC, DFL_PORT_BASE + 3) +struct dfl_fpga_port_dma_unmap { + + __u32 argsz; + __u32 flags; + __u64 iova; +}; +#define DFL_FPGA_PORT_DMA_UNMAP _IO(DFL_FPGA_MAGIC, DFL_PORT_BASE + 4) +struct dfl_fpga_irq_set { + __u32 start; + __u32 count; + __s32 evtfds[]; +}; +#define DFL_FPGA_PORT_ERR_GET_IRQ_NUM _IOR(DFL_FPGA_MAGIC, \ + DFL_PORT_BASE + 5, __u32) +#define DFL_FPGA_PORT_ERR_SET_IRQ _IOW(DFL_FPGA_MAGIC, \ + DFL_PORT_BASE + 6, \ + struct dfl_fpga_irq_set) +#define DFL_FPGA_PORT_UINT_GET_IRQ_NUM _IOR(DFL_FPGA_MAGIC, \ + DFL_PORT_BASE + 7, __u32) +#define DFL_FPGA_PORT_UINT_SET_IRQ _IOW(DFL_FPGA_MAGIC, \ + DFL_PORT_BASE + 8, \ + struct dfl_fpga_irq_set) +struct dfl_fpga_fme_port_pr { + + __u32 argsz; + __u32 flags; + __u32 port_id; + __u32 buffer_size; + __u64 buffer_address; +}; +#define DFL_FPGA_FME_PORT_PR _IO(DFL_FPGA_MAGIC, DFL_FME_BASE + 0) +#define DFL_FPGA_FME_PORT_RELEASE _IOW(DFL_FPGA_MAGIC, DFL_FME_BASE + 1, int) +#define DFL_FPGA_FME_PORT_ASSIGN _IOW(DFL_FPGA_MAGIC, DFL_FME_BASE + 2, int) +#define DFL_FPGA_FME_ERR_GET_IRQ_NUM _IOR(DFL_FPGA_MAGIC, \ + DFL_FME_BASE + 3, __u32) +#define DFL_FPGA_FME_ERR_SET_IRQ _IOW(DFL_FPGA_MAGIC, \ + DFL_FME_BASE + 4, \ + struct dfl_fpga_irq_set) +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/fs.h b/linux-5.10/prebuilts/usr/include/linux/fs.h new file mode 100644 index 0000000..94a3529 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/fs.h @@ -0,0 +1,198 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI_LINUX_FS_H +#define _UAPI_LINUX_FS_H +#include +#include +#include +#ifndef __KERNEL__ +#include +#endif +#if !defined(__KERNEL__) +#include +#endif +#undef NR_OPEN +#define INR_OPEN_CUR 1024 +#define INR_OPEN_MAX 4096 +#define BLOCK_SIZE_BITS 10 +#define BLOCK_SIZE (1< +#include +#define FSCRYPT_POLICY_FLAGS_PAD_4 0x00 +#define FSCRYPT_POLICY_FLAGS_PAD_8 0x01 +#define FSCRYPT_POLICY_FLAGS_PAD_16 0x02 +#define FSCRYPT_POLICY_FLAGS_PAD_32 0x03 +#define FSCRYPT_POLICY_FLAGS_PAD_MASK 0x03 +#define FSCRYPT_POLICY_FLAG_DIRECT_KEY 0x04 +#define FSCRYPT_POLICY_FLAG_IV_INO_LBLK_64 0x08 +#define FSCRYPT_POLICY_FLAG_IV_INO_LBLK_32 0x10 +#define FSCRYPT_MODE_AES_256_XTS 1 +#define FSCRYPT_MODE_AES_256_CTS 4 +#define FSCRYPT_MODE_AES_128_CBC 5 +#define FSCRYPT_MODE_AES_128_CTS 6 +#define FSCRYPT_MODE_ADIANTUM 9 +#define FSCRYPT_POLICY_V1 0 +#define FSCRYPT_KEY_DESCRIPTOR_SIZE 8 +struct fscrypt_policy_v1 { + __u8 version; + __u8 contents_encryption_mode; + __u8 filenames_encryption_mode; + __u8 flags; + __u8 master_key_descriptor[FSCRYPT_KEY_DESCRIPTOR_SIZE]; +}; +#define FSCRYPT_KEY_DESC_PREFIX "fscrypt:" +#define FSCRYPT_KEY_DESC_PREFIX_SIZE 8 +#define FSCRYPT_MAX_KEY_SIZE 64 +struct fscrypt_key { + __u32 mode; + __u8 raw[FSCRYPT_MAX_KEY_SIZE]; + __u32 size; +}; +#define FSCRYPT_POLICY_V2 2 +#define FSCRYPT_KEY_IDENTIFIER_SIZE 16 +struct fscrypt_policy_v2 { + __u8 version; + __u8 contents_encryption_mode; + __u8 filenames_encryption_mode; + __u8 flags; + __u8 __reserved[4]; + __u8 master_key_identifier[FSCRYPT_KEY_IDENTIFIER_SIZE]; +}; +struct fscrypt_get_policy_ex_arg { + __u64 policy_size; + union { + __u8 version; + struct fscrypt_policy_v1 v1; + struct fscrypt_policy_v2 v2; + } policy; +}; +#define FSCRYPT_KEY_SPEC_TYPE_DESCRIPTOR 1 +#define FSCRYPT_KEY_SPEC_TYPE_IDENTIFIER 2 +struct fscrypt_key_specifier { + __u32 type; + __u32 __reserved; + union { + __u8 __reserved[32]; + __u8 descriptor[FSCRYPT_KEY_DESCRIPTOR_SIZE]; + __u8 identifier[FSCRYPT_KEY_IDENTIFIER_SIZE]; + } u; +}; +struct fscrypt_provisioning_key_payload { + __u32 type; + __u32 __reserved; + __u8 raw[]; +}; +struct fscrypt_add_key_arg { + struct fscrypt_key_specifier key_spec; + __u32 raw_size; + __u32 key_id; + __u32 __reserved[8]; + __u8 raw[]; +}; +struct fscrypt_remove_key_arg { + struct fscrypt_key_specifier key_spec; +#define FSCRYPT_KEY_REMOVAL_STATUS_FLAG_FILES_BUSY 0x00000001 +#define FSCRYPT_KEY_REMOVAL_STATUS_FLAG_OTHER_USERS 0x00000002 + __u32 removal_status_flags; + __u32 __reserved[5]; +}; +struct fscrypt_get_key_status_arg { + + struct fscrypt_key_specifier key_spec; + __u32 __reserved[6]; + +#define FSCRYPT_KEY_STATUS_ABSENT 1 +#define FSCRYPT_KEY_STATUS_PRESENT 2 +#define FSCRYPT_KEY_STATUS_INCOMPLETELY_REMOVED 3 + __u32 status; +#define FSCRYPT_KEY_STATUS_FLAG_ADDED_BY_SELF 0x00000001 + __u32 status_flags; + __u32 user_count; + __u32 __out_reserved[13]; +}; +#define FS_IOC_SET_ENCRYPTION_POLICY _IOR('f', 19, struct fscrypt_policy_v1) +#define FS_IOC_GET_ENCRYPTION_PWSALT _IOW('f', 20, __u8[16]) +#define FS_IOC_GET_ENCRYPTION_POLICY _IOW('f', 21, struct fscrypt_policy_v1) +#define FS_IOC_GET_ENCRYPTION_POLICY_EX _IOWR('f', 22, __u8[9]) +#define FS_IOC_ADD_ENCRYPTION_KEY _IOWR('f', 23, struct fscrypt_add_key_arg) +#define FS_IOC_REMOVE_ENCRYPTION_KEY _IOWR('f', 24, struct fscrypt_remove_key_arg) +#define FS_IOC_REMOVE_ENCRYPTION_KEY_ALL_USERS _IOWR('f', 25, struct fscrypt_remove_key_arg) +#define FS_IOC_GET_ENCRYPTION_KEY_STATUS _IOWR('f', 26, struct fscrypt_get_key_status_arg) +#define FS_IOC_GET_ENCRYPTION_NONCE _IOR('f', 27, __u8[16]) +#ifndef __KERNEL__ +#define fscrypt_policy fscrypt_policy_v1 +#define FS_KEY_DESCRIPTOR_SIZE FSCRYPT_KEY_DESCRIPTOR_SIZE +#define FS_POLICY_FLAGS_PAD_4 FSCRYPT_POLICY_FLAGS_PAD_4 +#define FS_POLICY_FLAGS_PAD_8 FSCRYPT_POLICY_FLAGS_PAD_8 +#define FS_POLICY_FLAGS_PAD_16 FSCRYPT_POLICY_FLAGS_PAD_16 +#define FS_POLICY_FLAGS_PAD_32 FSCRYPT_POLICY_FLAGS_PAD_32 +#define FS_POLICY_FLAGS_PAD_MASK FSCRYPT_POLICY_FLAGS_PAD_MASK +#define FS_POLICY_FLAG_DIRECT_KEY FSCRYPT_POLICY_FLAG_DIRECT_KEY +#define FS_POLICY_FLAGS_VALID 0x07 +#define FS_ENCRYPTION_MODE_INVALID 0 +#define FS_ENCRYPTION_MODE_AES_256_XTS FSCRYPT_MODE_AES_256_XTS +#define FS_ENCRYPTION_MODE_AES_256_GCM 2 +#define FS_ENCRYPTION_MODE_AES_256_CBC 3 +#define FS_ENCRYPTION_MODE_AES_256_CTS FSCRYPT_MODE_AES_256_CTS +#define FS_ENCRYPTION_MODE_AES_128_CBC FSCRYPT_MODE_AES_128_CBC +#define FS_ENCRYPTION_MODE_AES_128_CTS FSCRYPT_MODE_AES_128_CTS +#define FS_ENCRYPTION_MODE_SPECK128_256_XTS 7 +#define FS_ENCRYPTION_MODE_SPECK128_256_CTS 8 +#define FS_ENCRYPTION_MODE_ADIANTUM FSCRYPT_MODE_ADIANTUM +#define FS_KEY_DESC_PREFIX FSCRYPT_KEY_DESC_PREFIX +#define FS_KEY_DESC_PREFIX_SIZE FSCRYPT_KEY_DESC_PREFIX_SIZE +#define FS_MAX_KEY_SIZE FSCRYPT_MAX_KEY_SIZE +#endif +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/fsi.h b/linux-5.10/prebuilts/usr/include/linux/fsi.h new file mode 100644 index 0000000..a30e0e6 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/fsi.h @@ -0,0 +1,39 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI_LINUX_FSI_H +#define _UAPI_LINUX_FSI_H +#include +#include +struct scom_access { + __u64 addr; + __u64 data; + __u64 mask; + __u32 intf_errors; +#define SCOM_INTF_ERR_PARITY 0x00000001 +#define SCOM_INTF_ERR_PROTECTION 0x00000002 +#define SCOM_INTF_ERR_ABORT 0x00000004 +#define SCOM_INTF_ERR_UNKNOWN 0x80000000 + + __u8 pib_status; +#define SCOM_PIB_SUCCESS 0 +#define SCOM_PIB_BLOCKED 1 +#define SCOM_PIB_OFFLINE 2 +#define SCOM_PIB_PARTIAL 3 +#define SCOM_PIB_BAD_ADDR 4 +#define SCOM_PIB_CLK_ERR 5 +#define SCOM_PIB_PARITY_ERR 6 +#define SCOM_PIB_TIMEOUT 7 + __u8 pad; +}; +#define SCOM_CHECK_SUPPORTED 0x00000001 +#define SCOM_CHECK_PROTECTED 0x00000002 +#define SCOM_RESET_INTF 0x00000001 +#define SCOM_RESET_PIB 0x00000002 +#define FSI_SCOM_CHECK _IOR('s', 0x00, __u32) +#define FSI_SCOM_READ _IOWR('s', 0x01, struct scom_access) +#define FSI_SCOM_WRITE _IOWR('s', 0x02, struct scom_access) +#define FSI_SCOM_RESET _IOW('s', 0x03, __u32) +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/fsl_hypervisor.h b/linux-5.10/prebuilts/usr/include/linux/fsl_hypervisor.h new file mode 100644 index 0000000..1281ae9 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/fsl_hypervisor.h @@ -0,0 +1,67 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPIFSL_HYPERVISOR_H +#define _UAPIFSL_HYPERVISOR_H +#include +struct fsl_hv_ioctl_restart { + __u32 ret; + __u32 partition; +}; +struct fsl_hv_ioctl_status { + __u32 ret; + __u32 partition; + __u32 status; +}; +struct fsl_hv_ioctl_start { + __u32 ret; + __u32 partition; + __u32 entry_point; + __u32 load; +}; +struct fsl_hv_ioctl_stop { + __u32 ret; + __u32 partition; +}; +struct fsl_hv_ioctl_memcpy { + __u32 ret; + __u32 source; + __u32 target; + __u32 reserved; + __u64 local_vaddr; + __u64 remote_paddr; + __u64 count; +}; +struct fsl_hv_ioctl_doorbell { + __u32 ret; + __u32 doorbell; +}; +struct fsl_hv_ioctl_prop { + __u32 ret; + __u32 handle; + __u64 path; + __u64 propname; + __u64 propval; + __u32 proplen; + __u32 reserved; +}; +#define FSL_HV_IOCTL_TYPE 0xAF +#define FSL_HV_IOCTL_PARTITION_RESTART \ + _IOWR(FSL_HV_IOCTL_TYPE, 1, struct fsl_hv_ioctl_restart) +#define FSL_HV_IOCTL_PARTITION_GET_STATUS \ + _IOWR(FSL_HV_IOCTL_TYPE, 2, struct fsl_hv_ioctl_status) +#define FSL_HV_IOCTL_PARTITION_START \ + _IOWR(FSL_HV_IOCTL_TYPE, 3, struct fsl_hv_ioctl_start) +#define FSL_HV_IOCTL_PARTITION_STOP \ + _IOWR(FSL_HV_IOCTL_TYPE, 4, struct fsl_hv_ioctl_stop) +#define FSL_HV_IOCTL_MEMCPY \ + _IOWR(FSL_HV_IOCTL_TYPE, 5, struct fsl_hv_ioctl_memcpy) +#define FSL_HV_IOCTL_DOORBELL \ + _IOWR(FSL_HV_IOCTL_TYPE, 6, struct fsl_hv_ioctl_doorbell) +#define FSL_HV_IOCTL_GETPROP \ + _IOWR(FSL_HV_IOCTL_TYPE, 7, struct fsl_hv_ioctl_prop) +#define FSL_HV_IOCTL_SETPROP \ + _IOWR(FSL_HV_IOCTL_TYPE, 8, struct fsl_hv_ioctl_prop) +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/fsmap.h b/linux-5.10/prebuilts/usr/include/linux/fsmap.h new file mode 100644 index 0000000..82e8303 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/fsmap.h @@ -0,0 +1,55 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _LINUX_FSMAP_H +#define _LINUX_FSMAP_H +#include +struct fsmap { + __u32 fmr_device; + __u32 fmr_flags; + __u64 fmr_physical; + __u64 fmr_owner; + __u64 fmr_offset; + __u64 fmr_length; + __u64 fmr_reserved[3]; +}; +struct fsmap_head { + __u32 fmh_iflags; + __u32 fmh_oflags; + __u32 fmh_count; + __u32 fmh_entries; + __u64 fmh_reserved[6]; + struct fsmap fmh_keys[2]; + struct fsmap fmh_recs[]; +}; +static inline size_t +fsmap_sizeof( + unsigned int nr) +{ + return sizeof(struct fsmap_head) + nr * sizeof(struct fsmap); +} +static inline void +fsmap_advance( + struct fsmap_head *head) +{ + head->fmh_keys[0] = head->fmh_recs[head->fmh_entries - 1]; +} +#define FMH_IF_VALID 0 +#define FMH_OF_DEV_T 0x1 +#define FMR_OF_PREALLOC 0x1 +#define FMR_OF_ATTR_FORK 0x2 +#define FMR_OF_EXTENT_MAP 0x4 +#define FMR_OF_SHARED 0x8 +#define FMR_OF_SPECIAL_OWNER 0x10 +#define FMR_OF_LAST 0x20 +#define FMR_OWNER(type, code) (((__u64)type << 32) | \ + ((__u64)code & 0xFFFFFFFFULL)) +#define FMR_OWNER_TYPE(owner) ((__u32)((__u64)owner >> 32)) +#define FMR_OWNER_CODE(owner) ((__u32)(((__u64)owner & 0xFFFFFFFFULL))) +#define FMR_OWN_FREE FMR_OWNER(0, 1) +#define FMR_OWN_UNKNOWN FMR_OWNER(0, 2) +#define FMR_OWN_METADATA FMR_OWNER(0, 3) +#define FS_IOC_GETFSMAP _IOWR('X', 59, struct fsmap_head) +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/fsverity.h b/linux-5.10/prebuilts/usr/include/linux/fsverity.h new file mode 100644 index 0000000..76c5539 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/fsverity.h @@ -0,0 +1,30 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI_LINUX_FSVERITY_H +#define _UAPI_LINUX_FSVERITY_H +#include +#include +#define FS_VERITY_HASH_ALG_SHA256 1 +#define FS_VERITY_HASH_ALG_SHA512 2 +struct fsverity_enable_arg { + __u32 version; + __u32 hash_algorithm; + __u32 block_size; + __u32 salt_size; + __u64 salt_ptr; + __u32 sig_size; + __u32 __reserved1; + __u64 sig_ptr; + __u64 __reserved2[11]; +}; +struct fsverity_digest { + __u16 digest_algorithm; + __u16 digest_size; + __u8 digest[]; +}; +#define FS_IOC_ENABLE_VERITY _IOW('f', 133, struct fsverity_enable_arg) +#define FS_IOC_MEASURE_VERITY _IOWR('f', 134, struct fsverity_digest) +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/fuse.h b/linux-5.10/prebuilts/usr/include/linux/fuse.h new file mode 100644 index 0000000..661235f --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/fuse.h @@ -0,0 +1,542 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _LINUX_FUSE_H +#define _LINUX_FUSE_H +#ifdef __KERNEL__ +#include +#else +#include +#endif +#define FUSE_KERNEL_VERSION 7 +#define FUSE_KERNEL_MINOR_VERSION 32 +#define FUSE_ROOT_ID 1 +struct fuse_attr { + uint64_t ino; + uint64_t size; + uint64_t blocks; + uint64_t atime; + uint64_t mtime; + uint64_t ctime; + uint32_t atimensec; + uint32_t mtimensec; + uint32_t ctimensec; + uint32_t mode; + uint32_t nlink; + uint32_t uid; + uint32_t gid; + uint32_t rdev; + uint32_t blksize; + uint32_t flags; +}; +struct fuse_kstatfs { + uint64_t blocks; + uint64_t bfree; + uint64_t bavail; + uint64_t files; + uint64_t ffree; + uint32_t bsize; + uint32_t namelen; + uint32_t frsize; + uint32_t padding; + uint32_t spare[6]; +}; +struct fuse_file_lock { + uint64_t start; + uint64_t end; + uint32_t type; + uint32_t pid; +}; +#define FATTR_MODE (1 << 0) +#define FATTR_UID (1 << 1) +#define FATTR_GID (1 << 2) +#define FATTR_SIZE (1 << 3) +#define FATTR_ATIME (1 << 4) +#define FATTR_MTIME (1 << 5) +#define FATTR_FH (1 << 6) +#define FATTR_ATIME_NOW (1 << 7) +#define FATTR_MTIME_NOW (1 << 8) +#define FATTR_LOCKOWNER (1 << 9) +#define FATTR_CTIME (1 << 10) +#define FOPEN_DIRECT_IO (1 << 0) +#define FOPEN_KEEP_CACHE (1 << 1) +#define FOPEN_NONSEEKABLE (1 << 2) +#define FOPEN_CACHE_DIR (1 << 3) +#define FOPEN_STREAM (1 << 4) +#define FUSE_ASYNC_READ (1 << 0) +#define FUSE_POSIX_LOCKS (1 << 1) +#define FUSE_FILE_OPS (1 << 2) +#define FUSE_ATOMIC_O_TRUNC (1 << 3) +#define FUSE_EXPORT_SUPPORT (1 << 4) +#define FUSE_BIG_WRITES (1 << 5) +#define FUSE_DONT_MASK (1 << 6) +#define FUSE_SPLICE_WRITE (1 << 7) +#define FUSE_SPLICE_MOVE (1 << 8) +#define FUSE_SPLICE_READ (1 << 9) +#define FUSE_FLOCK_LOCKS (1 << 10) +#define FUSE_HAS_IOCTL_DIR (1 << 11) +#define FUSE_AUTO_INVAL_DATA (1 << 12) +#define FUSE_DO_READDIRPLUS (1 << 13) +#define FUSE_READDIRPLUS_AUTO (1 << 14) +#define FUSE_ASYNC_DIO (1 << 15) +#define FUSE_WRITEBACK_CACHE (1 << 16) +#define FUSE_NO_OPEN_SUPPORT (1 << 17) +#define FUSE_PARALLEL_DIROPS (1 << 18) +#define FUSE_HANDLE_KILLPRIV (1 << 19) +#define FUSE_POSIX_ACL (1 << 20) +#define FUSE_ABORT_ERROR (1 << 21) +#define FUSE_MAX_PAGES (1 << 22) +#define FUSE_CACHE_SYMLINKS (1 << 23) +#define FUSE_NO_OPENDIR_SUPPORT (1 << 24) +#define FUSE_EXPLICIT_INVAL_DATA (1 << 25) +#define FUSE_MAP_ALIGNMENT (1 << 26) +#define FUSE_SUBMOUNTS (1 << 27) +#define CUSE_UNRESTRICTED_IOCTL (1 << 0) +#define FUSE_RELEASE_FLUSH (1 << 0) +#define FUSE_RELEASE_FLOCK_UNLOCK (1 << 1) +#define FUSE_GETATTR_FH (1 << 0) +#define FUSE_LK_FLOCK (1 << 0) +#define FUSE_WRITE_CACHE (1 << 0) +#define FUSE_WRITE_LOCKOWNER (1 << 1) +#define FUSE_WRITE_KILL_PRIV (1 << 2) +#define FUSE_READ_LOCKOWNER (1 << 1) +#define FUSE_IOCTL_COMPAT (1 << 0) +#define FUSE_IOCTL_UNRESTRICTED (1 << 1) +#define FUSE_IOCTL_RETRY (1 << 2) +#define FUSE_IOCTL_32BIT (1 << 3) +#define FUSE_IOCTL_DIR (1 << 4) +#define FUSE_IOCTL_COMPAT_X32 (1 << 5) +#define FUSE_IOCTL_MAX_IOV 256 +#define FUSE_POLL_SCHEDULE_NOTIFY (1 << 0) +#define FUSE_FSYNC_FDATASYNC (1 << 0) +#define FUSE_ATTR_SUBMOUNT (1 << 0) +enum fuse_opcode { + FUSE_LOOKUP = 1, + FUSE_FORGET = 2, + FUSE_GETATTR = 3, + FUSE_SETATTR = 4, + FUSE_READLINK = 5, + FUSE_SYMLINK = 6, + FUSE_MKNOD = 8, + FUSE_MKDIR = 9, + FUSE_UNLINK = 10, + FUSE_RMDIR = 11, + FUSE_RENAME = 12, + FUSE_LINK = 13, + FUSE_OPEN = 14, + FUSE_READ = 15, + FUSE_WRITE = 16, + FUSE_STATFS = 17, + FUSE_RELEASE = 18, + FUSE_FSYNC = 20, + FUSE_SETXATTR = 21, + FUSE_GETXATTR = 22, + FUSE_LISTXATTR = 23, + FUSE_REMOVEXATTR = 24, + FUSE_FLUSH = 25, + FUSE_INIT = 26, + FUSE_OPENDIR = 27, + FUSE_READDIR = 28, + FUSE_RELEASEDIR = 29, + FUSE_FSYNCDIR = 30, + FUSE_GETLK = 31, + FUSE_SETLK = 32, + FUSE_SETLKW = 33, + FUSE_ACCESS = 34, + FUSE_CREATE = 35, + FUSE_INTERRUPT = 36, + FUSE_BMAP = 37, + FUSE_DESTROY = 38, + FUSE_IOCTL = 39, + FUSE_POLL = 40, + FUSE_NOTIFY_REPLY = 41, + FUSE_BATCH_FORGET = 42, + FUSE_FALLOCATE = 43, + FUSE_READDIRPLUS = 44, + FUSE_RENAME2 = 45, + FUSE_LSEEK = 46, + FUSE_COPY_FILE_RANGE = 47, + FUSE_SETUPMAPPING = 48, + FUSE_REMOVEMAPPING = 49, + + CUSE_INIT = 4096, + + CUSE_INIT_BSWAP_RESERVED = 1048576, + FUSE_INIT_BSWAP_RESERVED = 436207616, +}; +enum fuse_notify_code { + FUSE_NOTIFY_POLL = 1, + FUSE_NOTIFY_INVAL_INODE = 2, + FUSE_NOTIFY_INVAL_ENTRY = 3, + FUSE_NOTIFY_STORE = 4, + FUSE_NOTIFY_RETRIEVE = 5, + FUSE_NOTIFY_DELETE = 6, + FUSE_NOTIFY_CODE_MAX, +}; +#define FUSE_MIN_READ_BUFFER 8192 +#define FUSE_COMPAT_ENTRY_OUT_SIZE 120 +struct fuse_entry_out { + uint64_t nodeid; + uint64_t generation; + uint64_t entry_valid; + uint64_t attr_valid; + uint32_t entry_valid_nsec; + uint32_t attr_valid_nsec; + struct fuse_attr attr; +}; +struct fuse_forget_in { + uint64_t nlookup; +}; +struct fuse_forget_one { + uint64_t nodeid; + uint64_t nlookup; +}; +struct fuse_batch_forget_in { + uint32_t count; + uint32_t dummy; +}; +struct fuse_getattr_in { + uint32_t getattr_flags; + uint32_t dummy; + uint64_t fh; +}; +#define FUSE_COMPAT_ATTR_OUT_SIZE 96 +struct fuse_attr_out { + uint64_t attr_valid; + uint32_t attr_valid_nsec; + uint32_t dummy; + struct fuse_attr attr; +}; +#define FUSE_COMPAT_MKNOD_IN_SIZE 8 +struct fuse_mknod_in { + uint32_t mode; + uint32_t rdev; + uint32_t umask; + uint32_t padding; +}; +struct fuse_mkdir_in { + uint32_t mode; + uint32_t umask; +}; +struct fuse_rename_in { + uint64_t newdir; +}; +struct fuse_rename2_in { + uint64_t newdir; + uint32_t flags; + uint32_t padding; +}; +struct fuse_link_in { + uint64_t oldnodeid; +}; +struct fuse_setattr_in { + uint32_t valid; + uint32_t padding; + uint64_t fh; + uint64_t size; + uint64_t lock_owner; + uint64_t atime; + uint64_t mtime; + uint64_t ctime; + uint32_t atimensec; + uint32_t mtimensec; + uint32_t ctimensec; + uint32_t mode; + uint32_t unused4; + uint32_t uid; + uint32_t gid; + uint32_t unused5; +}; +struct fuse_open_in { + uint32_t flags; + uint32_t unused; +}; +struct fuse_create_in { + uint32_t flags; + uint32_t mode; + uint32_t umask; + uint32_t padding; +}; +struct fuse_open_out { + uint64_t fh; + uint32_t open_flags; + uint32_t padding; +}; +struct fuse_release_in { + uint64_t fh; + uint32_t flags; + uint32_t release_flags; + uint64_t lock_owner; +}; +struct fuse_flush_in { + uint64_t fh; + uint32_t unused; + uint32_t padding; + uint64_t lock_owner; +}; +struct fuse_read_in { + uint64_t fh; + uint64_t offset; + uint32_t size; + uint32_t read_flags; + uint64_t lock_owner; + uint32_t flags; + uint32_t padding; +}; +#define FUSE_COMPAT_WRITE_IN_SIZE 24 +struct fuse_write_in { + uint64_t fh; + uint64_t offset; + uint32_t size; + uint32_t write_flags; + uint64_t lock_owner; + uint32_t flags; + uint32_t padding; +}; +struct fuse_write_out { + uint32_t size; + uint32_t padding; +}; +#define FUSE_COMPAT_STATFS_SIZE 48 +struct fuse_statfs_out { + struct fuse_kstatfs st; +}; +struct fuse_fsync_in { + uint64_t fh; + uint32_t fsync_flags; + uint32_t padding; +}; +struct fuse_setxattr_in { + uint32_t size; + uint32_t flags; +}; +struct fuse_getxattr_in { + uint32_t size; + uint32_t padding; +}; +struct fuse_getxattr_out { + uint32_t size; + uint32_t padding; +}; +struct fuse_lk_in { + uint64_t fh; + uint64_t owner; + struct fuse_file_lock lk; + uint32_t lk_flags; + uint32_t padding; +}; +struct fuse_lk_out { + struct fuse_file_lock lk; +}; +struct fuse_access_in { + uint32_t mask; + uint32_t padding; +}; +struct fuse_init_in { + uint32_t major; + uint32_t minor; + uint32_t max_readahead; + uint32_t flags; +}; +#define FUSE_COMPAT_INIT_OUT_SIZE 8 +#define FUSE_COMPAT_22_INIT_OUT_SIZE 24 +struct fuse_init_out { + uint32_t major; + uint32_t minor; + uint32_t max_readahead; + uint32_t flags; + uint16_t max_background; + uint16_t congestion_threshold; + uint32_t max_write; + uint32_t time_gran; + uint16_t max_pages; + uint16_t map_alignment; + uint32_t unused[8]; +}; +#define CUSE_INIT_INFO_MAX 4096 +struct cuse_init_in { + uint32_t major; + uint32_t minor; + uint32_t unused; + uint32_t flags; +}; +struct cuse_init_out { + uint32_t major; + uint32_t minor; + uint32_t unused; + uint32_t flags; + uint32_t max_read; + uint32_t max_write; + uint32_t dev_major; + uint32_t dev_minor; + uint32_t spare[10]; +}; +struct fuse_interrupt_in { + uint64_t unique; +}; +struct fuse_bmap_in { + uint64_t block; + uint32_t blocksize; + uint32_t padding; +}; +struct fuse_bmap_out { + uint64_t block; +}; +struct fuse_ioctl_in { + uint64_t fh; + uint32_t flags; + uint32_t cmd; + uint64_t arg; + uint32_t in_size; + uint32_t out_size; +}; +struct fuse_ioctl_iovec { + uint64_t base; + uint64_t len; +}; +struct fuse_ioctl_out { + int32_t result; + uint32_t flags; + uint32_t in_iovs; + uint32_t out_iovs; +}; +struct fuse_poll_in { + uint64_t fh; + uint64_t kh; + uint32_t flags; + uint32_t events; +}; +struct fuse_poll_out { + uint32_t revents; + uint32_t padding; +}; +struct fuse_notify_poll_wakeup_out { + uint64_t kh; +}; +struct fuse_fallocate_in { + uint64_t fh; + uint64_t offset; + uint64_t length; + uint32_t mode; + uint32_t padding; +}; +struct fuse_in_header { + uint32_t len; + uint32_t opcode; + uint64_t unique; + uint64_t nodeid; + uint32_t uid; + uint32_t gid; + uint32_t pid; + uint32_t padding; +}; +struct fuse_out_header { + uint32_t len; + int32_t error; + uint64_t unique; +}; +struct fuse_dirent { + uint64_t ino; + uint64_t off; + uint32_t namelen; + uint32_t type; + char name[]; +}; +#define FUSE_NAME_OFFSET offsetof(struct fuse_dirent, name) +#define FUSE_DIRENT_ALIGN(x) \ + (((x) + sizeof(uint64_t) - 1) & ~(sizeof(uint64_t) - 1)) +#define FUSE_DIRENT_SIZE(d) \ + FUSE_DIRENT_ALIGN(FUSE_NAME_OFFSET + (d)->namelen) +struct fuse_direntplus { + struct fuse_entry_out entry_out; + struct fuse_dirent dirent; +}; +#define FUSE_NAME_OFFSET_DIRENTPLUS \ + offsetof(struct fuse_direntplus, dirent.name) +#define FUSE_DIRENTPLUS_SIZE(d) \ + FUSE_DIRENT_ALIGN(FUSE_NAME_OFFSET_DIRENTPLUS + (d)->dirent.namelen) +struct fuse_notify_inval_inode_out { + uint64_t ino; + int64_t off; + int64_t len; +}; +struct fuse_notify_inval_entry_out { + uint64_t parent; + uint32_t namelen; + uint32_t padding; +}; +struct fuse_notify_delete_out { + uint64_t parent; + uint64_t child; + uint32_t namelen; + uint32_t padding; +}; +struct fuse_notify_store_out { + uint64_t nodeid; + uint64_t offset; + uint32_t size; + uint32_t padding; +}; +struct fuse_notify_retrieve_out { + uint64_t notify_unique; + uint64_t nodeid; + uint64_t offset; + uint32_t size; + uint32_t padding; +}; +struct fuse_notify_retrieve_in { + uint64_t dummy1; + uint64_t offset; + uint32_t size; + uint32_t dummy2; + uint64_t dummy3; + uint64_t dummy4; +}; +#define FUSE_DEV_IOC_CLONE _IOR(229, 0, uint32_t) +struct fuse_lseek_in { + uint64_t fh; + uint64_t offset; + uint32_t whence; + uint32_t padding; +}; +struct fuse_lseek_out { + uint64_t offset; +}; +struct fuse_copy_file_range_in { + uint64_t fh_in; + uint64_t off_in; + uint64_t nodeid_out; + uint64_t fh_out; + uint64_t off_out; + uint64_t len; + uint64_t flags; +}; +#define FUSE_SETUPMAPPING_FLAG_WRITE (1ull << 0) +#define FUSE_SETUPMAPPING_FLAG_READ (1ull << 1) +struct fuse_setupmapping_in { + + uint64_t fh; + + uint64_t foffset; + + uint64_t len; + + uint64_t flags; + + uint64_t moffset; +}; +struct fuse_removemapping_in { + + uint32_t count; +}; +struct fuse_removemapping_one { + + uint64_t moffset; + + uint64_t len; +}; +#define FUSE_REMOVEMAPPING_MAX_ENTRY \ + (PAGE_SIZE / sizeof(struct fuse_removemapping_one)) +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/futex.h b/linux-5.10/prebuilts/usr/include/linux/futex.h new file mode 100644 index 0000000..8e2e28d --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/futex.h @@ -0,0 +1,71 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI_LINUX_FUTEX_H +#define _UAPI_LINUX_FUTEX_H +#include +#include +#define FUTEX_WAIT 0 +#define FUTEX_WAKE 1 +#define FUTEX_FD 2 +#define FUTEX_REQUEUE 3 +#define FUTEX_CMP_REQUEUE 4 +#define FUTEX_WAKE_OP 5 +#define FUTEX_LOCK_PI 6 +#define FUTEX_UNLOCK_PI 7 +#define FUTEX_TRYLOCK_PI 8 +#define FUTEX_WAIT_BITSET 9 +#define FUTEX_WAKE_BITSET 10 +#define FUTEX_WAIT_REQUEUE_PI 11 +#define FUTEX_CMP_REQUEUE_PI 12 +#define FUTEX_PRIVATE_FLAG 128 +#define FUTEX_CLOCK_REALTIME 256 +#define FUTEX_CMD_MASK ~(FUTEX_PRIVATE_FLAG | FUTEX_CLOCK_REALTIME) +#define FUTEX_WAIT_PRIVATE (FUTEX_WAIT | FUTEX_PRIVATE_FLAG) +#define FUTEX_WAKE_PRIVATE (FUTEX_WAKE | FUTEX_PRIVATE_FLAG) +#define FUTEX_REQUEUE_PRIVATE (FUTEX_REQUEUE | FUTEX_PRIVATE_FLAG) +#define FUTEX_CMP_REQUEUE_PRIVATE (FUTEX_CMP_REQUEUE | FUTEX_PRIVATE_FLAG) +#define FUTEX_WAKE_OP_PRIVATE (FUTEX_WAKE_OP | FUTEX_PRIVATE_FLAG) +#define FUTEX_LOCK_PI_PRIVATE (FUTEX_LOCK_PI | FUTEX_PRIVATE_FLAG) +#define FUTEX_UNLOCK_PI_PRIVATE (FUTEX_UNLOCK_PI | FUTEX_PRIVATE_FLAG) +#define FUTEX_TRYLOCK_PI_PRIVATE (FUTEX_TRYLOCK_PI | FUTEX_PRIVATE_FLAG) +#define FUTEX_WAIT_BITSET_PRIVATE (FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG) +#define FUTEX_WAKE_BITSET_PRIVATE (FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG) +#define FUTEX_WAIT_REQUEUE_PI_PRIVATE (FUTEX_WAIT_REQUEUE_PI | \ + FUTEX_PRIVATE_FLAG) +#define FUTEX_CMP_REQUEUE_PI_PRIVATE (FUTEX_CMP_REQUEUE_PI | \ + FUTEX_PRIVATE_FLAG) +struct robust_list { + struct robust_list __user *next; +}; +struct robust_list_head { + + struct robust_list list; + + long futex_offset; + + struct robust_list __user *list_op_pending; +}; +#define FUTEX_WAITERS 0x80000000 +#define FUTEX_OWNER_DIED 0x40000000 +#define FUTEX_TID_MASK 0x3fffffff +#define ROBUST_LIST_LIMIT 2048 +#define FUTEX_BITSET_MATCH_ANY 0xffffffff +#define FUTEX_OP_SET 0 +#define FUTEX_OP_ADD 1 +#define FUTEX_OP_OR 2 +#define FUTEX_OP_ANDN 3 +#define FUTEX_OP_XOR 4 +#define FUTEX_OP_OPARG_SHIFT 8 +#define FUTEX_OP_CMP_EQ 0 +#define FUTEX_OP_CMP_NE 1 +#define FUTEX_OP_CMP_LT 2 +#define FUTEX_OP_CMP_LE 3 +#define FUTEX_OP_CMP_GT 4 +#define FUTEX_OP_CMP_GE 5 +#define FUTEX_OP(op, oparg, cmp, cmparg) \ + (((op & 0xf) << 28) | ((cmp & 0xf) << 24) \ + | ((oparg & 0xfff) << 12) | (cmparg & 0xfff)) +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/gameport.h b/linux-5.10/prebuilts/usr/include/linux/gameport.h new file mode 100644 index 0000000..585a692 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/gameport.h @@ -0,0 +1,21 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI_GAMEPORT_H +#define _UAPI_GAMEPORT_H +#define GAMEPORT_MODE_DISABLED 0 +#define GAMEPORT_MODE_RAW 1 +#define GAMEPORT_MODE_COOKED 2 +#define GAMEPORT_ID_VENDOR_ANALOG 0x0001 +#define GAMEPORT_ID_VENDOR_MADCATZ 0x0002 +#define GAMEPORT_ID_VENDOR_LOGITECH 0x0003 +#define GAMEPORT_ID_VENDOR_CREATIVE 0x0004 +#define GAMEPORT_ID_VENDOR_GENIUS 0x0005 +#define GAMEPORT_ID_VENDOR_INTERACT 0x0006 +#define GAMEPORT_ID_VENDOR_MICROSOFT 0x0007 +#define GAMEPORT_ID_VENDOR_THRUSTMASTER 0x0008 +#define GAMEPORT_ID_VENDOR_GRAVIS 0x0009 +#define GAMEPORT_ID_VENDOR_GUILLEMOT 0x000a +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/gen_stats.h b/linux-5.10/prebuilts/usr/include/linux/gen_stats.h new file mode 100644 index 0000000..cdcb30c --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/gen_stats.h @@ -0,0 +1,45 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef __LINUX_GEN_STATS_H +#define __LINUX_GEN_STATS_H +#include +enum { + TCA_STATS_UNSPEC, + TCA_STATS_BASIC, + TCA_STATS_RATE_EST, + TCA_STATS_QUEUE, + TCA_STATS_APP, + TCA_STATS_RATE_EST64, + TCA_STATS_PAD, + TCA_STATS_BASIC_HW, + TCA_STATS_PKT64, + __TCA_STATS_MAX, +}; +#define TCA_STATS_MAX (__TCA_STATS_MAX - 1) +struct gnet_stats_basic { + __u64 bytes; + __u32 packets; +}; +struct gnet_stats_rate_est { + __u32 bps; + __u32 pps; +}; +struct gnet_stats_rate_est64 { + __u64 bps; + __u64 pps; +}; +struct gnet_stats_queue { + __u32 qlen; + __u32 backlog; + __u32 drops; + __u32 requeues; + __u32 overlimits; +}; +struct gnet_estimator { + signed char interval; + unsigned char ewma_log; +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/genetlink.h b/linux-5.10/prebuilts/usr/include/linux/genetlink.h new file mode 100644 index 0000000..15f90e6 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/genetlink.h @@ -0,0 +1,79 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI__LINUX_GENERIC_NETLINK_H +#define _UAPI__LINUX_GENERIC_NETLINK_H +#include +#include +#define GENL_NAMSIZ 16 +#define GENL_MIN_ID NLMSG_MIN_TYPE +#define GENL_MAX_ID 1023 +struct genlmsghdr { + __u8 cmd; + __u8 version; + __u16 reserved; +}; +#define GENL_HDRLEN NLMSG_ALIGN(sizeof(struct genlmsghdr)) +#define GENL_ADMIN_PERM 0x01 +#define GENL_CMD_CAP_DO 0x02 +#define GENL_CMD_CAP_DUMP 0x04 +#define GENL_CMD_CAP_HASPOL 0x08 +#define GENL_UNS_ADMIN_PERM 0x10 +#define GENL_ID_CTRL NLMSG_MIN_TYPE +#define GENL_ID_VFS_DQUOT (NLMSG_MIN_TYPE + 1) +#define GENL_ID_PMCRAID (NLMSG_MIN_TYPE + 2) +#define GENL_START_ALLOC (NLMSG_MIN_TYPE + 3) +enum { + CTRL_CMD_UNSPEC, + CTRL_CMD_NEWFAMILY, + CTRL_CMD_DELFAMILY, + CTRL_CMD_GETFAMILY, + CTRL_CMD_NEWOPS, + CTRL_CMD_DELOPS, + CTRL_CMD_GETOPS, + CTRL_CMD_NEWMCAST_GRP, + CTRL_CMD_DELMCAST_GRP, + CTRL_CMD_GETMCAST_GRP, + CTRL_CMD_GETPOLICY, + __CTRL_CMD_MAX, +}; +#define CTRL_CMD_MAX (__CTRL_CMD_MAX - 1) +enum { + CTRL_ATTR_UNSPEC, + CTRL_ATTR_FAMILY_ID, + CTRL_ATTR_FAMILY_NAME, + CTRL_ATTR_VERSION, + CTRL_ATTR_HDRSIZE, + CTRL_ATTR_MAXATTR, + CTRL_ATTR_OPS, + CTRL_ATTR_MCAST_GROUPS, + CTRL_ATTR_POLICY, + CTRL_ATTR_OP_POLICY, + CTRL_ATTR_OP, + __CTRL_ATTR_MAX, +}; +#define CTRL_ATTR_MAX (__CTRL_ATTR_MAX - 1) +enum { + CTRL_ATTR_OP_UNSPEC, + CTRL_ATTR_OP_ID, + CTRL_ATTR_OP_FLAGS, + __CTRL_ATTR_OP_MAX, +}; +#define CTRL_ATTR_OP_MAX (__CTRL_ATTR_OP_MAX - 1) +enum { + CTRL_ATTR_MCAST_GRP_UNSPEC, + CTRL_ATTR_MCAST_GRP_NAME, + CTRL_ATTR_MCAST_GRP_ID, + __CTRL_ATTR_MCAST_GRP_MAX, +}; +enum { + CTRL_ATTR_POLICY_UNSPEC, + CTRL_ATTR_POLICY_DO, + CTRL_ATTR_POLICY_DUMP, + __CTRL_ATTR_POLICY_DUMP_MAX, + CTRL_ATTR_POLICY_DUMP_MAX = __CTRL_ATTR_POLICY_DUMP_MAX - 1 +}; +#define CTRL_ATTR_MCAST_GRP_MAX (__CTRL_ATTR_MCAST_GRP_MAX - 1) +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/genwqe/genwqe_card.h b/linux-5.10/prebuilts/usr/include/linux/genwqe/genwqe_card.h new file mode 100644 index 0000000..7999846 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/genwqe/genwqe_card.h @@ -0,0 +1,267 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef __GENWQE_CARD_H__ +#define __GENWQE_CARD_H__ +#include +#include +#define GENWQE_DEVNAME "genwqe" +#define GENWQE_TYPE_ALTERA_230 0x00 +#define GENWQE_TYPE_ALTERA_530 0x01 +#define GENWQE_TYPE_ALTERA_A4 0x02 +#define GENWQE_TYPE_ALTERA_A7 0x03 +#define GENWQE_UID_OFFS(uid) ((uid) << 24) +#define GENWQE_SLU_OFFS GENWQE_UID_OFFS(0) +#define GENWQE_HSU_OFFS GENWQE_UID_OFFS(1) +#define GENWQE_APP_OFFS GENWQE_UID_OFFS(2) +#define GENWQE_MAX_UNITS 3 +#define IO_EXTENDED_ERROR_POINTER 0x00000048 +#define IO_ERROR_INJECT_SELECTOR 0x00000060 +#define IO_EXTENDED_DIAG_SELECTOR 0x00000070 +#define IO_EXTENDED_DIAG_READ_MBX 0x00000078 +#define IO_EXTENDED_DIAG_MAP(ring) (0x00000500 | ((ring) << 3)) +#define GENWQE_EXTENDED_DIAG_SELECTOR(ring, trace) (((ring) << 8) | (trace)) +#define IO_SLU_UNITCFG 0x00000000 +#define IO_SLU_UNITCFG_TYPE_MASK 0x000000000ff00000 +#define IO_SLU_FIR 0x00000008 +#define IO_SLU_FIR_CLR 0x00000010 +#define IO_SLU_FEC 0x00000018 +#define IO_SLU_ERR_ACT_MASK 0x00000020 +#define IO_SLU_ERR_ATTN_MASK 0x00000028 +#define IO_SLU_FIRX1_ACT_MASK 0x00000030 +#define IO_SLU_FIRX0_ACT_MASK 0x00000038 +#define IO_SLU_SEC_LEM_DEBUG_OVR 0x00000040 +#define IO_SLU_EXTENDED_ERR_PTR 0x00000048 +#define IO_SLU_COMMON_CONFIG 0x00000060 +#define IO_SLU_FLASH_FIR 0x00000108 +#define IO_SLU_SLC_FIR 0x00000110 +#define IO_SLU_RIU_TRAP 0x00000280 +#define IO_SLU_FLASH_FEC 0x00000308 +#define IO_SLU_SLC_FEC 0x00000310 +#define IO_SLC_QUEUE_SEGMENT 0x00010000 +#define IO_SLC_VF_QUEUE_SEGMENT 0x00050000 +#define IO_SLC_QUEUE_OFFSET 0x00010008 +#define IO_SLC_VF_QUEUE_OFFSET 0x00050008 +#define IO_SLC_QUEUE_CONFIG 0x00010010 +#define IO_SLC_VF_QUEUE_CONFIG 0x00050010 +#define IO_SLC_APPJOB_TIMEOUT 0x00010018 +#define IO_SLC_VF_APPJOB_TIMEOUT 0x00050018 +#define TIMEOUT_250MS 0x0000000f +#define HEARTBEAT_DISABLE 0x0000ff00 +#define IO_SLC_QUEUE_INITSQN 0x00010020 +#define IO_SLC_VF_QUEUE_INITSQN 0x00050020 +#define IO_SLC_QUEUE_WRAP 0x00010028 +#define IO_SLC_VF_QUEUE_WRAP 0x00050028 +#define IO_SLC_QUEUE_STATUS 0x00010100 +#define IO_SLC_VF_QUEUE_STATUS 0x00050100 +#define IO_SLC_QUEUE_WTIME 0x00010030 +#define IO_SLC_VF_QUEUE_WTIME 0x00050030 +#define IO_SLC_QUEUE_ERRCNTS 0x00010038 +#define IO_SLC_VF_QUEUE_ERRCNTS 0x00050038 +#define IO_SLC_QUEUE_LRW 0x00010040 +#define IO_SLC_VF_QUEUE_LRW 0x00050040 +#define IO_SLC_FREE_RUNNING_TIMER 0x00010108 +#define IO_SLC_VF_FREE_RUNNING_TIMER 0x00050108 +#define IO_PF_SLC_VIRTUAL_REGION 0x00050000 +#define IO_PF_SLC_VIRTUAL_WINDOW 0x00060000 +#define IO_PF_SLC_JOBPEND(n) (0x00061000 + 8*(n)) +#define IO_SLC_JOBPEND(n) IO_PF_SLC_JOBPEND(n) +#define IO_SLU_SLC_PARSE_TRAP(n) (0x00011000 + 8*(n)) +#define IO_SLU_SLC_DISP_TRAP(n) (0x00011200 + 8*(n)) +#define IO_SLC_CFGREG_GFIR 0x00020000 +#define GFIR_ERR_TRIGGER 0x0000ffff +#define IO_SLC_CFGREG_SOFTRESET 0x00020018 +#define IO_SLC_MISC_DEBUG 0x00020060 +#define IO_SLC_MISC_DEBUG_CLR 0x00020068 +#define IO_SLC_MISC_DEBUG_SET 0x00020070 +#define IO_SLU_TEMPERATURE_SENSOR 0x00030000 +#define IO_SLU_TEMPERATURE_CONFIG 0x00030008 +#define IO_SLU_VOLTAGE_CONTROL 0x00030080 +#define IO_SLU_VOLTAGE_NOMINAL 0x00000000 +#define IO_SLU_VOLTAGE_DOWN5 0x00000006 +#define IO_SLU_VOLTAGE_UP5 0x00000007 +#define IO_SLU_LEDCONTROL 0x00030100 +#define IO_SLU_FLASH_DIRECTACCESS 0x00040010 +#define IO_SLU_FLASH_DIRECTACCESS2 0x00040020 +#define IO_SLU_FLASH_CMDINTF 0x00040030 +#define IO_SLU_BITSTREAM 0x00040040 +#define IO_HSU_ERR_BEHAVIOR 0x01001010 +#define IO_SLC2_SQB_TRAP 0x00062000 +#define IO_SLC2_QUEUE_MANAGER_TRAP 0x00062008 +#define IO_SLC2_FLS_MASTER_TRAP 0x00062010 +#define IO_HSU_UNITCFG 0x01000000 +#define IO_HSU_FIR 0x01000008 +#define IO_HSU_FIR_CLR 0x01000010 +#define IO_HSU_FEC 0x01000018 +#define IO_HSU_ERR_ACT_MASK 0x01000020 +#define IO_HSU_ERR_ATTN_MASK 0x01000028 +#define IO_HSU_FIRX1_ACT_MASK 0x01000030 +#define IO_HSU_FIRX0_ACT_MASK 0x01000038 +#define IO_HSU_SEC_LEM_DEBUG_OVR 0x01000040 +#define IO_HSU_EXTENDED_ERR_PTR 0x01000048 +#define IO_HSU_COMMON_CONFIG 0x01000060 +#define IO_APP_UNITCFG 0x02000000 +#define IO_APP_FIR 0x02000008 +#define IO_APP_FIR_CLR 0x02000010 +#define IO_APP_FEC 0x02000018 +#define IO_APP_ERR_ACT_MASK 0x02000020 +#define IO_APP_ERR_ATTN_MASK 0x02000028 +#define IO_APP_FIRX1_ACT_MASK 0x02000030 +#define IO_APP_FIRX0_ACT_MASK 0x02000038 +#define IO_APP_SEC_LEM_DEBUG_OVR 0x02000040 +#define IO_APP_EXTENDED_ERR_PTR 0x02000048 +#define IO_APP_COMMON_CONFIG 0x02000060 +#define IO_APP_DEBUG_REG_01 0x02010000 +#define IO_APP_DEBUG_REG_02 0x02010008 +#define IO_APP_DEBUG_REG_03 0x02010010 +#define IO_APP_DEBUG_REG_04 0x02010018 +#define IO_APP_DEBUG_REG_05 0x02010020 +#define IO_APP_DEBUG_REG_06 0x02010028 +#define IO_APP_DEBUG_REG_07 0x02010030 +#define IO_APP_DEBUG_REG_08 0x02010038 +#define IO_APP_DEBUG_REG_09 0x02010040 +#define IO_APP_DEBUG_REG_10 0x02010048 +#define IO_APP_DEBUG_REG_11 0x02010050 +#define IO_APP_DEBUG_REG_12 0x02010058 +#define IO_APP_DEBUG_REG_13 0x02010060 +#define IO_APP_DEBUG_REG_14 0x02010068 +#define IO_APP_DEBUG_REG_15 0x02010070 +#define IO_APP_DEBUG_REG_16 0x02010078 +#define IO_APP_DEBUG_REG_17 0x02010080 +#define IO_APP_DEBUG_REG_18 0x02010088 +struct genwqe_reg_io { + __u64 num; + __u64 val64; +}; +#define IO_ILLEGAL_VALUE 0xffffffffffffffffull +#define DDCB_ACFUNC_SLU 0x00 +#define DDCB_ACFUNC_APP 0x01 +#define DDCB_RETC_IDLE 0x0000 +#define DDCB_RETC_PENDING 0x0101 +#define DDCB_RETC_COMPLETE 0x0102 +#define DDCB_RETC_FAULT 0x0104 +#define DDCB_RETC_ERROR 0x0108 +#define DDCB_RETC_FORCED_ERROR 0x01ff +#define DDCB_RETC_UNEXEC 0x0110 +#define DDCB_RETC_TERM 0x0120 +#define DDCB_RETC_RES0 0x0140 +#define DDCB_RETC_RES1 0x0180 +#define DDCB_OPT_ECHO_FORCE_NO 0x0000 +#define DDCB_OPT_ECHO_FORCE_102 0x0001 +#define DDCB_OPT_ECHO_FORCE_104 0x0002 +#define DDCB_OPT_ECHO_FORCE_108 0x0003 +#define DDCB_OPT_ECHO_FORCE_110 0x0004 +#define DDCB_OPT_ECHO_FORCE_120 0x0005 +#define DDCB_OPT_ECHO_FORCE_140 0x0006 +#define DDCB_OPT_ECHO_FORCE_180 0x0007 +#define DDCB_OPT_ECHO_COPY_NONE (0 << 5) +#define DDCB_OPT_ECHO_COPY_ALL (1 << 5) +#define SLCMD_ECHO_SYNC 0x00 +#define SLCMD_MOVE_FLASH 0x06 +#define SLCMD_MOVE_FLASH_FLAGS_MODE 0x03 +#define SLCMD_MOVE_FLASH_FLAGS_DLOAD 0 +#define SLCMD_MOVE_FLASH_FLAGS_EMUL 1 +#define SLCMD_MOVE_FLASH_FLAGS_UPLOAD 2 +#define SLCMD_MOVE_FLASH_FLAGS_VERIFY 3 +#define SLCMD_MOVE_FLASH_FLAG_NOTAP (1 << 2) +#define SLCMD_MOVE_FLASH_FLAG_POLL (1 << 3) +#define SLCMD_MOVE_FLASH_FLAG_PARTITION (1 << 4) +#define SLCMD_MOVE_FLASH_FLAG_ERASE (1 << 5) +enum genwqe_card_state { + GENWQE_CARD_UNUSED = 0, + GENWQE_CARD_USED = 1, + GENWQE_CARD_FATAL_ERROR = 2, + GENWQE_CARD_RELOAD_BITSTREAM = 3, + GENWQE_CARD_STATE_MAX, +}; +struct genwqe_bitstream { + __u64 data_addr; + __u32 size; + __u32 crc; + __u64 target_addr; + __u32 partition; + __u32 uid; + __u64 slu_id; + __u64 app_id; + __u16 retc; + __u16 attn; + __u32 progress; +}; +#define DDCB_LENGTH 256 +#define DDCB_ASIV_LENGTH 104 +#define DDCB_ASIV_LENGTH_ATS 96 +#define DDCB_ASV_LENGTH 64 +#define DDCB_FIXUPS 12 +struct genwqe_debug_data { + char driver_version[64]; + __u64 slu_unitcfg; + __u64 app_unitcfg; + __u8 ddcb_before[DDCB_LENGTH]; + __u8 ddcb_prev[DDCB_LENGTH]; + __u8 ddcb_finished[DDCB_LENGTH]; +}; +#define ATS_TYPE_DATA 0x0ull +#define ATS_TYPE_FLAT_RD 0x4ull +#define ATS_TYPE_FLAT_RDWR 0x5ull +#define ATS_TYPE_SGL_RD 0x6ull +#define ATS_TYPE_SGL_RDWR 0x7ull +#define ATS_SET_FLAGS(_struct, _field, _flags) \ + (((_flags) & 0xf) << (44 - (4 * (offsetof(_struct, _field) / 8)))) +#define ATS_GET_FLAGS(_ats, _byte_offs) \ + (((_ats) >> (44 - (4 * ((_byte_offs) / 8)))) & 0xf) +struct genwqe_ddcb_cmd { + + __u64 next_addr; + __u64 flags; + __u8 acfunc; + __u8 cmd; + __u8 asiv_length; + __u8 asv_length; + __u16 cmdopts; + __u16 retc; + __u16 attn; + __u16 vcrc; + __u32 progress; + __u64 deque_ts; + __u64 cmplt_ts; + __u64 disp_ts; + + __u64 ddata_addr; + + __u8 asv[DDCB_ASV_LENGTH]; + + union { + struct { + __u64 ats; + __u8 asiv[DDCB_ASIV_LENGTH_ATS]; + }; + + __u8 __asiv[DDCB_ASIV_LENGTH]; + }; + +}; +#define GENWQE_IOC_CODE 0xa5 +#define GENWQE_READ_REG64 _IOR(GENWQE_IOC_CODE, 30, struct genwqe_reg_io) +#define GENWQE_WRITE_REG64 _IOW(GENWQE_IOC_CODE, 31, struct genwqe_reg_io) +#define GENWQE_READ_REG32 _IOR(GENWQE_IOC_CODE, 32, struct genwqe_reg_io) +#define GENWQE_WRITE_REG32 _IOW(GENWQE_IOC_CODE, 33, struct genwqe_reg_io) +#define GENWQE_READ_REG16 _IOR(GENWQE_IOC_CODE, 34, struct genwqe_reg_io) +#define GENWQE_WRITE_REG16 _IOW(GENWQE_IOC_CODE, 35, struct genwqe_reg_io) +#define GENWQE_GET_CARD_STATE _IOR(GENWQE_IOC_CODE, 36, enum genwqe_card_state) +struct genwqe_mem { + __u64 addr; + __u64 size; + __u64 direction; + __u64 flags; +}; +#define GENWQE_PIN_MEM _IOWR(GENWQE_IOC_CODE, 40, struct genwqe_mem) +#define GENWQE_UNPIN_MEM _IOWR(GENWQE_IOC_CODE, 41, struct genwqe_mem) +#define GENWQE_EXECUTE_DDCB \ + _IOWR(GENWQE_IOC_CODE, 50, struct genwqe_ddcb_cmd) +#define GENWQE_EXECUTE_RAW_DDCB \ + _IOWR(GENWQE_IOC_CODE, 51, struct genwqe_ddcb_cmd) +#define GENWQE_SLU_UPDATE _IOWR(GENWQE_IOC_CODE, 80, struct genwqe_bitstream) +#define GENWQE_SLU_READ _IOWR(GENWQE_IOC_CODE, 81, struct genwqe_bitstream) +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/gfs2_ondisk.h b/linux-5.10/prebuilts/usr/include/linux/gfs2_ondisk.h new file mode 100644 index 0000000..9666eed --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/gfs2_ondisk.h @@ -0,0 +1,347 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef __GFS2_ONDISK_DOT_H__ +#define __GFS2_ONDISK_DOT_H__ +#include +#define GFS2_MAGIC 0x01161970 +#define GFS2_BASIC_BLOCK 512 +#define GFS2_BASIC_BLOCK_SHIFT 9 +#define GFS2_MOUNT_LOCK 0 +#define GFS2_LIVE_LOCK 1 +#define GFS2_FREEZE_LOCK 2 +#define GFS2_RENAME_LOCK 3 +#define GFS2_CONTROL_LOCK 4 +#define GFS2_MOUNTED_LOCK 5 +#define GFS2_FORMAT_NONE 0 +#define GFS2_FORMAT_SB 100 +#define GFS2_FORMAT_RG 200 +#define GFS2_FORMAT_RB 300 +#define GFS2_FORMAT_DI 400 +#define GFS2_FORMAT_IN 500 +#define GFS2_FORMAT_LF 600 +#define GFS2_FORMAT_JD 700 +#define GFS2_FORMAT_LH 800 +#define GFS2_FORMAT_LD 900 +#define GFS2_FORMAT_LB 1000 +#define GFS2_FORMAT_EA 1600 +#define GFS2_FORMAT_ED 1700 +#define GFS2_FORMAT_QC 1400 +#define GFS2_FORMAT_RI 1100 +#define GFS2_FORMAT_DE 1200 +#define GFS2_FORMAT_QU 1500 +#define GFS2_FORMAT_FS 1801 +#define GFS2_FORMAT_MULTI 1900 +struct gfs2_inum { + __be64 no_formal_ino; + __be64 no_addr; +}; +#define GFS2_METATYPE_NONE 0 +#define GFS2_METATYPE_SB 1 +#define GFS2_METATYPE_RG 2 +#define GFS2_METATYPE_RB 3 +#define GFS2_METATYPE_DI 4 +#define GFS2_METATYPE_IN 5 +#define GFS2_METATYPE_LF 6 +#define GFS2_METATYPE_JD 7 +#define GFS2_METATYPE_LH 8 +#define GFS2_METATYPE_LD 9 +#define GFS2_METATYPE_LB 12 +#define GFS2_METATYPE_EA 10 +#define GFS2_METATYPE_ED 11 +#define GFS2_METATYPE_QC 14 +struct gfs2_meta_header { + __be32 mh_magic; + __be32 mh_type; + __be64 __pad0; + __be32 mh_format; + + union { + __be32 mh_jid; + __be32 __pad1; + }; +}; +#define GFS2_SB_ADDR 128 +#define GFS2_SB_LOCK 0 +#define GFS2_LOCKNAME_LEN 64 +struct gfs2_sb { + struct gfs2_meta_header sb_header; + __be32 sb_fs_format; + __be32 sb_multihost_format; + __u32 __pad0; + __be32 sb_bsize; + __be32 sb_bsize_shift; + __u32 __pad1; + struct gfs2_inum sb_master_dir; + struct gfs2_inum __pad2; + struct gfs2_inum sb_root_dir; + char sb_lockproto[GFS2_LOCKNAME_LEN]; + char sb_locktable[GFS2_LOCKNAME_LEN]; + struct gfs2_inum __pad3; + struct gfs2_inum __pad4; +#define GFS2_HAS_UUID 1 + __u8 sb_uuid[16]; +}; +struct gfs2_rindex { + __be64 ri_addr; + __be32 ri_length; + __u32 __pad; + __be64 ri_data0; + __be32 ri_data; + __be32 ri_bitbytes; + __u8 ri_reserved[64]; +}; +#define GFS2_NBBY 4 +#define GFS2_BIT_SIZE 2 +#define GFS2_BIT_MASK 0x00000003 +#define GFS2_BLKST_FREE 0 +#define GFS2_BLKST_USED 1 +#define GFS2_BLKST_UNLINKED 2 +#define GFS2_BLKST_DINODE 3 +#define GFS2_RGF_JOURNAL 0x00000001 +#define GFS2_RGF_METAONLY 0x00000002 +#define GFS2_RGF_DATAONLY 0x00000004 +#define GFS2_RGF_NOALLOC 0x00000008 +#define GFS2_RGF_TRIMMED 0x00000010 +struct gfs2_inode_lvb { + __be32 ri_magic; + __be32 __pad; + __be64 ri_generation_deleted; +}; +struct gfs2_rgrp_lvb { + __be32 rl_magic; + __be32 rl_flags; + __be32 rl_free; + __be32 rl_dinodes; + __be64 rl_igeneration; + __be32 rl_unlinked; + __be32 __pad; +}; +struct gfs2_rgrp { + struct gfs2_meta_header rg_header; + __be32 rg_flags; + __be32 rg_free; + __be32 rg_dinodes; + union { + __be32 __pad; + __be32 rg_skip; + }; + __be64 rg_igeneration; + + __be64 rg_data0; + __be32 rg_data; + __be32 rg_bitbytes; + __be32 rg_crc; + __u8 rg_reserved[60]; +}; +struct gfs2_quota { + __be64 qu_limit; + __be64 qu_warn; + __be64 qu_value; + __u8 qu_reserved[64]; +}; +#define GFS2_MAX_META_HEIGHT 10 +#define GFS2_DIR_MAX_DEPTH 17 +#define DT2IF(dt) (((dt) << 12) & S_IFMT) +#define IF2DT(sif) (((sif) & S_IFMT) >> 12) +enum { + gfs2fl_Jdata = 0, + gfs2fl_ExHash = 1, + gfs2fl_Unused = 2, + gfs2fl_EaIndirect = 3, + gfs2fl_Directio = 4, + gfs2fl_Immutable = 5, + gfs2fl_AppendOnly = 6, + gfs2fl_NoAtime = 7, + gfs2fl_Sync = 8, + gfs2fl_System = 9, + gfs2fl_TopLevel = 10, + gfs2fl_TruncInProg = 29, + gfs2fl_InheritDirectio = 30, + gfs2fl_InheritJdata = 31, +}; +#define GFS2_DIF_JDATA 0x00000001 +#define GFS2_DIF_EXHASH 0x00000002 +#define GFS2_DIF_UNUSED 0x00000004 +#define GFS2_DIF_EA_INDIRECT 0x00000008 +#define GFS2_DIF_DIRECTIO 0x00000010 +#define GFS2_DIF_IMMUTABLE 0x00000020 +#define GFS2_DIF_APPENDONLY 0x00000040 +#define GFS2_DIF_NOATIME 0x00000080 +#define GFS2_DIF_SYNC 0x00000100 +#define GFS2_DIF_SYSTEM 0x00000200 +#define GFS2_DIF_TOPDIR 0x00000400 +#define GFS2_DIF_TRUNC_IN_PROG 0x20000000 +#define GFS2_DIF_INHERIT_DIRECTIO 0x40000000 +#define GFS2_DIF_INHERIT_JDATA 0x80000000 +struct gfs2_dinode { + struct gfs2_meta_header di_header; + struct gfs2_inum di_num; + __be32 di_mode; + __be32 di_uid; + __be32 di_gid; + __be32 di_nlink; + __be64 di_size; + __be64 di_blocks; + __be64 di_atime; + __be64 di_mtime; + __be64 di_ctime; + __be32 di_major; + __be32 di_minor; + + __be64 di_goal_meta; + __be64 di_goal_data; + __be64 di_generation; + __be32 di_flags; + __be32 di_payload_format; + __u16 __pad1; + __be16 di_height; + __u32 __pad2; + + __u16 __pad3; + __be16 di_depth; + __be32 di_entries; + struct gfs2_inum __pad4; + __be64 di_eattr; + __be32 di_atime_nsec; + __be32 di_mtime_nsec; + __be32 di_ctime_nsec; + __u8 di_reserved[44]; +}; +#define GFS2_FNAMESIZE 255 +#define GFS2_DIRENT_SIZE(name_len) ((sizeof(struct gfs2_dirent) + (name_len) + 7) & ~7) +#define GFS2_MIN_DIRENT_SIZE (GFS2_DIRENT_SIZE(1)) +struct gfs2_dirent { + struct gfs2_inum de_inum; + __be32 de_hash; + __be16 de_rec_len; + __be16 de_name_len; + __be16 de_type; + __be16 de_rahead; + union { + __u8 __pad[12]; + struct { + __u32 de_cookie; + __u8 pad3[8]; + }; + }; +}; +struct gfs2_leaf { + struct gfs2_meta_header lf_header; + __be16 lf_depth; + __be16 lf_entries; + __be32 lf_dirent_format; + __be64 lf_next; + union { + __u8 lf_reserved[64]; + struct { + __be64 lf_inode; + __be32 lf_dist; + __be32 lf_nsec; + __be64 lf_sec; + __u8 lf_reserved2[40]; + }; + }; +}; +#define GFS2_EA_MAX_NAME_LEN 255 +#define GFS2_EA_MAX_DATA_LEN 65536 +#define GFS2_EATYPE_UNUSED 0 +#define GFS2_EATYPE_USR 1 +#define GFS2_EATYPE_SYS 2 +#define GFS2_EATYPE_SECURITY 3 +#define GFS2_EATYPE_LAST 3 +#define GFS2_EATYPE_VALID(x) ((x) <= GFS2_EATYPE_LAST) +#define GFS2_EAFLAG_LAST 0x01 +struct gfs2_ea_header { + __be32 ea_rec_len; + __be32 ea_data_len; + __u8 ea_name_len; + __u8 ea_type; + __u8 ea_flags; + __u8 ea_num_ptrs; + __u32 __pad; +}; +#define GFS2_LOG_HEAD_UNMOUNT 0x00000001 +#define GFS2_LOG_HEAD_FLUSH_NORMAL 0x00000002 +#define GFS2_LOG_HEAD_FLUSH_SYNC 0x00000004 +#define GFS2_LOG_HEAD_FLUSH_SHUTDOWN 0x00000008 +#define GFS2_LOG_HEAD_FLUSH_FREEZE 0x00000010 +#define GFS2_LOG_HEAD_RECOVERY 0x00000020 +#define GFS2_LOG_HEAD_USERSPACE 0x80000000 +#define GFS2_LFC_SHUTDOWN 0x00000100 +#define GFS2_LFC_JDATA_WPAGES 0x00000200 +#define GFS2_LFC_SET_FLAGS 0x00000400 +#define GFS2_LFC_AIL_EMPTY_GL 0x00000800 +#define GFS2_LFC_AIL_FLUSH 0x00001000 +#define GFS2_LFC_RGRP_GO_SYNC 0x00002000 +#define GFS2_LFC_INODE_GO_SYNC 0x00004000 +#define GFS2_LFC_INODE_GO_INVAL 0x00008000 +#define GFS2_LFC_FREEZE_GO_SYNC 0x00010000 +#define GFS2_LFC_KILL_SB 0x00020000 +#define GFS2_LFC_DO_SYNC 0x00040000 +#define GFS2_LFC_INPLACE_RESERVE 0x00080000 +#define GFS2_LFC_WRITE_INODE 0x00100000 +#define GFS2_LFC_MAKE_FS_RO 0x00200000 +#define GFS2_LFC_SYNC_FS 0x00400000 +#define GFS2_LFC_EVICT_INODE 0x00800000 +#define GFS2_LFC_TRANS_END 0x01000000 +#define GFS2_LFC_LOGD_JFLUSH_REQD 0x02000000 +#define GFS2_LFC_LOGD_AIL_FLUSH_REQD 0x04000000 +#define LH_V1_SIZE (offsetofend(struct gfs2_log_header, lh_hash)) +struct gfs2_log_header { + struct gfs2_meta_header lh_header; + __be64 lh_sequence; + __be32 lh_flags; + __be32 lh_tail; + __be32 lh_blkno; + __be32 lh_hash; + + __be32 lh_crc; + __be32 lh_nsec; + __be64 lh_sec; + __be64 lh_addr; + __be64 lh_jinode; + __be64 lh_statfs_addr; + __be64 lh_quota_addr; + + __be64 lh_local_total; + __be64 lh_local_free; + __be64 lh_local_dinodes; +}; +#define GFS2_LOG_DESC_METADATA 300 +#define GFS2_LOG_DESC_REVOKE 301 +#define GFS2_LOG_DESC_JDATA 302 +struct gfs2_log_descriptor { + struct gfs2_meta_header ld_header; + __be32 ld_type; + __be32 ld_length; + __be32 ld_data1; + __be32 ld_data2; + __u8 ld_reserved[32]; +}; +#define GFS2_INUM_QUANTUM 1048576 +struct gfs2_inum_range { + __be64 ir_start; + __be64 ir_length; +}; +struct gfs2_statfs_change { + __be64 sc_total; + __be64 sc_free; + __be64 sc_dinodes; +}; +#define GFS2_QCF_USER 0x00000001 +struct gfs2_quota_change { + __be64 qc_change; + __be32 qc_flags; + __be32 qc_id; +}; +struct gfs2_quota_lvb { + __be32 qb_magic; + __u32 __pad; + __be64 qb_limit; + __be64 qb_warn; + __be64 qb_value; +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/gigaset_dev.h b/linux-5.10/prebuilts/usr/include/linux/gigaset_dev.h new file mode 100644 index 0000000..439faee --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/gigaset_dev.h @@ -0,0 +1,17 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef GIGASET_INTERFACE_H +#define GIGASET_INTERFACE_H +#include +#define GIGASET_IOCTL 0x47 +#define GIGASET_REDIR _IOWR(GIGASET_IOCTL, 0, int) +#define GIGASET_CONFIG _IOWR(GIGASET_IOCTL, 1, int) +#define GIGASET_BRKCHARS _IOW(GIGASET_IOCTL, 2, unsigned char[6]) +#define GIGASET_VERSION _IOWR(GIGASET_IOCTL, 3, unsigned[4]) +#define GIGVER_DRIVER 0 +#define GIGVER_COMPAT 1 +#define GIGVER_FWBASE 2 +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/gpio.h b/linux-5.10/prebuilts/usr/include/linux/gpio.h new file mode 100644 index 0000000..1f9b410 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/gpio.h @@ -0,0 +1,187 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI_GPIO_H_ +#define _UAPI_GPIO_H_ +#include +#include +#include +#define GPIO_MAX_NAME_SIZE 32 +struct gpiochip_info { + char name[GPIO_MAX_NAME_SIZE]; + char label[GPIO_MAX_NAME_SIZE]; + __u32 lines; +}; +#define GPIO_V2_LINES_MAX 64 +#define GPIO_V2_LINE_NUM_ATTRS_MAX 10 +enum gpio_v2_line_flag { + GPIO_V2_LINE_FLAG_USED = _BITULL(0), + GPIO_V2_LINE_FLAG_ACTIVE_LOW = _BITULL(1), + GPIO_V2_LINE_FLAG_INPUT = _BITULL(2), + GPIO_V2_LINE_FLAG_OUTPUT = _BITULL(3), + GPIO_V2_LINE_FLAG_EDGE_RISING = _BITULL(4), + GPIO_V2_LINE_FLAG_EDGE_FALLING = _BITULL(5), + GPIO_V2_LINE_FLAG_OPEN_DRAIN = _BITULL(6), + GPIO_V2_LINE_FLAG_OPEN_SOURCE = _BITULL(7), + GPIO_V2_LINE_FLAG_BIAS_PULL_UP = _BITULL(8), + GPIO_V2_LINE_FLAG_BIAS_PULL_DOWN = _BITULL(9), + GPIO_V2_LINE_FLAG_BIAS_DISABLED = _BITULL(10), +}; +struct gpio_v2_line_values { + __aligned_u64 bits; + __aligned_u64 mask; +}; +enum gpio_v2_line_attr_id { + GPIO_V2_LINE_ATTR_ID_FLAGS = 1, + GPIO_V2_LINE_ATTR_ID_OUTPUT_VALUES = 2, + GPIO_V2_LINE_ATTR_ID_DEBOUNCE = 3, +}; +struct gpio_v2_line_attribute { + __u32 id; + __u32 padding; + union { + __aligned_u64 flags; + __aligned_u64 values; + __u32 debounce_period_us; + }; +}; +struct gpio_v2_line_config_attribute { + struct gpio_v2_line_attribute attr; + __aligned_u64 mask; +}; +struct gpio_v2_line_config { + __aligned_u64 flags; + __u32 num_attrs; + + __u32 padding[5]; + struct gpio_v2_line_config_attribute attrs[GPIO_V2_LINE_NUM_ATTRS_MAX]; +}; +struct gpio_v2_line_request { + __u32 offsets[GPIO_V2_LINES_MAX]; + char consumer[GPIO_MAX_NAME_SIZE]; + struct gpio_v2_line_config config; + __u32 num_lines; + __u32 event_buffer_size; + + __u32 padding[5]; + __s32 fd; +}; +struct gpio_v2_line_info { + char name[GPIO_MAX_NAME_SIZE]; + char consumer[GPIO_MAX_NAME_SIZE]; + __u32 offset; + __u32 num_attrs; + __aligned_u64 flags; + struct gpio_v2_line_attribute attrs[GPIO_V2_LINE_NUM_ATTRS_MAX]; + + __u32 padding[4]; +}; +enum gpio_v2_line_changed_type { + GPIO_V2_LINE_CHANGED_REQUESTED = 1, + GPIO_V2_LINE_CHANGED_RELEASED = 2, + GPIO_V2_LINE_CHANGED_CONFIG = 3, +}; +struct gpio_v2_line_info_changed { + struct gpio_v2_line_info info; + __aligned_u64 timestamp_ns; + __u32 event_type; + + __u32 padding[5]; +}; +enum gpio_v2_line_event_id { + GPIO_V2_LINE_EVENT_RISING_EDGE = 1, + GPIO_V2_LINE_EVENT_FALLING_EDGE = 2, +}; +struct gpio_v2_line_event { + __aligned_u64 timestamp_ns; + __u32 id; + __u32 offset; + __u32 seqno; + __u32 line_seqno; + + __u32 padding[6]; +}; +#define GPIOLINE_FLAG_KERNEL (1UL << 0) +#define GPIOLINE_FLAG_IS_OUT (1UL << 1) +#define GPIOLINE_FLAG_ACTIVE_LOW (1UL << 2) +#define GPIOLINE_FLAG_OPEN_DRAIN (1UL << 3) +#define GPIOLINE_FLAG_OPEN_SOURCE (1UL << 4) +#define GPIOLINE_FLAG_BIAS_PULL_UP (1UL << 5) +#define GPIOLINE_FLAG_BIAS_PULL_DOWN (1UL << 6) +#define GPIOLINE_FLAG_BIAS_DISABLE (1UL << 7) +struct gpioline_info { + __u32 line_offset; + __u32 flags; + char name[GPIO_MAX_NAME_SIZE]; + char consumer[GPIO_MAX_NAME_SIZE]; +}; +#define GPIOHANDLES_MAX 64 +enum { + GPIOLINE_CHANGED_REQUESTED = 1, + GPIOLINE_CHANGED_RELEASED, + GPIOLINE_CHANGED_CONFIG, +}; +struct gpioline_info_changed { + struct gpioline_info info; + __u64 timestamp; + __u32 event_type; + __u32 padding[5]; +}; +#define GPIOHANDLE_REQUEST_INPUT (1UL << 0) +#define GPIOHANDLE_REQUEST_OUTPUT (1UL << 1) +#define GPIOHANDLE_REQUEST_ACTIVE_LOW (1UL << 2) +#define GPIOHANDLE_REQUEST_OPEN_DRAIN (1UL << 3) +#define GPIOHANDLE_REQUEST_OPEN_SOURCE (1UL << 4) +#define GPIOHANDLE_REQUEST_BIAS_PULL_UP (1UL << 5) +#define GPIOHANDLE_REQUEST_BIAS_PULL_DOWN (1UL << 6) +#define GPIOHANDLE_REQUEST_BIAS_DISABLE (1UL << 7) +struct gpiohandle_request { + __u32 lineoffsets[GPIOHANDLES_MAX]; + __u32 flags; + __u8 default_values[GPIOHANDLES_MAX]; + char consumer_label[GPIO_MAX_NAME_SIZE]; + __u32 lines; + int fd; +}; +struct gpiohandle_config { + __u32 flags; + __u8 default_values[GPIOHANDLES_MAX]; + __u32 padding[4]; +}; +struct gpiohandle_data { + __u8 values[GPIOHANDLES_MAX]; +}; +#define GPIOEVENT_REQUEST_RISING_EDGE (1UL << 0) +#define GPIOEVENT_REQUEST_FALLING_EDGE (1UL << 1) +#define GPIOEVENT_REQUEST_BOTH_EDGES ((1UL << 0) | (1UL << 1)) +struct gpioevent_request { + __u32 lineoffset; + __u32 handleflags; + __u32 eventflags; + char consumer_label[GPIO_MAX_NAME_SIZE]; + int fd; +}; +#define GPIOEVENT_EVENT_RISING_EDGE 0x01 +#define GPIOEVENT_EVENT_FALLING_EDGE 0x02 +struct gpioevent_data { + __u64 timestamp; + __u32 id; +}; +#define GPIO_GET_CHIPINFO_IOCTL _IOR(0xB4, 0x01, struct gpiochip_info) +#define GPIO_GET_LINEINFO_UNWATCH_IOCTL _IOWR(0xB4, 0x0C, __u32) +#define GPIO_V2_GET_LINEINFO_IOCTL _IOWR(0xB4, 0x05, struct gpio_v2_line_info) +#define GPIO_V2_GET_LINEINFO_WATCH_IOCTL _IOWR(0xB4, 0x06, struct gpio_v2_line_info) +#define GPIO_V2_GET_LINE_IOCTL _IOWR(0xB4, 0x07, struct gpio_v2_line_request) +#define GPIO_V2_LINE_SET_CONFIG_IOCTL _IOWR(0xB4, 0x0D, struct gpio_v2_line_config) +#define GPIO_V2_LINE_GET_VALUES_IOCTL _IOWR(0xB4, 0x0E, struct gpio_v2_line_values) +#define GPIO_V2_LINE_SET_VALUES_IOCTL _IOWR(0xB4, 0x0F, struct gpio_v2_line_values) +#define GPIO_GET_LINEINFO_IOCTL _IOWR(0xB4, 0x02, struct gpioline_info) +#define GPIO_GET_LINEHANDLE_IOCTL _IOWR(0xB4, 0x03, struct gpiohandle_request) +#define GPIO_GET_LINEEVENT_IOCTL _IOWR(0xB4, 0x04, struct gpioevent_request) +#define GPIOHANDLE_GET_LINE_VALUES_IOCTL _IOWR(0xB4, 0x08, struct gpiohandle_data) +#define GPIOHANDLE_SET_LINE_VALUES_IOCTL _IOWR(0xB4, 0x09, struct gpiohandle_data) +#define GPIOHANDLE_SET_CONFIG_IOCTL _IOWR(0xB4, 0x0A, struct gpiohandle_config) +#define GPIO_GET_LINEINFO_WATCH_IOCTL _IOWR(0xB4, 0x0B, struct gpioline_info) +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/gsmmux.h b/linux-5.10/prebuilts/usr/include/linux/gsmmux.h new file mode 100644 index 0000000..92d660a --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/gsmmux.h @@ -0,0 +1,38 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _LINUX_GSMMUX_H +#define _LINUX_GSMMUX_H +#include +#include +#include +struct gsm_config +{ + unsigned int adaption; + unsigned int encapsulation; + unsigned int initiator; + unsigned int t1; + unsigned int t2; + unsigned int t3; + unsigned int n2; + unsigned int mru; + unsigned int mtu; + unsigned int k; + unsigned int i; + unsigned int unused[8]; +}; +#define GSMIOC_GETCONF _IOR('G', 0, struct gsm_config) +#define GSMIOC_SETCONF _IOW('G', 1, struct gsm_config) +struct gsm_netconfig { + unsigned int adaption; + unsigned short protocol; + unsigned short unused2; + char if_name[IFNAMSIZ]; + __u8 unused[28]; +}; +#define GSMIOC_ENABLE_NET _IOW('G', 2, struct gsm_netconfig) +#define GSMIOC_DISABLE_NET _IO('G', 3) +#define GSMIOC_GETFIRST _IOR('G', 4, __u32) +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/gtp.h b/linux-5.10/prebuilts/usr/include/linux/gtp.h new file mode 100644 index 0000000..da3071d --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/gtp.h @@ -0,0 +1,35 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI_LINUX_GTP_H_ +#define _UAPI_LINUX_GTP_H_ +#define GTP_GENL_MCGRP_NAME "gtp" +enum gtp_genl_cmds { + GTP_CMD_NEWPDP, + GTP_CMD_DELPDP, + GTP_CMD_GETPDP, + GTP_CMD_MAX, +}; +enum gtp_version { + GTP_V0 = 0, + GTP_V1, +}; +enum gtp_attrs { + GTPA_UNSPEC = 0, + GTPA_LINK, + GTPA_VERSION, + GTPA_TID, + GTPA_PEER_ADDRESS, +#define GTPA_SGSN_ADDRESS GTPA_PEER_ADDRESS + GTPA_MS_ADDRESS, + GTPA_FLOW, + GTPA_NET_NS_FD, + GTPA_I_TEI, + GTPA_O_TEI, + GTPA_PAD, + __GTPA_MAX, +}; +#define GTPA_MAX (__GTPA_MAX + 1) +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/hash_info.h b/linux-5.10/prebuilts/usr/include/linux/hash_info.h new file mode 100644 index 0000000..7fd6df6 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/hash_info.h @@ -0,0 +1,31 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI_LINUX_HASH_INFO_H +#define _UAPI_LINUX_HASH_INFO_H +enum hash_algo { + HASH_ALGO_MD4, + HASH_ALGO_MD5, + HASH_ALGO_SHA1, + HASH_ALGO_RIPE_MD_160, + HASH_ALGO_SHA256, + HASH_ALGO_SHA384, + HASH_ALGO_SHA512, + HASH_ALGO_SHA224, + HASH_ALGO_RIPE_MD_128, + HASH_ALGO_RIPE_MD_256, + HASH_ALGO_RIPE_MD_320, + HASH_ALGO_WP_256, + HASH_ALGO_WP_384, + HASH_ALGO_WP_512, + HASH_ALGO_TGR_128, + HASH_ALGO_TGR_160, + HASH_ALGO_TGR_192, + HASH_ALGO_SM3_256, + HASH_ALGO_STREEBOG_256, + HASH_ALGO_STREEBOG_512, + HASH_ALGO__LAST +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/hdlc.h b/linux-5.10/prebuilts/usr/include/linux/hdlc.h new file mode 100644 index 0000000..174823b --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/hdlc.h @@ -0,0 +1,14 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI__HDLC_H +#define _UAPI__HDLC_H +#define HDLC_MAX_MTU 1500 +#if 0 +#define HDLC_MAX_MRU (HDLC_MAX_MTU + 10 + 14 + 4) +#else +#define HDLC_MAX_MRU 1600 +#endif +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/hdlc/ioctl.h b/linux-5.10/prebuilts/usr/include/linux/hdlc/ioctl.h new file mode 100644 index 0000000..bd7ea2c --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/hdlc/ioctl.h @@ -0,0 +1,78 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef __HDLC_IOCTL_H__ +#define __HDLC_IOCTL_H__ +#define GENERIC_HDLC_VERSION 4 +#define CLOCK_DEFAULT 0 +#define CLOCK_EXT 1 +#define CLOCK_INT 2 +#define CLOCK_TXINT 3 +#define CLOCK_TXFROMRX 4 +#define ENCODING_DEFAULT 0 +#define ENCODING_NRZ 1 +#define ENCODING_NRZI 2 +#define ENCODING_FM_MARK 3 +#define ENCODING_FM_SPACE 4 +#define ENCODING_MANCHESTER 5 +#define PARITY_DEFAULT 0 +#define PARITY_NONE 1 +#define PARITY_CRC16_PR0 2 +#define PARITY_CRC16_PR1 3 +#define PARITY_CRC16_PR0_CCITT 4 +#define PARITY_CRC16_PR1_CCITT 5 +#define PARITY_CRC32_PR0_CCITT 6 +#define PARITY_CRC32_PR1_CCITT 7 +#define LMI_DEFAULT 0 +#define LMI_NONE 1 +#define LMI_ANSI 2 +#define LMI_CCITT 3 +#define LMI_CISCO 4 +#ifndef __ASSEMBLY__ +typedef struct { + unsigned int clock_rate; + unsigned int clock_type; + unsigned short loopback; +} sync_serial_settings; +typedef struct { + unsigned int clock_rate; + unsigned int clock_type; + unsigned short loopback; + unsigned int slot_map; +} te1_settings; +typedef struct { + unsigned short encoding; + unsigned short parity; +} raw_hdlc_proto; +typedef struct { + unsigned int t391; + unsigned int t392; + unsigned int n391; + unsigned int n392; + unsigned int n393; + unsigned short lmi; + unsigned short dce; +} fr_proto; +typedef struct { + unsigned int dlci; +} fr_proto_pvc; +typedef struct { + unsigned int dlci; + char master[IFNAMSIZ]; +}fr_proto_pvc_info; +typedef struct { + unsigned int interval; + unsigned int timeout; +} cisco_proto; +typedef struct { + unsigned short dce; + unsigned int modulo; + unsigned int window; + unsigned int t1; + unsigned int t2; + unsigned int n2; +} x25_hdlc_proto; +#endif +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/hdlcdrv.h b/linux-5.10/prebuilts/usr/include/linux/hdlcdrv.h new file mode 100644 index 0000000..21d8224 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/hdlcdrv.h @@ -0,0 +1,73 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI_HDLCDRV_H +#define _UAPI_HDLCDRV_H +struct hdlcdrv_params { + int iobase; + int irq; + int dma; + int dma2; + int seriobase; + int pariobase; + int midiiobase; +}; +struct hdlcdrv_channel_params { + int tx_delay; + int tx_tail; + int slottime; + int ppersist; + int fulldup; + +}; +struct hdlcdrv_old_channel_state { + int ptt; + int dcd; + int ptt_keyed; +}; +struct hdlcdrv_channel_state { + int ptt; + int dcd; + int ptt_keyed; + unsigned long tx_packets; + unsigned long tx_errors; + unsigned long rx_packets; + unsigned long rx_errors; +}; +struct hdlcdrv_ioctl { + int cmd; + union { + struct hdlcdrv_params mp; + struct hdlcdrv_channel_params cp; + struct hdlcdrv_channel_state cs; + struct hdlcdrv_old_channel_state ocs; + unsigned int calibrate; + unsigned char bits; + char modename[128]; + char drivername[32]; + } data; +}; +#define HDLCDRVCTL_GETMODEMPAR 0 +#define HDLCDRVCTL_SETMODEMPAR 1 +#define HDLCDRVCTL_MODEMPARMASK 2 +#define HDLCDRVCTL_GETCHANNELPAR 10 +#define HDLCDRVCTL_SETCHANNELPAR 11 +#define HDLCDRVCTL_OLDGETSTAT 20 +#define HDLCDRVCTL_CALIBRATE 21 +#define HDLCDRVCTL_GETSTAT 22 +#define HDLCDRVCTL_GETSAMPLES 30 +#define HDLCDRVCTL_GETBITS 31 +#define HDLCDRVCTL_GETMODE 40 +#define HDLCDRVCTL_SETMODE 41 +#define HDLCDRVCTL_MODELIST 42 +#define HDLCDRVCTL_DRIVERNAME 43 +#define HDLCDRV_PARMASK_IOBASE (1<<0) +#define HDLCDRV_PARMASK_IRQ (1<<1) +#define HDLCDRV_PARMASK_DMA (1<<2) +#define HDLCDRV_PARMASK_DMA2 (1<<3) +#define HDLCDRV_PARMASK_SERIOBASE (1<<4) +#define HDLCDRV_PARMASK_PARIOBASE (1<<5) +#define HDLCDRV_PARMASK_MIDIIOBASE (1<<6) +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/hdreg.h b/linux-5.10/prebuilts/usr/include/linux/hdreg.h new file mode 100644 index 0000000..ec7836c --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/hdreg.h @@ -0,0 +1,394 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _LINUX_HDREG_H +#define _LINUX_HDREG_H +#include +#define HDIO_DRIVE_CMD_HDR_SIZE (4 * sizeof(__u8)) +#define HDIO_DRIVE_HOB_HDR_SIZE (8 * sizeof(__u8)) +#define HDIO_DRIVE_TASK_HDR_SIZE (8 * sizeof(__u8)) +#define IDE_DRIVE_TASK_NO_DATA 0 +#ifndef __KERNEL__ +#define IDE_DRIVE_TASK_INVALID -1 +#define IDE_DRIVE_TASK_SET_XFER 1 +#define IDE_DRIVE_TASK_IN 2 +#define IDE_DRIVE_TASK_OUT 3 +#endif +#define IDE_DRIVE_TASK_RAW_WRITE 4 +#define IDE_TASKFILE_STD_IN_FLAGS 0xFE +#define IDE_HOB_STD_IN_FLAGS 0x3C +#ifndef __KERNEL__ +#define IDE_TASKFILE_STD_OUT_FLAGS 0xFE +#define IDE_HOB_STD_OUT_FLAGS 0x3C +typedef unsigned char task_ioreg_t; +typedef unsigned long sata_ioreg_t; +#endif +typedef union ide_reg_valid_s { + unsigned all : 16; + struct { + unsigned data : 1; + unsigned error_feature : 1; + unsigned sector : 1; + unsigned nsector : 1; + unsigned lcyl : 1; + unsigned hcyl : 1; + unsigned select : 1; + unsigned status_command : 1; + unsigned data_hob : 1; + unsigned error_feature_hob : 1; + unsigned sector_hob : 1; + unsigned nsector_hob : 1; + unsigned lcyl_hob : 1; + unsigned hcyl_hob : 1; + unsigned select_hob : 1; + unsigned control_hob : 1; + } b; +} ide_reg_valid_t; +typedef struct ide_task_request_s { + __u8 io_ports[8]; + __u8 hob_ports[8]; + ide_reg_valid_t out_flags; + ide_reg_valid_t in_flags; + int data_phase; + int req_cmd; + unsigned long out_size; + unsigned long in_size; +} ide_task_request_t; +typedef struct ide_ioctl_request_s { + ide_task_request_t *task_request; + unsigned char *out_buffer; + unsigned char *in_buffer; +} ide_ioctl_request_t; +struct hd_drive_cmd_hdr { + __u8 command; + __u8 sector_number; + __u8 feature; + __u8 sector_count; +}; +#ifndef __KERNEL__ +typedef struct hd_drive_task_hdr { + __u8 data; + __u8 feature; + __u8 sector_count; + __u8 sector_number; + __u8 low_cylinder; + __u8 high_cylinder; + __u8 device_head; + __u8 command; +} task_struct_t; +typedef struct hd_drive_hob_hdr { + __u8 data; + __u8 feature; + __u8 sector_count; + __u8 sector_number; + __u8 low_cylinder; + __u8 high_cylinder; + __u8 device_head; + __u8 control; +} hob_struct_t; +#endif +#define TASKFILE_NO_DATA 0x0000 +#define TASKFILE_IN 0x0001 +#define TASKFILE_MULTI_IN 0x0002 +#define TASKFILE_OUT 0x0004 +#define TASKFILE_MULTI_OUT 0x0008 +#define TASKFILE_IN_OUT 0x0010 +#define TASKFILE_IN_DMA 0x0020 +#define TASKFILE_OUT_DMA 0x0040 +#define TASKFILE_IN_DMAQ 0x0080 +#define TASKFILE_OUT_DMAQ 0x0100 +#ifndef __KERNEL__ +#define TASKFILE_P_IN 0x0200 +#define TASKFILE_P_OUT 0x0400 +#define TASKFILE_P_IN_DMA 0x0800 +#define TASKFILE_P_OUT_DMA 0x1000 +#define TASKFILE_P_IN_DMAQ 0x2000 +#define TASKFILE_P_OUT_DMAQ 0x4000 +#define TASKFILE_48 0x8000 +#define TASKFILE_INVALID 0x7fff +#endif +#ifndef __KERNEL__ +#define WIN_NOP 0x00 +#define CFA_REQ_EXT_ERROR_CODE 0x03 +#define WIN_SRST 0x08 +#define WIN_DEVICE_RESET 0x08 +#define WIN_RECAL 0x10 +#define WIN_RESTORE WIN_RECAL +#define WIN_READ 0x20 +#define WIN_READ_ONCE 0x21 +#define WIN_READ_LONG 0x22 +#define WIN_READ_LONG_ONCE 0x23 +#define WIN_READ_EXT 0x24 +#define WIN_READDMA_EXT 0x25 +#define WIN_READDMA_QUEUED_EXT 0x26 +#define WIN_READ_NATIVE_MAX_EXT 0x27 +#define WIN_MULTREAD_EXT 0x29 +#define WIN_WRITE 0x30 +#define WIN_WRITE_ONCE 0x31 +#define WIN_WRITE_LONG 0x32 +#define WIN_WRITE_LONG_ONCE 0x33 +#define WIN_WRITE_EXT 0x34 +#define WIN_WRITEDMA_EXT 0x35 +#define WIN_WRITEDMA_QUEUED_EXT 0x36 +#define WIN_SET_MAX_EXT 0x37 +#define CFA_WRITE_SECT_WO_ERASE 0x38 +#define WIN_MULTWRITE_EXT 0x39 +#define WIN_WRITE_VERIFY 0x3C +#define WIN_VERIFY 0x40 +#define WIN_VERIFY_ONCE 0x41 +#define WIN_VERIFY_EXT 0x42 +#define WIN_FORMAT 0x50 +#define WIN_INIT 0x60 +#define WIN_SEEK 0x70 +#define CFA_TRANSLATE_SECTOR 0x87 +#define WIN_DIAGNOSE 0x90 +#define WIN_SPECIFY 0x91 +#define WIN_DOWNLOAD_MICROCODE 0x92 +#define WIN_STANDBYNOW2 0x94 +#define WIN_STANDBY2 0x96 +#define WIN_SETIDLE2 0x97 +#define WIN_CHECKPOWERMODE2 0x98 +#define WIN_SLEEPNOW2 0x99 +#define WIN_PACKETCMD 0xA0 +#define WIN_PIDENTIFY 0xA1 +#define WIN_QUEUED_SERVICE 0xA2 +#define WIN_SMART 0xB0 +#define CFA_ERASE_SECTORS 0xC0 +#define WIN_MULTREAD 0xC4 +#define WIN_MULTWRITE 0xC5 +#define WIN_SETMULT 0xC6 +#define WIN_READDMA_QUEUED 0xC7 +#define WIN_READDMA 0xC8 +#define WIN_READDMA_ONCE 0xC9 +#define WIN_WRITEDMA 0xCA +#define WIN_WRITEDMA_ONCE 0xCB +#define WIN_WRITEDMA_QUEUED 0xCC +#define CFA_WRITE_MULTI_WO_ERASE 0xCD +#define WIN_GETMEDIASTATUS 0xDA +#define WIN_ACKMEDIACHANGE 0xDB +#define WIN_POSTBOOT 0xDC +#define WIN_PREBOOT 0xDD +#define WIN_DOORLOCK 0xDE +#define WIN_DOORUNLOCK 0xDF +#define WIN_STANDBYNOW1 0xE0 +#define WIN_IDLEIMMEDIATE 0xE1 +#define WIN_STANDBY 0xE2 +#define WIN_SETIDLE1 0xE3 +#define WIN_READ_BUFFER 0xE4 +#define WIN_CHECKPOWERMODE1 0xE5 +#define WIN_SLEEPNOW1 0xE6 +#define WIN_FLUSH_CACHE 0xE7 +#define WIN_WRITE_BUFFER 0xE8 +#define WIN_WRITE_SAME 0xE9 + +#define WIN_FLUSH_CACHE_EXT 0xEA +#define WIN_IDENTIFY 0xEC +#define WIN_MEDIAEJECT 0xED +#define WIN_IDENTIFY_DMA 0xEE +#define WIN_SETFEATURES 0xEF +#define EXABYTE_ENABLE_NEST 0xF0 +#define WIN_SECURITY_SET_PASS 0xF1 +#define WIN_SECURITY_UNLOCK 0xF2 +#define WIN_SECURITY_ERASE_PREPARE 0xF3 +#define WIN_SECURITY_ERASE_UNIT 0xF4 +#define WIN_SECURITY_FREEZE_LOCK 0xF5 +#define WIN_SECURITY_DISABLE 0xF6 +#define WIN_READ_NATIVE_MAX 0xF8 +#define WIN_SET_MAX 0xF9 +#define DISABLE_SEAGATE 0xFB +#define SMART_READ_VALUES 0xD0 +#define SMART_READ_THRESHOLDS 0xD1 +#define SMART_AUTOSAVE 0xD2 +#define SMART_SAVE 0xD3 +#define SMART_IMMEDIATE_OFFLINE 0xD4 +#define SMART_READ_LOG_SECTOR 0xD5 +#define SMART_WRITE_LOG_SECTOR 0xD6 +#define SMART_WRITE_THRESHOLDS 0xD7 +#define SMART_ENABLE 0xD8 +#define SMART_DISABLE 0xD9 +#define SMART_STATUS 0xDA +#define SMART_AUTO_OFFLINE 0xDB +#define SMART_LCYL_PASS 0x4F +#define SMART_HCYL_PASS 0xC2 +#define SETFEATURES_EN_8BIT 0x01 +#define SETFEATURES_EN_WCACHE 0x02 +#define SETFEATURES_DIS_DEFECT 0x04 +#define SETFEATURES_EN_APM 0x05 +#define SETFEATURES_EN_SAME_R 0x22 +#define SETFEATURES_DIS_MSN 0x31 +#define SETFEATURES_DIS_RETRY 0x33 +#define SETFEATURES_EN_AAM 0x42 +#define SETFEATURES_RW_LONG 0x44 +#define SETFEATURES_SET_CACHE 0x54 +#define SETFEATURES_DIS_RLA 0x55 +#define SETFEATURES_EN_RI 0x5D +#define SETFEATURES_EN_SI 0x5E +#define SETFEATURES_DIS_RPOD 0x66 +#define SETFEATURES_DIS_ECC 0x77 +#define SETFEATURES_DIS_8BIT 0x81 +#define SETFEATURES_DIS_WCACHE 0x82 +#define SETFEATURES_EN_DEFECT 0x84 +#define SETFEATURES_DIS_APM 0x85 +#define SETFEATURES_EN_ECC 0x88 +#define SETFEATURES_EN_MSN 0x95 +#define SETFEATURES_EN_RETRY 0x99 +#define SETFEATURES_EN_RLA 0xAA +#define SETFEATURES_PREFETCH 0xAB +#define SETFEATURES_EN_REST 0xAC +#define SETFEATURES_4B_RW_LONG 0xBB +#define SETFEATURES_DIS_AAM 0xC2 +#define SETFEATURES_EN_RPOD 0xCC +#define SETFEATURES_DIS_RI 0xDD +#define SETFEATURES_EN_SAME_M 0xDD +#define SETFEATURES_DIS_SI 0xDE +#define SECURITY_SET_PASSWORD 0xBA +#define SECURITY_UNLOCK 0xBB +#define SECURITY_ERASE_PREPARE 0xBC +#define SECURITY_ERASE_UNIT 0xBD +#define SECURITY_FREEZE_LOCK 0xBE +#define SECURITY_DISABLE_PASSWORD 0xBF +#endif +struct hd_geometry { + unsigned char heads; + unsigned char sectors; + unsigned short cylinders; + unsigned long start; +}; +#define HDIO_GETGEO 0x0301 +#define HDIO_GET_UNMASKINTR 0x0302 +#define HDIO_GET_MULTCOUNT 0x0304 +#define HDIO_GET_QDMA 0x0305 +#define HDIO_SET_XFER 0x0306 +#define HDIO_OBSOLETE_IDENTITY 0x0307 +#define HDIO_GET_KEEPSETTINGS 0x0308 +#define HDIO_GET_32BIT 0x0309 +#define HDIO_GET_NOWERR 0x030a +#define HDIO_GET_DMA 0x030b +#define HDIO_GET_NICE 0x030c +#define HDIO_GET_IDENTITY 0x030d +#define HDIO_GET_WCACHE 0x030e +#define HDIO_GET_ACOUSTIC 0x030f +#define HDIO_GET_ADDRESS 0x0310 +#define HDIO_GET_BUSSTATE 0x031a +#define HDIO_TRISTATE_HWIF 0x031b +#define HDIO_DRIVE_RESET 0x031c +#define HDIO_DRIVE_TASKFILE 0x031d +#define HDIO_DRIVE_TASK 0x031e +#define HDIO_DRIVE_CMD 0x031f +#define HDIO_DRIVE_CMD_AEB HDIO_DRIVE_TASK +#define HDIO_SET_MULTCOUNT 0x0321 +#define HDIO_SET_UNMASKINTR 0x0322 +#define HDIO_SET_KEEPSETTINGS 0x0323 +#define HDIO_SET_32BIT 0x0324 +#define HDIO_SET_NOWERR 0x0325 +#define HDIO_SET_DMA 0x0326 +#define HDIO_SET_PIO_MODE 0x0327 +#ifndef __KERNEL__ +#define HDIO_SCAN_HWIF 0x0328 +#define HDIO_UNREGISTER_HWIF 0x032a +#endif +#define HDIO_SET_NICE 0x0329 +#define HDIO_SET_WCACHE 0x032b +#define HDIO_SET_ACOUSTIC 0x032c +#define HDIO_SET_BUSSTATE 0x032d +#define HDIO_SET_QDMA 0x032e +#define HDIO_SET_ADDRESS 0x032f +enum { + BUSSTATE_OFF = 0, + BUSSTATE_ON, + BUSSTATE_TRISTATE +}; +#define __NEW_HD_DRIVE_ID +#ifndef __KERNEL__ +struct hd_driveid { + unsigned short config; + unsigned short cyls; + unsigned short reserved2; + unsigned short heads; + unsigned short track_bytes; + unsigned short sector_bytes; + unsigned short sectors; + unsigned short vendor0; + unsigned short vendor1; + unsigned short vendor2; + unsigned char serial_no[20]; + unsigned short buf_type; + unsigned short buf_size; + unsigned short ecc_bytes; + unsigned char fw_rev[8]; + unsigned char model[40]; + unsigned char max_multsect; + unsigned char vendor3; + unsigned short dword_io; + unsigned char vendor4; + unsigned char capability; + unsigned short reserved50; + unsigned char vendor5; + unsigned char tPIO; + unsigned char vendor6; + unsigned char tDMA; + unsigned short field_valid; + unsigned short cur_cyls; + unsigned short cur_heads; + unsigned short cur_sectors; + unsigned short cur_capacity0; + unsigned short cur_capacity1; + unsigned char multsect; + unsigned char multsect_valid; + unsigned int lba_capacity; + unsigned short dma_1word; + unsigned short dma_mword; + unsigned short eide_pio_modes; + unsigned short eide_dma_min; + unsigned short eide_dma_time; + unsigned short eide_pio; + unsigned short eide_pio_iordy; + unsigned short words69_70[2]; + unsigned short words71_74[4]; + unsigned short queue_depth; + unsigned short words76_79[4]; + unsigned short major_rev_num; + unsigned short minor_rev_num; + unsigned short command_set_1; + unsigned short command_set_2; + unsigned short cfsse; + unsigned short cfs_enable_1; + unsigned short cfs_enable_2; + unsigned short csf_default; + unsigned short dma_ultra; + unsigned short trseuc; + unsigned short trsEuc; + unsigned short CurAPMvalues; + unsigned short mprc; + unsigned short hw_config; + unsigned short acoustic; + unsigned short msrqs; + unsigned short sxfert; + unsigned short sal; + unsigned int spg; + unsigned long long lba_capacity_2; + unsigned short words104_125[22]; + unsigned short last_lun; + unsigned short word127; + unsigned short dlf; + unsigned short csfo; + unsigned short words130_155[26]; + unsigned short word156; + unsigned short words157_159[3]; + unsigned short cfa_power; + unsigned short words161_175[15]; + unsigned short words176_205[30]; + unsigned short words206_254[49]; + unsigned short integrity_word; +}; +#endif +#define IDE_NICE_DSC_OVERLAP (0) +#define IDE_NICE_ATAPI_OVERLAP (1) +#define IDE_NICE_1 (3) +#ifndef __KERNEL__ +#define IDE_NICE_0 (2) +#define IDE_NICE_2 (4) +#endif +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/hid.h b/linux-5.10/prebuilts/usr/include/linux/hid.h new file mode 100644 index 0000000..3ae2423 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/hid.h @@ -0,0 +1,22 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI__HID_H +#define _UAPI__HID_H +#define USB_INTERFACE_CLASS_HID 3 +#define USB_INTERFACE_SUBCLASS_BOOT 1 +#define USB_INTERFACE_PROTOCOL_KEYBOARD 1 +#define USB_INTERFACE_PROTOCOL_MOUSE 2 +#define HID_REQ_GET_REPORT 0x01 +#define HID_REQ_GET_IDLE 0x02 +#define HID_REQ_GET_PROTOCOL 0x03 +#define HID_REQ_SET_REPORT 0x09 +#define HID_REQ_SET_IDLE 0x0A +#define HID_REQ_SET_PROTOCOL 0x0B +#define HID_DT_HID (USB_TYPE_CLASS | 0x01) +#define HID_DT_REPORT (USB_TYPE_CLASS | 0x02) +#define HID_DT_PHYSICAL (USB_TYPE_CLASS | 0x03) +#define HID_MAX_DESCRIPTOR_SIZE 4096 +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/hiddev.h b/linux-5.10/prebuilts/usr/include/linux/hiddev.h new file mode 100644 index 0000000..3e3d4bb --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/hiddev.h @@ -0,0 +1,113 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI_HIDDEV_H +#define _UAPI_HIDDEV_H +#include +struct hiddev_event { + unsigned hid; + signed int value; +}; +struct hiddev_devinfo { + __u32 bustype; + __u32 busnum; + __u32 devnum; + __u32 ifnum; + __s16 vendor; + __s16 product; + __s16 version; + __u32 num_applications; +}; +struct hiddev_collection_info { + __u32 index; + __u32 type; + __u32 usage; + __u32 level; +}; +#define HID_STRING_SIZE 256 +struct hiddev_string_descriptor { + __s32 index; + char value[HID_STRING_SIZE]; +}; +struct hiddev_report_info { + __u32 report_type; + __u32 report_id; + __u32 num_fields; +}; +#define HID_REPORT_ID_UNKNOWN 0xffffffff +#define HID_REPORT_ID_FIRST 0x00000100 +#define HID_REPORT_ID_NEXT 0x00000200 +#define HID_REPORT_ID_MASK 0x000000ff +#define HID_REPORT_ID_MAX 0x000000ff +#define HID_REPORT_TYPE_INPUT 1 +#define HID_REPORT_TYPE_OUTPUT 2 +#define HID_REPORT_TYPE_FEATURE 3 +#define HID_REPORT_TYPE_MIN 1 +#define HID_REPORT_TYPE_MAX 3 +struct hiddev_field_info { + __u32 report_type; + __u32 report_id; + __u32 field_index; + __u32 maxusage; + __u32 flags; + __u32 physical; + __u32 logical; + __u32 application; + __s32 logical_minimum; + __s32 logical_maximum; + __s32 physical_minimum; + __s32 physical_maximum; + __u32 unit_exponent; + __u32 unit; +}; +#define HID_FIELD_CONSTANT 0x001 +#define HID_FIELD_VARIABLE 0x002 +#define HID_FIELD_RELATIVE 0x004 +#define HID_FIELD_WRAP 0x008 +#define HID_FIELD_NONLINEAR 0x010 +#define HID_FIELD_NO_PREFERRED 0x020 +#define HID_FIELD_NULL_STATE 0x040 +#define HID_FIELD_VOLATILE 0x080 +#define HID_FIELD_BUFFERED_BYTE 0x100 +struct hiddev_usage_ref { + __u32 report_type; + __u32 report_id; + __u32 field_index; + __u32 usage_index; + __u32 usage_code; + __s32 value; +}; +#define HID_MAX_MULTI_USAGES 1024 +struct hiddev_usage_ref_multi { + struct hiddev_usage_ref uref; + __u32 num_values; + __s32 values[HID_MAX_MULTI_USAGES]; +}; +#define HID_FIELD_INDEX_NONE 0xffffffff +#define HID_VERSION 0x010004 +#define HIDIOCGVERSION _IOR('H', 0x01, int) +#define HIDIOCAPPLICATION _IO('H', 0x02) +#define HIDIOCGDEVINFO _IOR('H', 0x03, struct hiddev_devinfo) +#define HIDIOCGSTRING _IOR('H', 0x04, struct hiddev_string_descriptor) +#define HIDIOCINITREPORT _IO('H', 0x05) +#define HIDIOCGNAME(len) _IOC(_IOC_READ, 'H', 0x06, len) +#define HIDIOCGREPORT _IOW('H', 0x07, struct hiddev_report_info) +#define HIDIOCSREPORT _IOW('H', 0x08, struct hiddev_report_info) +#define HIDIOCGREPORTINFO _IOWR('H', 0x09, struct hiddev_report_info) +#define HIDIOCGFIELDINFO _IOWR('H', 0x0A, struct hiddev_field_info) +#define HIDIOCGUSAGE _IOWR('H', 0x0B, struct hiddev_usage_ref) +#define HIDIOCSUSAGE _IOW('H', 0x0C, struct hiddev_usage_ref) +#define HIDIOCGUCODE _IOWR('H', 0x0D, struct hiddev_usage_ref) +#define HIDIOCGFLAG _IOR('H', 0x0E, int) +#define HIDIOCSFLAG _IOW('H', 0x0F, int) +#define HIDIOCGCOLLECTIONINDEX _IOW('H', 0x10, struct hiddev_usage_ref) +#define HIDIOCGCOLLECTIONINFO _IOWR('H', 0x11, struct hiddev_collection_info) +#define HIDIOCGPHYS(len) _IOC(_IOC_READ, 'H', 0x12, len) +#define HIDIOCGUSAGES _IOWR('H', 0x13, struct hiddev_usage_ref_multi) +#define HIDIOCSUSAGES _IOW('H', 0x14, struct hiddev_usage_ref_multi) +#define HIDDEV_FLAG_UREF 0x1 +#define HIDDEV_FLAG_REPORT 0x2 +#define HIDDEV_FLAGS 0x3 +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/hidraw.h b/linux-5.10/prebuilts/usr/include/linux/hidraw.h new file mode 100644 index 0000000..482ce2f --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/hidraw.h @@ -0,0 +1,30 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI_HIDRAW_H +#define _UAPI_HIDRAW_H +#include +#include +struct hidraw_report_descriptor { + __u32 size; + __u8 value[HID_MAX_DESCRIPTOR_SIZE]; +}; +struct hidraw_devinfo { + __u32 bustype; + __s16 vendor; + __s16 product; +}; +#define HIDIOCGRDESCSIZE _IOR('H', 0x01, int) +#define HIDIOCGRDESC _IOR('H', 0x02, struct hidraw_report_descriptor) +#define HIDIOCGRAWINFO _IOR('H', 0x03, struct hidraw_devinfo) +#define HIDIOCGRAWNAME(len) _IOC(_IOC_READ, 'H', 0x04, len) +#define HIDIOCGRAWPHYS(len) _IOC(_IOC_READ, 'H', 0x05, len) +#define HIDIOCSFEATURE(len) _IOC(_IOC_WRITE|_IOC_READ, 'H', 0x06, len) +#define HIDIOCGFEATURE(len) _IOC(_IOC_WRITE|_IOC_READ, 'H', 0x07, len) +#define HIDIOCGRAWUNIQ(len) _IOC(_IOC_READ, 'H', 0x08, len) +#define HIDRAW_FIRST_MINOR 0 +#define HIDRAW_MAX_DEVICES 64 +#define HIDRAW_BUFFER_SIZE 64 +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/hpet.h b/linux-5.10/prebuilts/usr/include/linux/hpet.h new file mode 100644 index 0000000..5778f7a --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/hpet.h @@ -0,0 +1,23 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI__HPET__ +#define _UAPI__HPET__ +#include +struct hpet_info { + unsigned long hi_ireqfreq; + unsigned long hi_flags; + unsigned short hi_hpet; + unsigned short hi_timer; +}; +#define HPET_INFO_PERIODIC 0x0010 +#define HPET_IE_ON _IO('h', 0x01) +#define HPET_IE_OFF _IO('h', 0x02) +#define HPET_INFO _IOR('h', 0x03, struct hpet_info) +#define HPET_EPI _IO('h', 0x04) +#define HPET_DPI _IO('h', 0x05) +#define HPET_IRQFREQ _IOW('h', 0x6, unsigned long) +#define MAX_HPET_TBS 8 +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/hsi/cs-protocol.h b/linux-5.10/prebuilts/usr/include/linux/hsi/cs-protocol.h new file mode 100644 index 0000000..16d2a75 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/hsi/cs-protocol.h @@ -0,0 +1,65 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _CS_PROTOCOL_H +#define _CS_PROTOCOL_H +#include +#include +#define CS_DEV_FILE_NAME "/dev/cmt_speech" +#define CS_IF_VERSION 2 +#define CS_CMD_SHIFT 28 +#define CS_DOMAIN_SHIFT 24 +#define CS_CMD_MASK 0xff000000 +#define CS_PARAM_MASK 0xffffff +#define CS_CMD(id, dom) \ + (((id) << CS_CMD_SHIFT) | ((dom) << CS_DOMAIN_SHIFT)) +#define CS_ERROR CS_CMD(1, 0) +#define CS_RX_DATA_RECEIVED CS_CMD(2, 0) +#define CS_TX_DATA_READY CS_CMD(3, 0) +#define CS_TX_DATA_SENT CS_CMD(4, 0) +#define CS_ERR_PEER_RESET 0 +#define CS_FEAT_TSTAMP_RX_CTRL (1 << 0) +#define CS_FEAT_ROLLING_RX_COUNTER (2 << 0) +#define CS_STATE_CLOSED 0 +#define CS_STATE_OPENED 1 +#define CS_STATE_CONFIGURED 2 +#define CS_MAX_BUFFERS_SHIFT 4 +#define CS_MAX_BUFFERS (1 << CS_MAX_BUFFERS_SHIFT) +struct cs_buffer_config { + __u32 rx_bufs; + __u32 tx_bufs; + __u32 buf_size; + __u32 flags; + __u32 reserved[4]; +}; +struct cs_timestamp { + __u32 tv_sec; + __u32 tv_nsec; +}; +struct cs_mmap_config_block { + __u32 reserved1; + __u32 buf_size; + __u32 rx_bufs; + __u32 tx_bufs; + __u32 reserved2; + + __u32 rx_offsets[CS_MAX_BUFFERS]; + __u32 tx_offsets[CS_MAX_BUFFERS]; + __u32 rx_ptr; + __u32 rx_ptr_boundary; + __u32 reserved3[2]; + + struct cs_timestamp tstamp_rx_ctrl; +}; +#define CS_IO_MAGIC 'C' +#define CS_IOW(num, dtype) _IOW(CS_IO_MAGIC, num, dtype) +#define CS_IOR(num, dtype) _IOR(CS_IO_MAGIC, num, dtype) +#define CS_IOWR(num, dtype) _IOWR(CS_IO_MAGIC, num, dtype) +#define CS_IO(num) _IO(CS_IO_MAGIC, num) +#define CS_GET_STATE CS_IOR(21, unsigned int) +#define CS_SET_WAKELINE CS_IOW(23, unsigned int) +#define CS_GET_IF_VERSION CS_IOR(30, unsigned int) +#define CS_CONFIG_BUFS CS_IOW(31, struct cs_buffer_config) +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/hsi/hsi_char.h b/linux-5.10/prebuilts/usr/include/linux/hsi/hsi_char.h new file mode 100644 index 0000000..7c809d0 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/hsi/hsi_char.h @@ -0,0 +1,39 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef __HSI_CHAR_H +#define __HSI_CHAR_H +#include +#define HSI_CHAR_MAGIC 'k' +#define HSC_IOW(num, dtype) _IOW(HSI_CHAR_MAGIC, num, dtype) +#define HSC_IOR(num, dtype) _IOR(HSI_CHAR_MAGIC, num, dtype) +#define HSC_IOWR(num, dtype) _IOWR(HSI_CHAR_MAGIC, num, dtype) +#define HSC_IO(num) _IO(HSI_CHAR_MAGIC, num) +#define HSC_RESET HSC_IO(16) +#define HSC_SET_PM HSC_IO(17) +#define HSC_SEND_BREAK HSC_IO(18) +#define HSC_SET_RX HSC_IOW(19, struct hsc_rx_config) +#define HSC_GET_RX HSC_IOW(20, struct hsc_rx_config) +#define HSC_SET_TX HSC_IOW(21, struct hsc_tx_config) +#define HSC_GET_TX HSC_IOW(22, struct hsc_tx_config) +#define HSC_PM_DISABLE 0 +#define HSC_PM_ENABLE 1 +#define HSC_MODE_STREAM 1 +#define HSC_MODE_FRAME 2 +#define HSC_FLOW_SYNC 0 +#define HSC_ARB_RR 0 +#define HSC_ARB_PRIO 1 +struct hsc_rx_config { + __u32 mode; + __u32 flow; + __u32 channels; +}; +struct hsc_tx_config { + __u32 mode; + __u32 channels; + __u32 speed; + __u32 arb_mode; +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/hsr_netlink.h b/linux-5.10/prebuilts/usr/include/linux/hsr_netlink.h new file mode 100644 index 0000000..c1704b1 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/hsr_netlink.h @@ -0,0 +1,34 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef __UAPI_HSR_NETLINK_H +#define __UAPI_HSR_NETLINK_H +enum { + HSR_A_UNSPEC, + HSR_A_NODE_ADDR, + HSR_A_IFINDEX, + HSR_A_IF1_AGE, + HSR_A_IF2_AGE, + HSR_A_NODE_ADDR_B, + HSR_A_IF1_SEQ, + HSR_A_IF2_SEQ, + HSR_A_IF1_IFINDEX, + HSR_A_IF2_IFINDEX, + HSR_A_ADDR_B_IFINDEX, + __HSR_A_MAX, +}; +#define HSR_A_MAX (__HSR_A_MAX - 1) +enum { + HSR_C_UNSPEC, + HSR_C_RING_ERROR, + HSR_C_NODE_DOWN, + HSR_C_GET_NODE_STATUS, + HSR_C_SET_NODE_STATUS, + HSR_C_GET_NODE_LIST, + HSR_C_SET_NODE_LIST, + __HSR_C_MAX, +}; +#define HSR_C_MAX (__HSR_C_MAX - 1) +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/hw_breakpoint.h b/linux-5.10/prebuilts/usr/include/linux/hw_breakpoint.h new file mode 100644 index 0000000..29921b0 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/hw_breakpoint.h @@ -0,0 +1,35 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI_LINUX_HW_BREAKPOINT_H +#define _UAPI_LINUX_HW_BREAKPOINT_H +enum { + HW_BREAKPOINT_LEN_1 = 1, + HW_BREAKPOINT_LEN_2 = 2, + HW_BREAKPOINT_LEN_3 = 3, + HW_BREAKPOINT_LEN_4 = 4, + HW_BREAKPOINT_LEN_5 = 5, + HW_BREAKPOINT_LEN_6 = 6, + HW_BREAKPOINT_LEN_7 = 7, + HW_BREAKPOINT_LEN_8 = 8, +}; +enum { + HW_BREAKPOINT_EMPTY = 0, + HW_BREAKPOINT_R = 1, + HW_BREAKPOINT_W = 2, + HW_BREAKPOINT_RW = HW_BREAKPOINT_R | HW_BREAKPOINT_W, + HW_BREAKPOINT_X = 4, + HW_BREAKPOINT_INVALID = HW_BREAKPOINT_RW | HW_BREAKPOINT_X, +}; +enum bp_type_idx { + TYPE_INST = 0, +#ifdef CONFIG_HAVE_MIXED_BREAKPOINTS_REGS + TYPE_DATA = 0, +#else + TYPE_DATA = 1, +#endif + TYPE_MAX +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/hyperv.h b/linux-5.10/prebuilts/usr/include/linux/hyperv.h new file mode 100644 index 0000000..03d7829 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/hyperv.h @@ -0,0 +1,182 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI_HYPERV_H +#define _UAPI_HYPERV_H +#include +#define UTIL_FW_MINOR 0 +#define UTIL_WS2K8_FW_MAJOR 1 +#define UTIL_WS2K8_FW_VERSION (UTIL_WS2K8_FW_MAJOR << 16 | UTIL_FW_MINOR) +#define UTIL_FW_MAJOR 3 +#define UTIL_FW_VERSION (UTIL_FW_MAJOR << 16 | UTIL_FW_MINOR) +#define VSS_OP_REGISTER 128 +#define VSS_OP_REGISTER1 129 +enum hv_vss_op { + VSS_OP_CREATE = 0, + VSS_OP_DELETE, + VSS_OP_HOT_BACKUP, + VSS_OP_GET_DM_INFO, + VSS_OP_BU_COMPLETE, + + VSS_OP_FREEZE, + VSS_OP_THAW, + VSS_OP_AUTO_RECOVER, + VSS_OP_COUNT +}; +struct hv_vss_hdr { + __u8 operation; + __u8 reserved[7]; +} __attribute__((packed)); +#define VSS_HBU_NO_AUTO_RECOVERY 0x00000005 +struct hv_vss_check_feature { + __u32 flags; +} __attribute__((packed)); +struct hv_vss_check_dm_info { + __u32 flags; +} __attribute__((packed)); +struct hv_vss_msg { + union { + struct hv_vss_hdr vss_hdr; + int error; + }; + union { + struct hv_vss_check_feature vss_cf; + struct hv_vss_check_dm_info dm_info; + }; +} __attribute__((packed)); +#define FCOPY_VERSION_0 0 +#define FCOPY_VERSION_1 1 +#define FCOPY_CURRENT_VERSION FCOPY_VERSION_1 +#define W_MAX_PATH 260 +enum hv_fcopy_op { + START_FILE_COPY = 0, + WRITE_TO_FILE, + COMPLETE_FCOPY, + CANCEL_FCOPY, +}; +struct hv_fcopy_hdr { + __u32 operation; + __u8 service_id0[16]; + __u8 service_id1[16]; +} __attribute__((packed)); +#define OVER_WRITE 0x1 +#define CREATE_PATH 0x2 +struct hv_start_fcopy { + struct hv_fcopy_hdr hdr; + __u16 file_name[W_MAX_PATH]; + __u16 path_name[W_MAX_PATH]; + __u32 copy_flags; + __u64 file_size; +} __attribute__((packed)); +#define DATA_FRAGMENT (6 * 1024) +struct hv_do_fcopy { + struct hv_fcopy_hdr hdr; + __u32 pad; + __u64 offset; + __u32 size; + __u8 data[DATA_FRAGMENT]; +} __attribute__((packed)); +#define HV_KVP_EXCHANGE_MAX_VALUE_SIZE (2048) +#define HV_KVP_EXCHANGE_MAX_KEY_SIZE (512) +#define REG_SZ 1 +#define REG_U32 4 +#define REG_U64 8 +#define KVP_OP_REGISTER 4 +#define KVP_OP_REGISTER1 100 +enum hv_kvp_exchg_op { + KVP_OP_GET = 0, + KVP_OP_SET, + KVP_OP_DELETE, + KVP_OP_ENUMERATE, + KVP_OP_GET_IP_INFO, + KVP_OP_SET_IP_INFO, + KVP_OP_COUNT +}; +enum hv_kvp_exchg_pool { + KVP_POOL_EXTERNAL = 0, + KVP_POOL_GUEST, + KVP_POOL_AUTO, + KVP_POOL_AUTO_EXTERNAL, + KVP_POOL_AUTO_INTERNAL, + KVP_POOL_COUNT +}; +#define HV_S_OK 0x00000000 +#define HV_E_FAIL 0x80004005 +#define HV_S_CONT 0x80070103 +#define HV_ERROR_NOT_SUPPORTED 0x80070032 +#define HV_ERROR_MACHINE_LOCKED 0x800704F7 +#define HV_ERROR_DEVICE_NOT_CONNECTED 0x8007048F +#define HV_INVALIDARG 0x80070057 +#define HV_GUID_NOTFOUND 0x80041002 +#define HV_ERROR_ALREADY_EXISTS 0x80070050 +#define HV_ERROR_DISK_FULL 0x80070070 +#define ADDR_FAMILY_NONE 0x00 +#define ADDR_FAMILY_IPV4 0x01 +#define ADDR_FAMILY_IPV6 0x02 +#define MAX_ADAPTER_ID_SIZE 128 +#define MAX_IP_ADDR_SIZE 1024 +#define MAX_GATEWAY_SIZE 512 +struct hv_kvp_ipaddr_value { + __u16 adapter_id[MAX_ADAPTER_ID_SIZE]; + __u8 addr_family; + __u8 dhcp_enabled; + __u16 ip_addr[MAX_IP_ADDR_SIZE]; + __u16 sub_net[MAX_IP_ADDR_SIZE]; + __u16 gate_way[MAX_GATEWAY_SIZE]; + __u16 dns_addr[MAX_IP_ADDR_SIZE]; +} __attribute__((packed)); +struct hv_kvp_hdr { + __u8 operation; + __u8 pool; + __u16 pad; +} __attribute__((packed)); +struct hv_kvp_exchg_msg_value { + __u32 value_type; + __u32 key_size; + __u32 value_size; + __u8 key[HV_KVP_EXCHANGE_MAX_KEY_SIZE]; + union { + __u8 value[HV_KVP_EXCHANGE_MAX_VALUE_SIZE]; + __u32 value_u32; + __u64 value_u64; + }; +} __attribute__((packed)); +struct hv_kvp_msg_enumerate { + __u32 index; + struct hv_kvp_exchg_msg_value data; +} __attribute__((packed)); +struct hv_kvp_msg_get { + struct hv_kvp_exchg_msg_value data; +}; +struct hv_kvp_msg_set { + struct hv_kvp_exchg_msg_value data; +}; +struct hv_kvp_msg_delete { + __u32 key_size; + __u8 key[HV_KVP_EXCHANGE_MAX_KEY_SIZE]; +}; +struct hv_kvp_register { + __u8 version[HV_KVP_EXCHANGE_MAX_KEY_SIZE]; +}; +struct hv_kvp_msg { + union { + struct hv_kvp_hdr kvp_hdr; + int error; + }; + union { + struct hv_kvp_msg_get kvp_get; + struct hv_kvp_msg_set kvp_set; + struct hv_kvp_msg_delete kvp_delete; + struct hv_kvp_msg_enumerate kvp_enum_data; + struct hv_kvp_ipaddr_value kvp_ip_val; + struct hv_kvp_register kvp_register; + } body; +} __attribute__((packed)); +struct hv_kvp_ip_msg { + __u8 operation; + __u8 pool; + struct hv_kvp_ipaddr_value kvp_ip_val; +} __attribute__((packed)); +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/hysdn_if.h b/linux-5.10/prebuilts/usr/include/linux/hysdn_if.h new file mode 100644 index 0000000..2532bda --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/hysdn_if.h @@ -0,0 +1,18 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#define ERR_NONE 0 +#define ERR_ALREADY_BOOT 1000 +#define EPOF_BAD_MAGIC 1001 +#define ERR_BOARD_DPRAM 1002 +#define EPOF_INTERNAL 1003 +#define EPOF_BAD_IMG_SIZE 1004 +#define ERR_BOOTIMG_FAIL 1005 +#define ERR_BOOTSEQ_FAIL 1006 +#define ERR_POF_TIMEOUT 1007 +#define ERR_NOT_BOOTED 1008 +#define ERR_CONF_LONG 1009 +#define ERR_INV_CHAN 1010 +#define ERR_ASYNC_TIME 1011 diff --git a/linux-5.10/prebuilts/usr/include/linux/i2c-dev.h b/linux-5.10/prebuilts/usr/include/linux/i2c-dev.h new file mode 100644 index 0000000..a991d54 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/i2c-dev.h @@ -0,0 +1,31 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI_LINUX_I2C_DEV_H +#define _UAPI_LINUX_I2C_DEV_H +#include +#include +#define I2C_RETRIES 0x0701 +#define I2C_TIMEOUT 0x0702 +#define I2C_SLAVE 0x0703 +#define I2C_SLAVE_FORCE 0x0706 +#define I2C_TENBIT 0x0704 +#define I2C_FUNCS 0x0705 +#define I2C_RDWR 0x0707 +#define I2C_PEC 0x0708 +#define I2C_SMBUS 0x0720 +struct i2c_smbus_ioctl_data { + __u8 read_write; + __u8 command; + __u32 size; + union i2c_smbus_data __user *data; +}; +struct i2c_rdwr_ioctl_data { + struct i2c_msg __user *msgs; + __u32 nmsgs; +}; +#define I2C_RDWR_IOCTL_MAX_MSGS 42 +#define I2C_RDRW_IOCTL_MAX_MSGS I2C_RDWR_IOCTL_MAX_MSGS +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/i2c.h b/linux-5.10/prebuilts/usr/include/linux/i2c.h new file mode 100644 index 0000000..980179c --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/i2c.h @@ -0,0 +1,83 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI_LINUX_I2C_H +#define _UAPI_LINUX_I2C_H +#include +struct i2c_msg { + __u16 addr; + __u16 flags; +#define I2C_M_RD 0x0001 + +#define I2C_M_TEN 0x0010 +#define I2C_M_DMA_SAFE 0x0200 + + +#define I2C_M_RECV_LEN 0x0400 +#define I2C_M_NO_RD_ACK 0x0800 +#define I2C_M_IGNORE_NAK 0x1000 +#define I2C_M_REV_DIR_ADDR 0x2000 +#define I2C_M_NOSTART 0x4000 +#define I2C_M_STOP 0x8000 + __u16 len; + __u8 *buf; +}; +#define I2C_FUNC_I2C 0x00000001 +#define I2C_FUNC_10BIT_ADDR 0x00000002 +#define I2C_FUNC_PROTOCOL_MANGLING 0x00000004 +#define I2C_FUNC_SMBUS_PEC 0x00000008 +#define I2C_FUNC_NOSTART 0x00000010 +#define I2C_FUNC_SLAVE 0x00000020 +#define I2C_FUNC_SMBUS_BLOCK_PROC_CALL 0x00008000 +#define I2C_FUNC_SMBUS_QUICK 0x00010000 +#define I2C_FUNC_SMBUS_READ_BYTE 0x00020000 +#define I2C_FUNC_SMBUS_WRITE_BYTE 0x00040000 +#define I2C_FUNC_SMBUS_READ_BYTE_DATA 0x00080000 +#define I2C_FUNC_SMBUS_WRITE_BYTE_DATA 0x00100000 +#define I2C_FUNC_SMBUS_READ_WORD_DATA 0x00200000 +#define I2C_FUNC_SMBUS_WRITE_WORD_DATA 0x00400000 +#define I2C_FUNC_SMBUS_PROC_CALL 0x00800000 +#define I2C_FUNC_SMBUS_READ_BLOCK_DATA 0x01000000 +#define I2C_FUNC_SMBUS_WRITE_BLOCK_DATA 0x02000000 +#define I2C_FUNC_SMBUS_READ_I2C_BLOCK 0x04000000 +#define I2C_FUNC_SMBUS_WRITE_I2C_BLOCK 0x08000000 +#define I2C_FUNC_SMBUS_HOST_NOTIFY 0x10000000 +#define I2C_FUNC_SMBUS_BYTE (I2C_FUNC_SMBUS_READ_BYTE | \ + I2C_FUNC_SMBUS_WRITE_BYTE) +#define I2C_FUNC_SMBUS_BYTE_DATA (I2C_FUNC_SMBUS_READ_BYTE_DATA | \ + I2C_FUNC_SMBUS_WRITE_BYTE_DATA) +#define I2C_FUNC_SMBUS_WORD_DATA (I2C_FUNC_SMBUS_READ_WORD_DATA | \ + I2C_FUNC_SMBUS_WRITE_WORD_DATA) +#define I2C_FUNC_SMBUS_BLOCK_DATA (I2C_FUNC_SMBUS_READ_BLOCK_DATA | \ + I2C_FUNC_SMBUS_WRITE_BLOCK_DATA) +#define I2C_FUNC_SMBUS_I2C_BLOCK (I2C_FUNC_SMBUS_READ_I2C_BLOCK | \ + I2C_FUNC_SMBUS_WRITE_I2C_BLOCK) +#define I2C_FUNC_SMBUS_EMUL (I2C_FUNC_SMBUS_QUICK | \ + I2C_FUNC_SMBUS_BYTE | \ + I2C_FUNC_SMBUS_BYTE_DATA | \ + I2C_FUNC_SMBUS_WORD_DATA | \ + I2C_FUNC_SMBUS_PROC_CALL | \ + I2C_FUNC_SMBUS_WRITE_BLOCK_DATA | \ + I2C_FUNC_SMBUS_I2C_BLOCK | \ + I2C_FUNC_SMBUS_PEC) +#define I2C_SMBUS_BLOCK_MAX 32 +union i2c_smbus_data { + __u8 byte; + __u16 word; + __u8 block[I2C_SMBUS_BLOCK_MAX + 2]; + +}; +#define I2C_SMBUS_READ 1 +#define I2C_SMBUS_WRITE 0 +#define I2C_SMBUS_QUICK 0 +#define I2C_SMBUS_BYTE 1 +#define I2C_SMBUS_BYTE_DATA 2 +#define I2C_SMBUS_WORD_DATA 3 +#define I2C_SMBUS_PROC_CALL 4 +#define I2C_SMBUS_BLOCK_DATA 5 +#define I2C_SMBUS_I2C_BLOCK_BROKEN 6 +#define I2C_SMBUS_BLOCK_PROC_CALL 7 +#define I2C_SMBUS_I2C_BLOCK_DATA 8 +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/i2o-dev.h b/linux-5.10/prebuilts/usr/include/linux/i2o-dev.h new file mode 100644 index 0000000..d00fe2d --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/i2o-dev.h @@ -0,0 +1,304 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _I2O_DEV_H +#define _I2O_DEV_H +#define MAX_I2O_CONTROLLERS 32 +#include +#include +#define I2O_MAGIC_NUMBER 'i' +#define I2OGETIOPS _IOR(I2O_MAGIC_NUMBER,0,__u8[MAX_I2O_CONTROLLERS]) +#define I2OHRTGET _IOWR(I2O_MAGIC_NUMBER,1,struct i2o_cmd_hrtlct) +#define I2OLCTGET _IOWR(I2O_MAGIC_NUMBER,2,struct i2o_cmd_hrtlct) +#define I2OPARMSET _IOWR(I2O_MAGIC_NUMBER,3,struct i2o_cmd_psetget) +#define I2OPARMGET _IOWR(I2O_MAGIC_NUMBER,4,struct i2o_cmd_psetget) +#define I2OSWDL _IOWR(I2O_MAGIC_NUMBER,5,struct i2o_sw_xfer) +#define I2OSWUL _IOWR(I2O_MAGIC_NUMBER,6,struct i2o_sw_xfer) +#define I2OSWDEL _IOWR(I2O_MAGIC_NUMBER,7,struct i2o_sw_xfer) +#define I2OVALIDATE _IOR(I2O_MAGIC_NUMBER,8,__u32) +#define I2OHTML _IOWR(I2O_MAGIC_NUMBER,9,struct i2o_html) +#define I2OEVTREG _IOW(I2O_MAGIC_NUMBER,10,struct i2o_evt_id) +#define I2OEVTGET _IOR(I2O_MAGIC_NUMBER,11,struct i2o_evt_info) +#define I2OPASSTHRU _IOR(I2O_MAGIC_NUMBER,12,struct i2o_cmd_passthru) +#define I2OPASSTHRU32 _IOR(I2O_MAGIC_NUMBER,12,struct i2o_cmd_passthru32) +struct i2o_cmd_passthru32 { + unsigned int iop; + __u32 msg; +}; +struct i2o_cmd_passthru { + unsigned int iop; + void __user *msg; +}; +struct i2o_cmd_hrtlct { + unsigned int iop; + void __user *resbuf; + unsigned int __user *reslen; +}; +struct i2o_cmd_psetget { + unsigned int iop; + unsigned int tid; + void __user *opbuf; + unsigned int oplen; + void __user *resbuf; + unsigned int __user *reslen; +}; +struct i2o_sw_xfer { + unsigned int iop; + unsigned char flags; + unsigned char sw_type; + unsigned int sw_id; + void __user *buf; + unsigned int __user *swlen; + unsigned int __user *maxfrag; + unsigned int __user *curfrag; +}; +struct i2o_html { + unsigned int iop; + unsigned int tid; + unsigned int page; + void __user *resbuf; + unsigned int __user *reslen; + void __user *qbuf; + unsigned int qlen; +}; +#define I2O_EVT_Q_LEN 32 +struct i2o_evt_id { + unsigned int iop; + unsigned int tid; + unsigned int evt_mask; +}; +#define I2O_EVT_DATA_SIZE 88 +struct i2o_evt_info { + struct i2o_evt_id id; + unsigned char evt_data[I2O_EVT_DATA_SIZE]; + unsigned int data_size; +}; +struct i2o_evt_get { + struct i2o_evt_info info; + int pending; + int lost; +}; +typedef struct i2o_sg_io_hdr { + unsigned int flags; +} i2o_sg_io_hdr_t; +#define I2O_BUS_LOCAL 0 +#define I2O_BUS_ISA 1 +#define I2O_BUS_EISA 2 +#define I2O_BUS_PCI 4 +#define I2O_BUS_PCMCIA 5 +#define I2O_BUS_NUBUS 6 +#define I2O_BUS_CARDBUS 7 +#define I2O_BUS_UNKNOWN 0x80 +typedef struct _i2o_pci_bus { + __u8 PciFunctionNumber; + __u8 PciDeviceNumber; + __u8 PciBusNumber; + __u8 reserved; + __u16 PciVendorID; + __u16 PciDeviceID; +} i2o_pci_bus; +typedef struct _i2o_local_bus { + __u16 LbBaseIOPort; + __u16 reserved; + __u32 LbBaseMemoryAddress; +} i2o_local_bus; +typedef struct _i2o_isa_bus { + __u16 IsaBaseIOPort; + __u8 CSN; + __u8 reserved; + __u32 IsaBaseMemoryAddress; +} i2o_isa_bus; +typedef struct _i2o_eisa_bus_info { + __u16 EisaBaseIOPort; + __u8 reserved; + __u8 EisaSlotNumber; + __u32 EisaBaseMemoryAddress; +} i2o_eisa_bus; +typedef struct _i2o_mca_bus { + __u16 McaBaseIOPort; + __u8 reserved; + __u8 McaSlotNumber; + __u32 McaBaseMemoryAddress; +} i2o_mca_bus; +typedef struct _i2o_other_bus { + __u16 BaseIOPort; + __u16 reserved; + __u32 BaseMemoryAddress; +} i2o_other_bus; +typedef struct _i2o_hrt_entry { + __u32 adapter_id; + __u32 parent_tid:12; + __u32 state:4; + __u32 bus_num:8; + __u32 bus_type:8; + union { + i2o_pci_bus pci_bus; + i2o_local_bus local_bus; + i2o_isa_bus isa_bus; + i2o_eisa_bus eisa_bus; + i2o_mca_bus mca_bus; + i2o_other_bus other_bus; + } bus; +} i2o_hrt_entry; +typedef struct _i2o_hrt { + __u16 num_entries; + __u8 entry_len; + __u8 hrt_version; + __u32 change_ind; + i2o_hrt_entry hrt_entry[1]; +} i2o_hrt; +typedef struct _i2o_lct_entry { + __u32 entry_size:16; + __u32 tid:12; + __u32 reserved:4; + __u32 change_ind; + __u32 device_flags; + __u32 class_id:12; + __u32 version:4; + __u32 vendor_id:16; + __u32 sub_class; + __u32 user_tid:12; + __u32 parent_tid:12; + __u32 bios_info:8; + __u8 identity_tag[8]; + __u32 event_capabilities; +} i2o_lct_entry; +typedef struct _i2o_lct { + __u32 table_size:16; + __u32 boot_tid:12; + __u32 lct_ver:4; + __u32 iop_flags; + __u32 change_ind; + i2o_lct_entry lct_entry[1]; +} i2o_lct; +typedef struct _i2o_status_block { + __u16 org_id; + __u16 reserved; + __u16 iop_id:12; + __u16 reserved1:4; + __u16 host_unit_id; + __u16 segment_number:12; + __u16 i2o_version:4; + __u8 iop_state; + __u8 msg_type; + __u16 inbound_frame_size; + __u8 init_code; + __u8 reserved2; + __u32 max_inbound_frames; + __u32 cur_inbound_frames; + __u32 max_outbound_frames; + char product_id[24]; + __u32 expected_lct_size; + __u32 iop_capabilities; + __u32 desired_mem_size; + __u32 current_mem_size; + __u32 current_mem_base; + __u32 desired_io_size; + __u32 current_io_size; + __u32 current_io_base; + __u32 reserved3:24; + __u32 cmd_status:8; +} i2o_status_block; +#define I2O_EVT_IND_STATE_CHANGE 0x80000000 +#define I2O_EVT_IND_GENERAL_WARNING 0x40000000 +#define I2O_EVT_IND_CONFIGURATION_FLAG 0x20000000 +#define I2O_EVT_IND_LOCK_RELEASE 0x10000000 +#define I2O_EVT_IND_CAPABILITY_CHANGE 0x08000000 +#define I2O_EVT_IND_DEVICE_RESET 0x04000000 +#define I2O_EVT_IND_EVT_MASK_MODIFIED 0x02000000 +#define I2O_EVT_IND_FIELD_MODIFIED 0x01000000 +#define I2O_EVT_IND_VENDOR_EVT 0x00800000 +#define I2O_EVT_IND_DEVICE_STATE 0x00400000 +#define I2O_EVT_IND_EXEC_RESOURCE_LIMITS 0x00000001 +#define I2O_EVT_IND_EXEC_CONNECTION_FAIL 0x00000002 +#define I2O_EVT_IND_EXEC_ADAPTER_FAULT 0x00000004 +#define I2O_EVT_IND_EXEC_POWER_FAIL 0x00000008 +#define I2O_EVT_IND_EXEC_RESET_PENDING 0x00000010 +#define I2O_EVT_IND_EXEC_RESET_IMMINENT 0x00000020 +#define I2O_EVT_IND_EXEC_HW_FAIL 0x00000040 +#define I2O_EVT_IND_EXEC_XCT_CHANGE 0x00000080 +#define I2O_EVT_IND_EXEC_NEW_LCT_ENTRY 0x00000100 +#define I2O_EVT_IND_EXEC_MODIFIED_LCT 0x00000200 +#define I2O_EVT_IND_EXEC_DDM_AVAILABILITY 0x00000400 +#define I2O_EVT_IND_BSA_VOLUME_LOAD 0x00000001 +#define I2O_EVT_IND_BSA_VOLUME_UNLOAD 0x00000002 +#define I2O_EVT_IND_BSA_VOLUME_UNLOAD_REQ 0x00000004 +#define I2O_EVT_IND_BSA_CAPACITY_CHANGE 0x00000008 +#define I2O_EVT_IND_BSA_SCSI_SMART 0x00000010 +#define I2O_EVT_STATE_CHANGE_NORMAL 0x00 +#define I2O_EVT_STATE_CHANGE_SUSPENDED 0x01 +#define I2O_EVT_STATE_CHANGE_RESTART 0x02 +#define I2O_EVT_STATE_CHANGE_NA_RECOVER 0x03 +#define I2O_EVT_STATE_CHANGE_NA_NO_RECOVER 0x04 +#define I2O_EVT_STATE_CHANGE_QUIESCE_REQUEST 0x05 +#define I2O_EVT_STATE_CHANGE_FAILED 0x10 +#define I2O_EVT_STATE_CHANGE_FAULTED 0x11 +#define I2O_EVT_GEN_WARNING_NORMAL 0x00 +#define I2O_EVT_GEN_WARNING_ERROR_THRESHOLD 0x01 +#define I2O_EVT_GEN_WARNING_MEDIA_FAULT 0x02 +#define I2O_EVT_CAPABILITY_OTHER 0x01 +#define I2O_EVT_CAPABILITY_CHANGED 0x02 +#define I2O_EVT_SENSOR_STATE_CHANGED 0x01 +#define I2O_CLASS_VERSION_10 0x00 +#define I2O_CLASS_VERSION_11 0x01 +#define I2O_CLASS_EXECUTIVE 0x000 +#define I2O_CLASS_DDM 0x001 +#define I2O_CLASS_RANDOM_BLOCK_STORAGE 0x010 +#define I2O_CLASS_SEQUENTIAL_STORAGE 0x011 +#define I2O_CLASS_LAN 0x020 +#define I2O_CLASS_WAN 0x030 +#define I2O_CLASS_FIBRE_CHANNEL_PORT 0x040 +#define I2O_CLASS_FIBRE_CHANNEL_PERIPHERAL 0x041 +#define I2O_CLASS_SCSI_PERIPHERAL 0x051 +#define I2O_CLASS_ATE_PORT 0x060 +#define I2O_CLASS_ATE_PERIPHERAL 0x061 +#define I2O_CLASS_FLOPPY_CONTROLLER 0x070 +#define I2O_CLASS_FLOPPY_DEVICE 0x071 +#define I2O_CLASS_BUS_ADAPTER 0x080 +#define I2O_CLASS_PEER_TRANSPORT_AGENT 0x090 +#define I2O_CLASS_PEER_TRANSPORT 0x091 +#define I2O_CLASS_END 0xfff +#define I2O_CLASS_MATCH_ANYCLASS 0xffffffff +#define I2O_SUBCLASS_i960 0x001 +#define I2O_SUBCLASS_HDM 0x020 +#define I2O_SUBCLASS_ISM 0x021 +#define I2O_PARAMS_FIELD_GET 0x0001 +#define I2O_PARAMS_LIST_GET 0x0002 +#define I2O_PARAMS_MORE_GET 0x0003 +#define I2O_PARAMS_SIZE_GET 0x0004 +#define I2O_PARAMS_TABLE_GET 0x0005 +#define I2O_PARAMS_FIELD_SET 0x0006 +#define I2O_PARAMS_LIST_SET 0x0007 +#define I2O_PARAMS_ROW_ADD 0x0008 +#define I2O_PARAMS_ROW_DELETE 0x0009 +#define I2O_PARAMS_TABLE_CLEAR 0x000A +#define I2O_SNFORMAT_UNKNOWN 0 +#define I2O_SNFORMAT_BINARY 1 +#define I2O_SNFORMAT_ASCII 2 +#define I2O_SNFORMAT_UNICODE 3 +#define I2O_SNFORMAT_LAN48_MAC 4 +#define I2O_SNFORMAT_WAN 5 +#define I2O_SNFORMAT_LAN64_MAC 6 +#define I2O_SNFORMAT_DDM 7 +#define I2O_SNFORMAT_IEEE_REG64 8 +#define I2O_SNFORMAT_IEEE_REG128 9 +#define I2O_SNFORMAT_UNKNOWN2 0xff +#define ADAPTER_STATE_INITIALIZING 0x01 +#define ADAPTER_STATE_RESET 0x02 +#define ADAPTER_STATE_HOLD 0x04 +#define ADAPTER_STATE_READY 0x05 +#define ADAPTER_STATE_OPERATIONAL 0x08 +#define ADAPTER_STATE_FAILED 0x10 +#define ADAPTER_STATE_FAULTED 0x11 +#define I2O_SOFTWARE_MODULE_IRTOS 0x11 +#define I2O_SOFTWARE_MODULE_IOP_PRIVATE 0x22 +#define I2O_SOFTWARE_MODULE_IOP_CONFIG 0x23 +#define I2O_VENDOR_DPT 0x001b +#define I2O_DPT_SG_FLAG_INTERPRET 0x00010000 +#define I2O_DPT_SG_FLAG_PHYSICAL 0x00020000 +#define I2O_DPT_FLASH_FRAG_SIZE 0x10000 +#define I2O_DPT_FLASH_READ 0x0101 +#define I2O_DPT_FLASH_WRITE 0x0102 +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/i8k.h b/linux-5.10/prebuilts/usr/include/linux/i8k.h new file mode 100644 index 0000000..4dab7ed --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/i8k.h @@ -0,0 +1,30 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _LINUX_I8K_H +#define _LINUX_I8K_H +#define I8K_PROC "/proc/i8k" +#define I8K_PROC_FMT "1.0" +#define I8K_BIOS_VERSION _IOR ('i', 0x80, int) +#define I8K_MACHINE_ID _IOR ('i', 0x81, int) +#define I8K_POWER_STATUS _IOR ('i', 0x82, size_t) +#define I8K_FN_STATUS _IOR ('i', 0x83, size_t) +#define I8K_GET_TEMP _IOR ('i', 0x84, size_t) +#define I8K_GET_SPEED _IOWR('i', 0x85, size_t) +#define I8K_GET_FAN _IOWR('i', 0x86, size_t) +#define I8K_SET_FAN _IOWR('i', 0x87, size_t) +#define I8K_FAN_LEFT 1 +#define I8K_FAN_RIGHT 0 +#define I8K_FAN_OFF 0 +#define I8K_FAN_LOW 1 +#define I8K_FAN_HIGH 2 +#define I8K_FAN_TURBO 3 +#define I8K_FAN_MAX I8K_FAN_TURBO +#define I8K_VOL_UP 1 +#define I8K_VOL_DOWN 2 +#define I8K_VOL_MUTE 4 +#define I8K_AC 1 +#define I8K_BATTERY 0 +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/icmp.h b/linux-5.10/prebuilts/usr/include/linux/icmp.h new file mode 100644 index 0000000..ef13ffa --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/icmp.h @@ -0,0 +1,86 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI_LINUX_ICMP_H +#define _UAPI_LINUX_ICMP_H +#include +#include +#define ICMP_ECHOREPLY 0 +#define ICMP_DEST_UNREACH 3 +#define ICMP_SOURCE_QUENCH 4 +#define ICMP_REDIRECT 5 +#define ICMP_ECHO 8 +#define ICMP_TIME_EXCEEDED 11 +#define ICMP_PARAMETERPROB 12 +#define ICMP_TIMESTAMP 13 +#define ICMP_TIMESTAMPREPLY 14 +#define ICMP_INFO_REQUEST 15 +#define ICMP_INFO_REPLY 16 +#define ICMP_ADDRESS 17 +#define ICMP_ADDRESSREPLY 18 +#define NR_ICMP_TYPES 18 +#define ICMP_NET_UNREACH 0 +#define ICMP_HOST_UNREACH 1 +#define ICMP_PROT_UNREACH 2 +#define ICMP_PORT_UNREACH 3 +#define ICMP_FRAG_NEEDED 4 +#define ICMP_SR_FAILED 5 +#define ICMP_NET_UNKNOWN 6 +#define ICMP_HOST_UNKNOWN 7 +#define ICMP_HOST_ISOLATED 8 +#define ICMP_NET_ANO 9 +#define ICMP_HOST_ANO 10 +#define ICMP_NET_UNR_TOS 11 +#define ICMP_HOST_UNR_TOS 12 +#define ICMP_PKT_FILTERED 13 +#define ICMP_PREC_VIOLATION 14 +#define ICMP_PREC_CUTOFF 15 +#define NR_ICMP_UNREACH 15 +#define ICMP_REDIR_NET 0 +#define ICMP_REDIR_HOST 1 +#define ICMP_REDIR_NETTOS 2 +#define ICMP_REDIR_HOSTTOS 3 +#define ICMP_EXC_TTL 0 +#define ICMP_EXC_FRAGTIME 1 +struct icmphdr { + __u8 type; + __u8 code; + __sum16 checksum; + union { + struct { + __be16 id; + __be16 sequence; + } echo; + __be32 gateway; + struct { + __be16 __linux_unused; + __be16 mtu; + } frag; + __u8 reserved[4]; + } un; +}; +#define ICMP_FILTER 1 +struct icmp_filter { + __u32 data; +}; +struct icmp_ext_hdr { +#if defined(__LITTLE_ENDIAN_BITFIELD) + __u8 reserved1:4, + version:4; +#elif defined(__BIG_ENDIAN_BITFIELD) + __u8 version:4, + reserved1:4; +#else +#error "Please fix " +#endif + __u8 reserved2; + __sum16 checksum; +}; +struct icmp_extobj_hdr { + __be16 length; + __u8 class_num; + __u8 class_type; +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/icmpv6.h b/linux-5.10/prebuilts/usr/include/linux/icmpv6.h new file mode 100644 index 0000000..efb2c3a --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/icmpv6.h @@ -0,0 +1,127 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI_LINUX_ICMPV6_H +#define _UAPI_LINUX_ICMPV6_H +#include +#include +struct icmp6hdr { + __u8 icmp6_type; + __u8 icmp6_code; + __sum16 icmp6_cksum; + union { + __be32 un_data32[1]; + __be16 un_data16[2]; + __u8 un_data8[4]; + struct icmpv6_echo { + __be16 identifier; + __be16 sequence; + } u_echo; + struct icmpv6_nd_advt { +#if defined(__LITTLE_ENDIAN_BITFIELD) + __u32 reserved:5, + override:1, + solicited:1, + router:1, + reserved2:24; +#elif defined(__BIG_ENDIAN_BITFIELD) + __u32 router:1, + solicited:1, + override:1, + reserved:29; +#else +#error "Please fix " +#endif + } u_nd_advt; + struct icmpv6_nd_ra { + __u8 hop_limit; +#if defined(__LITTLE_ENDIAN_BITFIELD) + __u8 reserved:3, + router_pref:2, + home_agent:1, + other:1, + managed:1; +#elif defined(__BIG_ENDIAN_BITFIELD) + __u8 managed:1, + other:1, + home_agent:1, + router_pref:2, + reserved:3; +#else +#error "Please fix " +#endif + __be16 rt_lifetime; + } u_nd_ra; + } icmp6_dataun; +#define icmp6_identifier icmp6_dataun.u_echo.identifier +#define icmp6_sequence icmp6_dataun.u_echo.sequence +#define icmp6_pointer icmp6_dataun.un_data32[0] +#define icmp6_mtu icmp6_dataun.un_data32[0] +#define icmp6_unused icmp6_dataun.un_data32[0] +#define icmp6_maxdelay icmp6_dataun.un_data16[0] +#define icmp6_datagram_len icmp6_dataun.un_data8[0] +#define icmp6_router icmp6_dataun.u_nd_advt.router +#define icmp6_solicited icmp6_dataun.u_nd_advt.solicited +#define icmp6_override icmp6_dataun.u_nd_advt.override +#define icmp6_ndiscreserved icmp6_dataun.u_nd_advt.reserved +#define icmp6_hop_limit icmp6_dataun.u_nd_ra.hop_limit +#define icmp6_addrconf_managed icmp6_dataun.u_nd_ra.managed +#define icmp6_addrconf_other icmp6_dataun.u_nd_ra.other +#define icmp6_rt_lifetime icmp6_dataun.u_nd_ra.rt_lifetime +#define icmp6_router_pref icmp6_dataun.u_nd_ra.router_pref +}; +#define ICMPV6_ROUTER_PREF_LOW 0x3 +#define ICMPV6_ROUTER_PREF_MEDIUM 0x0 +#define ICMPV6_ROUTER_PREF_HIGH 0x1 +#define ICMPV6_ROUTER_PREF_INVALID 0x2 +#define ICMPV6_DEST_UNREACH 1 +#define ICMPV6_PKT_TOOBIG 2 +#define ICMPV6_TIME_EXCEED 3 +#define ICMPV6_PARAMPROB 4 +#define ICMPV6_ERRMSG_MAX 127 +#define ICMPV6_INFOMSG_MASK 0x80 +#define ICMPV6_ECHO_REQUEST 128 +#define ICMPV6_ECHO_REPLY 129 +#define ICMPV6_MGM_QUERY 130 +#define ICMPV6_MGM_REPORT 131 +#define ICMPV6_MGM_REDUCTION 132 +#define ICMPV6_NI_QUERY 139 +#define ICMPV6_NI_REPLY 140 +#define ICMPV6_MLD2_REPORT 143 +#define ICMPV6_DHAAD_REQUEST 144 +#define ICMPV6_DHAAD_REPLY 145 +#define ICMPV6_MOBILE_PREFIX_SOL 146 +#define ICMPV6_MOBILE_PREFIX_ADV 147 +#define ICMPV6_MRDISC_ADV 151 +#define ICMPV6_MSG_MAX 255 +#define ICMPV6_NOROUTE 0 +#define ICMPV6_ADM_PROHIBITED 1 +#define ICMPV6_NOT_NEIGHBOUR 2 +#define ICMPV6_ADDR_UNREACH 3 +#define ICMPV6_PORT_UNREACH 4 +#define ICMPV6_POLICY_FAIL 5 +#define ICMPV6_REJECT_ROUTE 6 +#define ICMPV6_EXC_HOPLIMIT 0 +#define ICMPV6_EXC_FRAGTIME 1 +#define ICMPV6_HDR_FIELD 0 +#define ICMPV6_UNK_NEXTHDR 1 +#define ICMPV6_UNK_OPTION 2 +#define ICMPV6_HDR_INCOMP 3 +#define ICMPV6_FILTER 1 +#define ICMPV6_FILTER_BLOCK 1 +#define ICMPV6_FILTER_PASS 2 +#define ICMPV6_FILTER_BLOCKOTHERS 3 +#define ICMPV6_FILTER_PASSONLY 4 +struct icmp6_filter { + __u32 data[8]; +}; +#define MLD2_MODE_IS_INCLUDE 1 +#define MLD2_MODE_IS_EXCLUDE 2 +#define MLD2_CHANGE_TO_INCLUDE 3 +#define MLD2_CHANGE_TO_EXCLUDE 4 +#define MLD2_ALLOW_NEW_SOURCES 5 +#define MLD2_BLOCK_OLD_SOURCES 6 +#define MLD2_ALL_MCR_INIT { { { 0xff,0x02,0,0,0,0,0,0,0,0,0,0,0,0,0,0x16 } } } +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/idxd.h b/linux-5.10/prebuilts/usr/include/linux/idxd.h new file mode 100644 index 0000000..8b9b748 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/idxd.h @@ -0,0 +1,206 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _USR_IDXD_H_ +#define _USR_IDXD_H_ +#ifdef __KERNEL__ +#include +#else +#include +#endif +#define IDXD_OP_FLAG_FENCE 0x0001 +#define IDXD_OP_FLAG_BOF 0x0002 +#define IDXD_OP_FLAG_CRAV 0x0004 +#define IDXD_OP_FLAG_RCR 0x0008 +#define IDXD_OP_FLAG_RCI 0x0010 +#define IDXD_OP_FLAG_CRSTS 0x0020 +#define IDXD_OP_FLAG_CR 0x0080 +#define IDXD_OP_FLAG_CC 0x0100 +#define IDXD_OP_FLAG_ADDR1_TCS 0x0200 +#define IDXD_OP_FLAG_ADDR2_TCS 0x0400 +#define IDXD_OP_FLAG_ADDR3_TCS 0x0800 +#define IDXD_OP_FLAG_CR_TCS 0x1000 +#define IDXD_OP_FLAG_STORD 0x2000 +#define IDXD_OP_FLAG_DRDBK 0x4000 +#define IDXD_OP_FLAG_DSTS 0x8000 +enum dsa_opcode { + DSA_OPCODE_NOOP = 0, + DSA_OPCODE_BATCH, + DSA_OPCODE_DRAIN, + DSA_OPCODE_MEMMOVE, + DSA_OPCODE_MEMFILL, + DSA_OPCODE_COMPARE, + DSA_OPCODE_COMPVAL, + DSA_OPCODE_CR_DELTA, + DSA_OPCODE_AP_DELTA, + DSA_OPCODE_DUALCAST, + DSA_OPCODE_CRCGEN = 0x10, + DSA_OPCODE_COPY_CRC, + DSA_OPCODE_DIF_CHECK, + DSA_OPCODE_DIF_INS, + DSA_OPCODE_DIF_STRP, + DSA_OPCODE_DIF_UPDT, + DSA_OPCODE_CFLUSH = 0x20, +}; +enum dsa_completion_status { + DSA_COMP_NONE = 0, + DSA_COMP_SUCCESS, + DSA_COMP_SUCCESS_PRED, + DSA_COMP_PAGE_FAULT_NOBOF, + DSA_COMP_PAGE_FAULT_IR, + DSA_COMP_BATCH_FAIL, + DSA_COMP_BATCH_PAGE_FAULT, + DSA_COMP_DR_OFFSET_NOINC, + DSA_COMP_DR_OFFSET_ERANGE, + DSA_COMP_DIF_ERR, + DSA_COMP_BAD_OPCODE = 0x10, + DSA_COMP_INVALID_FLAGS, + DSA_COMP_NOZERO_RESERVE, + DSA_COMP_XFER_ERANGE, + DSA_COMP_DESC_CNT_ERANGE, + DSA_COMP_DR_ERANGE, + DSA_COMP_OVERLAP_BUFFERS, + DSA_COMP_DCAST_ERR, + DSA_COMP_DESCLIST_ALIGN, + DSA_COMP_INT_HANDLE_INVAL, + DSA_COMP_CRA_XLAT, + DSA_COMP_CRA_ALIGN, + DSA_COMP_ADDR_ALIGN, + DSA_COMP_PRIV_BAD, + DSA_COMP_TRAFFIC_CLASS_CONF, + DSA_COMP_PFAULT_RDBA, + DSA_COMP_HW_ERR1, + DSA_COMP_HW_ERR_DRB, + DSA_COMP_TRANSLATION_FAIL, +}; +#define DSA_COMP_STATUS_MASK 0x7f +#define DSA_COMP_STATUS_WRITE 0x80 +struct dsa_hw_desc { + uint32_t pasid:20; + uint32_t rsvd:11; + uint32_t priv:1; + uint32_t flags:24; + uint32_t opcode:8; + uint64_t completion_addr; + union { + uint64_t src_addr; + uint64_t rdback_addr; + uint64_t pattern; + uint64_t desc_list_addr; + }; + union { + uint64_t dst_addr; + uint64_t rdback_addr2; + uint64_t src2_addr; + uint64_t comp_pattern; + }; + union { + uint32_t xfer_size; + uint32_t desc_count; + }; + uint16_t int_handle; + uint16_t rsvd1; + union { + uint8_t expected_res; + + struct { + uint64_t delta_addr; + uint32_t max_delta_size; + uint32_t delt_rsvd; + uint8_t expected_res_mask; + }; + uint32_t delta_rec_size; + uint64_t dest2; + + struct { + uint32_t crc_seed; + uint32_t crc_rsvd; + uint64_t seed_addr; + }; + + struct { + uint8_t src_dif_flags; + uint8_t dif_chk_res; + uint8_t dif_chk_flags; + uint8_t dif_chk_res2[5]; + uint32_t chk_ref_tag_seed; + uint16_t chk_app_tag_mask; + uint16_t chk_app_tag_seed; + }; + + struct { + uint8_t dif_ins_res; + uint8_t dest_dif_flag; + uint8_t dif_ins_flags; + uint8_t dif_ins_res2[13]; + uint32_t ins_ref_tag_seed; + uint16_t ins_app_tag_mask; + uint16_t ins_app_tag_seed; + }; + + struct { + uint8_t src_upd_flags; + uint8_t upd_dest_flags; + uint8_t dif_upd_flags; + uint8_t dif_upd_res[5]; + uint32_t src_ref_tag_seed; + uint16_t src_app_tag_mask; + uint16_t src_app_tag_seed; + uint32_t dest_ref_tag_seed; + uint16_t dest_app_tag_mask; + uint16_t dest_app_tag_seed; + }; + uint8_t op_specific[24]; + }; +} __attribute__((packed)); +struct dsa_raw_desc { + uint64_t field[8]; +} __attribute__((packed)); +struct dsa_completion_record { + volatile uint8_t status; + union { + uint8_t result; + uint8_t dif_status; + }; + uint16_t rsvd; + uint32_t bytes_completed; + uint64_t fault_addr; + union { + + struct { + uint32_t invalid_flags:24; + uint32_t rsvd2:8; + }; + uint32_t delta_rec_size; + uint32_t crc_val; + + struct { + uint32_t dif_chk_ref_tag; + uint16_t dif_chk_app_tag_mask; + uint16_t dif_chk_app_tag; + }; + + struct { + uint64_t dif_ins_res; + uint32_t dif_ins_ref_tag; + uint16_t dif_ins_app_tag_mask; + uint16_t dif_ins_app_tag; + }; + + struct { + uint32_t dif_upd_src_ref_tag; + uint16_t dif_upd_src_app_tag_mask; + uint16_t dif_upd_src_app_tag; + uint32_t dif_upd_dest_ref_tag; + uint16_t dif_upd_dest_app_tag_mask; + uint16_t dif_upd_dest_app_tag; + }; + uint8_t op_specific[16]; + }; +} __attribute__((packed)); +struct dsa_raw_completion_record { + uint64_t field[4]; +} __attribute__((packed)); +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/if.h b/linux-5.10/prebuilts/usr/include/linux/if.h new file mode 100644 index 0000000..24ca7b2 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/if.h @@ -0,0 +1,190 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _LINUX_IF_H +#define _LINUX_IF_H +#include +#include +#include +#include +#ifndef __KERNEL__ +#include +#endif +#if __UAPI_DEF_IF_IFNAMSIZ +#define IFNAMSIZ 16 +#endif +#define IFALIASZ 256 +#define ALTIFNAMSIZ 128 +#include +#if __UAPI_DEF_IF_NET_DEVICE_FLAGS_LOWER_UP_DORMANT_ECHO != 0 || \ + __UAPI_DEF_IF_NET_DEVICE_FLAGS != 0 +enum net_device_flags { +#if __UAPI_DEF_IF_NET_DEVICE_FLAGS + IFF_UP = 1<<0, + IFF_BROADCAST = 1<<1, + IFF_DEBUG = 1<<2, + IFF_LOOPBACK = 1<<3, + IFF_POINTOPOINT = 1<<4, + IFF_NOTRAILERS = 1<<5, + IFF_RUNNING = 1<<6, + IFF_NOARP = 1<<7, + IFF_PROMISC = 1<<8, + IFF_ALLMULTI = 1<<9, + IFF_MASTER = 1<<10, + IFF_SLAVE = 1<<11, + IFF_MULTICAST = 1<<12, + IFF_PORTSEL = 1<<13, + IFF_AUTOMEDIA = 1<<14, + IFF_DYNAMIC = 1<<15, +#endif +#if __UAPI_DEF_IF_NET_DEVICE_FLAGS_LOWER_UP_DORMANT_ECHO + IFF_LOWER_UP = 1<<16, + IFF_DORMANT = 1<<17, + IFF_ECHO = 1<<18, +#endif +}; +#endif +#if __UAPI_DEF_IF_NET_DEVICE_FLAGS +#define IFF_UP IFF_UP +#define IFF_BROADCAST IFF_BROADCAST +#define IFF_DEBUG IFF_DEBUG +#define IFF_LOOPBACK IFF_LOOPBACK +#define IFF_POINTOPOINT IFF_POINTOPOINT +#define IFF_NOTRAILERS IFF_NOTRAILERS +#define IFF_RUNNING IFF_RUNNING +#define IFF_NOARP IFF_NOARP +#define IFF_PROMISC IFF_PROMISC +#define IFF_ALLMULTI IFF_ALLMULTI +#define IFF_MASTER IFF_MASTER +#define IFF_SLAVE IFF_SLAVE +#define IFF_MULTICAST IFF_MULTICAST +#define IFF_PORTSEL IFF_PORTSEL +#define IFF_AUTOMEDIA IFF_AUTOMEDIA +#define IFF_DYNAMIC IFF_DYNAMIC +#endif +#if __UAPI_DEF_IF_NET_DEVICE_FLAGS_LOWER_UP_DORMANT_ECHO +#define IFF_LOWER_UP IFF_LOWER_UP +#define IFF_DORMANT IFF_DORMANT +#define IFF_ECHO IFF_ECHO +#endif +#define IFF_VOLATILE (IFF_LOOPBACK|IFF_POINTOPOINT|IFF_BROADCAST|IFF_ECHO|\ + IFF_MASTER|IFF_SLAVE|IFF_RUNNING|IFF_LOWER_UP|IFF_DORMANT) +#define IF_GET_IFACE 0x0001 +#define IF_GET_PROTO 0x0002 +#define IF_IFACE_V35 0x1000 +#define IF_IFACE_V24 0x1001 +#define IF_IFACE_X21 0x1002 +#define IF_IFACE_T1 0x1003 +#define IF_IFACE_E1 0x1004 +#define IF_IFACE_SYNC_SERIAL 0x1005 +#define IF_IFACE_X21D 0x1006 +#define IF_PROTO_HDLC 0x2000 +#define IF_PROTO_PPP 0x2001 +#define IF_PROTO_CISCO 0x2002 +#define IF_PROTO_FR 0x2003 +#define IF_PROTO_FR_ADD_PVC 0x2004 +#define IF_PROTO_FR_DEL_PVC 0x2005 +#define IF_PROTO_X25 0x2006 +#define IF_PROTO_HDLC_ETH 0x2007 +#define IF_PROTO_FR_ADD_ETH_PVC 0x2008 +#define IF_PROTO_FR_DEL_ETH_PVC 0x2009 +#define IF_PROTO_FR_PVC 0x200A +#define IF_PROTO_FR_ETH_PVC 0x200B +#define IF_PROTO_RAW 0x200C +enum { + IF_OPER_UNKNOWN, + IF_OPER_NOTPRESENT, + IF_OPER_DOWN, + IF_OPER_LOWERLAYERDOWN, + IF_OPER_TESTING, + IF_OPER_DORMANT, + IF_OPER_UP, +}; +enum { + IF_LINK_MODE_DEFAULT, + IF_LINK_MODE_DORMANT, + IF_LINK_MODE_TESTING, +}; +#if __UAPI_DEF_IF_IFMAP +struct ifmap { + unsigned long mem_start; + unsigned long mem_end; + unsigned short base_addr; + unsigned char irq; + unsigned char dma; + unsigned char port; + +}; +#endif +struct if_settings { + unsigned int type; + unsigned int size; + union { + + raw_hdlc_proto __user *raw_hdlc; + cisco_proto __user *cisco; + fr_proto __user *fr; + fr_proto_pvc __user *fr_pvc; + fr_proto_pvc_info __user *fr_pvc_info; + x25_hdlc_proto __user *x25; + + sync_serial_settings __user *sync; + te1_settings __user *te1; + } ifs_ifsu; +}; +#if __UAPI_DEF_IF_IFREQ +struct ifreq { +#define IFHWADDRLEN 6 + union + { + char ifrn_name[IFNAMSIZ]; + } ifr_ifrn; + + union { + struct sockaddr ifru_addr; + struct sockaddr ifru_dstaddr; + struct sockaddr ifru_broadaddr; + struct sockaddr ifru_netmask; + struct sockaddr ifru_hwaddr; + short ifru_flags; + int ifru_ivalue; + int ifru_mtu; + struct ifmap ifru_map; + char ifru_slave[IFNAMSIZ]; + char ifru_newname[IFNAMSIZ]; + void __user * ifru_data; + struct if_settings ifru_settings; + } ifr_ifru; +}; +#endif +#define ifr_name ifr_ifrn.ifrn_name +#define ifr_hwaddr ifr_ifru.ifru_hwaddr +#define ifr_addr ifr_ifru.ifru_addr +#define ifr_dstaddr ifr_ifru.ifru_dstaddr +#define ifr_broadaddr ifr_ifru.ifru_broadaddr +#define ifr_netmask ifr_ifru.ifru_netmask +#define ifr_flags ifr_ifru.ifru_flags +#define ifr_metric ifr_ifru.ifru_ivalue +#define ifr_mtu ifr_ifru.ifru_mtu +#define ifr_map ifr_ifru.ifru_map +#define ifr_slave ifr_ifru.ifru_slave +#define ifr_data ifr_ifru.ifru_data +#define ifr_ifindex ifr_ifru.ifru_ivalue +#define ifr_bandwidth ifr_ifru.ifru_ivalue +#define ifr_qlen ifr_ifru.ifru_ivalue +#define ifr_newname ifr_ifru.ifru_newname +#define ifr_settings ifr_ifru.ifru_settings +#if __UAPI_DEF_IF_IFCONF +struct ifconf { + int ifc_len; + union { + char __user *ifcu_buf; + struct ifreq __user *ifcu_req; + } ifc_ifcu; +}; +#endif +#define ifc_buf ifc_ifcu.ifcu_buf +#define ifc_req ifc_ifcu.ifcu_req +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/if_addr.h b/linux-5.10/prebuilts/usr/include/linux/if_addr.h new file mode 100644 index 0000000..648199a --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/if_addr.h @@ -0,0 +1,55 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef __LINUX_IF_ADDR_H +#define __LINUX_IF_ADDR_H +#include +#include +struct ifaddrmsg { + __u8 ifa_family; + __u8 ifa_prefixlen; + __u8 ifa_flags; + __u8 ifa_scope; + __u32 ifa_index; +}; +enum { + IFA_UNSPEC, + IFA_ADDRESS, + IFA_LOCAL, + IFA_LABEL, + IFA_BROADCAST, + IFA_ANYCAST, + IFA_CACHEINFO, + IFA_MULTICAST, + IFA_FLAGS, + IFA_RT_PRIORITY, + IFA_TARGET_NETNSID, + __IFA_MAX, +}; +#define IFA_MAX (__IFA_MAX - 1) +#define IFA_F_SECONDARY 0x01 +#define IFA_F_TEMPORARY IFA_F_SECONDARY +#define IFA_F_NODAD 0x02 +#define IFA_F_OPTIMISTIC 0x04 +#define IFA_F_DADFAILED 0x08 +#define IFA_F_HOMEADDRESS 0x10 +#define IFA_F_DEPRECATED 0x20 +#define IFA_F_TENTATIVE 0x40 +#define IFA_F_PERMANENT 0x80 +#define IFA_F_MANAGETEMPADDR 0x100 +#define IFA_F_NOPREFIXROUTE 0x200 +#define IFA_F_MCAUTOJOIN 0x400 +#define IFA_F_STABLE_PRIVACY 0x800 +struct ifa_cacheinfo { + __u32 ifa_prefered; + __u32 ifa_valid; + __u32 cstamp; + __u32 tstamp; +}; +#ifndef __KERNEL__ +#define IFA_RTA(r) ((struct rtattr*)(((char*)(r)) + NLMSG_ALIGN(sizeof(struct ifaddrmsg)))) +#define IFA_PAYLOAD(n) NLMSG_PAYLOAD(n,sizeof(struct ifaddrmsg)) +#endif +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/if_addrlabel.h b/linux-5.10/prebuilts/usr/include/linux/if_addrlabel.h new file mode 100644 index 0000000..9e5a777 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/if_addrlabel.h @@ -0,0 +1,23 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef __LINUX_IF_ADDRLABEL_H +#define __LINUX_IF_ADDRLABEL_H +#include +struct ifaddrlblmsg { + __u8 ifal_family; + __u8 __ifal_reserved; + __u8 ifal_prefixlen; + __u8 ifal_flags; + __u32 ifal_index; + __u32 ifal_seq; +}; +enum { + IFAL_ADDRESS = 1, + IFAL_LABEL = 2, + __IFAL_MAX +}; +#define IFAL_MAX (__IFAL_MAX - 1) +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/if_alg.h b/linux-5.10/prebuilts/usr/include/linux/if_alg.h new file mode 100644 index 0000000..c8a2340 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/if_alg.h @@ -0,0 +1,35 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _LINUX_IF_ALG_H +#define _LINUX_IF_ALG_H +#include +struct sockaddr_alg { + __u16 salg_family; + __u8 salg_type[14]; + __u32 salg_feat; + __u32 salg_mask; + __u8 salg_name[64]; +}; +struct sockaddr_alg_new { + __u16 salg_family; + __u8 salg_type[14]; + __u32 salg_feat; + __u32 salg_mask; + __u8 salg_name[]; +}; +struct af_alg_iv { + __u32 ivlen; + __u8 iv[0]; +}; +#define ALG_SET_KEY 1 +#define ALG_SET_IV 2 +#define ALG_SET_OP 3 +#define ALG_SET_AEAD_ASSOCLEN 4 +#define ALG_SET_AEAD_AUTHSIZE 5 +#define ALG_SET_DRBG_ENTROPY 6 +#define ALG_OP_DECRYPT 0 +#define ALG_OP_ENCRYPT 1 +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/if_arcnet.h b/linux-5.10/prebuilts/usr/include/linux/if_arcnet.h new file mode 100644 index 0000000..44c8aca --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/if_arcnet.h @@ -0,0 +1,71 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _LINUX_IF_ARCNET_H +#define _LINUX_IF_ARCNET_H +#include +#include +#define ARC_P_IP 212 +#define ARC_P_IPV6 196 +#define ARC_P_ARP 213 +#define ARC_P_RARP 214 +#define ARC_P_IPX 250 +#define ARC_P_NOVELL_EC 236 +#define ARC_P_IP_RFC1051 240 +#define ARC_P_ARP_RFC1051 241 +#define ARC_P_ETHER 232 +#define ARC_P_DATAPOINT_BOOT 0 +#define ARC_P_DATAPOINT_MOUNT 1 +#define ARC_P_POWERLAN_BEACON 8 +#define ARC_P_POWERLAN_BEACON2 243 +#define ARC_P_LANSOFT 251 +#define ARC_P_ATALK 0xDD +#define ARCNET_ALEN 1 +struct arc_rfc1201 { + __u8 proto; + __u8 split_flag; + __be16 sequence; + __u8 payload[0]; +}; +#define RFC1201_HDR_SIZE 4 +struct arc_rfc1051 { + __u8 proto; + __u8 payload[0]; +}; +#define RFC1051_HDR_SIZE 1 +struct arc_eth_encap { + __u8 proto; + struct ethhdr eth; + __u8 payload[0]; +}; +#define ETH_ENCAP_HDR_SIZE 14 +struct arc_cap { + __u8 proto; + __u8 cookie[sizeof(int)]; + + union { + __u8 ack; + __u8 raw[0]; + } mes; +}; +struct arc_hardware { + __u8 source; + __u8 dest; + __u8 offset[2]; +}; +#define ARC_HDR_SIZE 4 +struct archdr { + + struct arc_hardware hard; + + union { + struct arc_rfc1201 rfc1201; + struct arc_rfc1051 rfc1051; + struct arc_eth_encap eth_encap; + struct arc_cap cap; + __u8 raw[0]; + } soft; +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/if_arp.h b/linux-5.10/prebuilts/usr/include/linux/if_arp.h new file mode 100644 index 0000000..79abca8 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/if_arp.h @@ -0,0 +1,117 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI_LINUX_IF_ARP_H +#define _UAPI_LINUX_IF_ARP_H +#include +#define ARPHRD_NETROM 0 +#define ARPHRD_ETHER 1 +#define ARPHRD_EETHER 2 +#define ARPHRD_AX25 3 +#define ARPHRD_PRONET 4 +#define ARPHRD_CHAOS 5 +#define ARPHRD_IEEE802 6 +#define ARPHRD_ARCNET 7 +#define ARPHRD_APPLETLK 8 +#define ARPHRD_DLCI 15 +#define ARPHRD_ATM 19 +#define ARPHRD_METRICOM 23 +#define ARPHRD_IEEE1394 24 +#define ARPHRD_EUI64 27 +#define ARPHRD_INFINIBAND 32 +#define ARPHRD_SLIP 256 +#define ARPHRD_CSLIP 257 +#define ARPHRD_SLIP6 258 +#define ARPHRD_CSLIP6 259 +#define ARPHRD_RSRVD 260 +#define ARPHRD_ADAPT 264 +#define ARPHRD_ROSE 270 +#define ARPHRD_X25 271 +#define ARPHRD_HWX25 272 +#define ARPHRD_CAN 280 +#define ARPHRD_PPP 512 +#define ARPHRD_CISCO 513 +#define ARPHRD_HDLC ARPHRD_CISCO +#define ARPHRD_LAPB 516 +#define ARPHRD_DDCMP 517 +#define ARPHRD_RAWHDLC 518 +#define ARPHRD_RAWIP 519 +#define ARPHRD_TUNNEL 768 +#define ARPHRD_TUNNEL6 769 +#define ARPHRD_FRAD 770 +#define ARPHRD_SKIP 771 +#define ARPHRD_LOOPBACK 772 +#define ARPHRD_LOCALTLK 773 +#define ARPHRD_FDDI 774 +#define ARPHRD_BIF 775 +#define ARPHRD_SIT 776 +#define ARPHRD_IPDDP 777 +#define ARPHRD_IPGRE 778 +#define ARPHRD_PIMREG 779 +#define ARPHRD_HIPPI 780 +#define ARPHRD_ASH 781 +#define ARPHRD_ECONET 782 +#define ARPHRD_IRDA 783 +#define ARPHRD_FCPP 784 +#define ARPHRD_FCAL 785 +#define ARPHRD_FCPL 786 +#define ARPHRD_FCFABRIC 787 + +#define ARPHRD_IEEE802_TR 800 +#define ARPHRD_IEEE80211 801 +#define ARPHRD_IEEE80211_PRISM 802 +#define ARPHRD_IEEE80211_RADIOTAP 803 +#define ARPHRD_IEEE802154 804 +#define ARPHRD_IEEE802154_MONITOR 805 +#define ARPHRD_PHONET 820 +#define ARPHRD_PHONET_PIPE 821 +#define ARPHRD_CAIF 822 +#define ARPHRD_IP6GRE 823 +#define ARPHRD_NETLINK 824 +#define ARPHRD_6LOWPAN 825 +#define ARPHRD_VSOCKMON 826 +#define ARPHRD_VOID 0xFFFF +#define ARPHRD_NONE 0xFFFE +#define ARPOP_REQUEST 1 +#define ARPOP_REPLY 2 +#define ARPOP_RREQUEST 3 +#define ARPOP_RREPLY 4 +#define ARPOP_InREQUEST 8 +#define ARPOP_InREPLY 9 +#define ARPOP_NAK 10 +struct arpreq { + struct sockaddr arp_pa; + struct sockaddr arp_ha; + int arp_flags; + struct sockaddr arp_netmask; + char arp_dev[IFNAMSIZ]; +}; +struct arpreq_old { + struct sockaddr arp_pa; + struct sockaddr arp_ha; + int arp_flags; + struct sockaddr arp_netmask; +}; +#define ATF_COM 0x02 +#define ATF_PERM 0x04 +#define ATF_PUBL 0x08 +#define ATF_USETRAILERS 0x10 +#define ATF_NETMASK 0x20 +#define ATF_DONTPUB 0x40 +struct arphdr { + __be16 ar_hrd; + __be16 ar_pro; + unsigned char ar_hln; + unsigned char ar_pln; + __be16 ar_op; +#if 0 + + unsigned char ar_sha[ETH_ALEN]; + unsigned char ar_sip[4]; + unsigned char ar_tha[ETH_ALEN]; + unsigned char ar_tip[4]; +#endif +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/if_bonding.h b/linux-5.10/prebuilts/usr/include/linux/if_bonding.h new file mode 100644 index 0000000..f8e9b1c --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/if_bonding.h @@ -0,0 +1,87 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _LINUX_IF_BONDING_H +#define _LINUX_IF_BONDING_H +#include +#include +#include +#define BOND_ABI_VERSION 2 +#define BOND_ENSLAVE_OLD (SIOCDEVPRIVATE) +#define BOND_RELEASE_OLD (SIOCDEVPRIVATE + 1) +#define BOND_SETHWADDR_OLD (SIOCDEVPRIVATE + 2) +#define BOND_SLAVE_INFO_QUERY_OLD (SIOCDEVPRIVATE + 11) +#define BOND_INFO_QUERY_OLD (SIOCDEVPRIVATE + 12) +#define BOND_CHANGE_ACTIVE_OLD (SIOCDEVPRIVATE + 13) +#define BOND_CHECK_MII_STATUS (SIOCGMIIPHY) +#define BOND_MODE_ROUNDROBIN 0 +#define BOND_MODE_ACTIVEBACKUP 1 +#define BOND_MODE_XOR 2 +#define BOND_MODE_BROADCAST 3 +#define BOND_MODE_8023AD 4 +#define BOND_MODE_TLB 5 +#define BOND_MODE_ALB 6 +#define BOND_LINK_UP 0 +#define BOND_LINK_FAIL 1 +#define BOND_LINK_DOWN 2 +#define BOND_LINK_BACK 3 +#define BOND_STATE_ACTIVE 0 +#define BOND_STATE_BACKUP 1 +#define BOND_DEFAULT_MAX_BONDS 1 +#define BOND_DEFAULT_TX_QUEUES 16 +#define BOND_DEFAULT_RESEND_IGMP 1 +#define BOND_XMIT_POLICY_LAYER2 0 +#define BOND_XMIT_POLICY_LAYER34 1 +#define BOND_XMIT_POLICY_LAYER23 2 +#define BOND_XMIT_POLICY_ENCAP23 3 +#define BOND_XMIT_POLICY_ENCAP34 4 +#define LACP_STATE_LACP_ACTIVITY 0x1 +#define LACP_STATE_LACP_TIMEOUT 0x2 +#define LACP_STATE_AGGREGATION 0x4 +#define LACP_STATE_SYNCHRONIZATION 0x8 +#define LACP_STATE_COLLECTING 0x10 +#define LACP_STATE_DISTRIBUTING 0x20 +#define LACP_STATE_DEFAULTED 0x40 +#define LACP_STATE_EXPIRED 0x80 +typedef struct ifbond { + __s32 bond_mode; + __s32 num_slaves; + __s32 miimon; +} ifbond; +typedef struct ifslave { + __s32 slave_id; + char slave_name[IFNAMSIZ]; + __s8 link; + __s8 state; + __u32 link_failure_count; +} ifslave; +struct ad_info { + __u16 aggregator_id; + __u16 ports; + __u16 actor_key; + __u16 partner_key; + __u8 partner_system[ETH_ALEN]; +}; +enum { + BOND_XSTATS_UNSPEC, + BOND_XSTATS_3AD, + __BOND_XSTATS_MAX +}; +#define BOND_XSTATS_MAX (__BOND_XSTATS_MAX - 1) +enum { + BOND_3AD_STAT_LACPDU_RX, + BOND_3AD_STAT_LACPDU_TX, + BOND_3AD_STAT_LACPDU_UNKNOWN_RX, + BOND_3AD_STAT_LACPDU_ILLEGAL_RX, + BOND_3AD_STAT_MARKER_RX, + BOND_3AD_STAT_MARKER_TX, + BOND_3AD_STAT_MARKER_RESP_RX, + BOND_3AD_STAT_MARKER_RESP_TX, + BOND_3AD_STAT_MARKER_UNKNOWN_RX, + BOND_3AD_STAT_PAD, + __BOND_3AD_STAT_MAX +}; +#define BOND_3AD_STAT_MAX (__BOND_3AD_STAT_MAX - 1) +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/if_bridge.h b/linux-5.10/prebuilts/usr/include/linux/if_bridge.h new file mode 100644 index 0000000..25a6608 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/if_bridge.h @@ -0,0 +1,460 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI_LINUX_IF_BRIDGE_H +#define _UAPI_LINUX_IF_BRIDGE_H +#include +#include +#include +#define SYSFS_BRIDGE_ATTR "bridge" +#define SYSFS_BRIDGE_FDB "brforward" +#define SYSFS_BRIDGE_PORT_SUBDIR "brif" +#define SYSFS_BRIDGE_PORT_ATTR "brport" +#define SYSFS_BRIDGE_PORT_LINK "bridge" +#define BRCTL_VERSION 1 +#define BRCTL_GET_VERSION 0 +#define BRCTL_GET_BRIDGES 1 +#define BRCTL_ADD_BRIDGE 2 +#define BRCTL_DEL_BRIDGE 3 +#define BRCTL_ADD_IF 4 +#define BRCTL_DEL_IF 5 +#define BRCTL_GET_BRIDGE_INFO 6 +#define BRCTL_GET_PORT_LIST 7 +#define BRCTL_SET_BRIDGE_FORWARD_DELAY 8 +#define BRCTL_SET_BRIDGE_HELLO_TIME 9 +#define BRCTL_SET_BRIDGE_MAX_AGE 10 +#define BRCTL_SET_AGEING_TIME 11 +#define BRCTL_SET_GC_INTERVAL 12 +#define BRCTL_GET_PORT_INFO 13 +#define BRCTL_SET_BRIDGE_STP_STATE 14 +#define BRCTL_SET_BRIDGE_PRIORITY 15 +#define BRCTL_SET_PORT_PRIORITY 16 +#define BRCTL_SET_PATH_COST 17 +#define BRCTL_GET_FDB_ENTRIES 18 +#define BR_STATE_DISABLED 0 +#define BR_STATE_LISTENING 1 +#define BR_STATE_LEARNING 2 +#define BR_STATE_FORWARDING 3 +#define BR_STATE_BLOCKING 4 +struct __bridge_info { + __u64 designated_root; + __u64 bridge_id; + __u32 root_path_cost; + __u32 max_age; + __u32 hello_time; + __u32 forward_delay; + __u32 bridge_max_age; + __u32 bridge_hello_time; + __u32 bridge_forward_delay; + __u8 topology_change; + __u8 topology_change_detected; + __u8 root_port; + __u8 stp_enabled; + __u32 ageing_time; + __u32 gc_interval; + __u32 hello_timer_value; + __u32 tcn_timer_value; + __u32 topology_change_timer_value; + __u32 gc_timer_value; +}; +struct __port_info { + __u64 designated_root; + __u64 designated_bridge; + __u16 port_id; + __u16 designated_port; + __u32 path_cost; + __u32 designated_cost; + __u8 state; + __u8 top_change_ack; + __u8 config_pending; + __u8 unused0; + __u32 message_age_timer_value; + __u32 forward_delay_timer_value; + __u32 hold_timer_value; +}; +struct __fdb_entry { + __u8 mac_addr[ETH_ALEN]; + __u8 port_no; + __u8 is_local; + __u32 ageing_timer_value; + __u8 port_hi; + __u8 pad0; + __u16 unused; +}; +#define BRIDGE_FLAGS_MASTER 1 +#define BRIDGE_FLAGS_SELF 2 +#define BRIDGE_MODE_VEB 0 +#define BRIDGE_MODE_VEPA 1 +#define BRIDGE_MODE_UNDEF 0xFFFF +enum { + IFLA_BRIDGE_FLAGS, + IFLA_BRIDGE_MODE, + IFLA_BRIDGE_VLAN_INFO, + IFLA_BRIDGE_VLAN_TUNNEL_INFO, + IFLA_BRIDGE_MRP, + __IFLA_BRIDGE_MAX, +}; +#define IFLA_BRIDGE_MAX (__IFLA_BRIDGE_MAX - 1) +#define BRIDGE_VLAN_INFO_MASTER (1<<0) +#define BRIDGE_VLAN_INFO_PVID (1<<1) +#define BRIDGE_VLAN_INFO_UNTAGGED (1<<2) +#define BRIDGE_VLAN_INFO_RANGE_BEGIN (1<<3) +#define BRIDGE_VLAN_INFO_RANGE_END (1<<4) +#define BRIDGE_VLAN_INFO_BRENTRY (1<<5) +#define BRIDGE_VLAN_INFO_ONLY_OPTS (1<<6) +struct bridge_vlan_info { + __u16 flags; + __u16 vid; +}; +enum { + IFLA_BRIDGE_VLAN_TUNNEL_UNSPEC, + IFLA_BRIDGE_VLAN_TUNNEL_ID, + IFLA_BRIDGE_VLAN_TUNNEL_VID, + IFLA_BRIDGE_VLAN_TUNNEL_FLAGS, + __IFLA_BRIDGE_VLAN_TUNNEL_MAX, +}; +#define IFLA_BRIDGE_VLAN_TUNNEL_MAX (__IFLA_BRIDGE_VLAN_TUNNEL_MAX - 1) +struct bridge_vlan_xstats { + __u64 rx_bytes; + __u64 rx_packets; + __u64 tx_bytes; + __u64 tx_packets; + __u16 vid; + __u16 flags; + __u32 pad2; +}; +enum { + IFLA_BRIDGE_MRP_UNSPEC, + IFLA_BRIDGE_MRP_INSTANCE, + IFLA_BRIDGE_MRP_PORT_STATE, + IFLA_BRIDGE_MRP_PORT_ROLE, + IFLA_BRIDGE_MRP_RING_STATE, + IFLA_BRIDGE_MRP_RING_ROLE, + IFLA_BRIDGE_MRP_START_TEST, + IFLA_BRIDGE_MRP_INFO, + IFLA_BRIDGE_MRP_IN_ROLE, + IFLA_BRIDGE_MRP_IN_STATE, + IFLA_BRIDGE_MRP_START_IN_TEST, + __IFLA_BRIDGE_MRP_MAX, +}; +#define IFLA_BRIDGE_MRP_MAX (__IFLA_BRIDGE_MRP_MAX - 1) +enum { + IFLA_BRIDGE_MRP_INSTANCE_UNSPEC, + IFLA_BRIDGE_MRP_INSTANCE_RING_ID, + IFLA_BRIDGE_MRP_INSTANCE_P_IFINDEX, + IFLA_BRIDGE_MRP_INSTANCE_S_IFINDEX, + IFLA_BRIDGE_MRP_INSTANCE_PRIO, + __IFLA_BRIDGE_MRP_INSTANCE_MAX, +}; +#define IFLA_BRIDGE_MRP_INSTANCE_MAX (__IFLA_BRIDGE_MRP_INSTANCE_MAX - 1) +enum { + IFLA_BRIDGE_MRP_PORT_STATE_UNSPEC, + IFLA_BRIDGE_MRP_PORT_STATE_STATE, + __IFLA_BRIDGE_MRP_PORT_STATE_MAX, +}; +#define IFLA_BRIDGE_MRP_PORT_STATE_MAX (__IFLA_BRIDGE_MRP_PORT_STATE_MAX - 1) +enum { + IFLA_BRIDGE_MRP_PORT_ROLE_UNSPEC, + IFLA_BRIDGE_MRP_PORT_ROLE_ROLE, + __IFLA_BRIDGE_MRP_PORT_ROLE_MAX, +}; +#define IFLA_BRIDGE_MRP_PORT_ROLE_MAX (__IFLA_BRIDGE_MRP_PORT_ROLE_MAX - 1) +enum { + IFLA_BRIDGE_MRP_RING_STATE_UNSPEC, + IFLA_BRIDGE_MRP_RING_STATE_RING_ID, + IFLA_BRIDGE_MRP_RING_STATE_STATE, + __IFLA_BRIDGE_MRP_RING_STATE_MAX, +}; +#define IFLA_BRIDGE_MRP_RING_STATE_MAX (__IFLA_BRIDGE_MRP_RING_STATE_MAX - 1) +enum { + IFLA_BRIDGE_MRP_RING_ROLE_UNSPEC, + IFLA_BRIDGE_MRP_RING_ROLE_RING_ID, + IFLA_BRIDGE_MRP_RING_ROLE_ROLE, + __IFLA_BRIDGE_MRP_RING_ROLE_MAX, +}; +#define IFLA_BRIDGE_MRP_RING_ROLE_MAX (__IFLA_BRIDGE_MRP_RING_ROLE_MAX - 1) +enum { + IFLA_BRIDGE_MRP_START_TEST_UNSPEC, + IFLA_BRIDGE_MRP_START_TEST_RING_ID, + IFLA_BRIDGE_MRP_START_TEST_INTERVAL, + IFLA_BRIDGE_MRP_START_TEST_MAX_MISS, + IFLA_BRIDGE_MRP_START_TEST_PERIOD, + IFLA_BRIDGE_MRP_START_TEST_MONITOR, + __IFLA_BRIDGE_MRP_START_TEST_MAX, +}; +#define IFLA_BRIDGE_MRP_START_TEST_MAX (__IFLA_BRIDGE_MRP_START_TEST_MAX - 1) +enum { + IFLA_BRIDGE_MRP_INFO_UNSPEC, + IFLA_BRIDGE_MRP_INFO_RING_ID, + IFLA_BRIDGE_MRP_INFO_P_IFINDEX, + IFLA_BRIDGE_MRP_INFO_S_IFINDEX, + IFLA_BRIDGE_MRP_INFO_PRIO, + IFLA_BRIDGE_MRP_INFO_RING_STATE, + IFLA_BRIDGE_MRP_INFO_RING_ROLE, + IFLA_BRIDGE_MRP_INFO_TEST_INTERVAL, + IFLA_BRIDGE_MRP_INFO_TEST_MAX_MISS, + IFLA_BRIDGE_MRP_INFO_TEST_MONITOR, + IFLA_BRIDGE_MRP_INFO_I_IFINDEX, + IFLA_BRIDGE_MRP_INFO_IN_STATE, + IFLA_BRIDGE_MRP_INFO_IN_ROLE, + IFLA_BRIDGE_MRP_INFO_IN_TEST_INTERVAL, + IFLA_BRIDGE_MRP_INFO_IN_TEST_MAX_MISS, + __IFLA_BRIDGE_MRP_INFO_MAX, +}; +#define IFLA_BRIDGE_MRP_INFO_MAX (__IFLA_BRIDGE_MRP_INFO_MAX - 1) +enum { + IFLA_BRIDGE_MRP_IN_STATE_UNSPEC, + IFLA_BRIDGE_MRP_IN_STATE_IN_ID, + IFLA_BRIDGE_MRP_IN_STATE_STATE, + __IFLA_BRIDGE_MRP_IN_STATE_MAX, +}; +#define IFLA_BRIDGE_MRP_IN_STATE_MAX (__IFLA_BRIDGE_MRP_IN_STATE_MAX - 1) +enum { + IFLA_BRIDGE_MRP_IN_ROLE_UNSPEC, + IFLA_BRIDGE_MRP_IN_ROLE_RING_ID, + IFLA_BRIDGE_MRP_IN_ROLE_IN_ID, + IFLA_BRIDGE_MRP_IN_ROLE_ROLE, + IFLA_BRIDGE_MRP_IN_ROLE_I_IFINDEX, + __IFLA_BRIDGE_MRP_IN_ROLE_MAX, +}; +#define IFLA_BRIDGE_MRP_IN_ROLE_MAX (__IFLA_BRIDGE_MRP_IN_ROLE_MAX - 1) +enum { + IFLA_BRIDGE_MRP_START_IN_TEST_UNSPEC, + IFLA_BRIDGE_MRP_START_IN_TEST_IN_ID, + IFLA_BRIDGE_MRP_START_IN_TEST_INTERVAL, + IFLA_BRIDGE_MRP_START_IN_TEST_MAX_MISS, + IFLA_BRIDGE_MRP_START_IN_TEST_PERIOD, + __IFLA_BRIDGE_MRP_START_IN_TEST_MAX, +}; +#define IFLA_BRIDGE_MRP_START_IN_TEST_MAX (__IFLA_BRIDGE_MRP_START_IN_TEST_MAX - 1) +struct br_mrp_instance { + __u32 ring_id; + __u32 p_ifindex; + __u32 s_ifindex; + __u16 prio; +}; +struct br_mrp_ring_state { + __u32 ring_id; + __u32 ring_state; +}; +struct br_mrp_ring_role { + __u32 ring_id; + __u32 ring_role; +}; +struct br_mrp_start_test { + __u32 ring_id; + __u32 interval; + __u32 max_miss; + __u32 period; + __u32 monitor; +}; +struct br_mrp_in_state { + __u32 in_state; + __u16 in_id; +}; +struct br_mrp_in_role { + __u32 ring_id; + __u32 in_role; + __u32 i_ifindex; + __u16 in_id; +}; +struct br_mrp_start_in_test { + __u32 interval; + __u32 max_miss; + __u32 period; + __u16 in_id; +}; +struct bridge_stp_xstats { + __u64 transition_blk; + __u64 transition_fwd; + __u64 rx_bpdu; + __u64 tx_bpdu; + __u64 rx_tcn; + __u64 tx_tcn; +}; +struct br_vlan_msg { + __u8 family; + __u8 reserved1; + __u16 reserved2; + __u32 ifindex; +}; +enum { + BRIDGE_VLANDB_DUMP_UNSPEC, + BRIDGE_VLANDB_DUMP_FLAGS, + __BRIDGE_VLANDB_DUMP_MAX, +}; +#define BRIDGE_VLANDB_DUMP_MAX (__BRIDGE_VLANDB_DUMP_MAX - 1) +#define BRIDGE_VLANDB_DUMPF_STATS (1 << 0) +enum { + BRIDGE_VLANDB_UNSPEC, + BRIDGE_VLANDB_ENTRY, + __BRIDGE_VLANDB_MAX, +}; +#define BRIDGE_VLANDB_MAX (__BRIDGE_VLANDB_MAX - 1) +enum { + BRIDGE_VLANDB_ENTRY_UNSPEC, + BRIDGE_VLANDB_ENTRY_INFO, + BRIDGE_VLANDB_ENTRY_RANGE, + BRIDGE_VLANDB_ENTRY_STATE, + BRIDGE_VLANDB_ENTRY_TUNNEL_INFO, + BRIDGE_VLANDB_ENTRY_STATS, + __BRIDGE_VLANDB_ENTRY_MAX, +}; +#define BRIDGE_VLANDB_ENTRY_MAX (__BRIDGE_VLANDB_ENTRY_MAX - 1) +enum { + BRIDGE_VLANDB_TINFO_UNSPEC, + BRIDGE_VLANDB_TINFO_ID, + BRIDGE_VLANDB_TINFO_CMD, + __BRIDGE_VLANDB_TINFO_MAX, +}; +#define BRIDGE_VLANDB_TINFO_MAX (__BRIDGE_VLANDB_TINFO_MAX - 1) +enum { + BRIDGE_VLANDB_STATS_UNSPEC, + BRIDGE_VLANDB_STATS_RX_BYTES, + BRIDGE_VLANDB_STATS_RX_PACKETS, + BRIDGE_VLANDB_STATS_TX_BYTES, + BRIDGE_VLANDB_STATS_TX_PACKETS, + BRIDGE_VLANDB_STATS_PAD, + __BRIDGE_VLANDB_STATS_MAX, +}; +#define BRIDGE_VLANDB_STATS_MAX (__BRIDGE_VLANDB_STATS_MAX - 1) +enum { + MDBA_UNSPEC, + MDBA_MDB, + MDBA_ROUTER, + __MDBA_MAX, +}; +#define MDBA_MAX (__MDBA_MAX - 1) +enum { + MDBA_MDB_UNSPEC, + MDBA_MDB_ENTRY, + __MDBA_MDB_MAX, +}; +#define MDBA_MDB_MAX (__MDBA_MDB_MAX - 1) +enum { + MDBA_MDB_ENTRY_UNSPEC, + MDBA_MDB_ENTRY_INFO, + __MDBA_MDB_ENTRY_MAX, +}; +#define MDBA_MDB_ENTRY_MAX (__MDBA_MDB_ENTRY_MAX - 1) +enum { + MDBA_MDB_EATTR_UNSPEC, + MDBA_MDB_EATTR_TIMER, + MDBA_MDB_EATTR_SRC_LIST, + MDBA_MDB_EATTR_GROUP_MODE, + MDBA_MDB_EATTR_SOURCE, + MDBA_MDB_EATTR_RTPROT, + __MDBA_MDB_EATTR_MAX +}; +#define MDBA_MDB_EATTR_MAX (__MDBA_MDB_EATTR_MAX - 1) +enum { + MDBA_MDB_SRCLIST_UNSPEC, + MDBA_MDB_SRCLIST_ENTRY, + __MDBA_MDB_SRCLIST_MAX +}; +#define MDBA_MDB_SRCLIST_MAX (__MDBA_MDB_SRCLIST_MAX - 1) +enum { + MDBA_MDB_SRCATTR_UNSPEC, + MDBA_MDB_SRCATTR_ADDRESS, + MDBA_MDB_SRCATTR_TIMER, + __MDBA_MDB_SRCATTR_MAX +}; +#define MDBA_MDB_SRCATTR_MAX (__MDBA_MDB_SRCATTR_MAX - 1) +enum { + MDB_RTR_TYPE_DISABLED, + MDB_RTR_TYPE_TEMP_QUERY, + MDB_RTR_TYPE_PERM, + MDB_RTR_TYPE_TEMP +}; +enum { + MDBA_ROUTER_UNSPEC, + MDBA_ROUTER_PORT, + __MDBA_ROUTER_MAX, +}; +#define MDBA_ROUTER_MAX (__MDBA_ROUTER_MAX - 1) +enum { + MDBA_ROUTER_PATTR_UNSPEC, + MDBA_ROUTER_PATTR_TIMER, + MDBA_ROUTER_PATTR_TYPE, + __MDBA_ROUTER_PATTR_MAX +}; +#define MDBA_ROUTER_PATTR_MAX (__MDBA_ROUTER_PATTR_MAX - 1) +struct br_port_msg { + __u8 family; + __u32 ifindex; +}; +struct br_mdb_entry { + __u32 ifindex; +#define MDB_TEMPORARY 0 +#define MDB_PERMANENT 1 + __u8 state; +#define MDB_FLAGS_OFFLOAD (1 << 0) +#define MDB_FLAGS_FAST_LEAVE (1 << 1) +#define MDB_FLAGS_STAR_EXCL (1 << 2) +#define MDB_FLAGS_BLOCKED (1 << 3) + __u8 flags; + __u16 vid; + struct { + union { + __be32 ip4; + struct in6_addr ip6; + } u; + __be16 proto; + } addr; +}; +enum { + MDBA_SET_ENTRY_UNSPEC, + MDBA_SET_ENTRY, + MDBA_SET_ENTRY_ATTRS, + __MDBA_SET_ENTRY_MAX, +}; +#define MDBA_SET_ENTRY_MAX (__MDBA_SET_ENTRY_MAX - 1) +enum { + MDBE_ATTR_UNSPEC, + MDBE_ATTR_SOURCE, + __MDBE_ATTR_MAX, +}; +#define MDBE_ATTR_MAX (__MDBE_ATTR_MAX - 1) +enum { + BRIDGE_XSTATS_UNSPEC, + BRIDGE_XSTATS_VLAN, + BRIDGE_XSTATS_MCAST, + BRIDGE_XSTATS_PAD, + BRIDGE_XSTATS_STP, + __BRIDGE_XSTATS_MAX +}; +#define BRIDGE_XSTATS_MAX (__BRIDGE_XSTATS_MAX - 1) +enum { + BR_MCAST_DIR_RX, + BR_MCAST_DIR_TX, + BR_MCAST_DIR_SIZE +}; +struct br_mcast_stats { + __u64 igmp_v1queries[BR_MCAST_DIR_SIZE]; + __u64 igmp_v2queries[BR_MCAST_DIR_SIZE]; + __u64 igmp_v3queries[BR_MCAST_DIR_SIZE]; + __u64 igmp_leaves[BR_MCAST_DIR_SIZE]; + __u64 igmp_v1reports[BR_MCAST_DIR_SIZE]; + __u64 igmp_v2reports[BR_MCAST_DIR_SIZE]; + __u64 igmp_v3reports[BR_MCAST_DIR_SIZE]; + __u64 igmp_parse_errors; + __u64 mld_v1queries[BR_MCAST_DIR_SIZE]; + __u64 mld_v2queries[BR_MCAST_DIR_SIZE]; + __u64 mld_leaves[BR_MCAST_DIR_SIZE]; + __u64 mld_v1reports[BR_MCAST_DIR_SIZE]; + __u64 mld_v2reports[BR_MCAST_DIR_SIZE]; + __u64 mld_parse_errors; + __u64 mcast_bytes[BR_MCAST_DIR_SIZE]; + __u64 mcast_packets[BR_MCAST_DIR_SIZE]; +}; +enum br_boolopt_id { + BR_BOOLOPT_NO_LL_LEARN, + BR_BOOLOPT_MAX +}; +struct br_boolopt_multi { + __u32 optval; + __u32 optmask; +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/if_cablemodem.h b/linux-5.10/prebuilts/usr/include/linux/if_cablemodem.h new file mode 100644 index 0000000..97f904e --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/if_cablemodem.h @@ -0,0 +1,14 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _LINUX_CABLEMODEM_H_ +#define _LINUX_CABLEMODEM_H_ +#define SIOCGCMSTATS (SIOCDEVPRIVATE+0) +#define SIOCGCMFIRMWARE (SIOCDEVPRIVATE+1) +#define SIOCGCMFREQUENCY (SIOCDEVPRIVATE+2) +#define SIOCSCMFREQUENCY (SIOCDEVPRIVATE+3) +#define SIOCGCMPIDS (SIOCDEVPRIVATE+4) +#define SIOCSCMPIDS (SIOCDEVPRIVATE+5) +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/if_eql.h b/linux-5.10/prebuilts/usr/include/linux/if_eql.h new file mode 100644 index 0000000..0ef0447 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/if_eql.h @@ -0,0 +1,31 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI_LINUX_IF_EQL_H +#define _UAPI_LINUX_IF_EQL_H +#define EQL_DEFAULT_SLAVE_PRIORITY 28800 +#define EQL_DEFAULT_MAX_SLAVES 4 +#define EQL_DEFAULT_MTU 576 +#define EQL_DEFAULT_RESCHED_IVAL HZ +#define EQL_ENSLAVE (SIOCDEVPRIVATE) +#define EQL_EMANCIPATE (SIOCDEVPRIVATE + 1) +#define EQL_GETSLAVECFG (SIOCDEVPRIVATE + 2) +#define EQL_SETSLAVECFG (SIOCDEVPRIVATE + 3) +#define EQL_GETMASTRCFG (SIOCDEVPRIVATE + 4) +#define EQL_SETMASTRCFG (SIOCDEVPRIVATE + 5) +typedef struct master_config { + char master_name[16]; + int max_slaves; + int min_slaves; +} master_config_t; +typedef struct slave_config { + char slave_name[16]; + long priority; +} slave_config_t; +typedef struct slaving_request { + char slave_name[16]; + long priority; +} slaving_request_t; +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/if_ether.h b/linux-5.10/prebuilts/usr/include/linux/if_ether.h new file mode 100644 index 0000000..28a6152 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/if_ether.h @@ -0,0 +1,122 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI_LINUX_IF_ETHER_H +#define _UAPI_LINUX_IF_ETHER_H +#include +#define ETH_ALEN 6 +#define ETH_TLEN 2 +#define ETH_HLEN 14 +#define ETH_ZLEN 60 +#define ETH_DATA_LEN 1500 +#define ETH_FRAME_LEN 1514 +#define ETH_FCS_LEN 4 +#define ETH_MIN_MTU 68 +#define ETH_MAX_MTU 0xFFFFU +#define ETH_P_LOOP 0x0060 +#define ETH_P_PUP 0x0200 +#define ETH_P_PUPAT 0x0201 +#define ETH_P_TSN 0x22F0 +#define ETH_P_ERSPAN2 0x22EB +#define ETH_P_IP 0x0800 +#define ETH_P_X25 0x0805 +#define ETH_P_ARP 0x0806 +#define ETH_P_BPQ 0x08FF +#define ETH_P_IEEEPUP 0x0a00 +#define ETH_P_IEEEPUPAT 0x0a01 +#define ETH_P_BATMAN 0x4305 +#define ETH_P_DEC 0x6000 +#define ETH_P_DNA_DL 0x6001 +#define ETH_P_DNA_RC 0x6002 +#define ETH_P_DNA_RT 0x6003 +#define ETH_P_LAT 0x6004 +#define ETH_P_DIAG 0x6005 +#define ETH_P_CUST 0x6006 +#define ETH_P_SCA 0x6007 +#define ETH_P_TEB 0x6558 +#define ETH_P_RARP 0x8035 +#define ETH_P_ATALK 0x809B +#define ETH_P_AARP 0x80F3 +#define ETH_P_8021Q 0x8100 +#define ETH_P_ERSPAN 0x88BE +#define ETH_P_IPX 0x8137 +#define ETH_P_IPV6 0x86DD +#define ETH_P_PAUSE 0x8808 +#define ETH_P_SLOW 0x8809 +#define ETH_P_WCCP 0x883E +#define ETH_P_MPLS_UC 0x8847 +#define ETH_P_MPLS_MC 0x8848 +#define ETH_P_ATMMPOA 0x884c +#define ETH_P_PPP_DISC 0x8863 +#define ETH_P_PPP_SES 0x8864 +#define ETH_P_LINK_CTL 0x886c +#define ETH_P_ATMFATE 0x8884 +#define ETH_P_PAE 0x888E +#define ETH_P_AOE 0x88A2 +#define ETH_P_8021AD 0x88A8 +#define ETH_P_802_EX1 0x88B5 +#define ETH_P_PREAUTH 0x88C7 +#define ETH_P_TIPC 0x88CA +#define ETH_P_LLDP 0x88CC +#define ETH_P_MRP 0x88E3 +#define ETH_P_MACSEC 0x88E5 +#define ETH_P_8021AH 0x88E7 +#define ETH_P_MVRP 0x88F5 +#define ETH_P_1588 0x88F7 +#define ETH_P_NCSI 0x88F8 +#define ETH_P_PRP 0x88FB +#define ETH_P_FCOE 0x8906 +#define ETH_P_IBOE 0x8915 +#define ETH_P_TDLS 0x890D +#define ETH_P_FIP 0x8914 +#define ETH_P_80221 0x8917 +#define ETH_P_HSR 0x892F +#define ETH_P_NSH 0x894F +#define ETH_P_LOOPBACK 0x9000 +#define ETH_P_QINQ1 0x9100 +#define ETH_P_QINQ2 0x9200 +#define ETH_P_QINQ3 0x9300 +#define ETH_P_EDSA 0xDADA +#define ETH_P_DSA_8021Q 0xDADB +#define ETH_P_IFE 0xED3E +#define ETH_P_AF_IUCV 0xFBFB +#define ETH_P_802_3_MIN 0x0600 +#define ETH_P_802_3 0x0001 +#define ETH_P_AX25 0x0002 +#define ETH_P_ALL 0x0003 +#define ETH_P_802_2 0x0004 +#define ETH_P_SNAP 0x0005 +#define ETH_P_DDCMP 0x0006 +#define ETH_P_WAN_PPP 0x0007 +#define ETH_P_PPP_MP 0x0008 +#define ETH_P_LOCALTALK 0x0009 +#define ETH_P_CAN 0x000C +#define ETH_P_CANFD 0x000D +#define ETH_P_PPPTALK 0x0010 +#define ETH_P_TR_802_2 0x0011 +#define ETH_P_MOBITEX 0x0015 +#define ETH_P_CONTROL 0x0016 +#define ETH_P_IRDA 0x0017 +#define ETH_P_ECONET 0x0018 +#define ETH_P_HDLC 0x0019 +#define ETH_P_ARCNET 0x001A +#define ETH_P_DSA 0x001B +#define ETH_P_TRAILER 0x001C +#define ETH_P_PHONET 0x00F5 +#define ETH_P_IEEE802154 0x00F6 +#define ETH_P_CAIF 0x00F7 +#define ETH_P_XDSA 0x00F8 +#define ETH_P_MAP 0x00F9 +#ifndef __UAPI_DEF_ETHHDR +#define __UAPI_DEF_ETHHDR 1 +#endif +#if __UAPI_DEF_ETHHDR +struct ethhdr { + unsigned char h_dest[ETH_ALEN]; + unsigned char h_source[ETH_ALEN]; + __be16 h_proto; +} __attribute__((packed)); +#endif +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/if_fc.h b/linux-5.10/prebuilts/usr/include/linux/if_fc.h new file mode 100644 index 0000000..5cbebb9 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/if_fc.h @@ -0,0 +1,25 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _LINUX_IF_FC_H +#define _LINUX_IF_FC_H +#include +#define FC_ALEN 6 +#define FC_HLEN (sizeof(struct fch_hdr)+sizeof(struct fcllc)) +#define FC_ID_LEN 3 +#define EXTENDED_SAP 0xAA +#define UI_CMD 0x03 +struct fch_hdr { + __u8 daddr[FC_ALEN]; + __u8 saddr[FC_ALEN]; +}; +struct fcllc { + __u8 dsap; + __u8 ssap; + __u8 llc; + __u8 protid[3]; + __be16 ethertype; +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/if_fddi.h b/linux-5.10/prebuilts/usr/include/linux/if_fddi.h new file mode 100644 index 0000000..81d9a29 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/if_fddi.h @@ -0,0 +1,77 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI_LINUX_IF_FDDI_H +#define _UAPI_LINUX_IF_FDDI_H +#include +#define FDDI_K_ALEN 6 +#define FDDI_K_8022_HLEN 16 +#define FDDI_K_SNAP_HLEN 21 +#define FDDI_K_8022_ZLEN 16 +#define FDDI_K_SNAP_ZLEN 21 +#define FDDI_K_8022_DLEN 4475 +#define FDDI_K_SNAP_DLEN 4470 +#define FDDI_K_LLC_ZLEN 13 +#define FDDI_K_LLC_LEN 4491 +#define FDDI_K_OUI_LEN 3 +#define FDDI_FC_K_CLASS_MASK 0x80 +#define FDDI_FC_K_CLASS_SYNC 0x80 +#define FDDI_FC_K_CLASS_ASYNC 0x00 +#define FDDI_FC_K_ALEN_MASK 0x40 +#define FDDI_FC_K_ALEN_48 0x40 +#define FDDI_FC_K_ALEN_16 0x00 +#define FDDI_FC_K_FORMAT_MASK 0x30 +#define FDDI_FC_K_FORMAT_FUTURE 0x30 +#define FDDI_FC_K_FORMAT_IMPLEMENTOR 0x20 +#define FDDI_FC_K_FORMAT_LLC 0x10 +#define FDDI_FC_K_FORMAT_MANAGEMENT 0x00 +#define FDDI_FC_K_CONTROL_MASK 0x0f +#define FDDI_FC_K_VOID 0x00 +#define FDDI_FC_K_NON_RESTRICTED_TOKEN 0x80 +#define FDDI_FC_K_RESTRICTED_TOKEN 0xC0 +#define FDDI_FC_K_SMT_MIN 0x41 +#define FDDI_FC_K_SMT_MAX 0x4F +#define FDDI_FC_K_MAC_MIN 0xC1 +#define FDDI_FC_K_MAC_MAX 0xCF +#define FDDI_FC_K_ASYNC_LLC_MIN 0x50 +#define FDDI_FC_K_ASYNC_LLC_DEF 0x54 +#define FDDI_FC_K_ASYNC_LLC_MAX 0x5F +#define FDDI_FC_K_SYNC_LLC_MIN 0xD0 +#define FDDI_FC_K_SYNC_LLC_MAX 0xD7 +#define FDDI_FC_K_IMPLEMENTOR_MIN 0x60 +#define FDDI_FC_K_IMPLEMENTOR_MAX 0x6F +#define FDDI_FC_K_RESERVED_MIN 0x70 +#define FDDI_FC_K_RESERVED_MAX 0x7F +#define FDDI_EXTENDED_SAP 0xAA +#define FDDI_UI_CMD 0x03 +struct fddi_8022_1_hdr { + __u8 dsap; + __u8 ssap; + __u8 ctrl; +} __attribute__((packed)); +struct fddi_8022_2_hdr { + __u8 dsap; + __u8 ssap; + __u8 ctrl_1; + __u8 ctrl_2; +} __attribute__((packed)); +struct fddi_snap_hdr { + __u8 dsap; + __u8 ssap; + __u8 ctrl; + __u8 oui[FDDI_K_OUI_LEN]; + __be16 ethertype; +} __attribute__((packed)); +struct fddihdr { + __u8 fc; + __u8 daddr[FDDI_K_ALEN]; + __u8 saddr[FDDI_K_ALEN]; + union { + struct fddi_8022_1_hdr llc_8022_1; + struct fddi_8022_2_hdr llc_8022_2; + struct fddi_snap_hdr llc_snap; + } hdr; +} __attribute__((packed)); +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/if_frad.h b/linux-5.10/prebuilts/usr/include/linux/if_frad.h new file mode 100644 index 0000000..85ed80d --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/if_frad.h @@ -0,0 +1,68 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI_FRAD_H_ +#define _UAPI_FRAD_H_ +#include +struct dlci_add +{ + char devname[IFNAMSIZ]; + short dlci; +}; +#define DLCI_GET_CONF (SIOCDEVPRIVATE + 2) +#define DLCI_SET_CONF (SIOCDEVPRIVATE + 3) +struct dlci_conf { + short flags; + short CIR_fwd; + short Bc_fwd; + short Be_fwd; + short CIR_bwd; + short Bc_bwd; + short Be_bwd; + short Tc_fwd; + short Tc_bwd; + short Tf_max; + short Tb_max; +}; +#define DLCI_GET_SLAVE (SIOCDEVPRIVATE + 4) +#define DLCI_IGNORE_CIR_OUT 0x0001 +#define DLCI_ACCOUNT_CIR_IN 0x0002 +#define DLCI_BUFFER_IF 0x0008 +#define DLCI_VALID_FLAGS 0x000B +#define FRAD_GET_CONF (SIOCDEVPRIVATE) +#define FRAD_SET_CONF (SIOCDEVPRIVATE + 1) +#define FRAD_LAST_IOCTL FRAD_SET_CONF +struct frad_conf +{ + short station; + short flags; + short kbaud; + short clocking; + short mtu; + short T391; + short T392; + short N391; + short N392; + short N393; + short CIR_fwd; + short Bc_fwd; + short Be_fwd; + short CIR_bwd; + short Bc_bwd; + short Be_bwd; +}; +#define FRAD_STATION_CPE 0x0000 +#define FRAD_STATION_NODE 0x0001 +#define FRAD_TX_IGNORE_CIR 0x0001 +#define FRAD_RX_ACCOUNT_CIR 0x0002 +#define FRAD_DROP_ABORTED 0x0004 +#define FRAD_BUFFERIF 0x0008 +#define FRAD_STATS 0x0010 +#define FRAD_MCI 0x0100 +#define FRAD_AUTODLCI 0x8000 +#define FRAD_VALID_FLAGS 0x811F +#define FRAD_CLOCK_INT 0x0001 +#define FRAD_CLOCK_EXT 0x0000 +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/if_hippi.h b/linux-5.10/prebuilts/usr/include/linux/if_hippi.h new file mode 100644 index 0000000..28e2360 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/if_hippi.h @@ -0,0 +1,107 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ + +#ifndef _LINUX_IF_HIPPI_H +#define _LINUX_IF_HIPPI_H +#include +#include +#define HIPPI_ALEN 6 +#define HIPPI_HLEN sizeof(struct hippi_hdr) +#define HIPPI_ZLEN 0 +#define HIPPI_DATA_LEN 65280 +#define HIPPI_FRAME_LEN (HIPPI_DATA_LEN + HIPPI_HLEN) + +#define HIPPI_EXTENDED_SAP 0xAA +#define HIPPI_UI_CMD 0x03 + +struct hipnet_statistics { + int rx_packets; + int tx_packets; + int rx_errors; + int tx_errors; + int rx_dropped; + int tx_dropped; + + int rx_length_errors; + int rx_over_errors; + int rx_crc_errors; + int rx_frame_errors; + int rx_fifo_errors; + int rx_missed_errors; + + int tx_aborted_errors; + int tx_carrier_errors; + int tx_fifo_errors; + int tx_heartbeat_errors; + int tx_window_errors; +}; +struct hippi_fp_hdr { +#if 0 + __u8 ulp; +#if defined (__BIG_ENDIAN_BITFIELD) + __u8 d1_data_present:1; + __u8 start_d2_burst_boundary:1; + __u8 reserved:6; +#if 0 + __u16 reserved1:5; + __u16 d1_area_size:8; + __u16 d2_offset:3; +#endif +#elif defined(__LITTLE_ENDIAN_BITFIELD) + __u8 reserved:6; + __u8 start_d2_burst_boundary:1; + __u8 d1_data_present:1; +#if 0 + __u16 d2_offset:3; + __u16 d1_area_size:8; + __u16 reserved1:5; +#endif +#else +#error "Please fix " +#endif +#else + __be32 fixed; +#endif + __be32 d2_size; +} __attribute__((packed)); +struct hippi_le_hdr { +#if defined (__BIG_ENDIAN_BITFIELD) + __u8 fc:3; + __u8 double_wide:1; + __u8 message_type:4; +#elif defined(__LITTLE_ENDIAN_BITFIELD) + __u8 message_type:4; + __u8 double_wide:1; + __u8 fc:3; +#endif + __u8 dest_switch_addr[3]; +#if defined (__BIG_ENDIAN_BITFIELD) + __u8 dest_addr_type:4, + src_addr_type:4; +#elif defined(__LITTLE_ENDIAN_BITFIELD) + __u8 src_addr_type:4, + dest_addr_type:4; +#endif + __u8 src_switch_addr[3]; + __u16 reserved; + __u8 daddr[HIPPI_ALEN]; + __u16 locally_administered; + __u8 saddr[HIPPI_ALEN]; +} __attribute__((packed)); +#define HIPPI_OUI_LEN 3 +struct hippi_snap_hdr { + __u8 dsap; + __u8 ssap; + __u8 ctrl; + __u8 oui[HIPPI_OUI_LEN]; + __be16 ethertype; +} __attribute__((packed)); +struct hippi_hdr { + struct hippi_fp_hdr fp; + struct hippi_le_hdr le; + struct hippi_snap_hdr snap; +} __attribute__((packed)); +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/if_infiniband.h b/linux-5.10/prebuilts/usr/include/linux/if_infiniband.h new file mode 100644 index 0000000..1f639f3 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/if_infiniband.h @@ -0,0 +1,9 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _LINUX_IF_INFINIBAND_H +#define _LINUX_IF_INFINIBAND_H +#define INFINIBAND_ALEN 20 +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/if_link.h b/linux-5.10/prebuilts/usr/include/linux/if_link.h new file mode 100644 index 0000000..d8fbe63 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/if_link.h @@ -0,0 +1,844 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI_LINUX_IF_LINK_H +#define _UAPI_LINUX_IF_LINK_H +#include +#include +struct rtnl_link_stats { + __u32 rx_packets; + __u32 tx_packets; + __u32 rx_bytes; + __u32 tx_bytes; + __u32 rx_errors; + __u32 tx_errors; + __u32 rx_dropped; + __u32 tx_dropped; + __u32 multicast; + __u32 collisions; + + __u32 rx_length_errors; + __u32 rx_over_errors; + __u32 rx_crc_errors; + __u32 rx_frame_errors; + __u32 rx_fifo_errors; + __u32 rx_missed_errors; + + __u32 tx_aborted_errors; + __u32 tx_carrier_errors; + __u32 tx_fifo_errors; + __u32 tx_heartbeat_errors; + __u32 tx_window_errors; + + __u32 rx_compressed; + __u32 tx_compressed; + __u32 rx_nohandler; +}; +struct rtnl_link_stats64 { + __u64 rx_packets; + __u64 tx_packets; + __u64 rx_bytes; + __u64 tx_bytes; + __u64 rx_errors; + __u64 tx_errors; + __u64 rx_dropped; + __u64 tx_dropped; + __u64 multicast; + __u64 collisions; + + __u64 rx_length_errors; + __u64 rx_over_errors; + __u64 rx_crc_errors; + __u64 rx_frame_errors; + __u64 rx_fifo_errors; + __u64 rx_missed_errors; + + __u64 tx_aborted_errors; + __u64 tx_carrier_errors; + __u64 tx_fifo_errors; + __u64 tx_heartbeat_errors; + __u64 tx_window_errors; + + __u64 rx_compressed; + __u64 tx_compressed; + __u64 rx_nohandler; +}; +struct rtnl_link_ifmap { + __u64 mem_start; + __u64 mem_end; + __u64 base_addr; + __u16 irq; + __u8 dma; + __u8 port; +}; +enum { + IFLA_UNSPEC, + IFLA_ADDRESS, + IFLA_BROADCAST, + IFLA_IFNAME, + IFLA_MTU, + IFLA_LINK, + IFLA_QDISC, + IFLA_STATS, + IFLA_COST, +#define IFLA_COST IFLA_COST + IFLA_PRIORITY, +#define IFLA_PRIORITY IFLA_PRIORITY + IFLA_MASTER, +#define IFLA_MASTER IFLA_MASTER + IFLA_WIRELESS, +#define IFLA_WIRELESS IFLA_WIRELESS + IFLA_PROTINFO, +#define IFLA_PROTINFO IFLA_PROTINFO + IFLA_TXQLEN, +#define IFLA_TXQLEN IFLA_TXQLEN + IFLA_MAP, +#define IFLA_MAP IFLA_MAP + IFLA_WEIGHT, +#define IFLA_WEIGHT IFLA_WEIGHT + IFLA_OPERSTATE, + IFLA_LINKMODE, + IFLA_LINKINFO, +#define IFLA_LINKINFO IFLA_LINKINFO + IFLA_NET_NS_PID, + IFLA_IFALIAS, + IFLA_NUM_VF, + IFLA_VFINFO_LIST, + IFLA_STATS64, + IFLA_VF_PORTS, + IFLA_PORT_SELF, + IFLA_AF_SPEC, + IFLA_GROUP, + IFLA_NET_NS_FD, + IFLA_EXT_MASK, + IFLA_PROMISCUITY, +#define IFLA_PROMISCUITY IFLA_PROMISCUITY + IFLA_NUM_TX_QUEUES, + IFLA_NUM_RX_QUEUES, + IFLA_CARRIER, + IFLA_PHYS_PORT_ID, + IFLA_CARRIER_CHANGES, + IFLA_PHYS_SWITCH_ID, + IFLA_LINK_NETNSID, + IFLA_PHYS_PORT_NAME, + IFLA_PROTO_DOWN, + IFLA_GSO_MAX_SEGS, + IFLA_GSO_MAX_SIZE, + IFLA_PAD, + IFLA_XDP, + IFLA_EVENT, + IFLA_NEW_NETNSID, + IFLA_IF_NETNSID, + IFLA_TARGET_NETNSID = IFLA_IF_NETNSID, + IFLA_CARRIER_UP_COUNT, + IFLA_CARRIER_DOWN_COUNT, + IFLA_NEW_IFINDEX, + IFLA_MIN_MTU, + IFLA_MAX_MTU, + IFLA_PROP_LIST, + IFLA_ALT_IFNAME, + IFLA_PERM_ADDRESS, + IFLA_PROTO_DOWN_REASON, + __IFLA_MAX +}; +#define IFLA_MAX (__IFLA_MAX - 1) +enum { + IFLA_PROTO_DOWN_REASON_UNSPEC, + IFLA_PROTO_DOWN_REASON_MASK, + IFLA_PROTO_DOWN_REASON_VALUE, + __IFLA_PROTO_DOWN_REASON_CNT, + IFLA_PROTO_DOWN_REASON_MAX = __IFLA_PROTO_DOWN_REASON_CNT - 1 +}; +#ifndef __KERNEL__ +#define IFLA_RTA(r) ((struct rtattr*)(((char*)(r)) + NLMSG_ALIGN(sizeof(struct ifinfomsg)))) +#define IFLA_PAYLOAD(n) NLMSG_PAYLOAD(n,sizeof(struct ifinfomsg)) +#endif +enum { + IFLA_INET_UNSPEC, + IFLA_INET_CONF, + __IFLA_INET_MAX, +}; +#define IFLA_INET_MAX (__IFLA_INET_MAX - 1) +enum { + IFLA_INET6_UNSPEC, + IFLA_INET6_FLAGS, + IFLA_INET6_CONF, + IFLA_INET6_STATS, + IFLA_INET6_MCAST, + IFLA_INET6_CACHEINFO, + IFLA_INET6_ICMP6STATS, + IFLA_INET6_TOKEN, + IFLA_INET6_ADDR_GEN_MODE, + __IFLA_INET6_MAX +}; +#define IFLA_INET6_MAX (__IFLA_INET6_MAX - 1) +enum in6_addr_gen_mode { + IN6_ADDR_GEN_MODE_EUI64, + IN6_ADDR_GEN_MODE_NONE, + IN6_ADDR_GEN_MODE_STABLE_PRIVACY, + IN6_ADDR_GEN_MODE_RANDOM, +}; +enum { + IFLA_BR_UNSPEC, + IFLA_BR_FORWARD_DELAY, + IFLA_BR_HELLO_TIME, + IFLA_BR_MAX_AGE, + IFLA_BR_AGEING_TIME, + IFLA_BR_STP_STATE, + IFLA_BR_PRIORITY, + IFLA_BR_VLAN_FILTERING, + IFLA_BR_VLAN_PROTOCOL, + IFLA_BR_GROUP_FWD_MASK, + IFLA_BR_ROOT_ID, + IFLA_BR_BRIDGE_ID, + IFLA_BR_ROOT_PORT, + IFLA_BR_ROOT_PATH_COST, + IFLA_BR_TOPOLOGY_CHANGE, + IFLA_BR_TOPOLOGY_CHANGE_DETECTED, + IFLA_BR_HELLO_TIMER, + IFLA_BR_TCN_TIMER, + IFLA_BR_TOPOLOGY_CHANGE_TIMER, + IFLA_BR_GC_TIMER, + IFLA_BR_GROUP_ADDR, + IFLA_BR_FDB_FLUSH, + IFLA_BR_MCAST_ROUTER, + IFLA_BR_MCAST_SNOOPING, + IFLA_BR_MCAST_QUERY_USE_IFADDR, + IFLA_BR_MCAST_QUERIER, + IFLA_BR_MCAST_HASH_ELASTICITY, + IFLA_BR_MCAST_HASH_MAX, + IFLA_BR_MCAST_LAST_MEMBER_CNT, + IFLA_BR_MCAST_STARTUP_QUERY_CNT, + IFLA_BR_MCAST_LAST_MEMBER_INTVL, + IFLA_BR_MCAST_MEMBERSHIP_INTVL, + IFLA_BR_MCAST_QUERIER_INTVL, + IFLA_BR_MCAST_QUERY_INTVL, + IFLA_BR_MCAST_QUERY_RESPONSE_INTVL, + IFLA_BR_MCAST_STARTUP_QUERY_INTVL, + IFLA_BR_NF_CALL_IPTABLES, + IFLA_BR_NF_CALL_IP6TABLES, + IFLA_BR_NF_CALL_ARPTABLES, + IFLA_BR_VLAN_DEFAULT_PVID, + IFLA_BR_PAD, + IFLA_BR_VLAN_STATS_ENABLED, + IFLA_BR_MCAST_STATS_ENABLED, + IFLA_BR_MCAST_IGMP_VERSION, + IFLA_BR_MCAST_MLD_VERSION, + IFLA_BR_VLAN_STATS_PER_PORT, + IFLA_BR_MULTI_BOOLOPT, + __IFLA_BR_MAX, +}; +#define IFLA_BR_MAX (__IFLA_BR_MAX - 1) +struct ifla_bridge_id { + __u8 prio[2]; + __u8 addr[6]; +}; +enum { + BRIDGE_MODE_UNSPEC, + BRIDGE_MODE_HAIRPIN, +}; +enum { + IFLA_BRPORT_UNSPEC, + IFLA_BRPORT_STATE, + IFLA_BRPORT_PRIORITY, + IFLA_BRPORT_COST, + IFLA_BRPORT_MODE, + IFLA_BRPORT_GUARD, + IFLA_BRPORT_PROTECT, + IFLA_BRPORT_FAST_LEAVE, + IFLA_BRPORT_LEARNING, + IFLA_BRPORT_UNICAST_FLOOD, + IFLA_BRPORT_PROXYARP, + IFLA_BRPORT_LEARNING_SYNC, + IFLA_BRPORT_PROXYARP_WIFI, + IFLA_BRPORT_ROOT_ID, + IFLA_BRPORT_BRIDGE_ID, + IFLA_BRPORT_DESIGNATED_PORT, + IFLA_BRPORT_DESIGNATED_COST, + IFLA_BRPORT_ID, + IFLA_BRPORT_NO, + IFLA_BRPORT_TOPOLOGY_CHANGE_ACK, + IFLA_BRPORT_CONFIG_PENDING, + IFLA_BRPORT_MESSAGE_AGE_TIMER, + IFLA_BRPORT_FORWARD_DELAY_TIMER, + IFLA_BRPORT_HOLD_TIMER, + IFLA_BRPORT_FLUSH, + IFLA_BRPORT_MULTICAST_ROUTER, + IFLA_BRPORT_PAD, + IFLA_BRPORT_MCAST_FLOOD, + IFLA_BRPORT_MCAST_TO_UCAST, + IFLA_BRPORT_VLAN_TUNNEL, + IFLA_BRPORT_BCAST_FLOOD, + IFLA_BRPORT_GROUP_FWD_MASK, + IFLA_BRPORT_NEIGH_SUPPRESS, + IFLA_BRPORT_ISOLATED, + IFLA_BRPORT_BACKUP_PORT, + IFLA_BRPORT_MRP_RING_OPEN, + IFLA_BRPORT_MRP_IN_OPEN, + __IFLA_BRPORT_MAX +}; +#define IFLA_BRPORT_MAX (__IFLA_BRPORT_MAX - 1) +struct ifla_cacheinfo { + __u32 max_reasm_len; + __u32 tstamp; + __u32 reachable_time; + __u32 retrans_time; +}; +enum { + IFLA_INFO_UNSPEC, + IFLA_INFO_KIND, + IFLA_INFO_DATA, + IFLA_INFO_XSTATS, + IFLA_INFO_SLAVE_KIND, + IFLA_INFO_SLAVE_DATA, + __IFLA_INFO_MAX, +}; +#define IFLA_INFO_MAX (__IFLA_INFO_MAX - 1) +enum { + IFLA_VLAN_UNSPEC, + IFLA_VLAN_ID, + IFLA_VLAN_FLAGS, + IFLA_VLAN_EGRESS_QOS, + IFLA_VLAN_INGRESS_QOS, + IFLA_VLAN_PROTOCOL, + __IFLA_VLAN_MAX, +}; +#define IFLA_VLAN_MAX (__IFLA_VLAN_MAX - 1) +struct ifla_vlan_flags { + __u32 flags; + __u32 mask; +}; +enum { + IFLA_VLAN_QOS_UNSPEC, + IFLA_VLAN_QOS_MAPPING, + __IFLA_VLAN_QOS_MAX +}; +#define IFLA_VLAN_QOS_MAX (__IFLA_VLAN_QOS_MAX - 1) +struct ifla_vlan_qos_mapping { + __u32 from; + __u32 to; +}; +enum { + IFLA_MACVLAN_UNSPEC, + IFLA_MACVLAN_MODE, + IFLA_MACVLAN_FLAGS, + IFLA_MACVLAN_MACADDR_MODE, + IFLA_MACVLAN_MACADDR, + IFLA_MACVLAN_MACADDR_DATA, + IFLA_MACVLAN_MACADDR_COUNT, + __IFLA_MACVLAN_MAX, +}; +#define IFLA_MACVLAN_MAX (__IFLA_MACVLAN_MAX - 1) +enum macvlan_mode { + MACVLAN_MODE_PRIVATE = 1, + MACVLAN_MODE_VEPA = 2, + MACVLAN_MODE_BRIDGE = 4, + MACVLAN_MODE_PASSTHRU = 8, + MACVLAN_MODE_SOURCE = 16, +}; +enum macvlan_macaddr_mode { + MACVLAN_MACADDR_ADD, + MACVLAN_MACADDR_DEL, + MACVLAN_MACADDR_FLUSH, + MACVLAN_MACADDR_SET, +}; +#define MACVLAN_FLAG_NOPROMISC 1 +enum { + IFLA_VRF_UNSPEC, + IFLA_VRF_TABLE, + __IFLA_VRF_MAX +}; +#define IFLA_VRF_MAX (__IFLA_VRF_MAX - 1) +enum { + IFLA_VRF_PORT_UNSPEC, + IFLA_VRF_PORT_TABLE, + __IFLA_VRF_PORT_MAX +}; +#define IFLA_VRF_PORT_MAX (__IFLA_VRF_PORT_MAX - 1) +enum { + IFLA_MACSEC_UNSPEC, + IFLA_MACSEC_SCI, + IFLA_MACSEC_PORT, + IFLA_MACSEC_ICV_LEN, + IFLA_MACSEC_CIPHER_SUITE, + IFLA_MACSEC_WINDOW, + IFLA_MACSEC_ENCODING_SA, + IFLA_MACSEC_ENCRYPT, + IFLA_MACSEC_PROTECT, + IFLA_MACSEC_INC_SCI, + IFLA_MACSEC_ES, + IFLA_MACSEC_SCB, + IFLA_MACSEC_REPLAY_PROTECT, + IFLA_MACSEC_VALIDATION, + IFLA_MACSEC_PAD, + IFLA_MACSEC_OFFLOAD, + __IFLA_MACSEC_MAX, +}; +#define IFLA_MACSEC_MAX (__IFLA_MACSEC_MAX - 1) +enum { + IFLA_XFRM_UNSPEC, + IFLA_XFRM_LINK, + IFLA_XFRM_IF_ID, + __IFLA_XFRM_MAX +}; +#define IFLA_XFRM_MAX (__IFLA_XFRM_MAX - 1) +enum macsec_validation_type { + MACSEC_VALIDATE_DISABLED = 0, + MACSEC_VALIDATE_CHECK = 1, + MACSEC_VALIDATE_STRICT = 2, + __MACSEC_VALIDATE_END, + MACSEC_VALIDATE_MAX = __MACSEC_VALIDATE_END - 1, +}; +enum macsec_offload { + MACSEC_OFFLOAD_OFF = 0, + MACSEC_OFFLOAD_PHY = 1, + MACSEC_OFFLOAD_MAC = 2, + __MACSEC_OFFLOAD_END, + MACSEC_OFFLOAD_MAX = __MACSEC_OFFLOAD_END - 1, +}; +enum { + IFLA_IPVLAN_UNSPEC, + IFLA_IPVLAN_MODE, + IFLA_IPVLAN_FLAGS, + __IFLA_IPVLAN_MAX +}; +#define IFLA_IPVLAN_MAX (__IFLA_IPVLAN_MAX - 1) +enum ipvlan_mode { + IPVLAN_MODE_L2 = 0, + IPVLAN_MODE_L3, + IPVLAN_MODE_L3S, + IPVLAN_MODE_MAX +}; +#define IPVLAN_F_PRIVATE 0x01 +#define IPVLAN_F_VEPA 0x02 +enum { + IFLA_VXLAN_UNSPEC, + IFLA_VXLAN_ID, + IFLA_VXLAN_GROUP, + IFLA_VXLAN_LINK, + IFLA_VXLAN_LOCAL, + IFLA_VXLAN_TTL, + IFLA_VXLAN_TOS, + IFLA_VXLAN_LEARNING, + IFLA_VXLAN_AGEING, + IFLA_VXLAN_LIMIT, + IFLA_VXLAN_PORT_RANGE, + IFLA_VXLAN_PROXY, + IFLA_VXLAN_RSC, + IFLA_VXLAN_L2MISS, + IFLA_VXLAN_L3MISS, + IFLA_VXLAN_PORT, + IFLA_VXLAN_GROUP6, + IFLA_VXLAN_LOCAL6, + IFLA_VXLAN_UDP_CSUM, + IFLA_VXLAN_UDP_ZERO_CSUM6_TX, + IFLA_VXLAN_UDP_ZERO_CSUM6_RX, + IFLA_VXLAN_REMCSUM_TX, + IFLA_VXLAN_REMCSUM_RX, + IFLA_VXLAN_GBP, + IFLA_VXLAN_REMCSUM_NOPARTIAL, + IFLA_VXLAN_COLLECT_METADATA, + IFLA_VXLAN_LABEL, + IFLA_VXLAN_GPE, + IFLA_VXLAN_TTL_INHERIT, + IFLA_VXLAN_DF, + __IFLA_VXLAN_MAX +}; +#define IFLA_VXLAN_MAX (__IFLA_VXLAN_MAX - 1) +struct ifla_vxlan_port_range { + __be16 low; + __be16 high; +}; +enum ifla_vxlan_df { + VXLAN_DF_UNSET = 0, + VXLAN_DF_SET, + VXLAN_DF_INHERIT, + __VXLAN_DF_END, + VXLAN_DF_MAX = __VXLAN_DF_END - 1, +}; +enum { + IFLA_GENEVE_UNSPEC, + IFLA_GENEVE_ID, + IFLA_GENEVE_REMOTE, + IFLA_GENEVE_TTL, + IFLA_GENEVE_TOS, + IFLA_GENEVE_PORT, + IFLA_GENEVE_COLLECT_METADATA, + IFLA_GENEVE_REMOTE6, + IFLA_GENEVE_UDP_CSUM, + IFLA_GENEVE_UDP_ZERO_CSUM6_TX, + IFLA_GENEVE_UDP_ZERO_CSUM6_RX, + IFLA_GENEVE_LABEL, + IFLA_GENEVE_TTL_INHERIT, + IFLA_GENEVE_DF, + __IFLA_GENEVE_MAX +}; +#define IFLA_GENEVE_MAX (__IFLA_GENEVE_MAX - 1) +enum ifla_geneve_df { + GENEVE_DF_UNSET = 0, + GENEVE_DF_SET, + GENEVE_DF_INHERIT, + __GENEVE_DF_END, + GENEVE_DF_MAX = __GENEVE_DF_END - 1, +}; +enum { + IFLA_BAREUDP_UNSPEC, + IFLA_BAREUDP_PORT, + IFLA_BAREUDP_ETHERTYPE, + IFLA_BAREUDP_SRCPORT_MIN, + IFLA_BAREUDP_MULTIPROTO_MODE, + __IFLA_BAREUDP_MAX +}; +#define IFLA_BAREUDP_MAX (__IFLA_BAREUDP_MAX - 1) +enum { + IFLA_PPP_UNSPEC, + IFLA_PPP_DEV_FD, + __IFLA_PPP_MAX +}; +#define IFLA_PPP_MAX (__IFLA_PPP_MAX - 1) +enum ifla_gtp_role { + GTP_ROLE_GGSN = 0, + GTP_ROLE_SGSN, +}; +enum { + IFLA_GTP_UNSPEC, + IFLA_GTP_FD0, + IFLA_GTP_FD1, + IFLA_GTP_PDP_HASHSIZE, + IFLA_GTP_ROLE, + __IFLA_GTP_MAX, +}; +#define IFLA_GTP_MAX (__IFLA_GTP_MAX - 1) +enum { + IFLA_BOND_UNSPEC, + IFLA_BOND_MODE, + IFLA_BOND_ACTIVE_SLAVE, + IFLA_BOND_MIIMON, + IFLA_BOND_UPDELAY, + IFLA_BOND_DOWNDELAY, + IFLA_BOND_USE_CARRIER, + IFLA_BOND_ARP_INTERVAL, + IFLA_BOND_ARP_IP_TARGET, + IFLA_BOND_ARP_VALIDATE, + IFLA_BOND_ARP_ALL_TARGETS, + IFLA_BOND_PRIMARY, + IFLA_BOND_PRIMARY_RESELECT, + IFLA_BOND_FAIL_OVER_MAC, + IFLA_BOND_XMIT_HASH_POLICY, + IFLA_BOND_RESEND_IGMP, + IFLA_BOND_NUM_PEER_NOTIF, + IFLA_BOND_ALL_SLAVES_ACTIVE, + IFLA_BOND_MIN_LINKS, + IFLA_BOND_LP_INTERVAL, + IFLA_BOND_PACKETS_PER_SLAVE, + IFLA_BOND_AD_LACP_RATE, + IFLA_BOND_AD_SELECT, + IFLA_BOND_AD_INFO, + IFLA_BOND_AD_ACTOR_SYS_PRIO, + IFLA_BOND_AD_USER_PORT_KEY, + IFLA_BOND_AD_ACTOR_SYSTEM, + IFLA_BOND_TLB_DYNAMIC_LB, + IFLA_BOND_PEER_NOTIF_DELAY, + __IFLA_BOND_MAX, +}; +#define IFLA_BOND_MAX (__IFLA_BOND_MAX - 1) +enum { + IFLA_BOND_AD_INFO_UNSPEC, + IFLA_BOND_AD_INFO_AGGREGATOR, + IFLA_BOND_AD_INFO_NUM_PORTS, + IFLA_BOND_AD_INFO_ACTOR_KEY, + IFLA_BOND_AD_INFO_PARTNER_KEY, + IFLA_BOND_AD_INFO_PARTNER_MAC, + __IFLA_BOND_AD_INFO_MAX, +}; +#define IFLA_BOND_AD_INFO_MAX (__IFLA_BOND_AD_INFO_MAX - 1) +enum { + IFLA_BOND_SLAVE_UNSPEC, + IFLA_BOND_SLAVE_STATE, + IFLA_BOND_SLAVE_MII_STATUS, + IFLA_BOND_SLAVE_LINK_FAILURE_COUNT, + IFLA_BOND_SLAVE_PERM_HWADDR, + IFLA_BOND_SLAVE_QUEUE_ID, + IFLA_BOND_SLAVE_AD_AGGREGATOR_ID, + IFLA_BOND_SLAVE_AD_ACTOR_OPER_PORT_STATE, + IFLA_BOND_SLAVE_AD_PARTNER_OPER_PORT_STATE, + __IFLA_BOND_SLAVE_MAX, +}; +#define IFLA_BOND_SLAVE_MAX (__IFLA_BOND_SLAVE_MAX - 1) +enum { + IFLA_VF_INFO_UNSPEC, + IFLA_VF_INFO, + __IFLA_VF_INFO_MAX, +}; +#define IFLA_VF_INFO_MAX (__IFLA_VF_INFO_MAX - 1) +enum { + IFLA_VF_UNSPEC, + IFLA_VF_MAC, + IFLA_VF_VLAN, + IFLA_VF_TX_RATE, + IFLA_VF_SPOOFCHK, + IFLA_VF_LINK_STATE, + IFLA_VF_RATE, + IFLA_VF_RSS_QUERY_EN, + IFLA_VF_STATS, + IFLA_VF_TRUST, + IFLA_VF_IB_NODE_GUID, + IFLA_VF_IB_PORT_GUID, + IFLA_VF_VLAN_LIST, + IFLA_VF_BROADCAST, + __IFLA_VF_MAX, +}; +#define IFLA_VF_MAX (__IFLA_VF_MAX - 1) +struct ifla_vf_mac { + __u32 vf; + __u8 mac[32]; +}; +struct ifla_vf_broadcast { + __u8 broadcast[32]; +}; +struct ifla_vf_vlan { + __u32 vf; + __u32 vlan; + __u32 qos; +}; +enum { + IFLA_VF_VLAN_INFO_UNSPEC, + IFLA_VF_VLAN_INFO, + __IFLA_VF_VLAN_INFO_MAX, +}; +#define IFLA_VF_VLAN_INFO_MAX (__IFLA_VF_VLAN_INFO_MAX - 1) +#define MAX_VLAN_LIST_LEN 1 +struct ifla_vf_vlan_info { + __u32 vf; + __u32 vlan; + __u32 qos; + __be16 vlan_proto; +}; +struct ifla_vf_tx_rate { + __u32 vf; + __u32 rate; +}; +struct ifla_vf_rate { + __u32 vf; + __u32 min_tx_rate; + __u32 max_tx_rate; +}; +struct ifla_vf_spoofchk { + __u32 vf; + __u32 setting; +}; +struct ifla_vf_guid { + __u32 vf; + __u64 guid; +}; +enum { + IFLA_VF_LINK_STATE_AUTO, + IFLA_VF_LINK_STATE_ENABLE, + IFLA_VF_LINK_STATE_DISABLE, + __IFLA_VF_LINK_STATE_MAX, +}; +struct ifla_vf_link_state { + __u32 vf; + __u32 link_state; +}; +struct ifla_vf_rss_query_en { + __u32 vf; + __u32 setting; +}; +enum { + IFLA_VF_STATS_RX_PACKETS, + IFLA_VF_STATS_TX_PACKETS, + IFLA_VF_STATS_RX_BYTES, + IFLA_VF_STATS_TX_BYTES, + IFLA_VF_STATS_BROADCAST, + IFLA_VF_STATS_MULTICAST, + IFLA_VF_STATS_PAD, + IFLA_VF_STATS_RX_DROPPED, + IFLA_VF_STATS_TX_DROPPED, + __IFLA_VF_STATS_MAX, +}; +#define IFLA_VF_STATS_MAX (__IFLA_VF_STATS_MAX - 1) +struct ifla_vf_trust { + __u32 vf; + __u32 setting; +}; +enum { + IFLA_VF_PORT_UNSPEC, + IFLA_VF_PORT, + __IFLA_VF_PORT_MAX, +}; +#define IFLA_VF_PORT_MAX (__IFLA_VF_PORT_MAX - 1) +enum { + IFLA_PORT_UNSPEC, + IFLA_PORT_VF, + IFLA_PORT_PROFILE, + IFLA_PORT_VSI_TYPE, + IFLA_PORT_INSTANCE_UUID, + IFLA_PORT_HOST_UUID, + IFLA_PORT_REQUEST, + IFLA_PORT_RESPONSE, + __IFLA_PORT_MAX, +}; +#define IFLA_PORT_MAX (__IFLA_PORT_MAX - 1) +#define PORT_PROFILE_MAX 40 +#define PORT_UUID_MAX 16 +#define PORT_SELF_VF -1 +enum { + PORT_REQUEST_PREASSOCIATE = 0, + PORT_REQUEST_PREASSOCIATE_RR, + PORT_REQUEST_ASSOCIATE, + PORT_REQUEST_DISASSOCIATE, +}; +enum { + PORT_VDP_RESPONSE_SUCCESS = 0, + PORT_VDP_RESPONSE_INVALID_FORMAT, + PORT_VDP_RESPONSE_INSUFFICIENT_RESOURCES, + PORT_VDP_RESPONSE_UNUSED_VTID, + PORT_VDP_RESPONSE_VTID_VIOLATION, + PORT_VDP_RESPONSE_VTID_VERSION_VIOALTION, + PORT_VDP_RESPONSE_OUT_OF_SYNC, + + PORT_PROFILE_RESPONSE_SUCCESS = 0x100, + PORT_PROFILE_RESPONSE_INPROGRESS, + PORT_PROFILE_RESPONSE_INVALID, + PORT_PROFILE_RESPONSE_BADSTATE, + PORT_PROFILE_RESPONSE_INSUFFICIENT_RESOURCES, + PORT_PROFILE_RESPONSE_ERROR, +}; +struct ifla_port_vsi { + __u8 vsi_mgr_id; + __u8 vsi_type_id[3]; + __u8 vsi_type_version; + __u8 pad[3]; +}; +enum { + IFLA_IPOIB_UNSPEC, + IFLA_IPOIB_PKEY, + IFLA_IPOIB_MODE, + IFLA_IPOIB_UMCAST, + __IFLA_IPOIB_MAX +}; +enum { + IPOIB_MODE_DATAGRAM = 0, + IPOIB_MODE_CONNECTED = 1, +}; +#define IFLA_IPOIB_MAX (__IFLA_IPOIB_MAX - 1) +enum { + HSR_PROTOCOL_HSR, + HSR_PROTOCOL_PRP, + HSR_PROTOCOL_MAX, +}; +enum { + IFLA_HSR_UNSPEC, + IFLA_HSR_SLAVE1, + IFLA_HSR_SLAVE2, + IFLA_HSR_MULTICAST_SPEC, + IFLA_HSR_SUPERVISION_ADDR, + IFLA_HSR_SEQ_NR, + IFLA_HSR_VERSION, + IFLA_HSR_PROTOCOL, + __IFLA_HSR_MAX, +}; +#define IFLA_HSR_MAX (__IFLA_HSR_MAX - 1) +struct if_stats_msg { + __u8 family; + __u8 pad1; + __u16 pad2; + __u32 ifindex; + __u32 filter_mask; +}; +enum { + IFLA_STATS_UNSPEC, + IFLA_STATS_LINK_64, + IFLA_STATS_LINK_XSTATS, + IFLA_STATS_LINK_XSTATS_SLAVE, + IFLA_STATS_LINK_OFFLOAD_XSTATS, + IFLA_STATS_AF_SPEC, + __IFLA_STATS_MAX, +}; +#define IFLA_STATS_MAX (__IFLA_STATS_MAX - 1) +#define IFLA_STATS_FILTER_BIT(ATTR) (1 << (ATTR - 1)) +enum { + LINK_XSTATS_TYPE_UNSPEC, + LINK_XSTATS_TYPE_BRIDGE, + LINK_XSTATS_TYPE_BOND, + __LINK_XSTATS_TYPE_MAX +}; +#define LINK_XSTATS_TYPE_MAX (__LINK_XSTATS_TYPE_MAX - 1) +enum { + IFLA_OFFLOAD_XSTATS_UNSPEC, + IFLA_OFFLOAD_XSTATS_CPU_HIT, + __IFLA_OFFLOAD_XSTATS_MAX +}; +#define IFLA_OFFLOAD_XSTATS_MAX (__IFLA_OFFLOAD_XSTATS_MAX - 1) +#define XDP_FLAGS_UPDATE_IF_NOEXIST (1U << 0) +#define XDP_FLAGS_SKB_MODE (1U << 1) +#define XDP_FLAGS_DRV_MODE (1U << 2) +#define XDP_FLAGS_HW_MODE (1U << 3) +#define XDP_FLAGS_REPLACE (1U << 4) +#define XDP_FLAGS_MODES (XDP_FLAGS_SKB_MODE | \ + XDP_FLAGS_DRV_MODE | \ + XDP_FLAGS_HW_MODE) +#define XDP_FLAGS_MASK (XDP_FLAGS_UPDATE_IF_NOEXIST | \ + XDP_FLAGS_MODES | XDP_FLAGS_REPLACE) +enum { + XDP_ATTACHED_NONE = 0, + XDP_ATTACHED_DRV, + XDP_ATTACHED_SKB, + XDP_ATTACHED_HW, + XDP_ATTACHED_MULTI, +}; +enum { + IFLA_XDP_UNSPEC, + IFLA_XDP_FD, + IFLA_XDP_ATTACHED, + IFLA_XDP_FLAGS, + IFLA_XDP_PROG_ID, + IFLA_XDP_DRV_PROG_ID, + IFLA_XDP_SKB_PROG_ID, + IFLA_XDP_HW_PROG_ID, + IFLA_XDP_EXPECTED_FD, + __IFLA_XDP_MAX, +}; +#define IFLA_XDP_MAX (__IFLA_XDP_MAX - 1) +enum { + IFLA_EVENT_NONE, + IFLA_EVENT_REBOOT, + IFLA_EVENT_FEATURES, + IFLA_EVENT_BONDING_FAILOVER, + IFLA_EVENT_NOTIFY_PEERS, + IFLA_EVENT_IGMP_RESEND, + IFLA_EVENT_BONDING_OPTIONS, +}; +enum { + IFLA_TUN_UNSPEC, + IFLA_TUN_OWNER, + IFLA_TUN_GROUP, + IFLA_TUN_TYPE, + IFLA_TUN_PI, + IFLA_TUN_VNET_HDR, + IFLA_TUN_PERSIST, + IFLA_TUN_MULTI_QUEUE, + IFLA_TUN_NUM_QUEUES, + IFLA_TUN_NUM_DISABLED_QUEUES, + __IFLA_TUN_MAX, +}; +#define IFLA_TUN_MAX (__IFLA_TUN_MAX - 1) +#define RMNET_FLAGS_INGRESS_DEAGGREGATION (1U << 0) +#define RMNET_FLAGS_INGRESS_MAP_COMMANDS (1U << 1) +#define RMNET_FLAGS_INGRESS_MAP_CKSUMV4 (1U << 2) +#define RMNET_FLAGS_EGRESS_MAP_CKSUMV4 (1U << 3) +enum { + IFLA_RMNET_UNSPEC, + IFLA_RMNET_MUX_ID, + IFLA_RMNET_FLAGS, + __IFLA_RMNET_MAX, +}; +#define IFLA_RMNET_MAX (__IFLA_RMNET_MAX - 1) +struct ifla_rmnet_flags { + __u32 flags; + __u32 mask; +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/if_ltalk.h b/linux-5.10/prebuilts/usr/include/linux/if_ltalk.h new file mode 100644 index 0000000..4fb3b1c --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/if_ltalk.h @@ -0,0 +1,11 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI__LINUX_LTALK_H +#define _UAPI__LINUX_LTALK_H +#define LTALK_HLEN 1 +#define LTALK_MTU 600 +#define LTALK_ALEN 1 +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/if_macsec.h b/linux-5.10/prebuilts/usr/include/linux/if_macsec.h new file mode 100644 index 0000000..166799f --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/if_macsec.h @@ -0,0 +1,160 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI_MACSEC_H +#define _UAPI_MACSEC_H +#include +#define MACSEC_GENL_NAME "macsec" +#define MACSEC_GENL_VERSION 1 +#define MACSEC_MAX_KEY_LEN 128 +#define MACSEC_KEYID_LEN 16 +#define MACSEC_CIPHER_ID_GCM_AES_128 0x0080C20001000001ULL +#define MACSEC_CIPHER_ID_GCM_AES_256 0x0080C20001000002ULL +#define MACSEC_CIPHER_ID_GCM_AES_XPN_128 0x0080C20001000003ULL +#define MACSEC_CIPHER_ID_GCM_AES_XPN_256 0x0080C20001000004ULL +#define MACSEC_DEFAULT_CIPHER_ID 0x0080020001000001ULL +#define MACSEC_DEFAULT_CIPHER_ALT MACSEC_CIPHER_ID_GCM_AES_128 +#define MACSEC_MIN_ICV_LEN 8 +#define MACSEC_MAX_ICV_LEN 32 +#define MACSEC_STD_ICV_LEN 16 +enum macsec_attrs { + MACSEC_ATTR_UNSPEC, + MACSEC_ATTR_IFINDEX, + MACSEC_ATTR_RXSC_CONFIG, + MACSEC_ATTR_SA_CONFIG, + MACSEC_ATTR_SECY, + MACSEC_ATTR_TXSA_LIST, + MACSEC_ATTR_RXSC_LIST, + MACSEC_ATTR_TXSC_STATS, + MACSEC_ATTR_SECY_STATS, + MACSEC_ATTR_OFFLOAD, + __MACSEC_ATTR_END, + NUM_MACSEC_ATTR = __MACSEC_ATTR_END, + MACSEC_ATTR_MAX = __MACSEC_ATTR_END - 1, +}; +enum macsec_secy_attrs { + MACSEC_SECY_ATTR_UNSPEC, + MACSEC_SECY_ATTR_SCI, + MACSEC_SECY_ATTR_ENCODING_SA, + MACSEC_SECY_ATTR_WINDOW, + MACSEC_SECY_ATTR_CIPHER_SUITE, + MACSEC_SECY_ATTR_ICV_LEN, + MACSEC_SECY_ATTR_PROTECT, + MACSEC_SECY_ATTR_REPLAY, + MACSEC_SECY_ATTR_OPER, + MACSEC_SECY_ATTR_VALIDATE, + MACSEC_SECY_ATTR_ENCRYPT, + MACSEC_SECY_ATTR_INC_SCI, + MACSEC_SECY_ATTR_ES, + MACSEC_SECY_ATTR_SCB, + MACSEC_SECY_ATTR_PAD, + __MACSEC_SECY_ATTR_END, + NUM_MACSEC_SECY_ATTR = __MACSEC_SECY_ATTR_END, + MACSEC_SECY_ATTR_MAX = __MACSEC_SECY_ATTR_END - 1, +}; +enum macsec_rxsc_attrs { + MACSEC_RXSC_ATTR_UNSPEC, + MACSEC_RXSC_ATTR_SCI, + MACSEC_RXSC_ATTR_ACTIVE, + MACSEC_RXSC_ATTR_SA_LIST, + MACSEC_RXSC_ATTR_STATS, + MACSEC_RXSC_ATTR_PAD, + __MACSEC_RXSC_ATTR_END, + NUM_MACSEC_RXSC_ATTR = __MACSEC_RXSC_ATTR_END, + MACSEC_RXSC_ATTR_MAX = __MACSEC_RXSC_ATTR_END - 1, +}; +enum macsec_sa_attrs { + MACSEC_SA_ATTR_UNSPEC, + MACSEC_SA_ATTR_AN, + MACSEC_SA_ATTR_ACTIVE, + MACSEC_SA_ATTR_PN, + MACSEC_SA_ATTR_KEY, + MACSEC_SA_ATTR_KEYID, + MACSEC_SA_ATTR_STATS, + MACSEC_SA_ATTR_PAD, + MACSEC_SA_ATTR_SSCI, + MACSEC_SA_ATTR_SALT, + __MACSEC_SA_ATTR_END, + NUM_MACSEC_SA_ATTR = __MACSEC_SA_ATTR_END, + MACSEC_SA_ATTR_MAX = __MACSEC_SA_ATTR_END - 1, +}; +enum macsec_offload_attrs { + MACSEC_OFFLOAD_ATTR_UNSPEC, + MACSEC_OFFLOAD_ATTR_TYPE, + MACSEC_OFFLOAD_ATTR_PAD, + __MACSEC_OFFLOAD_ATTR_END, + NUM_MACSEC_OFFLOAD_ATTR = __MACSEC_OFFLOAD_ATTR_END, + MACSEC_OFFLOAD_ATTR_MAX = __MACSEC_OFFLOAD_ATTR_END - 1, +}; +enum macsec_nl_commands { + MACSEC_CMD_GET_TXSC, + MACSEC_CMD_ADD_RXSC, + MACSEC_CMD_DEL_RXSC, + MACSEC_CMD_UPD_RXSC, + MACSEC_CMD_ADD_TXSA, + MACSEC_CMD_DEL_TXSA, + MACSEC_CMD_UPD_TXSA, + MACSEC_CMD_ADD_RXSA, + MACSEC_CMD_DEL_RXSA, + MACSEC_CMD_UPD_RXSA, + MACSEC_CMD_UPD_OFFLOAD, +}; +enum macsec_rxsc_stats_attr { + MACSEC_RXSC_STATS_ATTR_UNSPEC, + MACSEC_RXSC_STATS_ATTR_IN_OCTETS_VALIDATED, + MACSEC_RXSC_STATS_ATTR_IN_OCTETS_DECRYPTED, + MACSEC_RXSC_STATS_ATTR_IN_PKTS_UNCHECKED, + MACSEC_RXSC_STATS_ATTR_IN_PKTS_DELAYED, + MACSEC_RXSC_STATS_ATTR_IN_PKTS_OK, + MACSEC_RXSC_STATS_ATTR_IN_PKTS_INVALID, + MACSEC_RXSC_STATS_ATTR_IN_PKTS_LATE, + MACSEC_RXSC_STATS_ATTR_IN_PKTS_NOT_VALID, + MACSEC_RXSC_STATS_ATTR_IN_PKTS_NOT_USING_SA, + MACSEC_RXSC_STATS_ATTR_IN_PKTS_UNUSED_SA, + MACSEC_RXSC_STATS_ATTR_PAD, + __MACSEC_RXSC_STATS_ATTR_END, + NUM_MACSEC_RXSC_STATS_ATTR = __MACSEC_RXSC_STATS_ATTR_END, + MACSEC_RXSC_STATS_ATTR_MAX = __MACSEC_RXSC_STATS_ATTR_END - 1, +}; +enum macsec_sa_stats_attr { + MACSEC_SA_STATS_ATTR_UNSPEC, + MACSEC_SA_STATS_ATTR_IN_PKTS_OK, + MACSEC_SA_STATS_ATTR_IN_PKTS_INVALID, + MACSEC_SA_STATS_ATTR_IN_PKTS_NOT_VALID, + MACSEC_SA_STATS_ATTR_IN_PKTS_NOT_USING_SA, + MACSEC_SA_STATS_ATTR_IN_PKTS_UNUSED_SA, + MACSEC_SA_STATS_ATTR_OUT_PKTS_PROTECTED, + MACSEC_SA_STATS_ATTR_OUT_PKTS_ENCRYPTED, + __MACSEC_SA_STATS_ATTR_END, + NUM_MACSEC_SA_STATS_ATTR = __MACSEC_SA_STATS_ATTR_END, + MACSEC_SA_STATS_ATTR_MAX = __MACSEC_SA_STATS_ATTR_END - 1, +}; +enum macsec_txsc_stats_attr { + MACSEC_TXSC_STATS_ATTR_UNSPEC, + MACSEC_TXSC_STATS_ATTR_OUT_PKTS_PROTECTED, + MACSEC_TXSC_STATS_ATTR_OUT_PKTS_ENCRYPTED, + MACSEC_TXSC_STATS_ATTR_OUT_OCTETS_PROTECTED, + MACSEC_TXSC_STATS_ATTR_OUT_OCTETS_ENCRYPTED, + MACSEC_TXSC_STATS_ATTR_PAD, + __MACSEC_TXSC_STATS_ATTR_END, + NUM_MACSEC_TXSC_STATS_ATTR = __MACSEC_TXSC_STATS_ATTR_END, + MACSEC_TXSC_STATS_ATTR_MAX = __MACSEC_TXSC_STATS_ATTR_END - 1, +}; +enum macsec_secy_stats_attr { + MACSEC_SECY_STATS_ATTR_UNSPEC, + MACSEC_SECY_STATS_ATTR_OUT_PKTS_UNTAGGED, + MACSEC_SECY_STATS_ATTR_IN_PKTS_UNTAGGED, + MACSEC_SECY_STATS_ATTR_OUT_PKTS_TOO_LONG, + MACSEC_SECY_STATS_ATTR_IN_PKTS_NO_TAG, + MACSEC_SECY_STATS_ATTR_IN_PKTS_BAD_TAG, + MACSEC_SECY_STATS_ATTR_IN_PKTS_UNKNOWN_SCI, + MACSEC_SECY_STATS_ATTR_IN_PKTS_NO_SCI, + MACSEC_SECY_STATS_ATTR_IN_PKTS_OVERRUN, + MACSEC_SECY_STATS_ATTR_PAD, + __MACSEC_SECY_STATS_ATTR_END, + NUM_MACSEC_SECY_STATS_ATTR = __MACSEC_SECY_STATS_ATTR_END, + MACSEC_SECY_STATS_ATTR_MAX = __MACSEC_SECY_STATS_ATTR_END - 1, +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/if_packet.h b/linux-5.10/prebuilts/usr/include/linux/if_packet.h new file mode 100644 index 0000000..c0949e3 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/if_packet.h @@ -0,0 +1,227 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef __LINUX_IF_PACKET_H +#define __LINUX_IF_PACKET_H +#include +#include +struct sockaddr_pkt { + unsigned short spkt_family; + unsigned char spkt_device[14]; + __be16 spkt_protocol; +}; +struct sockaddr_ll { + unsigned short sll_family; + __be16 sll_protocol; + int sll_ifindex; + unsigned short sll_hatype; + unsigned char sll_pkttype; + unsigned char sll_halen; + unsigned char sll_addr[8]; +}; +#define PACKET_HOST 0 +#define PACKET_BROADCAST 1 +#define PACKET_MULTICAST 2 +#define PACKET_OTHERHOST 3 +#define PACKET_OUTGOING 4 +#define PACKET_LOOPBACK 5 +#define PACKET_USER 6 +#define PACKET_KERNEL 7 +#define PACKET_FASTROUTE 6 +#define PACKET_ADD_MEMBERSHIP 1 +#define PACKET_DROP_MEMBERSHIP 2 +#define PACKET_RECV_OUTPUT 3 +#define PACKET_RX_RING 5 +#define PACKET_STATISTICS 6 +#define PACKET_COPY_THRESH 7 +#define PACKET_AUXDATA 8 +#define PACKET_ORIGDEV 9 +#define PACKET_VERSION 10 +#define PACKET_HDRLEN 11 +#define PACKET_RESERVE 12 +#define PACKET_TX_RING 13 +#define PACKET_LOSS 14 +#define PACKET_VNET_HDR 15 +#define PACKET_TX_TIMESTAMP 16 +#define PACKET_TIMESTAMP 17 +#define PACKET_FANOUT 18 +#define PACKET_TX_HAS_OFF 19 +#define PACKET_QDISC_BYPASS 20 +#define PACKET_ROLLOVER_STATS 21 +#define PACKET_FANOUT_DATA 22 +#define PACKET_IGNORE_OUTGOING 23 +#define PACKET_FANOUT_HASH 0 +#define PACKET_FANOUT_LB 1 +#define PACKET_FANOUT_CPU 2 +#define PACKET_FANOUT_ROLLOVER 3 +#define PACKET_FANOUT_RND 4 +#define PACKET_FANOUT_QM 5 +#define PACKET_FANOUT_CBPF 6 +#define PACKET_FANOUT_EBPF 7 +#define PACKET_FANOUT_FLAG_ROLLOVER 0x1000 +#define PACKET_FANOUT_FLAG_UNIQUEID 0x2000 +#define PACKET_FANOUT_FLAG_DEFRAG 0x8000 +struct tpacket_stats { + unsigned int tp_packets; + unsigned int tp_drops; +}; +struct tpacket_stats_v3 { + unsigned int tp_packets; + unsigned int tp_drops; + unsigned int tp_freeze_q_cnt; +}; +struct tpacket_rollover_stats { + __aligned_u64 tp_all; + __aligned_u64 tp_huge; + __aligned_u64 tp_failed; +}; +union tpacket_stats_u { + struct tpacket_stats stats1; + struct tpacket_stats_v3 stats3; +}; +struct tpacket_auxdata { + __u32 tp_status; + __u32 tp_len; + __u32 tp_snaplen; + __u16 tp_mac; + __u16 tp_net; + __u16 tp_vlan_tci; + __u16 tp_vlan_tpid; +}; +#define TP_STATUS_KERNEL 0 +#define TP_STATUS_USER (1 << 0) +#define TP_STATUS_COPY (1 << 1) +#define TP_STATUS_LOSING (1 << 2) +#define TP_STATUS_CSUMNOTREADY (1 << 3) +#define TP_STATUS_VLAN_VALID (1 << 4) +#define TP_STATUS_BLK_TMO (1 << 5) +#define TP_STATUS_VLAN_TPID_VALID (1 << 6) +#define TP_STATUS_CSUM_VALID (1 << 7) +#define TP_STATUS_AVAILABLE 0 +#define TP_STATUS_SEND_REQUEST (1 << 0) +#define TP_STATUS_SENDING (1 << 1) +#define TP_STATUS_WRONG_FORMAT (1 << 2) +#define TP_STATUS_TS_SOFTWARE (1 << 29) +#define TP_STATUS_TS_SYS_HARDWARE (1 << 30) +#define TP_STATUS_TS_RAW_HARDWARE (1U << 31) +#define TP_FT_REQ_FILL_RXHASH 0x1 +struct tpacket_hdr { + unsigned long tp_status; + unsigned int tp_len; + unsigned int tp_snaplen; + unsigned short tp_mac; + unsigned short tp_net; + unsigned int tp_sec; + unsigned int tp_usec; +}; +#define TPACKET_ALIGNMENT 16 +#define TPACKET_ALIGN(x) (((x)+TPACKET_ALIGNMENT-1)&~(TPACKET_ALIGNMENT-1)) +#define TPACKET_HDRLEN (TPACKET_ALIGN(sizeof(struct tpacket_hdr)) + sizeof(struct sockaddr_ll)) +struct tpacket2_hdr { + __u32 tp_status; + __u32 tp_len; + __u32 tp_snaplen; + __u16 tp_mac; + __u16 tp_net; + __u32 tp_sec; + __u32 tp_nsec; + __u16 tp_vlan_tci; + __u16 tp_vlan_tpid; + __u8 tp_padding[4]; +}; +struct tpacket_hdr_variant1 { + __u32 tp_rxhash; + __u32 tp_vlan_tci; + __u16 tp_vlan_tpid; + __u16 tp_padding; +}; +struct tpacket3_hdr { + __u32 tp_next_offset; + __u32 tp_sec; + __u32 tp_nsec; + __u32 tp_snaplen; + __u32 tp_len; + __u32 tp_status; + __u16 tp_mac; + __u16 tp_net; + + union { + struct tpacket_hdr_variant1 hv1; + }; + __u8 tp_padding[8]; +}; +struct tpacket_bd_ts { + unsigned int ts_sec; + union { + unsigned int ts_usec; + unsigned int ts_nsec; + }; +}; +struct tpacket_hdr_v1 { + __u32 block_status; + __u32 num_pkts; + __u32 offset_to_first_pkt; + + __u32 blk_len; + + __aligned_u64 seq_num; + + struct tpacket_bd_ts ts_first_pkt, ts_last_pkt; +}; +union tpacket_bd_header_u { + struct tpacket_hdr_v1 bh1; +}; +struct tpacket_block_desc { + __u32 version; + __u32 offset_to_priv; + union tpacket_bd_header_u hdr; +}; +#define TPACKET2_HDRLEN (TPACKET_ALIGN(sizeof(struct tpacket2_hdr)) + sizeof(struct sockaddr_ll)) +#define TPACKET3_HDRLEN (TPACKET_ALIGN(sizeof(struct tpacket3_hdr)) + sizeof(struct sockaddr_ll)) +enum tpacket_versions { + TPACKET_V1, + TPACKET_V2, + TPACKET_V3 +}; +struct tpacket_req { + unsigned int tp_block_size; + unsigned int tp_block_nr; + unsigned int tp_frame_size; + unsigned int tp_frame_nr; +}; +struct tpacket_req3 { + unsigned int tp_block_size; + unsigned int tp_block_nr; + unsigned int tp_frame_size; + unsigned int tp_frame_nr; + unsigned int tp_retire_blk_tov; + unsigned int tp_sizeof_priv; + unsigned int tp_feature_req_word; +}; +union tpacket_req_u { + struct tpacket_req req; + struct tpacket_req3 req3; +}; +struct packet_mreq { + int mr_ifindex; + unsigned short mr_type; + unsigned short mr_alen; + unsigned char mr_address[8]; +}; +struct fanout_args { +#if defined(__LITTLE_ENDIAN_BITFIELD) + __u16 id; + __u16 type_flags; +#else + __u16 type_flags; + __u16 id; +#endif + __u32 max_num_members; +}; +#define PACKET_MR_MULTICAST 0 +#define PACKET_MR_PROMISC 1 +#define PACKET_MR_ALLMULTI 2 +#define PACKET_MR_UNICAST 3 +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/if_phonet.h b/linux-5.10/prebuilts/usr/include/linux/if_phonet.h new file mode 100644 index 0000000..fcd32ed --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/if_phonet.h @@ -0,0 +1,11 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPILINUX_IF_PHONET_H +#define _UAPILINUX_IF_PHONET_H +#define PHONET_MIN_MTU 6 +#define PHONET_MAX_MTU 65541 +#define PHONET_DEV_MTU PHONET_MAX_MTU +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/if_plip.h b/linux-5.10/prebuilts/usr/include/linux/if_plip.h new file mode 100644 index 0000000..1a6cae1 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/if_plip.h @@ -0,0 +1,18 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ + +#ifndef _LINUX_IF_PLIP_H +#define _LINUX_IF_PLIP_H +#include +#define SIOCDEVPLIP SIOCDEVPRIVATE +struct plipconf { + unsigned short pcmd; + unsigned long nibble; + unsigned long trigger; +}; +#define PLIP_GET_TIMEOUT 0x1 +#define PLIP_SET_TIMEOUT 0x2 +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/if_ppp.h b/linux-5.10/prebuilts/usr/include/linux/if_ppp.h new file mode 100644 index 0000000..6c5b9af --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/if_ppp.h @@ -0,0 +1,6 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#include diff --git a/linux-5.10/prebuilts/usr/include/linux/if_pppol2tp.h b/linux-5.10/prebuilts/usr/include/linux/if_pppol2tp.h new file mode 100644 index 0000000..27f90fd --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/if_pppol2tp.h @@ -0,0 +1,53 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI__LINUX_IF_PPPOL2TP_H +#define _UAPI__LINUX_IF_PPPOL2TP_H +#include +#include +#include +#include +struct pppol2tp_addr { + __kernel_pid_t pid; + int fd; + struct sockaddr_in addr; + __u16 s_tunnel, s_session; + __u16 d_tunnel, d_session; +}; +struct pppol2tpin6_addr { + __kernel_pid_t pid; + int fd; + __u16 s_tunnel, s_session; + __u16 d_tunnel, d_session; + struct sockaddr_in6 addr; +}; +struct pppol2tpv3_addr { + __kernel_pid_t pid; + int fd; + struct sockaddr_in addr; + __u32 s_tunnel, s_session; + __u32 d_tunnel, d_session; +}; +struct pppol2tpv3in6_addr { + __kernel_pid_t pid; + int fd; + __u32 s_tunnel, s_session; + __u32 d_tunnel, d_session; + struct sockaddr_in6 addr; +}; +enum { + PPPOL2TP_SO_DEBUG = 1, + PPPOL2TP_SO_RECVSEQ = 2, + PPPOL2TP_SO_SENDSEQ = 3, + PPPOL2TP_SO_LNSMODE = 4, + PPPOL2TP_SO_REORDERTO = 5, +}; +enum { + PPPOL2TP_MSG_DEBUG = L2TP_MSG_DEBUG, + PPPOL2TP_MSG_CONTROL = L2TP_MSG_CONTROL, + PPPOL2TP_MSG_SEQ = L2TP_MSG_SEQ, + PPPOL2TP_MSG_DATA = L2TP_MSG_DATA, +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/if_pppox.h b/linux-5.10/prebuilts/usr/include/linux/if_pppox.h new file mode 100644 index 0000000..33f5f0c --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/if_pppox.h @@ -0,0 +1,102 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI__LINUX_IF_PPPOX_H +#define _UAPI__LINUX_IF_PPPOX_H +#include +#include +#include +#include +#include +#include +#include +#include +#ifndef AF_PPPOX +#define AF_PPPOX 24 +#define PF_PPPOX AF_PPPOX +#endif + +typedef __be16 sid_t; +struct pppoe_addr { + sid_t sid; + unsigned char remote[ETH_ALEN]; + char dev[IFNAMSIZ]; +}; + +struct pptp_addr { + __u16 call_id; + struct in_addr sin_addr; +}; +#define PX_PROTO_OE 0 +#define PX_PROTO_OL2TP 1 +#define PX_PROTO_PPTP 2 +#define PX_MAX_PROTO 3 +struct sockaddr_pppox { + __kernel_sa_family_t sa_family; + unsigned int sa_protocol; + union { + struct pppoe_addr pppoe; + struct pptp_addr pptp; + } sa_addr; +} __packed; +struct sockaddr_pppol2tp { + __kernel_sa_family_t sa_family; + unsigned int sa_protocol; + struct pppol2tp_addr pppol2tp; +} __packed; +struct sockaddr_pppol2tpin6 { + __kernel_sa_family_t sa_family; + unsigned int sa_protocol; + struct pppol2tpin6_addr pppol2tp; +} __packed; +struct sockaddr_pppol2tpv3 { + __kernel_sa_family_t sa_family; + unsigned int sa_protocol; + struct pppol2tpv3_addr pppol2tp; +} __packed; +struct sockaddr_pppol2tpv3in6 { + __kernel_sa_family_t sa_family; + unsigned int sa_protocol; + struct pppol2tpv3in6_addr pppol2tp; +} __packed; +#define PPPOEIOCSFWD _IOW(0xB1 ,0, size_t) +#define PPPOEIOCDFWD _IO(0xB1 ,1) +#define PADI_CODE 0x09 +#define PADO_CODE 0x07 +#define PADR_CODE 0x19 +#define PADS_CODE 0x65 +#define PADT_CODE 0xa7 +struct pppoe_tag { + __be16 tag_type; + __be16 tag_len; + char tag_data[0]; +} __attribute__ ((packed)); +#define PTT_EOL __cpu_to_be16(0x0000) +#define PTT_SRV_NAME __cpu_to_be16(0x0101) +#define PTT_AC_NAME __cpu_to_be16(0x0102) +#define PTT_HOST_UNIQ __cpu_to_be16(0x0103) +#define PTT_AC_COOKIE __cpu_to_be16(0x0104) +#define PTT_VENDOR __cpu_to_be16(0x0105) +#define PTT_RELAY_SID __cpu_to_be16(0x0110) +#define PTT_SRV_ERR __cpu_to_be16(0x0201) +#define PTT_SYS_ERR __cpu_to_be16(0x0202) +#define PTT_GEN_ERR __cpu_to_be16(0x0203) +struct pppoe_hdr { +#if defined(__LITTLE_ENDIAN_BITFIELD) + __u8 type : 4; + __u8 ver : 4; +#elif defined(__BIG_ENDIAN_BITFIELD) + __u8 ver : 4; + __u8 type : 4; +#else +#error "Please fix " +#endif + __u8 code; + __be16 sid; + __be16 length; + struct pppoe_tag tag[0]; +} __packed; +#define PPPOE_SES_HLEN 8 +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/if_slip.h b/linux-5.10/prebuilts/usr/include/linux/if_slip.h new file mode 100644 index 0000000..57b40bc --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/if_slip.h @@ -0,0 +1,21 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ + +#ifndef __LINUX_SLIP_H +#define __LINUX_SLIP_H +#define SL_MODE_SLIP 0 +#define SL_MODE_CSLIP 1 +#define SL_MODE_KISS 4 +#define SL_OPT_SIXBIT 2 +#define SL_OPT_ADAPTIVE 8 + +#define SIOCSKEEPALIVE (SIOCDEVPRIVATE) +#define SIOCGKEEPALIVE (SIOCDEVPRIVATE+1) +#define SIOCSOUTFILL (SIOCDEVPRIVATE+2) +#define SIOCGOUTFILL (SIOCDEVPRIVATE+3) +#define SIOCSLEASE (SIOCDEVPRIVATE+4) +#define SIOCGLEASE (SIOCDEVPRIVATE+5) +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/if_team.h b/linux-5.10/prebuilts/usr/include/linux/if_team.h new file mode 100644 index 0000000..1db56a3 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/if_team.h @@ -0,0 +1,63 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI_LINUX_IF_TEAM_H_ +#define _UAPI_LINUX_IF_TEAM_H_ +#define TEAM_STRING_MAX_LEN 32 +enum { + TEAM_CMD_NOOP, + TEAM_CMD_OPTIONS_SET, + TEAM_CMD_OPTIONS_GET, + TEAM_CMD_PORT_LIST_GET, + __TEAM_CMD_MAX, + TEAM_CMD_MAX = (__TEAM_CMD_MAX - 1), +}; +enum { + TEAM_ATTR_UNSPEC, + TEAM_ATTR_TEAM_IFINDEX, + TEAM_ATTR_LIST_OPTION, + TEAM_ATTR_LIST_PORT, + __TEAM_ATTR_MAX, + TEAM_ATTR_MAX = __TEAM_ATTR_MAX - 1, +}; +enum { + TEAM_ATTR_ITEM_OPTION_UNSPEC, + TEAM_ATTR_ITEM_OPTION, + __TEAM_ATTR_ITEM_OPTION_MAX, + TEAM_ATTR_ITEM_OPTION_MAX = __TEAM_ATTR_ITEM_OPTION_MAX - 1, +}; +enum { + TEAM_ATTR_OPTION_UNSPEC, + TEAM_ATTR_OPTION_NAME, + TEAM_ATTR_OPTION_CHANGED, + TEAM_ATTR_OPTION_TYPE, + TEAM_ATTR_OPTION_DATA, + TEAM_ATTR_OPTION_REMOVED, + TEAM_ATTR_OPTION_PORT_IFINDEX, + TEAM_ATTR_OPTION_ARRAY_INDEX, + __TEAM_ATTR_OPTION_MAX, + TEAM_ATTR_OPTION_MAX = __TEAM_ATTR_OPTION_MAX - 1, +}; +enum { + TEAM_ATTR_ITEM_PORT_UNSPEC, + TEAM_ATTR_ITEM_PORT, + __TEAM_ATTR_ITEM_PORT_MAX, + TEAM_ATTR_ITEM_PORT_MAX = __TEAM_ATTR_ITEM_PORT_MAX - 1, +}; +enum { + TEAM_ATTR_PORT_UNSPEC, + TEAM_ATTR_PORT_IFINDEX, + TEAM_ATTR_PORT_CHANGED, + TEAM_ATTR_PORT_LINKUP, + TEAM_ATTR_PORT_SPEED, + TEAM_ATTR_PORT_DUPLEX, + TEAM_ATTR_PORT_REMOVED, + __TEAM_ATTR_PORT_MAX, + TEAM_ATTR_PORT_MAX = __TEAM_ATTR_PORT_MAX - 1, +}; +#define TEAM_GENL_NAME "team" +#define TEAM_GENL_VERSION 0x1 +#define TEAM_GENL_CHANGE_EVENT_MC_GRP_NAME "change_event" +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/if_tun.h b/linux-5.10/prebuilts/usr/include/linux/if_tun.h new file mode 100644 index 0000000..840ef72 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/if_tun.h @@ -0,0 +1,73 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI__IF_TUN_H +#define _UAPI__IF_TUN_H +#include +#include +#include +#define TUN_READQ_SIZE 500 +#define TUN_TUN_DEV IFF_TUN +#define TUN_TAP_DEV IFF_TAP +#define TUN_TYPE_MASK 0x000f +#define TUNSETNOCSUM _IOW('T', 200, int) +#define TUNSETDEBUG _IOW('T', 201, int) +#define TUNSETIFF _IOW('T', 202, int) +#define TUNSETPERSIST _IOW('T', 203, int) +#define TUNSETOWNER _IOW('T', 204, int) +#define TUNSETLINK _IOW('T', 205, int) +#define TUNSETGROUP _IOW('T', 206, int) +#define TUNGETFEATURES _IOR('T', 207, unsigned int) +#define TUNSETOFFLOAD _IOW('T', 208, unsigned int) +#define TUNSETTXFILTER _IOW('T', 209, unsigned int) +#define TUNGETIFF _IOR('T', 210, unsigned int) +#define TUNGETSNDBUF _IOR('T', 211, int) +#define TUNSETSNDBUF _IOW('T', 212, int) +#define TUNATTACHFILTER _IOW('T', 213, struct sock_fprog) +#define TUNDETACHFILTER _IOW('T', 214, struct sock_fprog) +#define TUNGETVNETHDRSZ _IOR('T', 215, int) +#define TUNSETVNETHDRSZ _IOW('T', 216, int) +#define TUNSETQUEUE _IOW('T', 217, int) +#define TUNSETIFINDEX _IOW('T', 218, unsigned int) +#define TUNGETFILTER _IOR('T', 219, struct sock_fprog) +#define TUNSETVNETLE _IOW('T', 220, int) +#define TUNGETVNETLE _IOR('T', 221, int) +#define TUNSETVNETBE _IOW('T', 222, int) +#define TUNGETVNETBE _IOR('T', 223, int) +#define TUNSETSTEERINGEBPF _IOR('T', 224, int) +#define TUNSETFILTEREBPF _IOR('T', 225, int) +#define TUNSETCARRIER _IOW('T', 226, int) +#define TUNGETDEVNETNS _IO('T', 227) +#define IFF_TUN 0x0001 +#define IFF_TAP 0x0002 +#define IFF_NAPI 0x0010 +#define IFF_NAPI_FRAGS 0x0020 +#define IFF_NO_PI 0x1000 +#define IFF_ONE_QUEUE 0x2000 +#define IFF_VNET_HDR 0x4000 +#define IFF_TUN_EXCL 0x8000 +#define IFF_MULTI_QUEUE 0x0100 +#define IFF_ATTACH_QUEUE 0x0200 +#define IFF_DETACH_QUEUE 0x0400 +#define IFF_PERSIST 0x0800 +#define IFF_NOFILTER 0x1000 +#define TUN_TX_TIMESTAMP 1 +#define TUN_F_CSUM 0x01 +#define TUN_F_TSO4 0x02 +#define TUN_F_TSO6 0x04 +#define TUN_F_TSO_ECN 0x08 +#define TUN_F_UFO 0x10 +#define TUN_PKT_STRIP 0x0001 +struct tun_pi { + __u16 flags; + __be16 proto; +}; +#define TUN_FLT_ALLMULTI 0x0001 +struct tun_filter { + __u16 flags; + __u16 count; + __u8 addr[0][ETH_ALEN]; +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/if_tunnel.h b/linux-5.10/prebuilts/usr/include/linux/if_tunnel.h new file mode 100644 index 0000000..ce9f348 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/if_tunnel.h @@ -0,0 +1,162 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI_IF_TUNNEL_H_ +#define _UAPI_IF_TUNNEL_H_ +#include +#include +#include +#include +#include +#define SIOCGETTUNNEL (SIOCDEVPRIVATE + 0) +#define SIOCADDTUNNEL (SIOCDEVPRIVATE + 1) +#define SIOCDELTUNNEL (SIOCDEVPRIVATE + 2) +#define SIOCCHGTUNNEL (SIOCDEVPRIVATE + 3) +#define SIOCGETPRL (SIOCDEVPRIVATE + 4) +#define SIOCADDPRL (SIOCDEVPRIVATE + 5) +#define SIOCDELPRL (SIOCDEVPRIVATE + 6) +#define SIOCCHGPRL (SIOCDEVPRIVATE + 7) +#define SIOCGET6RD (SIOCDEVPRIVATE + 8) +#define SIOCADD6RD (SIOCDEVPRIVATE + 9) +#define SIOCDEL6RD (SIOCDEVPRIVATE + 10) +#define SIOCCHG6RD (SIOCDEVPRIVATE + 11) +#define GRE_CSUM __cpu_to_be16(0x8000) +#define GRE_ROUTING __cpu_to_be16(0x4000) +#define GRE_KEY __cpu_to_be16(0x2000) +#define GRE_SEQ __cpu_to_be16(0x1000) +#define GRE_STRICT __cpu_to_be16(0x0800) +#define GRE_REC __cpu_to_be16(0x0700) +#define GRE_ACK __cpu_to_be16(0x0080) +#define GRE_FLAGS __cpu_to_be16(0x0078) +#define GRE_VERSION __cpu_to_be16(0x0007) +#define GRE_IS_CSUM(f) ((f) & GRE_CSUM) +#define GRE_IS_ROUTING(f) ((f) & GRE_ROUTING) +#define GRE_IS_KEY(f) ((f) & GRE_KEY) +#define GRE_IS_SEQ(f) ((f) & GRE_SEQ) +#define GRE_IS_STRICT(f) ((f) & GRE_STRICT) +#define GRE_IS_REC(f) ((f) & GRE_REC) +#define GRE_IS_ACK(f) ((f) & GRE_ACK) +#define GRE_VERSION_0 __cpu_to_be16(0x0000) +#define GRE_VERSION_1 __cpu_to_be16(0x0001) +#define GRE_PROTO_PPP __cpu_to_be16(0x880b) +#define GRE_PPTP_KEY_MASK __cpu_to_be32(0xffff) +struct ip_tunnel_parm { + char name[IFNAMSIZ]; + int link; + __be16 i_flags; + __be16 o_flags; + __be32 i_key; + __be32 o_key; + struct iphdr iph; +}; +enum { + IFLA_IPTUN_UNSPEC, + IFLA_IPTUN_LINK, + IFLA_IPTUN_LOCAL, + IFLA_IPTUN_REMOTE, + IFLA_IPTUN_TTL, + IFLA_IPTUN_TOS, + IFLA_IPTUN_ENCAP_LIMIT, + IFLA_IPTUN_FLOWINFO, + IFLA_IPTUN_FLAGS, + IFLA_IPTUN_PROTO, + IFLA_IPTUN_PMTUDISC, + IFLA_IPTUN_6RD_PREFIX, + IFLA_IPTUN_6RD_RELAY_PREFIX, + IFLA_IPTUN_6RD_PREFIXLEN, + IFLA_IPTUN_6RD_RELAY_PREFIXLEN, + IFLA_IPTUN_ENCAP_TYPE, + IFLA_IPTUN_ENCAP_FLAGS, + IFLA_IPTUN_ENCAP_SPORT, + IFLA_IPTUN_ENCAP_DPORT, + IFLA_IPTUN_COLLECT_METADATA, + IFLA_IPTUN_FWMARK, + __IFLA_IPTUN_MAX, +}; +#define IFLA_IPTUN_MAX (__IFLA_IPTUN_MAX - 1) +enum tunnel_encap_types { + TUNNEL_ENCAP_NONE, + TUNNEL_ENCAP_FOU, + TUNNEL_ENCAP_GUE, + TUNNEL_ENCAP_MPLS, +}; +#define TUNNEL_ENCAP_FLAG_CSUM (1<<0) +#define TUNNEL_ENCAP_FLAG_CSUM6 (1<<1) +#define TUNNEL_ENCAP_FLAG_REMCSUM (1<<2) +#define SIT_ISATAP 0x0001 +struct ip_tunnel_prl { + __be32 addr; + __u16 flags; + __u16 __reserved; + __u32 datalen; + __u32 __reserved2; + +}; +#define PRL_DEFAULT 0x0001 +struct ip_tunnel_6rd { + struct in6_addr prefix; + __be32 relay_prefix; + __u16 prefixlen; + __u16 relay_prefixlen; +}; +enum { + IFLA_GRE_UNSPEC, + IFLA_GRE_LINK, + IFLA_GRE_IFLAGS, + IFLA_GRE_OFLAGS, + IFLA_GRE_IKEY, + IFLA_GRE_OKEY, + IFLA_GRE_LOCAL, + IFLA_GRE_REMOTE, + IFLA_GRE_TTL, + IFLA_GRE_TOS, + IFLA_GRE_PMTUDISC, + IFLA_GRE_ENCAP_LIMIT, + IFLA_GRE_FLOWINFO, + IFLA_GRE_FLAGS, + IFLA_GRE_ENCAP_TYPE, + IFLA_GRE_ENCAP_FLAGS, + IFLA_GRE_ENCAP_SPORT, + IFLA_GRE_ENCAP_DPORT, + IFLA_GRE_COLLECT_METADATA, + IFLA_GRE_IGNORE_DF, + IFLA_GRE_FWMARK, + IFLA_GRE_ERSPAN_INDEX, + IFLA_GRE_ERSPAN_VER, + IFLA_GRE_ERSPAN_DIR, + IFLA_GRE_ERSPAN_HWID, + __IFLA_GRE_MAX, +}; +#define IFLA_GRE_MAX (__IFLA_GRE_MAX - 1) +#define VTI_ISVTI ((__force __be16)0x0001) +enum { + IFLA_VTI_UNSPEC, + IFLA_VTI_LINK, + IFLA_VTI_IKEY, + IFLA_VTI_OKEY, + IFLA_VTI_LOCAL, + IFLA_VTI_REMOTE, + IFLA_VTI_FWMARK, + __IFLA_VTI_MAX, +}; +#define IFLA_VTI_MAX (__IFLA_VTI_MAX - 1) +#define TUNNEL_CSUM __cpu_to_be16(0x01) +#define TUNNEL_ROUTING __cpu_to_be16(0x02) +#define TUNNEL_KEY __cpu_to_be16(0x04) +#define TUNNEL_SEQ __cpu_to_be16(0x08) +#define TUNNEL_STRICT __cpu_to_be16(0x10) +#define TUNNEL_REC __cpu_to_be16(0x20) +#define TUNNEL_VERSION __cpu_to_be16(0x40) +#define TUNNEL_NO_KEY __cpu_to_be16(0x80) +#define TUNNEL_DONT_FRAGMENT __cpu_to_be16(0x0100) +#define TUNNEL_OAM __cpu_to_be16(0x0200) +#define TUNNEL_CRIT_OPT __cpu_to_be16(0x0400) +#define TUNNEL_GENEVE_OPT __cpu_to_be16(0x0800) +#define TUNNEL_VXLAN_OPT __cpu_to_be16(0x1000) +#define TUNNEL_NOCACHE __cpu_to_be16(0x2000) +#define TUNNEL_ERSPAN_OPT __cpu_to_be16(0x4000) +#define TUNNEL_OPTIONS_PRESENT \ + (TUNNEL_GENEVE_OPT | TUNNEL_VXLAN_OPT | TUNNEL_ERSPAN_OPT) +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/if_vlan.h b/linux-5.10/prebuilts/usr/include/linux/if_vlan.h new file mode 100644 index 0000000..62000cf --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/if_vlan.h @@ -0,0 +1,47 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI_LINUX_IF_VLAN_H_ +#define _UAPI_LINUX_IF_VLAN_H_ +enum vlan_ioctl_cmds { + ADD_VLAN_CMD, + DEL_VLAN_CMD, + SET_VLAN_INGRESS_PRIORITY_CMD, + SET_VLAN_EGRESS_PRIORITY_CMD, + GET_VLAN_INGRESS_PRIORITY_CMD, + GET_VLAN_EGRESS_PRIORITY_CMD, + SET_VLAN_NAME_TYPE_CMD, + SET_VLAN_FLAG_CMD, + GET_VLAN_REALDEV_NAME_CMD, + GET_VLAN_VID_CMD +}; +enum vlan_flags { + VLAN_FLAG_REORDER_HDR = 0x1, + VLAN_FLAG_GVRP = 0x2, + VLAN_FLAG_LOOSE_BINDING = 0x4, + VLAN_FLAG_MVRP = 0x8, + VLAN_FLAG_BRIDGE_BINDING = 0x10, +}; +enum vlan_name_types { + VLAN_NAME_TYPE_PLUS_VID, + VLAN_NAME_TYPE_RAW_PLUS_VID, + VLAN_NAME_TYPE_PLUS_VID_NO_PAD, + VLAN_NAME_TYPE_RAW_PLUS_VID_NO_PAD, + VLAN_NAME_TYPE_HIGHEST +}; +struct vlan_ioctl_args { + int cmd; + char device1[24]; + union { + char device2[24]; + int VID; + unsigned int skb_priority; + unsigned int name_type; + unsigned int bind_type; + unsigned int flag; + } u; + short vlan_qos; +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/if_x25.h b/linux-5.10/prebuilts/usr/include/linux/if_x25.h new file mode 100644 index 0000000..1bd54b6 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/if_x25.h @@ -0,0 +1,13 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _IF_X25_H +#define _IF_X25_H +#include +#define X25_IFACE_DATA 0x00 +#define X25_IFACE_CONNECT 0x01 +#define X25_IFACE_DISCONNECT 0x02 +#define X25_IFACE_PARAMS 0x03 +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/if_xdp.h b/linux-5.10/prebuilts/usr/include/linux/if_xdp.h new file mode 100644 index 0000000..7ed3338 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/if_xdp.h @@ -0,0 +1,73 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _LINUX_IF_XDP_H +#define _LINUX_IF_XDP_H +#include +#define XDP_SHARED_UMEM (1 << 0) +#define XDP_COPY (1 << 1) +#define XDP_ZEROCOPY (1 << 2) +#define XDP_USE_NEED_WAKEUP (1 << 3) +#define XDP_UMEM_UNALIGNED_CHUNK_FLAG (1 << 0) +struct sockaddr_xdp { + __u16 sxdp_family; + __u16 sxdp_flags; + __u32 sxdp_ifindex; + __u32 sxdp_queue_id; + __u32 sxdp_shared_umem_fd; +}; +#define XDP_RING_NEED_WAKEUP (1 << 0) +struct xdp_ring_offset { + __u64 producer; + __u64 consumer; + __u64 desc; + __u64 flags; +}; +struct xdp_mmap_offsets { + struct xdp_ring_offset rx; + struct xdp_ring_offset tx; + struct xdp_ring_offset fr; + struct xdp_ring_offset cr; +}; +#define XDP_MMAP_OFFSETS 1 +#define XDP_RX_RING 2 +#define XDP_TX_RING 3 +#define XDP_UMEM_REG 4 +#define XDP_UMEM_FILL_RING 5 +#define XDP_UMEM_COMPLETION_RING 6 +#define XDP_STATISTICS 7 +#define XDP_OPTIONS 8 +struct xdp_umem_reg { + __u64 addr; + __u64 len; + __u32 chunk_size; + __u32 headroom; + __u32 flags; +}; +struct xdp_statistics { + __u64 rx_dropped; + __u64 rx_invalid_descs; + __u64 tx_invalid_descs; + __u64 rx_ring_full; + __u64 rx_fill_ring_empty_descs; + __u64 tx_ring_empty_descs; +}; +struct xdp_options { + __u32 flags; +}; +#define XDP_OPTIONS_ZEROCOPY (1 << 0) +#define XDP_PGOFF_RX_RING 0 +#define XDP_PGOFF_TX_RING 0x80000000 +#define XDP_UMEM_PGOFF_FILL_RING 0x100000000ULL +#define XDP_UMEM_PGOFF_COMPLETION_RING 0x180000000ULL +#define XSK_UNALIGNED_BUF_OFFSET_SHIFT 48 +#define XSK_UNALIGNED_BUF_ADDR_MASK \ + ((1ULL << XSK_UNALIGNED_BUF_OFFSET_SHIFT) - 1) +struct xdp_desc { + __u64 addr; + __u32 len; + __u32 options; +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/ife.h b/linux-5.10/prebuilts/usr/include/linux/ife.h new file mode 100644 index 0000000..95c8361 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/ife.h @@ -0,0 +1,18 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef __UAPI_IFE_H +#define __UAPI_IFE_H +#define IFE_METAHDRLEN 2 +enum { + IFE_META_SKBMARK = 1, + IFE_META_HASHID, + IFE_META_PRIO, + IFE_META_QMAP, + IFE_META_TCINDEX, + __IFE_META_MAX +}; +#define IFE_META_MAX (__IFE_META_MAX - 1) +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/igmp.h b/linux-5.10/prebuilts/usr/include/linux/igmp.h new file mode 100644 index 0000000..1ce6506 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/igmp.h @@ -0,0 +1,86 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI_LINUX_IGMP_H +#define _UAPI_LINUX_IGMP_H +#include +#include +struct igmphdr { + __u8 type; + __u8 code; + __sum16 csum; + __be32 group; +}; +#define IGMPV3_MODE_IS_INCLUDE 1 +#define IGMPV3_MODE_IS_EXCLUDE 2 +#define IGMPV3_CHANGE_TO_INCLUDE 3 +#define IGMPV3_CHANGE_TO_EXCLUDE 4 +#define IGMPV3_ALLOW_NEW_SOURCES 5 +#define IGMPV3_BLOCK_OLD_SOURCES 6 +struct igmpv3_grec { + __u8 grec_type; + __u8 grec_auxwords; + __be16 grec_nsrcs; + __be32 grec_mca; + __be32 grec_src[0]; +}; +struct igmpv3_report { + __u8 type; + __u8 resv1; + __sum16 csum; + __be16 resv2; + __be16 ngrec; + struct igmpv3_grec grec[0]; +}; +struct igmpv3_query { + __u8 type; + __u8 code; + __sum16 csum; + __be32 group; +#if defined(__LITTLE_ENDIAN_BITFIELD) + __u8 qrv:3, + suppress:1, + resv:4; +#elif defined(__BIG_ENDIAN_BITFIELD) + __u8 resv:4, + suppress:1, + qrv:3; +#else +#error "Please fix " +#endif + __u8 qqic; + __be16 nsrcs; + __be32 srcs[0]; +}; +#define IGMP_HOST_MEMBERSHIP_QUERY 0x11 +#define IGMP_HOST_MEMBERSHIP_REPORT 0x12 +#define IGMP_DVMRP 0x13 +#define IGMP_PIM 0x14 +#define IGMP_TRACE 0x15 +#define IGMPV2_HOST_MEMBERSHIP_REPORT 0x16 +#define IGMP_HOST_LEAVE_MESSAGE 0x17 +#define IGMPV3_HOST_MEMBERSHIP_REPORT 0x22 +#define IGMP_MTRACE_RESP 0x1e +#define IGMP_MTRACE 0x1f +#define IGMP_MRDISC_ADV 0x30 +#define IGMP_DELAYING_MEMBER 0x01 +#define IGMP_IDLE_MEMBER 0x02 +#define IGMP_LAZY_MEMBER 0x03 +#define IGMP_SLEEPING_MEMBER 0x04 +#define IGMP_AWAKENING_MEMBER 0x05 +#define IGMP_MINLEN 8 +#define IGMP_MAX_HOST_REPORT_DELAY 10 + +#define IGMP_TIMER_SCALE 10 + +#define IGMP_AGE_THRESHOLD 400 + + +#define IGMP_ALL_HOSTS htonl(0xE0000001L) +#define IGMP_ALL_ROUTER htonl(0xE0000002L) +#define IGMPV3_ALL_MCR htonl(0xE0000016L) +#define IGMP_LOCAL_GROUP htonl(0xE0000000L) +#define IGMP_LOCAL_GROUP_MASK htonl(0xFFFFFF00L) +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/iio/events.h b/linux-5.10/prebuilts/usr/include/linux/iio/events.h new file mode 100644 index 0000000..9055789 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/iio/events.h @@ -0,0 +1,22 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI_IIO_EVENTS_H_ +#define _UAPI_IIO_EVENTS_H_ +#include +#include +struct iio_event_data { + __u64 id; + __s64 timestamp; +}; +#define IIO_GET_EVENT_FD_IOCTL _IOR('i', 0x90, int) +#define IIO_EVENT_CODE_EXTRACT_TYPE(mask) ((mask >> 56) & 0xFF) +#define IIO_EVENT_CODE_EXTRACT_DIR(mask) ((mask >> 48) & 0x7F) +#define IIO_EVENT_CODE_EXTRACT_CHAN_TYPE(mask) ((mask >> 32) & 0xFF) +#define IIO_EVENT_CODE_EXTRACT_CHAN(mask) ((__s16)(mask & 0xFFFF)) +#define IIO_EVENT_CODE_EXTRACT_CHAN2(mask) ((__s16)(((mask) >> 16) & 0xFFFF)) +#define IIO_EVENT_CODE_EXTRACT_MODIFIER(mask) ((mask >> 40) & 0xFF) +#define IIO_EVENT_CODE_EXTRACT_DIFF(mask) (((mask) >> 55) & 0x1) +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/iio/types.h b/linux-5.10/prebuilts/usr/include/linux/iio/types.h new file mode 100644 index 0000000..79bab9c --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/iio/types.h @@ -0,0 +1,106 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI_IIO_TYPES_H_ +#define _UAPI_IIO_TYPES_H_ +enum iio_chan_type { + IIO_VOLTAGE, + IIO_CURRENT, + IIO_POWER, + IIO_ACCEL, + IIO_ANGL_VEL, + IIO_MAGN, + IIO_LIGHT, + IIO_INTENSITY, + IIO_PROXIMITY, + IIO_TEMP, + IIO_INCLI, + IIO_ROT, + IIO_ANGL, + IIO_TIMESTAMP, + IIO_CAPACITANCE, + IIO_ALTVOLTAGE, + IIO_CCT, + IIO_PRESSURE, + IIO_HUMIDITYRELATIVE, + IIO_ACTIVITY, + IIO_STEPS, + IIO_ENERGY, + IIO_DISTANCE, + IIO_VELOCITY, + IIO_CONCENTRATION, + IIO_RESISTANCE, + IIO_PH, + IIO_UVINDEX, + IIO_ELECTRICALCONDUCTIVITY, + IIO_COUNT, + IIO_INDEX, + IIO_GRAVITY, + IIO_POSITIONRELATIVE, + IIO_PHASE, + IIO_MASSCONCENTRATION, +}; +enum iio_modifier { + IIO_NO_MOD, + IIO_MOD_X, + IIO_MOD_Y, + IIO_MOD_Z, + IIO_MOD_X_AND_Y, + IIO_MOD_X_AND_Z, + IIO_MOD_Y_AND_Z, + IIO_MOD_X_AND_Y_AND_Z, + IIO_MOD_X_OR_Y, + IIO_MOD_X_OR_Z, + IIO_MOD_Y_OR_Z, + IIO_MOD_X_OR_Y_OR_Z, + IIO_MOD_LIGHT_BOTH, + IIO_MOD_LIGHT_IR, + IIO_MOD_ROOT_SUM_SQUARED_X_Y, + IIO_MOD_SUM_SQUARED_X_Y_Z, + IIO_MOD_LIGHT_CLEAR, + IIO_MOD_LIGHT_RED, + IIO_MOD_LIGHT_GREEN, + IIO_MOD_LIGHT_BLUE, + IIO_MOD_QUATERNION, + IIO_MOD_TEMP_AMBIENT, + IIO_MOD_TEMP_OBJECT, + IIO_MOD_NORTH_MAGN, + IIO_MOD_NORTH_TRUE, + IIO_MOD_NORTH_MAGN_TILT_COMP, + IIO_MOD_NORTH_TRUE_TILT_COMP, + IIO_MOD_RUNNING, + IIO_MOD_JOGGING, + IIO_MOD_WALKING, + IIO_MOD_STILL, + IIO_MOD_ROOT_SUM_SQUARED_X_Y_Z, + IIO_MOD_I, + IIO_MOD_Q, + IIO_MOD_CO2, + IIO_MOD_VOC, + IIO_MOD_LIGHT_UV, + IIO_MOD_LIGHT_DUV, + IIO_MOD_PM1, + IIO_MOD_PM2P5, + IIO_MOD_PM4, + IIO_MOD_PM10, + IIO_MOD_ETHANOL, + IIO_MOD_H2, + IIO_MOD_O2, +}; +enum iio_event_type { + IIO_EV_TYPE_THRESH, + IIO_EV_TYPE_MAG, + IIO_EV_TYPE_ROC, + IIO_EV_TYPE_THRESH_ADAPTIVE, + IIO_EV_TYPE_MAG_ADAPTIVE, + IIO_EV_TYPE_CHANGE, +}; +enum iio_event_direction { + IIO_EV_DIR_EITHER, + IIO_EV_DIR_RISING, + IIO_EV_DIR_FALLING, + IIO_EV_DIR_NONE, +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/ila.h b/linux-5.10/prebuilts/usr/include/linux/ila.h new file mode 100644 index 0000000..2d72377 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/ila.h @@ -0,0 +1,56 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI_LINUX_ILA_H +#define _UAPI_LINUX_ILA_H +#define ILA_GENL_NAME "ila" +#define ILA_GENL_VERSION 0x1 +enum { + ILA_ATTR_UNSPEC, + ILA_ATTR_LOCATOR, + ILA_ATTR_IDENTIFIER, + ILA_ATTR_LOCATOR_MATCH, + ILA_ATTR_IFINDEX, + ILA_ATTR_DIR, + ILA_ATTR_PAD, + ILA_ATTR_CSUM_MODE, + ILA_ATTR_IDENT_TYPE, + ILA_ATTR_HOOK_TYPE, + __ILA_ATTR_MAX, +}; +#define ILA_ATTR_MAX (__ILA_ATTR_MAX - 1) +enum { + ILA_CMD_UNSPEC, + ILA_CMD_ADD, + ILA_CMD_DEL, + ILA_CMD_GET, + ILA_CMD_FLUSH, + __ILA_CMD_MAX, +}; +#define ILA_CMD_MAX (__ILA_CMD_MAX - 1) +#define ILA_DIR_IN (1 << 0) +#define ILA_DIR_OUT (1 << 1) +enum { + ILA_CSUM_ADJUST_TRANSPORT, + ILA_CSUM_NEUTRAL_MAP, + ILA_CSUM_NO_ACTION, + ILA_CSUM_NEUTRAL_MAP_AUTO, +}; +enum { + ILA_ATYPE_IID = 0, + ILA_ATYPE_LUID, + ILA_ATYPE_VIRT_V4, + ILA_ATYPE_VIRT_UNI_V6, + ILA_ATYPE_VIRT_MULTI_V6, + ILA_ATYPE_NONLOCAL_ADDR, + ILA_ATYPE_RSVD_1, + ILA_ATYPE_RSVD_2, + ILA_ATYPE_USE_FORMAT = 32, +}; +enum { + ILA_HOOK_ROUTE_OUTPUT, + ILA_HOOK_ROUTE_INPUT, +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/in.h b/linux-5.10/prebuilts/usr/include/linux/in.h new file mode 100644 index 0000000..b2b0900 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/in.h @@ -0,0 +1,233 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI_LINUX_IN_H +#define _UAPI_LINUX_IN_H +#include +#include +#include +#if __UAPI_DEF_IN_IPPROTO +enum { + IPPROTO_IP = 0, +#define IPPROTO_IP IPPROTO_IP + IPPROTO_ICMP = 1, +#define IPPROTO_ICMP IPPROTO_ICMP + IPPROTO_IGMP = 2, +#define IPPROTO_IGMP IPPROTO_IGMP + IPPROTO_IPIP = 4, +#define IPPROTO_IPIP IPPROTO_IPIP + IPPROTO_TCP = 6, +#define IPPROTO_TCP IPPROTO_TCP + IPPROTO_EGP = 8, +#define IPPROTO_EGP IPPROTO_EGP + IPPROTO_PUP = 12, +#define IPPROTO_PUP IPPROTO_PUP + IPPROTO_UDP = 17, +#define IPPROTO_UDP IPPROTO_UDP + IPPROTO_IDP = 22, +#define IPPROTO_IDP IPPROTO_IDP + IPPROTO_TP = 29, +#define IPPROTO_TP IPPROTO_TP + IPPROTO_DCCP = 33, +#define IPPROTO_DCCP IPPROTO_DCCP + IPPROTO_IPV6 = 41, +#define IPPROTO_IPV6 IPPROTO_IPV6 + IPPROTO_RSVP = 46, +#define IPPROTO_RSVP IPPROTO_RSVP + IPPROTO_GRE = 47, +#define IPPROTO_GRE IPPROTO_GRE + IPPROTO_ESP = 50, +#define IPPROTO_ESP IPPROTO_ESP + IPPROTO_AH = 51, +#define IPPROTO_AH IPPROTO_AH + IPPROTO_MTP = 92, +#define IPPROTO_MTP IPPROTO_MTP + IPPROTO_BEETPH = 94, +#define IPPROTO_BEETPH IPPROTO_BEETPH + IPPROTO_ENCAP = 98, +#define IPPROTO_ENCAP IPPROTO_ENCAP + IPPROTO_PIM = 103, +#define IPPROTO_PIM IPPROTO_PIM + IPPROTO_COMP = 108, +#define IPPROTO_COMP IPPROTO_COMP + IPPROTO_SCTP = 132, +#define IPPROTO_SCTP IPPROTO_SCTP + IPPROTO_UDPLITE = 136, +#define IPPROTO_UDPLITE IPPROTO_UDPLITE + IPPROTO_MPLS = 137, +#define IPPROTO_MPLS IPPROTO_MPLS + IPPROTO_ETHERNET = 143, +#define IPPROTO_ETHERNET IPPROTO_ETHERNET + IPPROTO_RAW = 255, +#define IPPROTO_RAW IPPROTO_RAW + IPPROTO_MPTCP = 262, +#define IPPROTO_MPTCP IPPROTO_MPTCP + IPPROTO_MAX +}; +#endif +#if __UAPI_DEF_IN_ADDR +struct in_addr { + __be32 s_addr; +}; +#endif +#define IP_TOS 1 +#define IP_TTL 2 +#define IP_HDRINCL 3 +#define IP_OPTIONS 4 +#define IP_ROUTER_ALERT 5 +#define IP_RECVOPTS 6 +#define IP_RETOPTS 7 +#define IP_PKTINFO 8 +#define IP_PKTOPTIONS 9 +#define IP_MTU_DISCOVER 10 +#define IP_RECVERR 11 +#define IP_RECVTTL 12 +#define IP_RECVTOS 13 +#define IP_MTU 14 +#define IP_FREEBIND 15 +#define IP_IPSEC_POLICY 16 +#define IP_XFRM_POLICY 17 +#define IP_PASSSEC 18 +#define IP_TRANSPARENT 19 +#define IP_RECVRETOPTS IP_RETOPTS +#define IP_ORIGDSTADDR 20 +#define IP_RECVORIGDSTADDR IP_ORIGDSTADDR +#define IP_MINTTL 21 +#define IP_NODEFRAG 22 +#define IP_CHECKSUM 23 +#define IP_BIND_ADDRESS_NO_PORT 24 +#define IP_RECVFRAGSIZE 25 +#define IP_RECVERR_RFC4884 26 +#define IP_PMTUDISC_DONT 0 +#define IP_PMTUDISC_WANT 1 +#define IP_PMTUDISC_DO 2 +#define IP_PMTUDISC_PROBE 3 +#define IP_PMTUDISC_INTERFACE 4 +#define IP_PMTUDISC_OMIT 5 +#define IP_MULTICAST_IF 32 +#define IP_MULTICAST_TTL 33 +#define IP_MULTICAST_LOOP 34 +#define IP_ADD_MEMBERSHIP 35 +#define IP_DROP_MEMBERSHIP 36 +#define IP_UNBLOCK_SOURCE 37 +#define IP_BLOCK_SOURCE 38 +#define IP_ADD_SOURCE_MEMBERSHIP 39 +#define IP_DROP_SOURCE_MEMBERSHIP 40 +#define IP_MSFILTER 41 +#define MCAST_JOIN_GROUP 42 +#define MCAST_BLOCK_SOURCE 43 +#define MCAST_UNBLOCK_SOURCE 44 +#define MCAST_LEAVE_GROUP 45 +#define MCAST_JOIN_SOURCE_GROUP 46 +#define MCAST_LEAVE_SOURCE_GROUP 47 +#define MCAST_MSFILTER 48 +#define IP_MULTICAST_ALL 49 +#define IP_UNICAST_IF 50 +#define MCAST_EXCLUDE 0 +#define MCAST_INCLUDE 1 +#define IP_DEFAULT_MULTICAST_TTL 1 +#define IP_DEFAULT_MULTICAST_LOOP 1 +#if __UAPI_DEF_IP_MREQ +struct ip_mreq { + struct in_addr imr_multiaddr; + struct in_addr imr_interface; +}; +struct ip_mreqn { + struct in_addr imr_multiaddr; + struct in_addr imr_address; + int imr_ifindex; +}; +struct ip_mreq_source { + __be32 imr_multiaddr; + __be32 imr_interface; + __be32 imr_sourceaddr; +}; +struct ip_msfilter { + __be32 imsf_multiaddr; + __be32 imsf_interface; + __u32 imsf_fmode; + __u32 imsf_numsrc; + __be32 imsf_slist[1]; +}; +#define IP_MSFILTER_SIZE(numsrc) \ + (sizeof(struct ip_msfilter) - sizeof(__u32) \ + + (numsrc) * sizeof(__u32)) +struct group_req { + __u32 gr_interface; + struct sockaddr_storage gr_group; +}; +struct group_source_req { + __u32 gsr_interface; + struct sockaddr_storage gsr_group; + struct sockaddr_storage gsr_source; +}; +struct group_filter { + __u32 gf_interface; + struct sockaddr_storage gf_group; + __u32 gf_fmode; + __u32 gf_numsrc; + struct sockaddr_storage gf_slist[1]; +}; +#define GROUP_FILTER_SIZE(numsrc) \ + (sizeof(struct group_filter) - sizeof(struct sockaddr_storage) \ + + (numsrc) * sizeof(struct sockaddr_storage)) +#endif +#if __UAPI_DEF_IN_PKTINFO +struct in_pktinfo { + int ipi_ifindex; + struct in_addr ipi_spec_dst; + struct in_addr ipi_addr; +}; +#endif +#if __UAPI_DEF_SOCKADDR_IN +#define __SOCK_SIZE__ 16 +struct sockaddr_in { + __kernel_sa_family_t sin_family; + __be16 sin_port; + struct in_addr sin_addr; + + unsigned char __pad[__SOCK_SIZE__ - sizeof(short int) - + sizeof(unsigned short int) - sizeof(struct in_addr)]; +}; +#define sin_zero __pad +#endif +#if __UAPI_DEF_IN_CLASS +#define IN_CLASSA(a) ((((long int) (a)) & 0x80000000) == 0) +#define IN_CLASSA_NET 0xff000000 +#define IN_CLASSA_NSHIFT 24 +#define IN_CLASSA_HOST (0xffffffff & ~IN_CLASSA_NET) +#define IN_CLASSA_MAX 128 +#define IN_CLASSB(a) ((((long int) (a)) & 0xc0000000) == 0x80000000) +#define IN_CLASSB_NET 0xffff0000 +#define IN_CLASSB_NSHIFT 16 +#define IN_CLASSB_HOST (0xffffffff & ~IN_CLASSB_NET) +#define IN_CLASSB_MAX 65536 +#define IN_CLASSC(a) ((((long int) (a)) & 0xe0000000) == 0xc0000000) +#define IN_CLASSC_NET 0xffffff00 +#define IN_CLASSC_NSHIFT 8 +#define IN_CLASSC_HOST (0xffffffff & ~IN_CLASSC_NET) +#define IN_CLASSD(a) ((((long int) (a)) & 0xf0000000) == 0xe0000000) +#define IN_MULTICAST(a) IN_CLASSD(a) +#define IN_MULTICAST_NET 0xe0000000 +#define IN_BADCLASS(a) (((long int) (a) ) == (long int)0xffffffff) +#define IN_EXPERIMENTAL(a) IN_BADCLASS((a)) +#define IN_CLASSE(a) ((((long int) (a)) & 0xf0000000) == 0xf0000000) +#define IN_CLASSE_NET 0xffffffff +#define IN_CLASSE_NSHIFT 0 +#define INADDR_ANY ((unsigned long int) 0x00000000) +#define INADDR_BROADCAST ((unsigned long int) 0xffffffff) +#define INADDR_NONE ((unsigned long int) 0xffffffff) +#define INADDR_DUMMY ((unsigned long int) 0xc0000008) +#define IN_LOOPBACKNET 127 +#define INADDR_LOOPBACK 0x7f000001 +#define IN_LOOPBACK(a) ((((long int) (a)) & 0xff000000) == 0x7f000000) +#define INADDR_UNSPEC_GROUP 0xe0000000U +#define INADDR_ALLHOSTS_GROUP 0xe0000001U +#define INADDR_ALLRTRS_GROUP 0xe0000002U +#define INADDR_ALLSNOOPERS_GROUP 0xe000006aU +#define INADDR_MAX_LOCAL_GROUP 0xe00000ffU +#endif +#include +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/in6.h b/linux-5.10/prebuilts/usr/include/linux/in6.h new file mode 100644 index 0000000..6c8f9e1 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/in6.h @@ -0,0 +1,175 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI_LINUX_IN6_H +#define _UAPI_LINUX_IN6_H +#include +#include +#if __UAPI_DEF_IN6_ADDR +struct in6_addr { + union { + __u8 u6_addr8[16]; +#if __UAPI_DEF_IN6_ADDR_ALT + __be16 u6_addr16[8]; + __be32 u6_addr32[4]; +#endif + } in6_u; +#define s6_addr in6_u.u6_addr8 +#if __UAPI_DEF_IN6_ADDR_ALT +#define s6_addr16 in6_u.u6_addr16 +#define s6_addr32 in6_u.u6_addr32 +#endif +}; +#endif +#if __UAPI_DEF_SOCKADDR_IN6 +struct sockaddr_in6 { + unsigned short int sin6_family; + __be16 sin6_port; + __be32 sin6_flowinfo; + struct in6_addr sin6_addr; + __u32 sin6_scope_id; +}; +#endif +#if __UAPI_DEF_IPV6_MREQ +struct ipv6_mreq { + + struct in6_addr ipv6mr_multiaddr; + + int ipv6mr_ifindex; +}; +#endif +#define ipv6mr_acaddr ipv6mr_multiaddr +struct in6_flowlabel_req { + struct in6_addr flr_dst; + __be32 flr_label; + __u8 flr_action; + __u8 flr_share; + __u16 flr_flags; + __u16 flr_expires; + __u16 flr_linger; + __u32 __flr_pad; + +}; +#define IPV6_FL_A_GET 0 +#define IPV6_FL_A_PUT 1 +#define IPV6_FL_A_RENEW 2 +#define IPV6_FL_F_CREATE 1 +#define IPV6_FL_F_EXCL 2 +#define IPV6_FL_F_REFLECT 4 +#define IPV6_FL_F_REMOTE 8 +#define IPV6_FL_S_NONE 0 +#define IPV6_FL_S_EXCL 1 +#define IPV6_FL_S_PROCESS 2 +#define IPV6_FL_S_USER 3 +#define IPV6_FL_S_ANY 255 +#define IPV6_FLOWINFO_FLOWLABEL 0x000fffff +#define IPV6_FLOWINFO_PRIORITY 0x0ff00000 +#define IPV6_PRIORITY_UNCHARACTERIZED 0x0000 +#define IPV6_PRIORITY_FILLER 0x0100 +#define IPV6_PRIORITY_UNATTENDED 0x0200 +#define IPV6_PRIORITY_RESERVED1 0x0300 +#define IPV6_PRIORITY_BULK 0x0400 +#define IPV6_PRIORITY_RESERVED2 0x0500 +#define IPV6_PRIORITY_INTERACTIVE 0x0600 +#define IPV6_PRIORITY_CONTROL 0x0700 +#define IPV6_PRIORITY_8 0x0800 +#define IPV6_PRIORITY_9 0x0900 +#define IPV6_PRIORITY_10 0x0a00 +#define IPV6_PRIORITY_11 0x0b00 +#define IPV6_PRIORITY_12 0x0c00 +#define IPV6_PRIORITY_13 0x0d00 +#define IPV6_PRIORITY_14 0x0e00 +#define IPV6_PRIORITY_15 0x0f00 +#if __UAPI_DEF_IPPROTO_V6 +#define IPPROTO_HOPOPTS 0 +#define IPPROTO_ROUTING 43 +#define IPPROTO_FRAGMENT 44 +#define IPPROTO_ICMPV6 58 +#define IPPROTO_NONE 59 +#define IPPROTO_DSTOPTS 60 +#define IPPROTO_MH 135 +#endif +#define IPV6_TLV_PAD1 0 +#define IPV6_TLV_PADN 1 +#define IPV6_TLV_ROUTERALERT 5 +#define IPV6_TLV_CALIPSO 7 +#define IPV6_TLV_JUMBO 194 +#define IPV6_TLV_HAO 201 +#if __UAPI_DEF_IPV6_OPTIONS +#define IPV6_ADDRFORM 1 +#define IPV6_2292PKTINFO 2 +#define IPV6_2292HOPOPTS 3 +#define IPV6_2292DSTOPTS 4 +#define IPV6_2292RTHDR 5 +#define IPV6_2292PKTOPTIONS 6 +#define IPV6_CHECKSUM 7 +#define IPV6_2292HOPLIMIT 8 +#define IPV6_NEXTHOP 9 +#define IPV6_AUTHHDR 10 +#define IPV6_FLOWINFO 11 +#define IPV6_UNICAST_HOPS 16 +#define IPV6_MULTICAST_IF 17 +#define IPV6_MULTICAST_HOPS 18 +#define IPV6_MULTICAST_LOOP 19 +#define IPV6_ADD_MEMBERSHIP 20 +#define IPV6_DROP_MEMBERSHIP 21 +#define IPV6_ROUTER_ALERT 22 +#define IPV6_MTU_DISCOVER 23 +#define IPV6_MTU 24 +#define IPV6_RECVERR 25 +#define IPV6_V6ONLY 26 +#define IPV6_JOIN_ANYCAST 27 +#define IPV6_LEAVE_ANYCAST 28 +#define IPV6_MULTICAST_ALL 29 +#define IPV6_ROUTER_ALERT_ISOLATE 30 +#define IPV6_RECVERR_RFC4884 31 +#define IPV6_PMTUDISC_DONT 0 +#define IPV6_PMTUDISC_WANT 1 +#define IPV6_PMTUDISC_DO 2 +#define IPV6_PMTUDISC_PROBE 3 +#define IPV6_PMTUDISC_INTERFACE 4 +#define IPV6_PMTUDISC_OMIT 5 +#define IPV6_FLOWLABEL_MGR 32 +#define IPV6_FLOWINFO_SEND 33 +#define IPV6_IPSEC_POLICY 34 +#define IPV6_XFRM_POLICY 35 +#define IPV6_HDRINCL 36 +#endif +#define IPV6_RECVPKTINFO 49 +#define IPV6_PKTINFO 50 +#define IPV6_RECVHOPLIMIT 51 +#define IPV6_HOPLIMIT 52 +#define IPV6_RECVHOPOPTS 53 +#define IPV6_HOPOPTS 54 +#define IPV6_RTHDRDSTOPTS 55 +#define IPV6_RECVRTHDR 56 +#define IPV6_RTHDR 57 +#define IPV6_RECVDSTOPTS 58 +#define IPV6_DSTOPTS 59 +#define IPV6_RECVPATHMTU 60 +#define IPV6_PATHMTU 61 +#define IPV6_DONTFRAG 62 +#if 0 +#define IPV6_USE_MIN_MTU 63 +#endif +#define IPV6_RECVTCLASS 66 +#define IPV6_TCLASS 67 +#define IPV6_AUTOFLOWLABEL 70 +#define IPV6_ADDR_PREFERENCES 72 +#define IPV6_PREFER_SRC_TMP 0x0001 +#define IPV6_PREFER_SRC_PUBLIC 0x0002 +#define IPV6_PREFER_SRC_PUBTMP_DEFAULT 0x0100 +#define IPV6_PREFER_SRC_COA 0x0004 +#define IPV6_PREFER_SRC_HOME 0x0400 +#define IPV6_PREFER_SRC_CGA 0x0008 +#define IPV6_PREFER_SRC_NONCGA 0x0800 +#define IPV6_MINHOPCOUNT 73 +#define IPV6_ORIGDSTADDR 74 +#define IPV6_RECVORIGDSTADDR IPV6_ORIGDSTADDR +#define IPV6_TRANSPARENT 75 +#define IPV6_UNICAST_IF 76 +#define IPV6_RECVFRAGSIZE 77 +#define IPV6_FREEBIND 78 +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/in_route.h b/linux-5.10/prebuilts/usr/include/linux/in_route.h new file mode 100644 index 0000000..6e33726 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/in_route.h @@ -0,0 +1,27 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _LINUX_IN_ROUTE_H +#define _LINUX_IN_ROUTE_H +#define RTCF_DEAD RTNH_F_DEAD +#define RTCF_ONLINK RTNH_F_ONLINK +#define RTCF_NOPMTUDISC RTM_F_NOPMTUDISC +#define RTCF_NOTIFY 0x00010000 +#define RTCF_DIRECTDST 0x00020000 +#define RTCF_REDIRECTED 0x00040000 +#define RTCF_TPROXY 0x00080000 +#define RTCF_FAST 0x00200000 +#define RTCF_MASQ 0x00400000 +#define RTCF_SNAT 0x00800000 +#define RTCF_DOREDIRECT 0x01000000 +#define RTCF_DIRECTSRC 0x04000000 +#define RTCF_DNAT 0x08000000 +#define RTCF_BROADCAST 0x10000000 +#define RTCF_MULTICAST 0x20000000 +#define RTCF_REJECT 0x40000000 +#define RTCF_LOCAL 0x80000000 +#define RTCF_NAT (RTCF_DNAT|RTCF_SNAT) +#define RT_TOS(tos) ((tos)&IPTOS_TOS_MASK) +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/inet_diag.h b/linux-5.10/prebuilts/usr/include/linux/inet_diag.h new file mode 100644 index 0000000..1050419 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/inet_diag.h @@ -0,0 +1,180 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI_INET_DIAG_H_ +#define _UAPI_INET_DIAG_H_ +#include +#define TCPDIAG_GETSOCK 18 +#define DCCPDIAG_GETSOCK 19 +#define INET_DIAG_GETSOCK_MAX 24 +struct inet_diag_sockid { + __be16 idiag_sport; + __be16 idiag_dport; + __be32 idiag_src[4]; + __be32 idiag_dst[4]; + __u32 idiag_if; + __u32 idiag_cookie[2]; +#define INET_DIAG_NOCOOKIE (~0U) +}; +struct inet_diag_req { + __u8 idiag_family; + __u8 idiag_src_len; + __u8 idiag_dst_len; + __u8 idiag_ext; + struct inet_diag_sockid id; + __u32 idiag_states; + __u32 idiag_dbs; +}; +struct inet_diag_req_v2 { + __u8 sdiag_family; + __u8 sdiag_protocol; + __u8 idiag_ext; + __u8 pad; + __u32 idiag_states; + struct inet_diag_sockid id; +}; +struct inet_diag_req_raw { + __u8 sdiag_family; + __u8 sdiag_protocol; + __u8 idiag_ext; + __u8 sdiag_raw_protocol; + __u32 idiag_states; + struct inet_diag_sockid id; +}; +enum { + INET_DIAG_REQ_NONE, + INET_DIAG_REQ_BYTECODE, + INET_DIAG_REQ_SK_BPF_STORAGES, + INET_DIAG_REQ_PROTOCOL, + __INET_DIAG_REQ_MAX, +}; +#define INET_DIAG_REQ_MAX (__INET_DIAG_REQ_MAX - 1) + +struct inet_diag_bc_op { + unsigned char code; + unsigned char yes; + unsigned short no; +}; +enum { + INET_DIAG_BC_NOP, + INET_DIAG_BC_JMP, + INET_DIAG_BC_S_GE, + INET_DIAG_BC_S_LE, + INET_DIAG_BC_D_GE, + INET_DIAG_BC_D_LE, + INET_DIAG_BC_AUTO, + INET_DIAG_BC_S_COND, + INET_DIAG_BC_D_COND, + INET_DIAG_BC_DEV_COND, + INET_DIAG_BC_MARK_COND, + INET_DIAG_BC_S_EQ, + INET_DIAG_BC_D_EQ, + INET_DIAG_BC_CGROUP_COND, +}; +struct inet_diag_hostcond { + __u8 family; + __u8 prefix_len; + int port; + __be32 addr[0]; +}; +struct inet_diag_markcond { + __u32 mark; + __u32 mask; +}; +struct inet_diag_msg { + __u8 idiag_family; + __u8 idiag_state; + __u8 idiag_timer; + __u8 idiag_retrans; + struct inet_diag_sockid id; + __u32 idiag_expires; + __u32 idiag_rqueue; + __u32 idiag_wqueue; + __u32 idiag_uid; + __u32 idiag_inode; +}; +enum { + INET_DIAG_NONE, + INET_DIAG_MEMINFO, + INET_DIAG_INFO, + INET_DIAG_VEGASINFO, + INET_DIAG_CONG, + INET_DIAG_TOS, + INET_DIAG_TCLASS, + INET_DIAG_SKMEMINFO, + INET_DIAG_SHUTDOWN, + + INET_DIAG_DCTCPINFO, + INET_DIAG_PROTOCOL, + INET_DIAG_SKV6ONLY, + INET_DIAG_LOCALS, + INET_DIAG_PEERS, + INET_DIAG_PAD, + INET_DIAG_MARK, + INET_DIAG_BBRINFO, + INET_DIAG_CLASS_ID, + INET_DIAG_MD5SIG, + INET_DIAG_ULP_INFO, + INET_DIAG_SK_BPF_STORAGES, + INET_DIAG_CGROUP_ID, + INET_DIAG_SOCKOPT, + __INET_DIAG_MAX, +}; +#define INET_DIAG_MAX (__INET_DIAG_MAX - 1) +enum { + INET_ULP_INFO_UNSPEC, + INET_ULP_INFO_NAME, + INET_ULP_INFO_TLS, + INET_ULP_INFO_MPTCP, + __INET_ULP_INFO_MAX, +}; +#define INET_ULP_INFO_MAX (__INET_ULP_INFO_MAX - 1) +struct inet_diag_meminfo { + __u32 idiag_rmem; + __u32 idiag_wmem; + __u32 idiag_fmem; + __u32 idiag_tmem; +}; +struct inet_diag_sockopt { + __u8 recverr:1, + is_icsk:1, + freebind:1, + hdrincl:1, + mc_loop:1, + transparent:1, + mc_all:1, + nodefrag:1; + __u8 bind_address_no_port:1, + recverr_rfc4884:1, + defer_connect:1, + unused:5; +}; +struct tcpvegas_info { + __u32 tcpv_enabled; + __u32 tcpv_rttcnt; + __u32 tcpv_rtt; + __u32 tcpv_minrtt; +}; +struct tcp_dctcp_info { + __u16 dctcp_enabled; + __u16 dctcp_ce_state; + __u32 dctcp_alpha; + __u32 dctcp_ab_ecn; + __u32 dctcp_ab_tot; +}; +struct tcp_bbr_info { + + __u32 bbr_bw_lo; + __u32 bbr_bw_hi; + __u32 bbr_min_rtt; + __u32 bbr_pacing_gain; + __u32 bbr_cwnd_gain; +}; +union tcp_cc_info { + struct tcpvegas_info vegas; + struct tcp_dctcp_info dctcp; + struct tcp_bbr_info bbr; +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/inotify.h b/linux-5.10/prebuilts/usr/include/linux/inotify.h new file mode 100644 index 0000000..c8b4e75 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/inotify.h @@ -0,0 +1,48 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI_LINUX_INOTIFY_H +#define _UAPI_LINUX_INOTIFY_H +#include +#include +struct inotify_event { + __s32 wd; + __u32 mask; + __u32 cookie; + __u32 len; + char name[0]; +}; +#define IN_ACCESS 0x00000001 +#define IN_MODIFY 0x00000002 +#define IN_ATTRIB 0x00000004 +#define IN_CLOSE_WRITE 0x00000008 +#define IN_CLOSE_NOWRITE 0x00000010 +#define IN_OPEN 0x00000020 +#define IN_MOVED_FROM 0x00000040 +#define IN_MOVED_TO 0x00000080 +#define IN_CREATE 0x00000100 +#define IN_DELETE 0x00000200 +#define IN_DELETE_SELF 0x00000400 +#define IN_MOVE_SELF 0x00000800 +#define IN_UNMOUNT 0x00002000 +#define IN_Q_OVERFLOW 0x00004000 +#define IN_IGNORED 0x00008000 +#define IN_CLOSE (IN_CLOSE_WRITE | IN_CLOSE_NOWRITE) +#define IN_MOVE (IN_MOVED_FROM | IN_MOVED_TO) +#define IN_ONLYDIR 0x01000000 +#define IN_DONT_FOLLOW 0x02000000 +#define IN_EXCL_UNLINK 0x04000000 +#define IN_MASK_CREATE 0x10000000 +#define IN_MASK_ADD 0x20000000 +#define IN_ISDIR 0x40000000 +#define IN_ONESHOT 0x80000000 +#define IN_ALL_EVENTS (IN_ACCESS | IN_MODIFY | IN_ATTRIB | IN_CLOSE_WRITE | \ + IN_CLOSE_NOWRITE | IN_OPEN | IN_MOVED_FROM | \ + IN_MOVED_TO | IN_DELETE | IN_CREATE | IN_DELETE_SELF | \ + IN_MOVE_SELF) +#define IN_CLOEXEC O_CLOEXEC +#define IN_NONBLOCK O_NONBLOCK +#define INOTIFY_IOC_SETNEXTWD _IOW('I', 0, __s32) +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/input-event-codes.h b/linux-5.10/prebuilts/usr/include/linux/input-event-codes.h new file mode 100644 index 0000000..c06e4f8 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/input-event-codes.h @@ -0,0 +1,762 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI_INPUT_EVENT_CODES_H +#define _UAPI_INPUT_EVENT_CODES_H +#define INPUT_PROP_POINTER 0x00 +#define INPUT_PROP_DIRECT 0x01 +#define INPUT_PROP_BUTTONPAD 0x02 +#define INPUT_PROP_SEMI_MT 0x03 +#define INPUT_PROP_TOPBUTTONPAD 0x04 +#define INPUT_PROP_POINTING_STICK 0x05 +#define INPUT_PROP_ACCELEROMETER 0x06 +#define INPUT_PROP_MAX 0x1f +#define INPUT_PROP_CNT (INPUT_PROP_MAX + 1) +#define EV_SYN 0x00 +#define EV_KEY 0x01 +#define EV_REL 0x02 +#define EV_ABS 0x03 +#define EV_MSC 0x04 +#define EV_SW 0x05 +#define EV_LED 0x11 +#define EV_SND 0x12 +#define EV_REP 0x14 +#define EV_FF 0x15 +#define EV_PWR 0x16 +#define EV_FF_STATUS 0x17 +#define EV_MAX 0x1f +#define EV_CNT (EV_MAX+1) +#define SYN_REPORT 0 +#define SYN_CONFIG 1 +#define SYN_MT_REPORT 2 +#define SYN_DROPPED 3 +#define SYN_MAX 0xf +#define SYN_CNT (SYN_MAX+1) +#define KEY_RESERVED 0 +#define KEY_ESC 1 +#define KEY_1 2 +#define KEY_2 3 +#define KEY_3 4 +#define KEY_4 5 +#define KEY_5 6 +#define KEY_6 7 +#define KEY_7 8 +#define KEY_8 9 +#define KEY_9 10 +#define KEY_0 11 +#define KEY_MINUS 12 +#define KEY_EQUAL 13 +#define KEY_BACKSPACE 14 +#define KEY_TAB 15 +#define KEY_Q 16 +#define KEY_W 17 +#define KEY_E 18 +#define KEY_R 19 +#define KEY_T 20 +#define KEY_Y 21 +#define KEY_U 22 +#define KEY_I 23 +#define KEY_O 24 +#define KEY_P 25 +#define KEY_LEFTBRACE 26 +#define KEY_RIGHTBRACE 27 +#define KEY_ENTER 28 +#define KEY_LEFTCTRL 29 +#define KEY_A 30 +#define KEY_S 31 +#define KEY_D 32 +#define KEY_F 33 +#define KEY_G 34 +#define KEY_H 35 +#define KEY_J 36 +#define KEY_K 37 +#define KEY_L 38 +#define KEY_SEMICOLON 39 +#define KEY_APOSTROPHE 40 +#define KEY_GRAVE 41 +#define KEY_LEFTSHIFT 42 +#define KEY_BACKSLASH 43 +#define KEY_Z 44 +#define KEY_X 45 +#define KEY_C 46 +#define KEY_V 47 +#define KEY_B 48 +#define KEY_N 49 +#define KEY_M 50 +#define KEY_COMMA 51 +#define KEY_DOT 52 +#define KEY_SLASH 53 +#define KEY_RIGHTSHIFT 54 +#define KEY_KPASTERISK 55 +#define KEY_LEFTALT 56 +#define KEY_SPACE 57 +#define KEY_CAPSLOCK 58 +#define KEY_F1 59 +#define KEY_F2 60 +#define KEY_F3 61 +#define KEY_F4 62 +#define KEY_F5 63 +#define KEY_F6 64 +#define KEY_F7 65 +#define KEY_F8 66 +#define KEY_F9 67 +#define KEY_F10 68 +#define KEY_NUMLOCK 69 +#define KEY_SCROLLLOCK 70 +#define KEY_KP7 71 +#define KEY_KP8 72 +#define KEY_KP9 73 +#define KEY_KPMINUS 74 +#define KEY_KP4 75 +#define KEY_KP5 76 +#define KEY_KP6 77 +#define KEY_KPPLUS 78 +#define KEY_KP1 79 +#define KEY_KP2 80 +#define KEY_KP3 81 +#define KEY_KP0 82 +#define KEY_KPDOT 83 +#define KEY_ZENKAKUHANKAKU 85 +#define KEY_102ND 86 +#define KEY_F11 87 +#define KEY_F12 88 +#define KEY_RO 89 +#define KEY_KATAKANA 90 +#define KEY_HIRAGANA 91 +#define KEY_HENKAN 92 +#define KEY_KATAKANAHIRAGANA 93 +#define KEY_MUHENKAN 94 +#define KEY_KPJPCOMMA 95 +#define KEY_KPENTER 96 +#define KEY_RIGHTCTRL 97 +#define KEY_KPSLASH 98 +#define KEY_SYSRQ 99 +#define KEY_RIGHTALT 100 +#define KEY_LINEFEED 101 +#define KEY_HOME 102 +#define KEY_UP 103 +#define KEY_PAGEUP 104 +#define KEY_LEFT 105 +#define KEY_RIGHT 106 +#define KEY_END 107 +#define KEY_DOWN 108 +#define KEY_PAGEDOWN 109 +#define KEY_INSERT 110 +#define KEY_DELETE 111 +#define KEY_MACRO 112 +#define KEY_MUTE 113 +#define KEY_VOLUMEDOWN 114 +#define KEY_VOLUMEUP 115 +#define KEY_POWER 116 +#define KEY_KPEQUAL 117 +#define KEY_KPPLUSMINUS 118 +#define KEY_PAUSE 119 +#define KEY_SCALE 120 +#define KEY_KPCOMMA 121 +#define KEY_HANGEUL 122 +#define KEY_HANGUEL KEY_HANGEUL +#define KEY_HANJA 123 +#define KEY_YEN 124 +#define KEY_LEFTMETA 125 +#define KEY_RIGHTMETA 126 +#define KEY_COMPOSE 127 +#define KEY_STOP 128 +#define KEY_AGAIN 129 +#define KEY_PROPS 130 +#define KEY_UNDO 131 +#define KEY_FRONT 132 +#define KEY_COPY 133 +#define KEY_OPEN 134 +#define KEY_PASTE 135 +#define KEY_FIND 136 +#define KEY_CUT 137 +#define KEY_HELP 138 +#define KEY_MENU 139 +#define KEY_CALC 140 +#define KEY_SETUP 141 +#define KEY_SLEEP 142 +#define KEY_WAKEUP 143 +#define KEY_FILE 144 +#define KEY_SENDFILE 145 +#define KEY_DELETEFILE 146 +#define KEY_XFER 147 +#define KEY_PROG1 148 +#define KEY_PROG2 149 +#define KEY_WWW 150 +#define KEY_MSDOS 151 +#define KEY_COFFEE 152 +#define KEY_SCREENLOCK KEY_COFFEE +#define KEY_ROTATE_DISPLAY 153 +#define KEY_DIRECTION KEY_ROTATE_DISPLAY +#define KEY_CYCLEWINDOWS 154 +#define KEY_MAIL 155 +#define KEY_BOOKMARKS 156 +#define KEY_COMPUTER 157 +#define KEY_BACK 158 +#define KEY_FORWARD 159 +#define KEY_CLOSECD 160 +#define KEY_EJECTCD 161 +#define KEY_EJECTCLOSECD 162 +#define KEY_NEXTSONG 163 +#define KEY_PLAYPAUSE 164 +#define KEY_PREVIOUSSONG 165 +#define KEY_STOPCD 166 +#define KEY_RECORD 167 +#define KEY_REWIND 168 +#define KEY_PHONE 169 +#define KEY_ISO 170 +#define KEY_CONFIG 171 +#define KEY_HOMEPAGE 172 +#define KEY_REFRESH 173 +#define KEY_EXIT 174 +#define KEY_MOVE 175 +#define KEY_EDIT 176 +#define KEY_SCROLLUP 177 +#define KEY_SCROLLDOWN 178 +#define KEY_KPLEFTPAREN 179 +#define KEY_KPRIGHTPAREN 180 +#define KEY_NEW 181 +#define KEY_REDO 182 +#define KEY_F13 183 +#define KEY_F14 184 +#define KEY_F15 185 +#define KEY_F16 186 +#define KEY_F17 187 +#define KEY_F18 188 +#define KEY_F19 189 +#define KEY_F20 190 +#define KEY_F21 191 +#define KEY_F22 192 +#define KEY_F23 193 +#define KEY_F24 194 +#define KEY_PLAYCD 200 +#define KEY_PAUSECD 201 +#define KEY_PROG3 202 +#define KEY_PROG4 203 +#define KEY_DASHBOARD 204 +#define KEY_SUSPEND 205 +#define KEY_CLOSE 206 +#define KEY_PLAY 207 +#define KEY_FASTFORWARD 208 +#define KEY_BASSBOOST 209 +#define KEY_PRINT 210 +#define KEY_HP 211 +#define KEY_CAMERA 212 +#define KEY_SOUND 213 +#define KEY_QUESTION 214 +#define KEY_EMAIL 215 +#define KEY_CHAT 216 +#define KEY_SEARCH 217 +#define KEY_CONNECT 218 +#define KEY_FINANCE 219 +#define KEY_SPORT 220 +#define KEY_SHOP 221 +#define KEY_ALTERASE 222 +#define KEY_CANCEL 223 +#define KEY_BRIGHTNESSDOWN 224 +#define KEY_BRIGHTNESSUP 225 +#define KEY_MEDIA 226 +#define KEY_SWITCHVIDEOMODE 227 +#define KEY_KBDILLUMTOGGLE 228 +#define KEY_KBDILLUMDOWN 229 +#define KEY_KBDILLUMUP 230 +#define KEY_SEND 231 +#define KEY_REPLY 232 +#define KEY_FORWARDMAIL 233 +#define KEY_SAVE 234 +#define KEY_DOCUMENTS 235 +#define KEY_BATTERY 236 +#define KEY_BLUETOOTH 237 +#define KEY_WLAN 238 +#define KEY_UWB 239 +#define KEY_UNKNOWN 240 +#define KEY_VIDEO_NEXT 241 +#define KEY_VIDEO_PREV 242 +#define KEY_BRIGHTNESS_CYCLE 243 +#define KEY_BRIGHTNESS_AUTO 244 +#define KEY_BRIGHTNESS_ZERO KEY_BRIGHTNESS_AUTO +#define KEY_DISPLAY_OFF 245 +#define KEY_WWAN 246 +#define KEY_WIMAX KEY_WWAN +#define KEY_RFKILL 247 +#define KEY_MICMUTE 248 +#define BTN_MISC 0x100 +#define BTN_0 0x100 +#define BTN_1 0x101 +#define BTN_2 0x102 +#define BTN_3 0x103 +#define BTN_4 0x104 +#define BTN_5 0x105 +#define BTN_6 0x106 +#define BTN_7 0x107 +#define BTN_8 0x108 +#define BTN_9 0x109 +#define BTN_MOUSE 0x110 +#define BTN_LEFT 0x110 +#define BTN_RIGHT 0x111 +#define BTN_MIDDLE 0x112 +#define BTN_SIDE 0x113 +#define BTN_EXTRA 0x114 +#define BTN_FORWARD 0x115 +#define BTN_BACK 0x116 +#define BTN_TASK 0x117 +#define BTN_JOYSTICK 0x120 +#define BTN_TRIGGER 0x120 +#define BTN_THUMB 0x121 +#define BTN_THUMB2 0x122 +#define BTN_TOP 0x123 +#define BTN_TOP2 0x124 +#define BTN_PINKIE 0x125 +#define BTN_BASE 0x126 +#define BTN_BASE2 0x127 +#define BTN_BASE3 0x128 +#define BTN_BASE4 0x129 +#define BTN_BASE5 0x12a +#define BTN_BASE6 0x12b +#define BTN_DEAD 0x12f +#define BTN_GAMEPAD 0x130 +#define BTN_SOUTH 0x130 +#define BTN_A BTN_SOUTH +#define BTN_EAST 0x131 +#define BTN_B BTN_EAST +#define BTN_C 0x132 +#define BTN_NORTH 0x133 +#define BTN_X BTN_NORTH +#define BTN_WEST 0x134 +#define BTN_Y BTN_WEST +#define BTN_Z 0x135 +#define BTN_TL 0x136 +#define BTN_TR 0x137 +#define BTN_TL2 0x138 +#define BTN_TR2 0x139 +#define BTN_SELECT 0x13a +#define BTN_START 0x13b +#define BTN_MODE 0x13c +#define BTN_THUMBL 0x13d +#define BTN_THUMBR 0x13e +#define BTN_DIGI 0x140 +#define BTN_TOOL_PEN 0x140 +#define BTN_TOOL_RUBBER 0x141 +#define BTN_TOOL_BRUSH 0x142 +#define BTN_TOOL_PENCIL 0x143 +#define BTN_TOOL_AIRBRUSH 0x144 +#define BTN_TOOL_FINGER 0x145 +#define BTN_TOOL_MOUSE 0x146 +#define BTN_TOOL_LENS 0x147 +#define BTN_TOOL_QUINTTAP 0x148 +#define BTN_STYLUS3 0x149 +#define BTN_TOUCH 0x14a +#define BTN_STYLUS 0x14b +#define BTN_STYLUS2 0x14c +#define BTN_TOOL_DOUBLETAP 0x14d +#define BTN_TOOL_TRIPLETAP 0x14e +#define BTN_TOOL_QUADTAP 0x14f +#define BTN_WHEEL 0x150 +#define BTN_GEAR_DOWN 0x150 +#define BTN_GEAR_UP 0x151 +#define KEY_OK 0x160 +#define KEY_SELECT 0x161 +#define KEY_GOTO 0x162 +#define KEY_CLEAR 0x163 +#define KEY_POWER2 0x164 +#define KEY_OPTION 0x165 +#define KEY_INFO 0x166 +#define KEY_TIME 0x167 +#define KEY_VENDOR 0x168 +#define KEY_ARCHIVE 0x169 +#define KEY_PROGRAM 0x16a +#define KEY_CHANNEL 0x16b +#define KEY_FAVORITES 0x16c +#define KEY_EPG 0x16d +#define KEY_PVR 0x16e +#define KEY_MHP 0x16f +#define KEY_LANGUAGE 0x170 +#define KEY_TITLE 0x171 +#define KEY_SUBTITLE 0x172 +#define KEY_ANGLE 0x173 +#define KEY_FULL_SCREEN 0x174 +#define KEY_ZOOM KEY_FULL_SCREEN +#define KEY_MODE 0x175 +#define KEY_KEYBOARD 0x176 +#define KEY_ASPECT_RATIO 0x177 +#define KEY_SCREEN KEY_ASPECT_RATIO +#define KEY_PC 0x178 +#define KEY_TV 0x179 +#define KEY_TV2 0x17a +#define KEY_VCR 0x17b +#define KEY_VCR2 0x17c +#define KEY_SAT 0x17d +#define KEY_SAT2 0x17e +#define KEY_CD 0x17f +#define KEY_TAPE 0x180 +#define KEY_RADIO 0x181 +#define KEY_TUNER 0x182 +#define KEY_PLAYER 0x183 +#define KEY_TEXT 0x184 +#define KEY_DVD 0x185 +#define KEY_AUX 0x186 +#define KEY_MP3 0x187 +#define KEY_AUDIO 0x188 +#define KEY_VIDEO 0x189 +#define KEY_DIRECTORY 0x18a +#define KEY_LIST 0x18b +#define KEY_MEMO 0x18c +#define KEY_CALENDAR 0x18d +#define KEY_RED 0x18e +#define KEY_GREEN 0x18f +#define KEY_YELLOW 0x190 +#define KEY_BLUE 0x191 +#define KEY_CHANNELUP 0x192 +#define KEY_CHANNELDOWN 0x193 +#define KEY_FIRST 0x194 +#define KEY_LAST 0x195 +#define KEY_AB 0x196 +#define KEY_NEXT 0x197 +#define KEY_RESTART 0x198 +#define KEY_SLOW 0x199 +#define KEY_SHUFFLE 0x19a +#define KEY_BREAK 0x19b +#define KEY_PREVIOUS 0x19c +#define KEY_DIGITS 0x19d +#define KEY_TEEN 0x19e +#define KEY_TWEN 0x19f +#define KEY_VIDEOPHONE 0x1a0 +#define KEY_GAMES 0x1a1 +#define KEY_ZOOMIN 0x1a2 +#define KEY_ZOOMOUT 0x1a3 +#define KEY_ZOOMRESET 0x1a4 +#define KEY_WORDPROCESSOR 0x1a5 +#define KEY_EDITOR 0x1a6 +#define KEY_SPREADSHEET 0x1a7 +#define KEY_GRAPHICSEDITOR 0x1a8 +#define KEY_PRESENTATION 0x1a9 +#define KEY_DATABASE 0x1aa +#define KEY_NEWS 0x1ab +#define KEY_VOICEMAIL 0x1ac +#define KEY_ADDRESSBOOK 0x1ad +#define KEY_MESSENGER 0x1ae +#define KEY_DISPLAYTOGGLE 0x1af +#define KEY_BRIGHTNESS_TOGGLE KEY_DISPLAYTOGGLE +#define KEY_SPELLCHECK 0x1b0 +#define KEY_LOGOFF 0x1b1 +#define KEY_DOLLAR 0x1b2 +#define KEY_EURO 0x1b3 +#define KEY_FRAMEBACK 0x1b4 +#define KEY_FRAMEFORWARD 0x1b5 +#define KEY_CONTEXT_MENU 0x1b6 +#define KEY_MEDIA_REPEAT 0x1b7 +#define KEY_10CHANNELSUP 0x1b8 +#define KEY_10CHANNELSDOWN 0x1b9 +#define KEY_IMAGES 0x1ba +#define KEY_NOTIFICATION_CENTER 0x1bc +#define KEY_PICKUP_PHONE 0x1bd +#define KEY_HANGUP_PHONE 0x1be +#define KEY_DEL_EOL 0x1c0 +#define KEY_DEL_EOS 0x1c1 +#define KEY_INS_LINE 0x1c2 +#define KEY_DEL_LINE 0x1c3 +#define KEY_FN 0x1d0 +#define KEY_FN_ESC 0x1d1 +#define KEY_FN_F1 0x1d2 +#define KEY_FN_F2 0x1d3 +#define KEY_FN_F3 0x1d4 +#define KEY_FN_F4 0x1d5 +#define KEY_FN_F5 0x1d6 +#define KEY_FN_F6 0x1d7 +#define KEY_FN_F7 0x1d8 +#define KEY_FN_F8 0x1d9 +#define KEY_FN_F9 0x1da +#define KEY_FN_F10 0x1db +#define KEY_FN_F11 0x1dc +#define KEY_FN_F12 0x1dd +#define KEY_FN_1 0x1de +#define KEY_FN_2 0x1df +#define KEY_FN_D 0x1e0 +#define KEY_FN_E 0x1e1 +#define KEY_FN_F 0x1e2 +#define KEY_FN_S 0x1e3 +#define KEY_FN_B 0x1e4 +#define KEY_FN_RIGHT_SHIFT 0x1e5 +#define KEY_BRL_DOT1 0x1f1 +#define KEY_BRL_DOT2 0x1f2 +#define KEY_BRL_DOT3 0x1f3 +#define KEY_BRL_DOT4 0x1f4 +#define KEY_BRL_DOT5 0x1f5 +#define KEY_BRL_DOT6 0x1f6 +#define KEY_BRL_DOT7 0x1f7 +#define KEY_BRL_DOT8 0x1f8 +#define KEY_BRL_DOT9 0x1f9 +#define KEY_BRL_DOT10 0x1fa +#define KEY_NUMERIC_0 0x200 +#define KEY_NUMERIC_1 0x201 +#define KEY_NUMERIC_2 0x202 +#define KEY_NUMERIC_3 0x203 +#define KEY_NUMERIC_4 0x204 +#define KEY_NUMERIC_5 0x205 +#define KEY_NUMERIC_6 0x206 +#define KEY_NUMERIC_7 0x207 +#define KEY_NUMERIC_8 0x208 +#define KEY_NUMERIC_9 0x209 +#define KEY_NUMERIC_STAR 0x20a +#define KEY_NUMERIC_POUND 0x20b +#define KEY_NUMERIC_A 0x20c +#define KEY_NUMERIC_B 0x20d +#define KEY_NUMERIC_C 0x20e +#define KEY_NUMERIC_D 0x20f +#define KEY_CAMERA_FOCUS 0x210 +#define KEY_WPS_BUTTON 0x211 +#define KEY_TOUCHPAD_TOGGLE 0x212 +#define KEY_TOUCHPAD_ON 0x213 +#define KEY_TOUCHPAD_OFF 0x214 +#define KEY_CAMERA_ZOOMIN 0x215 +#define KEY_CAMERA_ZOOMOUT 0x216 +#define KEY_CAMERA_UP 0x217 +#define KEY_CAMERA_DOWN 0x218 +#define KEY_CAMERA_LEFT 0x219 +#define KEY_CAMERA_RIGHT 0x21a +#define KEY_ATTENDANT_ON 0x21b +#define KEY_ATTENDANT_OFF 0x21c +#define KEY_ATTENDANT_TOGGLE 0x21d +#define KEY_LIGHTS_TOGGLE 0x21e +#define BTN_DPAD_UP 0x220 +#define BTN_DPAD_DOWN 0x221 +#define BTN_DPAD_LEFT 0x222 +#define BTN_DPAD_RIGHT 0x223 +#define KEY_ALS_TOGGLE 0x230 +#define KEY_ROTATE_LOCK_TOGGLE 0x231 +#define KEY_BUTTONCONFIG 0x240 +#define KEY_TASKMANAGER 0x241 +#define KEY_JOURNAL 0x242 +#define KEY_CONTROLPANEL 0x243 +#define KEY_APPSELECT 0x244 +#define KEY_SCREENSAVER 0x245 +#define KEY_VOICECOMMAND 0x246 +#define KEY_ASSISTANT 0x247 +#define KEY_KBD_LAYOUT_NEXT 0x248 +#define KEY_EMOJI_PICKER 0x249 +#define KEY_BRIGHTNESS_MIN 0x250 +#define KEY_BRIGHTNESS_MAX 0x251 +#define KEY_KBDINPUTASSIST_PREV 0x260 +#define KEY_KBDINPUTASSIST_NEXT 0x261 +#define KEY_KBDINPUTASSIST_PREVGROUP 0x262 +#define KEY_KBDINPUTASSIST_NEXTGROUP 0x263 +#define KEY_KBDINPUTASSIST_ACCEPT 0x264 +#define KEY_KBDINPUTASSIST_CANCEL 0x265 +#define KEY_RIGHT_UP 0x266 +#define KEY_RIGHT_DOWN 0x267 +#define KEY_LEFT_UP 0x268 +#define KEY_LEFT_DOWN 0x269 +#define KEY_ROOT_MENU 0x26a +#define KEY_MEDIA_TOP_MENU 0x26b +#define KEY_NUMERIC_11 0x26c +#define KEY_NUMERIC_12 0x26d +#define KEY_AUDIO_DESC 0x26e +#define KEY_3D_MODE 0x26f +#define KEY_NEXT_FAVORITE 0x270 +#define KEY_STOP_RECORD 0x271 +#define KEY_PAUSE_RECORD 0x272 +#define KEY_VOD 0x273 +#define KEY_UNMUTE 0x274 +#define KEY_FASTREVERSE 0x275 +#define KEY_SLOWREVERSE 0x276 +#define KEY_DATA 0x277 +#define KEY_ONSCREEN_KEYBOARD 0x278 +#define KEY_PRIVACY_SCREEN_TOGGLE 0x279 +#define KEY_SELECTIVE_SCREENSHOT 0x27a +#define KEY_MACRO1 0x290 +#define KEY_MACRO2 0x291 +#define KEY_MACRO3 0x292 +#define KEY_MACRO4 0x293 +#define KEY_MACRO5 0x294 +#define KEY_MACRO6 0x295 +#define KEY_MACRO7 0x296 +#define KEY_MACRO8 0x297 +#define KEY_MACRO9 0x298 +#define KEY_MACRO10 0x299 +#define KEY_MACRO11 0x29a +#define KEY_MACRO12 0x29b +#define KEY_MACRO13 0x29c +#define KEY_MACRO14 0x29d +#define KEY_MACRO15 0x29e +#define KEY_MACRO16 0x29f +#define KEY_MACRO17 0x2a0 +#define KEY_MACRO18 0x2a1 +#define KEY_MACRO19 0x2a2 +#define KEY_MACRO20 0x2a3 +#define KEY_MACRO21 0x2a4 +#define KEY_MACRO22 0x2a5 +#define KEY_MACRO23 0x2a6 +#define KEY_MACRO24 0x2a7 +#define KEY_MACRO25 0x2a8 +#define KEY_MACRO26 0x2a9 +#define KEY_MACRO27 0x2aa +#define KEY_MACRO28 0x2ab +#define KEY_MACRO29 0x2ac +#define KEY_MACRO30 0x2ad +#define KEY_MACRO_RECORD_START 0x2b0 +#define KEY_MACRO_RECORD_STOP 0x2b1 +#define KEY_MACRO_PRESET_CYCLE 0x2b2 +#define KEY_MACRO_PRESET1 0x2b3 +#define KEY_MACRO_PRESET2 0x2b4 +#define KEY_MACRO_PRESET3 0x2b5 +#define KEY_KBD_LCD_MENU1 0x2b8 +#define KEY_KBD_LCD_MENU2 0x2b9 +#define KEY_KBD_LCD_MENU3 0x2ba +#define KEY_KBD_LCD_MENU4 0x2bb +#define KEY_KBD_LCD_MENU5 0x2bc +#define BTN_TRIGGER_HAPPY 0x2c0 +#define BTN_TRIGGER_HAPPY1 0x2c0 +#define BTN_TRIGGER_HAPPY2 0x2c1 +#define BTN_TRIGGER_HAPPY3 0x2c2 +#define BTN_TRIGGER_HAPPY4 0x2c3 +#define BTN_TRIGGER_HAPPY5 0x2c4 +#define BTN_TRIGGER_HAPPY6 0x2c5 +#define BTN_TRIGGER_HAPPY7 0x2c6 +#define BTN_TRIGGER_HAPPY8 0x2c7 +#define BTN_TRIGGER_HAPPY9 0x2c8 +#define BTN_TRIGGER_HAPPY10 0x2c9 +#define BTN_TRIGGER_HAPPY11 0x2ca +#define BTN_TRIGGER_HAPPY12 0x2cb +#define BTN_TRIGGER_HAPPY13 0x2cc +#define BTN_TRIGGER_HAPPY14 0x2cd +#define BTN_TRIGGER_HAPPY15 0x2ce +#define BTN_TRIGGER_HAPPY16 0x2cf +#define BTN_TRIGGER_HAPPY17 0x2d0 +#define BTN_TRIGGER_HAPPY18 0x2d1 +#define BTN_TRIGGER_HAPPY19 0x2d2 +#define BTN_TRIGGER_HAPPY20 0x2d3 +#define BTN_TRIGGER_HAPPY21 0x2d4 +#define BTN_TRIGGER_HAPPY22 0x2d5 +#define BTN_TRIGGER_HAPPY23 0x2d6 +#define BTN_TRIGGER_HAPPY24 0x2d7 +#define BTN_TRIGGER_HAPPY25 0x2d8 +#define BTN_TRIGGER_HAPPY26 0x2d9 +#define BTN_TRIGGER_HAPPY27 0x2da +#define BTN_TRIGGER_HAPPY28 0x2db +#define BTN_TRIGGER_HAPPY29 0x2dc +#define BTN_TRIGGER_HAPPY30 0x2dd +#define BTN_TRIGGER_HAPPY31 0x2de +#define BTN_TRIGGER_HAPPY32 0x2df +#define BTN_TRIGGER_HAPPY33 0x2e0 +#define BTN_TRIGGER_HAPPY34 0x2e1 +#define BTN_TRIGGER_HAPPY35 0x2e2 +#define BTN_TRIGGER_HAPPY36 0x2e3 +#define BTN_TRIGGER_HAPPY37 0x2e4 +#define BTN_TRIGGER_HAPPY38 0x2e5 +#define BTN_TRIGGER_HAPPY39 0x2e6 +#define BTN_TRIGGER_HAPPY40 0x2e7 +#define KEY_MIN_INTERESTING KEY_MUTE +#define KEY_MAX 0x2ff +#define KEY_CNT (KEY_MAX+1) +#define REL_X 0x00 +#define REL_Y 0x01 +#define REL_Z 0x02 +#define REL_RX 0x03 +#define REL_RY 0x04 +#define REL_RZ 0x05 +#define REL_HWHEEL 0x06 +#define REL_DIAL 0x07 +#define REL_WHEEL 0x08 +#define REL_MISC 0x09 +#define REL_RESERVED 0x0a +#define REL_WHEEL_HI_RES 0x0b +#define REL_HWHEEL_HI_RES 0x0c +#define REL_MAX 0x0f +#define REL_CNT (REL_MAX+1) +#define ABS_X 0x00 +#define ABS_Y 0x01 +#define ABS_Z 0x02 +#define ABS_RX 0x03 +#define ABS_RY 0x04 +#define ABS_RZ 0x05 +#define ABS_THROTTLE 0x06 +#define ABS_RUDDER 0x07 +#define ABS_WHEEL 0x08 +#define ABS_GAS 0x09 +#define ABS_BRAKE 0x0a +#define ABS_HAT0X 0x10 +#define ABS_HAT0Y 0x11 +#define ABS_HAT1X 0x12 +#define ABS_HAT1Y 0x13 +#define ABS_HAT2X 0x14 +#define ABS_HAT2Y 0x15 +#define ABS_HAT3X 0x16 +#define ABS_HAT3Y 0x17 +#define ABS_PRESSURE 0x18 +#define ABS_DISTANCE 0x19 +#define ABS_TILT_X 0x1a +#define ABS_TILT_Y 0x1b +#define ABS_TOOL_WIDTH 0x1c +#define ABS_VOLUME 0x20 +#define ABS_MISC 0x28 +#define ABS_RESERVED 0x2e +#define ABS_MT_SLOT 0x2f +#define ABS_MT_TOUCH_MAJOR 0x30 +#define ABS_MT_TOUCH_MINOR 0x31 +#define ABS_MT_WIDTH_MAJOR 0x32 +#define ABS_MT_WIDTH_MINOR 0x33 +#define ABS_MT_ORIENTATION 0x34 +#define ABS_MT_POSITION_X 0x35 +#define ABS_MT_POSITION_Y 0x36 +#define ABS_MT_TOOL_TYPE 0x37 +#define ABS_MT_BLOB_ID 0x38 +#define ABS_MT_TRACKING_ID 0x39 +#define ABS_MT_PRESSURE 0x3a +#define ABS_MT_DISTANCE 0x3b +#define ABS_MT_TOOL_X 0x3c +#define ABS_MT_TOOL_Y 0x3d +#define ABS_MAX 0x3f +#define ABS_CNT (ABS_MAX+1) +#define SW_LID 0x00 +#define SW_TABLET_MODE 0x01 +#define SW_HEADPHONE_INSERT 0x02 +#define SW_RFKILL_ALL 0x03 +#define SW_RADIO SW_RFKILL_ALL +#define SW_MICROPHONE_INSERT 0x04 +#define SW_DOCK 0x05 +#define SW_LINEOUT_INSERT 0x06 +#define SW_JACK_PHYSICAL_INSERT 0x07 +#define SW_VIDEOOUT_INSERT 0x08 +#define SW_CAMERA_LENS_COVER 0x09 +#define SW_KEYPAD_SLIDE 0x0a +#define SW_FRONT_PROXIMITY 0x0b +#define SW_ROTATE_LOCK 0x0c +#define SW_LINEIN_INSERT 0x0d +#define SW_MUTE_DEVICE 0x0e +#define SW_PEN_INSERTED 0x0f +#define SW_MACHINE_COVER 0x10 +#define SW_MAX 0x10 +#define SW_CNT (SW_MAX+1) +#define MSC_SERIAL 0x00 +#define MSC_PULSELED 0x01 +#define MSC_GESTURE 0x02 +#define MSC_RAW 0x03 +#define MSC_SCAN 0x04 +#define MSC_TIMESTAMP 0x05 +#define MSC_MAX 0x07 +#define MSC_CNT (MSC_MAX+1) +#define LED_NUML 0x00 +#define LED_CAPSL 0x01 +#define LED_SCROLLL 0x02 +#define LED_COMPOSE 0x03 +#define LED_KANA 0x04 +#define LED_SLEEP 0x05 +#define LED_SUSPEND 0x06 +#define LED_MUTE 0x07 +#define LED_MISC 0x08 +#define LED_MAIL 0x09 +#define LED_CHARGING 0x0a +#define LED_MAX 0x0f +#define LED_CNT (LED_MAX+1) +#define REP_DELAY 0x00 +#define REP_PERIOD 0x01 +#define REP_MAX 0x01 +#define REP_CNT (REP_MAX+1) +#define SND_CLICK 0x00 +#define SND_BELL 0x01 +#define SND_TONE 0x02 +#define SND_MAX 0x07 +#define SND_CNT (SND_MAX+1) +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/input.h b/linux-5.10/prebuilts/usr/include/linux/input.h new file mode 100644 index 0000000..feb56a6 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/input.h @@ -0,0 +1,207 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI_INPUT_H +#define _UAPI_INPUT_H +#ifndef __KERNEL__ +#include +#include +#include +#include +#endif +#include "input-event-codes.h" +struct input_event { +#if (__BITS_PER_LONG != 32 || !defined(__USE_TIME_BITS64)) && !defined(__KERNEL__) + struct timeval time; +#define input_event_sec time.tv_sec +#define input_event_usec time.tv_usec +#else + __kernel_ulong_t __sec; +#if defined(__sparc__) && defined(__arch64__) + unsigned int __usec; + unsigned int __pad; +#else + __kernel_ulong_t __usec; +#endif +#define input_event_sec __sec +#define input_event_usec __usec +#endif + __u16 type; + __u16 code; + __s32 value; +}; +#define EV_VERSION 0x010001 +struct input_id { + __u16 bustype; + __u16 vendor; + __u16 product; + __u16 version; +}; +struct input_absinfo { + __s32 value; + __s32 minimum; + __s32 maximum; + __s32 fuzz; + __s32 flat; + __s32 resolution; +}; +struct input_keymap_entry { +#define INPUT_KEYMAP_BY_INDEX (1 << 0) + __u8 flags; + __u8 len; + __u16 index; + __u32 keycode; + __u8 scancode[32]; +}; +struct input_mask { + __u32 type; + __u32 codes_size; + __u64 codes_ptr; +}; +#define EVIOCGVERSION _IOR('E', 0x01, int) +#define EVIOCGID _IOR('E', 0x02, struct input_id) +#define EVIOCGREP _IOR('E', 0x03, unsigned int[2]) +#define EVIOCSREP _IOW('E', 0x03, unsigned int[2]) +#define EVIOCGKEYCODE _IOR('E', 0x04, unsigned int[2]) +#define EVIOCGKEYCODE_V2 _IOR('E', 0x04, struct input_keymap_entry) +#define EVIOCSKEYCODE _IOW('E', 0x04, unsigned int[2]) +#define EVIOCSKEYCODE_V2 _IOW('E', 0x04, struct input_keymap_entry) +#define EVIOCGNAME(len) _IOC(_IOC_READ, 'E', 0x06, len) +#define EVIOCGPHYS(len) _IOC(_IOC_READ, 'E', 0x07, len) +#define EVIOCGUNIQ(len) _IOC(_IOC_READ, 'E', 0x08, len) +#define EVIOCGPROP(len) _IOC(_IOC_READ, 'E', 0x09, len) +#define EVIOCGMTSLOTS(len) _IOC(_IOC_READ, 'E', 0x0a, len) +#define EVIOCGKEY(len) _IOC(_IOC_READ, 'E', 0x18, len) +#define EVIOCGLED(len) _IOC(_IOC_READ, 'E', 0x19, len) +#define EVIOCGSND(len) _IOC(_IOC_READ, 'E', 0x1a, len) +#define EVIOCGSW(len) _IOC(_IOC_READ, 'E', 0x1b, len) +#define EVIOCGBIT(ev,len) _IOC(_IOC_READ, 'E', 0x20 + (ev), len) +#define EVIOCGABS(abs) _IOR('E', 0x40 + (abs), struct input_absinfo) +#define EVIOCSABS(abs) _IOW('E', 0xc0 + (abs), struct input_absinfo) +#define EVIOCSFF _IOW('E', 0x80, struct ff_effect) +#define EVIOCRMFF _IOW('E', 0x81, int) +#define EVIOCGEFFECTS _IOR('E', 0x84, int) +#define EVIOCGRAB _IOW('E', 0x90, int) +#define EVIOCREVOKE _IOW('E', 0x91, int) +#define EVIOCGMASK _IOR('E', 0x92, struct input_mask) +#define EVIOCSMASK _IOW('E', 0x93, struct input_mask) +#define EVIOCSCLOCKID _IOW('E', 0xa0, int) +#define ID_BUS 0 +#define ID_VENDOR 1 +#define ID_PRODUCT 2 +#define ID_VERSION 3 +#define BUS_PCI 0x01 +#define BUS_ISAPNP 0x02 +#define BUS_USB 0x03 +#define BUS_HIL 0x04 +#define BUS_BLUETOOTH 0x05 +#define BUS_VIRTUAL 0x06 +#define BUS_ISA 0x10 +#define BUS_I8042 0x11 +#define BUS_XTKBD 0x12 +#define BUS_RS232 0x13 +#define BUS_GAMEPORT 0x14 +#define BUS_PARPORT 0x15 +#define BUS_AMIGA 0x16 +#define BUS_ADB 0x17 +#define BUS_I2C 0x18 +#define BUS_HOST 0x19 +#define BUS_GSC 0x1A +#define BUS_ATARI 0x1B +#define BUS_SPI 0x1C +#define BUS_RMI 0x1D +#define BUS_CEC 0x1E +#define BUS_INTEL_ISHTP 0x1F +#define MT_TOOL_FINGER 0x00 +#define MT_TOOL_PEN 0x01 +#define MT_TOOL_PALM 0x02 +#define MT_TOOL_DIAL 0x0a +#define MT_TOOL_MAX 0x0f +#define FF_STATUS_STOPPED 0x00 +#define FF_STATUS_PLAYING 0x01 +#define FF_STATUS_MAX 0x01 +struct ff_replay { + __u16 length; + __u16 delay; +}; +struct ff_trigger { + __u16 button; + __u16 interval; +}; +struct ff_envelope { + __u16 attack_length; + __u16 attack_level; + __u16 fade_length; + __u16 fade_level; +}; +struct ff_constant_effect { + __s16 level; + struct ff_envelope envelope; +}; +struct ff_ramp_effect { + __s16 start_level; + __s16 end_level; + struct ff_envelope envelope; +}; +struct ff_condition_effect { + __u16 right_saturation; + __u16 left_saturation; + __s16 right_coeff; + __s16 left_coeff; + __u16 deadband; + __s16 center; +}; +struct ff_periodic_effect { + __u16 waveform; + __u16 period; + __s16 magnitude; + __s16 offset; + __u16 phase; + struct ff_envelope envelope; + __u32 custom_len; + __s16 __user *custom_data; +}; +struct ff_rumble_effect { + __u16 strong_magnitude; + __u16 weak_magnitude; +}; +struct ff_effect { + __u16 type; + __s16 id; + __u16 direction; + struct ff_trigger trigger; + struct ff_replay replay; + union { + struct ff_constant_effect constant; + struct ff_ramp_effect ramp; + struct ff_periodic_effect periodic; + struct ff_condition_effect condition[2]; + struct ff_rumble_effect rumble; + } u; +}; +#define FF_RUMBLE 0x50 +#define FF_PERIODIC 0x51 +#define FF_CONSTANT 0x52 +#define FF_SPRING 0x53 +#define FF_FRICTION 0x54 +#define FF_DAMPER 0x55 +#define FF_INERTIA 0x56 +#define FF_RAMP 0x57 +#define FF_EFFECT_MIN FF_RUMBLE +#define FF_EFFECT_MAX FF_RAMP +#define FF_SQUARE 0x58 +#define FF_TRIANGLE 0x59 +#define FF_SINE 0x5a +#define FF_SAW_UP 0x5b +#define FF_SAW_DOWN 0x5c +#define FF_CUSTOM 0x5d +#define FF_WAVEFORM_MIN FF_SQUARE +#define FF_WAVEFORM_MAX FF_CUSTOM +#define FF_GAIN 0x60 +#define FF_AUTOCENTER 0x61 +#define FF_MAX_EFFECTS FF_GAIN +#define FF_MAX 0x7f +#define FF_CNT (FF_MAX+1) +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/io_uring.h b/linux-5.10/prebuilts/usr/include/linux/io_uring.h new file mode 100644 index 0000000..e32afed --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/io_uring.h @@ -0,0 +1,234 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef LINUX_IO_URING_H +#define LINUX_IO_URING_H +#include +#include +struct io_uring_sqe { + __u8 opcode; + __u8 flags; + __u16 ioprio; + __s32 fd; + union { + __u64 off; + __u64 addr2; + }; + union { + __u64 addr; + __u64 splice_off_in; + }; + __u32 len; + union { + __kernel_rwf_t rw_flags; + __u32 fsync_flags; + __u16 poll_events; + __u32 poll32_events; + __u32 sync_range_flags; + __u32 msg_flags; + __u32 timeout_flags; + __u32 accept_flags; + __u32 cancel_flags; + __u32 open_flags; + __u32 statx_flags; + __u32 fadvise_advice; + __u32 splice_flags; + }; + __u64 user_data; + union { + struct { + + union { + + __u16 buf_index; + + __u16 buf_group; + } __attribute__((packed)); + + __u16 personality; + __s32 splice_fd_in; + }; + __u64 __pad2[3]; + }; +}; +enum { + IOSQE_FIXED_FILE_BIT, + IOSQE_IO_DRAIN_BIT, + IOSQE_IO_LINK_BIT, + IOSQE_IO_HARDLINK_BIT, + IOSQE_ASYNC_BIT, + IOSQE_BUFFER_SELECT_BIT, +}; +#define IOSQE_FIXED_FILE (1U << IOSQE_FIXED_FILE_BIT) +#define IOSQE_IO_DRAIN (1U << IOSQE_IO_DRAIN_BIT) +#define IOSQE_IO_LINK (1U << IOSQE_IO_LINK_BIT) +#define IOSQE_IO_HARDLINK (1U << IOSQE_IO_HARDLINK_BIT) +#define IOSQE_ASYNC (1U << IOSQE_ASYNC_BIT) +#define IOSQE_BUFFER_SELECT (1U << IOSQE_BUFFER_SELECT_BIT) +#define IORING_SETUP_IOPOLL (1U << 0) +#define IORING_SETUP_SQPOLL (1U << 1) +#define IORING_SETUP_SQ_AFF (1U << 2) +#define IORING_SETUP_CQSIZE (1U << 3) +#define IORING_SETUP_CLAMP (1U << 4) +#define IORING_SETUP_ATTACH_WQ (1U << 5) +#define IORING_SETUP_R_DISABLED (1U << 6) +enum { + IORING_OP_NOP, + IORING_OP_READV, + IORING_OP_WRITEV, + IORING_OP_FSYNC, + IORING_OP_READ_FIXED, + IORING_OP_WRITE_FIXED, + IORING_OP_POLL_ADD, + IORING_OP_POLL_REMOVE, + IORING_OP_SYNC_FILE_RANGE, + IORING_OP_SENDMSG, + IORING_OP_RECVMSG, + IORING_OP_TIMEOUT, + IORING_OP_TIMEOUT_REMOVE, + IORING_OP_ACCEPT, + IORING_OP_ASYNC_CANCEL, + IORING_OP_LINK_TIMEOUT, + IORING_OP_CONNECT, + IORING_OP_FALLOCATE, + IORING_OP_OPENAT, + IORING_OP_CLOSE, + IORING_OP_FILES_UPDATE, + IORING_OP_STATX, + IORING_OP_READ, + IORING_OP_WRITE, + IORING_OP_FADVISE, + IORING_OP_MADVISE, + IORING_OP_SEND, + IORING_OP_RECV, + IORING_OP_OPENAT2, + IORING_OP_EPOLL_CTL, + IORING_OP_SPLICE, + IORING_OP_PROVIDE_BUFFERS, + IORING_OP_REMOVE_BUFFERS, + IORING_OP_TEE, + + IORING_OP_LAST, +}; +#define IORING_FSYNC_DATASYNC (1U << 0) +#define IORING_TIMEOUT_ABS (1U << 0) +#define SPLICE_F_FD_IN_FIXED (1U << 31) +struct io_uring_cqe { + __u64 user_data; + __s32 res; + __u32 flags; +}; +#define IORING_CQE_F_BUFFER (1U << 0) +enum { + IORING_CQE_BUFFER_SHIFT = 16, +}; +#define IORING_OFF_SQ_RING 0ULL +#define IORING_OFF_CQ_RING 0x8000000ULL +#define IORING_OFF_SQES 0x10000000ULL +struct io_sqring_offsets { + __u32 head; + __u32 tail; + __u32 ring_mask; + __u32 ring_entries; + __u32 flags; + __u32 dropped; + __u32 array; + __u32 resv1; + __u64 resv2; +}; +#define IORING_SQ_NEED_WAKEUP (1U << 0) +#define IORING_SQ_CQ_OVERFLOW (1U << 1) +struct io_cqring_offsets { + __u32 head; + __u32 tail; + __u32 ring_mask; + __u32 ring_entries; + __u32 overflow; + __u32 cqes; + __u32 flags; + __u32 resv1; + __u64 resv2; +}; +#define IORING_CQ_EVENTFD_DISABLED (1U << 0) +#define IORING_ENTER_GETEVENTS (1U << 0) +#define IORING_ENTER_SQ_WAKEUP (1U << 1) +#define IORING_ENTER_SQ_WAIT (1U << 2) +struct io_uring_params { + __u32 sq_entries; + __u32 cq_entries; + __u32 flags; + __u32 sq_thread_cpu; + __u32 sq_thread_idle; + __u32 features; + __u32 wq_fd; + __u32 resv[3]; + struct io_sqring_offsets sq_off; + struct io_cqring_offsets cq_off; +}; +#define IORING_FEAT_SINGLE_MMAP (1U << 0) +#define IORING_FEAT_NODROP (1U << 1) +#define IORING_FEAT_SUBMIT_STABLE (1U << 2) +#define IORING_FEAT_RW_CUR_POS (1U << 3) +#define IORING_FEAT_CUR_PERSONALITY (1U << 4) +#define IORING_FEAT_FAST_POLL (1U << 5) +#define IORING_FEAT_POLL_32BITS (1U << 6) +enum { + IORING_REGISTER_BUFFERS = 0, + IORING_UNREGISTER_BUFFERS = 1, + IORING_REGISTER_FILES = 2, + IORING_UNREGISTER_FILES = 3, + IORING_REGISTER_EVENTFD = 4, + IORING_UNREGISTER_EVENTFD = 5, + IORING_REGISTER_FILES_UPDATE = 6, + IORING_REGISTER_EVENTFD_ASYNC = 7, + IORING_REGISTER_PROBE = 8, + IORING_REGISTER_PERSONALITY = 9, + IORING_UNREGISTER_PERSONALITY = 10, + IORING_REGISTER_RESTRICTIONS = 11, + IORING_REGISTER_ENABLE_RINGS = 12, + + IORING_REGISTER_LAST +}; +struct io_uring_files_update { + __u32 offset; + __u32 resv; + __aligned_u64 fds; +}; +#define IO_URING_OP_SUPPORTED (1U << 0) +struct io_uring_probe_op { + __u8 op; + __u8 resv; + __u16 flags; + __u32 resv2; +}; +struct io_uring_probe { + __u8 last_op; + __u8 ops_len; + __u16 resv; + __u32 resv2[3]; + struct io_uring_probe_op ops[0]; +}; +struct io_uring_restriction { + __u16 opcode; + union { + __u8 register_op; + __u8 sqe_op; + __u8 sqe_flags; + }; + __u8 resv; + __u32 resv2[3]; +}; +enum { + + IORING_RESTRICTION_REGISTER_OP = 0, + + IORING_RESTRICTION_SQE_OP = 1, + + IORING_RESTRICTION_SQE_FLAGS_ALLOWED = 2, + + IORING_RESTRICTION_SQE_FLAGS_REQUIRED = 3, + IORING_RESTRICTION_LAST +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/ioctl.h b/linux-5.10/prebuilts/usr/include/linux/ioctl.h new file mode 100644 index 0000000..a10fd5a --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/ioctl.h @@ -0,0 +1,9 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _LINUX_IOCTL_H +#define _LINUX_IOCTL_H +#include +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/iommu.h b/linux-5.10/prebuilts/usr/include/linux/iommu.h new file mode 100644 index 0000000..cfec57e --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/iommu.h @@ -0,0 +1,158 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI_IOMMU_H +#define _UAPI_IOMMU_H +#include +#define IOMMU_FAULT_PERM_READ (1 << 0) +#define IOMMU_FAULT_PERM_WRITE (1 << 1) +#define IOMMU_FAULT_PERM_EXEC (1 << 2) +#define IOMMU_FAULT_PERM_PRIV (1 << 3) +enum iommu_fault_type { + IOMMU_FAULT_DMA_UNRECOV = 1, + IOMMU_FAULT_PAGE_REQ, +}; +enum iommu_fault_reason { + IOMMU_FAULT_REASON_UNKNOWN = 0, + + IOMMU_FAULT_REASON_PASID_FETCH, + + IOMMU_FAULT_REASON_BAD_PASID_ENTRY, + + IOMMU_FAULT_REASON_PASID_INVALID, + + IOMMU_FAULT_REASON_WALK_EABT, + + IOMMU_FAULT_REASON_PTE_FETCH, + + IOMMU_FAULT_REASON_PERMISSION, + + IOMMU_FAULT_REASON_ACCESS, + + IOMMU_FAULT_REASON_OOR_ADDRESS, +}; +struct iommu_fault_unrecoverable { + __u32 reason; +#define IOMMU_FAULT_UNRECOV_PASID_VALID (1 << 0) +#define IOMMU_FAULT_UNRECOV_ADDR_VALID (1 << 1) +#define IOMMU_FAULT_UNRECOV_FETCH_ADDR_VALID (1 << 2) + __u32 flags; + __u32 pasid; + __u32 perm; + __u64 addr; + __u64 fetch_addr; +}; +struct iommu_fault_page_request { +#define IOMMU_FAULT_PAGE_REQUEST_PASID_VALID (1 << 0) +#define IOMMU_FAULT_PAGE_REQUEST_LAST_PAGE (1 << 1) +#define IOMMU_FAULT_PAGE_REQUEST_PRIV_DATA (1 << 2) +#define IOMMU_FAULT_PAGE_RESPONSE_NEEDS_PASID (1 << 3) + __u32 flags; + __u32 pasid; + __u32 grpid; + __u32 perm; + __u64 addr; + __u64 private_data[2]; +}; +struct iommu_fault { + __u32 type; + __u32 padding; + union { + struct iommu_fault_unrecoverable event; + struct iommu_fault_page_request prm; + __u8 padding2[56]; + }; +}; +enum iommu_page_response_code { + IOMMU_PAGE_RESP_SUCCESS = 0, + IOMMU_PAGE_RESP_INVALID, + IOMMU_PAGE_RESP_FAILURE, +}; +struct iommu_page_response { + __u32 argsz; +#define IOMMU_PAGE_RESP_VERSION_1 1 + __u32 version; +#define IOMMU_PAGE_RESP_PASID_VALID (1 << 0) + __u32 flags; + __u32 pasid; + __u32 grpid; + __u32 code; +}; +enum iommu_inv_granularity { + IOMMU_INV_GRANU_DOMAIN, + IOMMU_INV_GRANU_PASID, + IOMMU_INV_GRANU_ADDR, + IOMMU_INV_GRANU_NR, +}; +struct iommu_inv_addr_info { +#define IOMMU_INV_ADDR_FLAGS_PASID (1 << 0) +#define IOMMU_INV_ADDR_FLAGS_ARCHID (1 << 1) +#define IOMMU_INV_ADDR_FLAGS_LEAF (1 << 2) + __u32 flags; + __u32 archid; + __u64 pasid; + __u64 addr; + __u64 granule_size; + __u64 nb_granules; +}; +struct iommu_inv_pasid_info { +#define IOMMU_INV_PASID_FLAGS_PASID (1 << 0) +#define IOMMU_INV_PASID_FLAGS_ARCHID (1 << 1) + __u32 flags; + __u32 archid; + __u64 pasid; +}; +struct iommu_cache_invalidate_info { + __u32 argsz; +#define IOMMU_CACHE_INVALIDATE_INFO_VERSION_1 1 + __u32 version; +#define IOMMU_CACHE_INV_TYPE_IOTLB (1 << 0) +#define IOMMU_CACHE_INV_TYPE_DEV_IOTLB (1 << 1) +#define IOMMU_CACHE_INV_TYPE_PASID (1 << 2) +#define IOMMU_CACHE_INV_TYPE_NR (3) + __u8 cache; + __u8 granularity; + __u8 padding[6]; + union { + struct iommu_inv_pasid_info pasid_info; + struct iommu_inv_addr_info addr_info; + } granu; +}; +struct iommu_gpasid_bind_data_vtd { +#define IOMMU_SVA_VTD_GPASID_SRE (1 << 0) +#define IOMMU_SVA_VTD_GPASID_EAFE (1 << 1) +#define IOMMU_SVA_VTD_GPASID_PCD (1 << 2) +#define IOMMU_SVA_VTD_GPASID_PWT (1 << 3) +#define IOMMU_SVA_VTD_GPASID_EMTE (1 << 4) +#define IOMMU_SVA_VTD_GPASID_CD (1 << 5) +#define IOMMU_SVA_VTD_GPASID_LAST (1 << 6) + __u64 flags; + __u32 pat; + __u32 emt; +}; +#define IOMMU_SVA_VTD_GPASID_MTS_MASK (IOMMU_SVA_VTD_GPASID_CD | \ + IOMMU_SVA_VTD_GPASID_EMTE | \ + IOMMU_SVA_VTD_GPASID_PCD | \ + IOMMU_SVA_VTD_GPASID_PWT) +struct iommu_gpasid_bind_data { + __u32 argsz; +#define IOMMU_GPASID_BIND_VERSION_1 1 + __u32 version; +#define IOMMU_PASID_FORMAT_INTEL_VTD 1 +#define IOMMU_PASID_FORMAT_LAST 2 + __u32 format; + __u32 addr_width; +#define IOMMU_SVA_GPASID_VAL (1 << 0) + __u64 flags; + __u64 gpgd; + __u64 hpasid; + __u64 gpasid; + __u8 padding[8]; + + union { + struct iommu_gpasid_bind_data_vtd vtd; + } vendor; +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/ion.h b/linux-5.10/prebuilts/usr/include/linux/ion.h new file mode 100644 index 0000000..25383ff --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/ion.h @@ -0,0 +1,48 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI_LINUX_ION_H +#define _UAPI_LINUX_ION_H +#include +#include +enum ion_heap_type { + ION_HEAP_TYPE_SYSTEM, + ION_HEAP_TYPE_SYSTEM_CONTIG, + ION_HEAP_TYPE_CARVEOUT, + ION_HEAP_TYPE_CHUNK, + ION_HEAP_TYPE_DMA, + ION_HEAP_TYPE_CUSTOM, +}; +#define ION_NUM_HEAP_IDS (sizeof(unsigned int) * 8) +#define ION_FLAG_CACHED 1 +struct ion_allocation_data { + __u64 len; + __u32 heap_id_mask; + __u32 flags; + __u32 fd; + __u32 unused; +}; +#define MAX_HEAP_NAME 32 +struct ion_heap_data { + char name[MAX_HEAP_NAME]; + __u32 type; + __u32 heap_id; + __u32 reserved0; + __u32 reserved1; + __u32 reserved2; +}; +struct ion_heap_query { + __u32 cnt; + __u32 reserved0; + __u64 heaps; + __u32 reserved1; + __u32 reserved2; +}; +#define ION_IOC_MAGIC 'I' +#define ION_IOC_ALLOC _IOWR(ION_IOC_MAGIC, 0, \ + struct ion_allocation_data) +#define ION_IOC_HEAP_QUERY _IOWR(ION_IOC_MAGIC, 8, \ + struct ion_heap_query) +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/ip.h b/linux-5.10/prebuilts/usr/include/linux/ip.h new file mode 100644 index 0000000..599e95c --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/ip.h @@ -0,0 +1,143 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI_LINUX_IP_H +#define _UAPI_LINUX_IP_H +#include +#include +#define IPTOS_TOS_MASK 0x1E +#define IPTOS_TOS(tos) ((tos)&IPTOS_TOS_MASK) +#define IPTOS_LOWDELAY 0x10 +#define IPTOS_THROUGHPUT 0x08 +#define IPTOS_RELIABILITY 0x04 +#define IPTOS_MINCOST 0x02 +#define IPTOS_PREC_MASK 0xE0 +#define IPTOS_PREC(tos) ((tos)&IPTOS_PREC_MASK) +#define IPTOS_PREC_NETCONTROL 0xe0 +#define IPTOS_PREC_INTERNETCONTROL 0xc0 +#define IPTOS_PREC_CRITIC_ECP 0xa0 +#define IPTOS_PREC_FLASHOVERRIDE 0x80 +#define IPTOS_PREC_FLASH 0x60 +#define IPTOS_PREC_IMMEDIATE 0x40 +#define IPTOS_PREC_PRIORITY 0x20 +#define IPTOS_PREC_ROUTINE 0x00 +#define IPOPT_COPY 0x80 +#define IPOPT_CLASS_MASK 0x60 +#define IPOPT_NUMBER_MASK 0x1f +#define IPOPT_COPIED(o) ((o)&IPOPT_COPY) +#define IPOPT_CLASS(o) ((o)&IPOPT_CLASS_MASK) +#define IPOPT_NUMBER(o) ((o)&IPOPT_NUMBER_MASK) +#define IPOPT_CONTROL 0x00 +#define IPOPT_RESERVED1 0x20 +#define IPOPT_MEASUREMENT 0x40 +#define IPOPT_RESERVED2 0x60 +#define IPOPT_END (0 |IPOPT_CONTROL) +#define IPOPT_NOOP (1 |IPOPT_CONTROL) +#define IPOPT_SEC (2 |IPOPT_CONTROL|IPOPT_COPY) +#define IPOPT_LSRR (3 |IPOPT_CONTROL|IPOPT_COPY) +#define IPOPT_TIMESTAMP (4 |IPOPT_MEASUREMENT) +#define IPOPT_CIPSO (6 |IPOPT_CONTROL|IPOPT_COPY) +#define IPOPT_RR (7 |IPOPT_CONTROL) +#define IPOPT_SID (8 |IPOPT_CONTROL|IPOPT_COPY) +#define IPOPT_SSRR (9 |IPOPT_CONTROL|IPOPT_COPY) +#define IPOPT_RA (20|IPOPT_CONTROL|IPOPT_COPY) +#define IPVERSION 4 +#define MAXTTL 255 +#define IPDEFTTL 64 +#define IPOPT_OPTVAL 0 +#define IPOPT_OLEN 1 +#define IPOPT_OFFSET 2 +#define IPOPT_MINOFF 4 +#define MAX_IPOPTLEN 40 +#define IPOPT_NOP IPOPT_NOOP +#define IPOPT_EOL IPOPT_END +#define IPOPT_TS IPOPT_TIMESTAMP +#define IPOPT_TS_TSONLY 0 +#define IPOPT_TS_TSANDADDR 1 +#define IPOPT_TS_PRESPEC 3 +#define IPV4_BEET_PHMAXLEN 8 +struct iphdr { +#if defined(__LITTLE_ENDIAN_BITFIELD) + __u8 ihl:4, + version:4; +#elif defined (__BIG_ENDIAN_BITFIELD) + __u8 version:4, + ihl:4; +#else +#error "Please fix " +#endif + __u8 tos; + __be16 tot_len; + __be16 id; + __be16 frag_off; + __u8 ttl; + __u8 protocol; + __sum16 check; + __be32 saddr; + __be32 daddr; + +}; +struct ip_auth_hdr { + __u8 nexthdr; + __u8 hdrlen; + __be16 reserved; + __be32 spi; + __be32 seq_no; + __u8 auth_data[0]; +}; +struct ip_esp_hdr { + __be32 spi; + __be32 seq_no; + __u8 enc_data[0]; +}; +struct ip_comp_hdr { + __u8 nexthdr; + __u8 flags; + __be16 cpi; +}; +struct ip_beet_phdr { + __u8 nexthdr; + __u8 hdrlen; + __u8 padlen; + __u8 reserved; +}; +enum +{ + IPV4_DEVCONF_FORWARDING=1, + IPV4_DEVCONF_MC_FORWARDING, + IPV4_DEVCONF_PROXY_ARP, + IPV4_DEVCONF_ACCEPT_REDIRECTS, + IPV4_DEVCONF_SECURE_REDIRECTS, + IPV4_DEVCONF_SEND_REDIRECTS, + IPV4_DEVCONF_SHARED_MEDIA, + IPV4_DEVCONF_RP_FILTER, + IPV4_DEVCONF_ACCEPT_SOURCE_ROUTE, + IPV4_DEVCONF_BOOTP_RELAY, + IPV4_DEVCONF_LOG_MARTIANS, + IPV4_DEVCONF_TAG, + IPV4_DEVCONF_ARPFILTER, + IPV4_DEVCONF_MEDIUM_ID, + IPV4_DEVCONF_NOXFRM, + IPV4_DEVCONF_NOPOLICY, + IPV4_DEVCONF_FORCE_IGMP_VERSION, + IPV4_DEVCONF_ARP_ANNOUNCE, + IPV4_DEVCONF_ARP_IGNORE, + IPV4_DEVCONF_PROMOTE_SECONDARIES, + IPV4_DEVCONF_ARP_ACCEPT, + IPV4_DEVCONF_ARP_NOTIFY, + IPV4_DEVCONF_ACCEPT_LOCAL, + IPV4_DEVCONF_SRC_VMARK, + IPV4_DEVCONF_PROXY_ARP_PVLAN, + IPV4_DEVCONF_ROUTE_LOCALNET, + IPV4_DEVCONF_IGMPV2_UNSOLICITED_REPORT_INTERVAL, + IPV4_DEVCONF_IGMPV3_UNSOLICITED_REPORT_INTERVAL, + IPV4_DEVCONF_IGNORE_ROUTES_WITH_LINKDOWN, + IPV4_DEVCONF_DROP_UNICAST_IN_L2_MULTICAST, + IPV4_DEVCONF_DROP_GRATUITOUS_ARP, + IPV4_DEVCONF_BC_FORWARDING, + __IPV4_DEVCONF_MAX +}; +#define IPV4_DEVCONF_MAX (__IPV4_DEVCONF_MAX - 1) +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/ip6_tunnel.h b/linux-5.10/prebuilts/usr/include/linux/ip6_tunnel.h new file mode 100644 index 0000000..8411af6 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/ip6_tunnel.h @@ -0,0 +1,46 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _IP6_TUNNEL_H +#define _IP6_TUNNEL_H +#include +#include +#include +#define IPV6_TLV_TNL_ENCAP_LIMIT 4 +#define IPV6_DEFAULT_TNL_ENCAP_LIMIT 4 +#define IP6_TNL_F_IGN_ENCAP_LIMIT 0x1 +#define IP6_TNL_F_USE_ORIG_TCLASS 0x2 +#define IP6_TNL_F_USE_ORIG_FLOWLABEL 0x4 +#define IP6_TNL_F_MIP6_DEV 0x8 +#define IP6_TNL_F_RCV_DSCP_COPY 0x10 +#define IP6_TNL_F_USE_ORIG_FWMARK 0x20 +#define IP6_TNL_F_ALLOW_LOCAL_REMOTE 0x40 +struct ip6_tnl_parm { + char name[IFNAMSIZ]; + int link; + __u8 proto; + __u8 encap_limit; + __u8 hop_limit; + __be32 flowinfo; + __u32 flags; + struct in6_addr laddr; + struct in6_addr raddr; +}; +struct ip6_tnl_parm2 { + char name[IFNAMSIZ]; + int link; + __u8 proto; + __u8 encap_limit; + __u8 hop_limit; + __be32 flowinfo; + __u32 flags; + struct in6_addr laddr; + struct in6_addr raddr; + __be16 i_flags; + __be16 o_flags; + __be32 i_key; + __be32 o_key; +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/ip_vs.h b/linux-5.10/prebuilts/usr/include/linux/ip_vs.h new file mode 100644 index 0000000..e069788 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/ip_vs.h @@ -0,0 +1,311 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _IP_VS_H +#define _IP_VS_H +#include +#define IP_VS_VERSION_CODE 0x010201 +#define NVERSION(version) \ + (version >> 16) & 0xFF, \ + (version >> 8) & 0xFF, \ + version & 0xFF +#define IP_VS_SVC_F_PERSISTENT 0x0001 +#define IP_VS_SVC_F_HASHED 0x0002 +#define IP_VS_SVC_F_ONEPACKET 0x0004 +#define IP_VS_SVC_F_SCHED1 0x0008 +#define IP_VS_SVC_F_SCHED2 0x0010 +#define IP_VS_SVC_F_SCHED3 0x0020 +#define IP_VS_SVC_F_SCHED_SH_FALLBACK IP_VS_SVC_F_SCHED1 +#define IP_VS_SVC_F_SCHED_SH_PORT IP_VS_SVC_F_SCHED2 +#define IP_VS_DEST_F_AVAILABLE 0x0001 +#define IP_VS_DEST_F_OVERLOAD 0x0002 +#define IP_VS_STATE_NONE 0x0000 +#define IP_VS_STATE_MASTER 0x0001 +#define IP_VS_STATE_BACKUP 0x0002 +#define IP_VS_BASE_CTL (64+1024+64) +#define IP_VS_SO_SET_NONE IP_VS_BASE_CTL +#define IP_VS_SO_SET_INSERT (IP_VS_BASE_CTL+1) +#define IP_VS_SO_SET_ADD (IP_VS_BASE_CTL+2) +#define IP_VS_SO_SET_EDIT (IP_VS_BASE_CTL+3) +#define IP_VS_SO_SET_DEL (IP_VS_BASE_CTL+4) +#define IP_VS_SO_SET_FLUSH (IP_VS_BASE_CTL+5) +#define IP_VS_SO_SET_LIST (IP_VS_BASE_CTL+6) +#define IP_VS_SO_SET_ADDDEST (IP_VS_BASE_CTL+7) +#define IP_VS_SO_SET_DELDEST (IP_VS_BASE_CTL+8) +#define IP_VS_SO_SET_EDITDEST (IP_VS_BASE_CTL+9) +#define IP_VS_SO_SET_TIMEOUT (IP_VS_BASE_CTL+10) +#define IP_VS_SO_SET_STARTDAEMON (IP_VS_BASE_CTL+11) +#define IP_VS_SO_SET_STOPDAEMON (IP_VS_BASE_CTL+12) +#define IP_VS_SO_SET_RESTORE (IP_VS_BASE_CTL+13) +#define IP_VS_SO_SET_SAVE (IP_VS_BASE_CTL+14) +#define IP_VS_SO_SET_ZERO (IP_VS_BASE_CTL+15) +#define IP_VS_SO_SET_MAX IP_VS_SO_SET_ZERO +#define IP_VS_SO_GET_VERSION IP_VS_BASE_CTL +#define IP_VS_SO_GET_INFO (IP_VS_BASE_CTL+1) +#define IP_VS_SO_GET_SERVICES (IP_VS_BASE_CTL+2) +#define IP_VS_SO_GET_SERVICE (IP_VS_BASE_CTL+3) +#define IP_VS_SO_GET_DESTS (IP_VS_BASE_CTL+4) +#define IP_VS_SO_GET_DEST (IP_VS_BASE_CTL+5) +#define IP_VS_SO_GET_TIMEOUT (IP_VS_BASE_CTL+6) +#define IP_VS_SO_GET_DAEMON (IP_VS_BASE_CTL+7) +#define IP_VS_SO_GET_MAX IP_VS_SO_GET_DAEMON +#define IP_VS_CONN_F_FWD_MASK 0x0007 +#define IP_VS_CONN_F_MASQ 0x0000 +#define IP_VS_CONN_F_LOCALNODE 0x0001 +#define IP_VS_CONN_F_TUNNEL 0x0002 +#define IP_VS_CONN_F_DROUTE 0x0003 +#define IP_VS_CONN_F_BYPASS 0x0004 +#define IP_VS_CONN_F_SYNC 0x0020 +#define IP_VS_CONN_F_HASHED 0x0040 +#define IP_VS_CONN_F_NOOUTPUT 0x0080 +#define IP_VS_CONN_F_INACTIVE 0x0100 +#define IP_VS_CONN_F_OUT_SEQ 0x0200 +#define IP_VS_CONN_F_IN_SEQ 0x0400 +#define IP_VS_CONN_F_SEQ_MASK 0x0600 +#define IP_VS_CONN_F_NO_CPORT 0x0800 +#define IP_VS_CONN_F_TEMPLATE 0x1000 +#define IP_VS_CONN_F_ONE_PACKET 0x2000 +#define IP_VS_CONN_F_BACKUP_MASK (IP_VS_CONN_F_FWD_MASK | \ + IP_VS_CONN_F_NOOUTPUT | \ + IP_VS_CONN_F_INACTIVE | \ + IP_VS_CONN_F_SEQ_MASK | \ + IP_VS_CONN_F_NO_CPORT | \ + IP_VS_CONN_F_TEMPLATE \ + ) +#define IP_VS_CONN_F_BACKUP_UPD_MASK (IP_VS_CONN_F_INACTIVE | \ + IP_VS_CONN_F_SEQ_MASK) +#define IP_VS_CONN_F_NFCT (1 << 16) +#define IP_VS_CONN_F_DEST_MASK (IP_VS_CONN_F_FWD_MASK | \ + IP_VS_CONN_F_ONE_PACKET | \ + IP_VS_CONN_F_NFCT | \ + 0) +#define IP_VS_SCHEDNAME_MAXLEN 16 +#define IP_VS_PENAME_MAXLEN 16 +#define IP_VS_IFNAME_MAXLEN 16 +#define IP_VS_PEDATA_MAXLEN 255 +enum { + IP_VS_CONN_F_TUNNEL_TYPE_IPIP = 0, + IP_VS_CONN_F_TUNNEL_TYPE_GUE, + IP_VS_CONN_F_TUNNEL_TYPE_GRE, + IP_VS_CONN_F_TUNNEL_TYPE_MAX, +}; +#define IP_VS_TUNNEL_ENCAP_FLAG_NOCSUM (0) +#define IP_VS_TUNNEL_ENCAP_FLAG_CSUM (1 << 0) +#define IP_VS_TUNNEL_ENCAP_FLAG_REMCSUM (1 << 1) +struct ip_vs_service_user { + + __u16 protocol; + __be32 addr; + __be16 port; + __u32 fwmark; + + char sched_name[IP_VS_SCHEDNAME_MAXLEN]; + unsigned int flags; + unsigned int timeout; + __be32 netmask; +}; +struct ip_vs_dest_user { + + __be32 addr; + __be16 port; + + unsigned int conn_flags; + int weight; + + __u32 u_threshold; + __u32 l_threshold; +}; +struct ip_vs_stats_user { + __u32 conns; + __u32 inpkts; + __u32 outpkts; + __u64 inbytes; + __u64 outbytes; + __u32 cps; + __u32 inpps; + __u32 outpps; + __u32 inbps; + __u32 outbps; +}; +struct ip_vs_getinfo { + + unsigned int version; + + unsigned int size; + + unsigned int num_services; +}; +struct ip_vs_service_entry { + + __u16 protocol; + __be32 addr; + __be16 port; + __u32 fwmark; + + char sched_name[IP_VS_SCHEDNAME_MAXLEN]; + unsigned int flags; + unsigned int timeout; + __be32 netmask; + + unsigned int num_dests; + + struct ip_vs_stats_user stats; +}; +struct ip_vs_dest_entry { + __be32 addr; + __be16 port; + unsigned int conn_flags; + int weight; + __u32 u_threshold; + __u32 l_threshold; + __u32 activeconns; + __u32 inactconns; + __u32 persistconns; + + struct ip_vs_stats_user stats; +}; +struct ip_vs_get_dests { + + __u16 protocol; + __be32 addr; + __be16 port; + __u32 fwmark; + + unsigned int num_dests; + + struct ip_vs_dest_entry entrytable[0]; +}; +struct ip_vs_get_services { + + unsigned int num_services; + + struct ip_vs_service_entry entrytable[0]; +}; +struct ip_vs_timeout_user { + int tcp_timeout; + int tcp_fin_timeout; + int udp_timeout; +}; +struct ip_vs_daemon_user { + + int state; + + char mcast_ifn[IP_VS_IFNAME_MAXLEN]; + + int syncid; +}; +#define IPVS_GENL_NAME "IPVS" +#define IPVS_GENL_VERSION 0x1 +struct ip_vs_flags { + __u32 flags; + __u32 mask; +}; +enum { + IPVS_CMD_UNSPEC = 0, + IPVS_CMD_NEW_SERVICE, + IPVS_CMD_SET_SERVICE, + IPVS_CMD_DEL_SERVICE, + IPVS_CMD_GET_SERVICE, + IPVS_CMD_NEW_DEST, + IPVS_CMD_SET_DEST, + IPVS_CMD_DEL_DEST, + IPVS_CMD_GET_DEST, + IPVS_CMD_NEW_DAEMON, + IPVS_CMD_DEL_DAEMON, + IPVS_CMD_GET_DAEMON, + IPVS_CMD_SET_CONFIG, + IPVS_CMD_GET_CONFIG, + IPVS_CMD_SET_INFO, + IPVS_CMD_GET_INFO, + IPVS_CMD_ZERO, + IPVS_CMD_FLUSH, + __IPVS_CMD_MAX, +}; +#define IPVS_CMD_MAX (__IPVS_CMD_MAX - 1) +enum { + IPVS_CMD_ATTR_UNSPEC = 0, + IPVS_CMD_ATTR_SERVICE, + IPVS_CMD_ATTR_DEST, + IPVS_CMD_ATTR_DAEMON, + IPVS_CMD_ATTR_TIMEOUT_TCP, + IPVS_CMD_ATTR_TIMEOUT_TCP_FIN, + IPVS_CMD_ATTR_TIMEOUT_UDP, + __IPVS_CMD_ATTR_MAX, +}; +#define IPVS_CMD_ATTR_MAX (__IPVS_CMD_ATTR_MAX - 1) +enum { + IPVS_SVC_ATTR_UNSPEC = 0, + IPVS_SVC_ATTR_AF, + IPVS_SVC_ATTR_PROTOCOL, + IPVS_SVC_ATTR_ADDR, + IPVS_SVC_ATTR_PORT, + IPVS_SVC_ATTR_FWMARK, + IPVS_SVC_ATTR_SCHED_NAME, + IPVS_SVC_ATTR_FLAGS, + IPVS_SVC_ATTR_TIMEOUT, + IPVS_SVC_ATTR_NETMASK, + IPVS_SVC_ATTR_STATS, + IPVS_SVC_ATTR_PE_NAME, + IPVS_SVC_ATTR_STATS64, + __IPVS_SVC_ATTR_MAX, +}; +#define IPVS_SVC_ATTR_MAX (__IPVS_SVC_ATTR_MAX - 1) +enum { + IPVS_DEST_ATTR_UNSPEC = 0, + IPVS_DEST_ATTR_ADDR, + IPVS_DEST_ATTR_PORT, + IPVS_DEST_ATTR_FWD_METHOD, + IPVS_DEST_ATTR_WEIGHT, + IPVS_DEST_ATTR_U_THRESH, + IPVS_DEST_ATTR_L_THRESH, + IPVS_DEST_ATTR_ACTIVE_CONNS, + IPVS_DEST_ATTR_INACT_CONNS, + IPVS_DEST_ATTR_PERSIST_CONNS, + IPVS_DEST_ATTR_STATS, + IPVS_DEST_ATTR_ADDR_FAMILY, + IPVS_DEST_ATTR_STATS64, + IPVS_DEST_ATTR_TUN_TYPE, + IPVS_DEST_ATTR_TUN_PORT, + IPVS_DEST_ATTR_TUN_FLAGS, + __IPVS_DEST_ATTR_MAX, +}; +#define IPVS_DEST_ATTR_MAX (__IPVS_DEST_ATTR_MAX - 1) +enum { + IPVS_DAEMON_ATTR_UNSPEC = 0, + IPVS_DAEMON_ATTR_STATE, + IPVS_DAEMON_ATTR_MCAST_IFN, + IPVS_DAEMON_ATTR_SYNC_ID, + IPVS_DAEMON_ATTR_SYNC_MAXLEN, + IPVS_DAEMON_ATTR_MCAST_GROUP, + IPVS_DAEMON_ATTR_MCAST_GROUP6, + IPVS_DAEMON_ATTR_MCAST_PORT, + IPVS_DAEMON_ATTR_MCAST_TTL, + __IPVS_DAEMON_ATTR_MAX, +}; +#define IPVS_DAEMON_ATTR_MAX (__IPVS_DAEMON_ATTR_MAX - 1) +enum { + IPVS_STATS_ATTR_UNSPEC = 0, + IPVS_STATS_ATTR_CONNS, + IPVS_STATS_ATTR_INPKTS, + IPVS_STATS_ATTR_OUTPKTS, + IPVS_STATS_ATTR_INBYTES, + IPVS_STATS_ATTR_OUTBYTES, + IPVS_STATS_ATTR_CPS, + IPVS_STATS_ATTR_INPPS, + IPVS_STATS_ATTR_OUTPPS, + IPVS_STATS_ATTR_INBPS, + IPVS_STATS_ATTR_OUTBPS, + IPVS_STATS_ATTR_PAD, + __IPVS_STATS_ATTR_MAX, +}; +#define IPVS_STATS_ATTR_MAX (__IPVS_STATS_ATTR_MAX - 1) +enum { + IPVS_INFO_ATTR_UNSPEC = 0, + IPVS_INFO_ATTR_VERSION, + IPVS_INFO_ATTR_CONN_TAB_SIZE, + __IPVS_INFO_ATTR_MAX, +}; +#define IPVS_INFO_ATTR_MAX (__IPVS_INFO_ATTR_MAX - 1) +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/ipc.h b/linux-5.10/prebuilts/usr/include/linux/ipc.h new file mode 100644 index 0000000..7eab4d6 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/ipc.h @@ -0,0 +1,51 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI_LINUX_IPC_H +#define _UAPI_LINUX_IPC_H +#include +#define IPC_PRIVATE ((__kernel_key_t) 0) +struct __kernel_legacy_ipc_perm +{ + __kernel_key_t key; + __kernel_uid_t uid; + __kernel_gid_t gid; + __kernel_uid_t cuid; + __kernel_gid_t cgid; + __kernel_mode_t mode; + unsigned short seq; +}; +#include +#define IPC_CREAT 00001000 +#define IPC_EXCL 00002000 +#define IPC_NOWAIT 00004000 + +#define IPC_DIPC 00010000 +#define IPC_OWN 00020000 +#define IPC_RMID 0 +#define IPC_SET 1 +#define IPC_STAT 2 +#define IPC_INFO 3 +#define IPC_OLD 0 +#define IPC_64 0x0100 +struct ipc_kludge { + struct msgbuf __user *msgp; + long msgtyp; +}; +#define SEMOP 1 +#define SEMGET 2 +#define SEMCTL 3 +#define SEMTIMEDOP 4 +#define MSGSND 11 +#define MSGRCV 12 +#define MSGGET 13 +#define MSGCTL 14 +#define SHMAT 21 +#define SHMDT 22 +#define SHMGET 23 +#define SHMCTL 24 +#define DIPC 25 +#define IPCCALL(version,op) ((version)<<16 | (op)) +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/ipmi.h b/linux-5.10/prebuilts/usr/include/linux/ipmi.h new file mode 100644 index 0000000..499f34d --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/ipmi.h @@ -0,0 +1,139 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI__LINUX_IPMI_H +#define _UAPI__LINUX_IPMI_H +#include +#include +#define IPMI_MAX_ADDR_SIZE 32 +struct ipmi_addr { + + int addr_type; + short channel; + char data[IPMI_MAX_ADDR_SIZE]; +}; +#define IPMI_SYSTEM_INTERFACE_ADDR_TYPE 0x0c +struct ipmi_system_interface_addr { + int addr_type; + short channel; + unsigned char lun; +}; +#define IPMI_IPMB_ADDR_TYPE 0x01 +#define IPMI_IPMB_BROADCAST_ADDR_TYPE 0x41 +struct ipmi_ipmb_addr { + int addr_type; + short channel; + unsigned char slave_addr; + unsigned char lun; +}; +#define IPMI_LAN_ADDR_TYPE 0x04 +struct ipmi_lan_addr { + int addr_type; + short channel; + unsigned char privilege; + unsigned char session_handle; + unsigned char remote_SWID; + unsigned char local_SWID; + unsigned char lun; +}; +#define IPMI_BMC_CHANNEL 0xf +#define IPMI_NUM_CHANNELS 0x10 +#define IPMI_CHAN_ALL (~0) +struct ipmi_msg { + unsigned char netfn; + unsigned char cmd; + unsigned short data_len; + unsigned char __user *data; +}; +struct kernel_ipmi_msg { + unsigned char netfn; + unsigned char cmd; + unsigned short data_len; + unsigned char *data; +}; +#define IPMI_INVALID_CMD_COMPLETION_CODE 0xC1 +#define IPMI_TIMEOUT_COMPLETION_CODE 0xC3 +#define IPMI_UNKNOWN_ERR_COMPLETION_CODE 0xff +#define IPMI_RESPONSE_RECV_TYPE 1 +#define IPMI_ASYNC_EVENT_RECV_TYPE 2 +#define IPMI_CMD_RECV_TYPE 3 +#define IPMI_RESPONSE_RESPONSE_TYPE 4 +#define IPMI_OEM_RECV_TYPE 5 +#define IPMI_MAINTENANCE_MODE_AUTO 0 +#define IPMI_MAINTENANCE_MODE_OFF 1 +#define IPMI_MAINTENANCE_MODE_ON 2 +#define IPMI_IOC_MAGIC 'i' +struct ipmi_req { + unsigned char __user *addr; + unsigned int addr_len; + long msgid; + struct ipmi_msg msg; +}; +#define IPMICTL_SEND_COMMAND _IOR(IPMI_IOC_MAGIC, 13, \ + struct ipmi_req) +struct ipmi_req_settime { + struct ipmi_req req; + + int retries; + unsigned int retry_time_ms; +}; +#define IPMICTL_SEND_COMMAND_SETTIME _IOR(IPMI_IOC_MAGIC, 21, \ + struct ipmi_req_settime) +struct ipmi_recv { + int recv_type; + unsigned char __user *addr; + unsigned int addr_len; + long msgid; + struct ipmi_msg msg; +}; +#define IPMICTL_RECEIVE_MSG _IOWR(IPMI_IOC_MAGIC, 12, \ + struct ipmi_recv) +#define IPMICTL_RECEIVE_MSG_TRUNC _IOWR(IPMI_IOC_MAGIC, 11, \ + struct ipmi_recv) +struct ipmi_cmdspec { + unsigned char netfn; + unsigned char cmd; +}; +#define IPMICTL_REGISTER_FOR_CMD _IOR(IPMI_IOC_MAGIC, 14, \ + struct ipmi_cmdspec) +#define IPMICTL_UNREGISTER_FOR_CMD _IOR(IPMI_IOC_MAGIC, 15, \ + struct ipmi_cmdspec) +struct ipmi_cmdspec_chans { + unsigned int netfn; + unsigned int cmd; + unsigned int chans; +}; +#define IPMICTL_REGISTER_FOR_CMD_CHANS _IOR(IPMI_IOC_MAGIC, 28, \ + struct ipmi_cmdspec_chans) +#define IPMICTL_UNREGISTER_FOR_CMD_CHANS _IOR(IPMI_IOC_MAGIC, 29, \ + struct ipmi_cmdspec_chans) +#define IPMICTL_SET_GETS_EVENTS_CMD _IOR(IPMI_IOC_MAGIC, 16, int) +struct ipmi_channel_lun_address_set { + unsigned short channel; + unsigned char value; +}; +#define IPMICTL_SET_MY_CHANNEL_ADDRESS_CMD \ + _IOR(IPMI_IOC_MAGIC, 24, struct ipmi_channel_lun_address_set) +#define IPMICTL_GET_MY_CHANNEL_ADDRESS_CMD \ + _IOR(IPMI_IOC_MAGIC, 25, struct ipmi_channel_lun_address_set) +#define IPMICTL_SET_MY_CHANNEL_LUN_CMD \ + _IOR(IPMI_IOC_MAGIC, 26, struct ipmi_channel_lun_address_set) +#define IPMICTL_GET_MY_CHANNEL_LUN_CMD \ + _IOR(IPMI_IOC_MAGIC, 27, struct ipmi_channel_lun_address_set) +#define IPMICTL_SET_MY_ADDRESS_CMD _IOR(IPMI_IOC_MAGIC, 17, unsigned int) +#define IPMICTL_GET_MY_ADDRESS_CMD _IOR(IPMI_IOC_MAGIC, 18, unsigned int) +#define IPMICTL_SET_MY_LUN_CMD _IOR(IPMI_IOC_MAGIC, 19, unsigned int) +#define IPMICTL_GET_MY_LUN_CMD _IOR(IPMI_IOC_MAGIC, 20, unsigned int) +struct ipmi_timing_parms { + int retries; + unsigned int retry_time_ms; +}; +#define IPMICTL_SET_TIMING_PARMS_CMD _IOR(IPMI_IOC_MAGIC, 22, \ + struct ipmi_timing_parms) +#define IPMICTL_GET_TIMING_PARMS_CMD _IOR(IPMI_IOC_MAGIC, 23, \ + struct ipmi_timing_parms) +#define IPMICTL_GET_MAINTENANCE_MODE_CMD _IOR(IPMI_IOC_MAGIC, 30, int) +#define IPMICTL_SET_MAINTENANCE_MODE_CMD _IOW(IPMI_IOC_MAGIC, 31, int) +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/ipmi_bmc.h b/linux-5.10/prebuilts/usr/include/linux/ipmi_bmc.h new file mode 100644 index 0000000..88f5f6a --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/ipmi_bmc.h @@ -0,0 +1,13 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI_LINUX_IPMI_BMC_H +#define _UAPI_LINUX_IPMI_BMC_H +#include +#define __IPMI_BMC_IOCTL_MAGIC 0xB1 +#define IPMI_BMC_IOCTL_SET_SMS_ATN _IO(__IPMI_BMC_IOCTL_MAGIC, 0x00) +#define IPMI_BMC_IOCTL_CLEAR_SMS_ATN _IO(__IPMI_BMC_IOCTL_MAGIC, 0x01) +#define IPMI_BMC_IOCTL_FORCE_ABORT _IO(__IPMI_BMC_IOCTL_MAGIC, 0x02) +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/ipmi_msgdefs.h b/linux-5.10/prebuilts/usr/include/linux/ipmi_msgdefs.h new file mode 100644 index 0000000..edad74a --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/ipmi_msgdefs.h @@ -0,0 +1,72 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef __LINUX_IPMI_MSGDEFS_H +#define __LINUX_IPMI_MSGDEFS_H +#define IPMI_NETFN_SENSOR_EVENT_REQUEST 0x04 +#define IPMI_NETFN_SENSOR_EVENT_RESPONSE 0x05 +#define IPMI_GET_EVENT_RECEIVER_CMD 0x01 +#define IPMI_NETFN_APP_REQUEST 0x06 +#define IPMI_NETFN_APP_RESPONSE 0x07 +#define IPMI_GET_DEVICE_ID_CMD 0x01 +#define IPMI_COLD_RESET_CMD 0x02 +#define IPMI_WARM_RESET_CMD 0x03 +#define IPMI_CLEAR_MSG_FLAGS_CMD 0x30 +#define IPMI_GET_DEVICE_GUID_CMD 0x08 +#define IPMI_GET_MSG_FLAGS_CMD 0x31 +#define IPMI_SEND_MSG_CMD 0x34 +#define IPMI_GET_MSG_CMD 0x33 +#define IPMI_SET_BMC_GLOBAL_ENABLES_CMD 0x2e +#define IPMI_GET_BMC_GLOBAL_ENABLES_CMD 0x2f +#define IPMI_READ_EVENT_MSG_BUFFER_CMD 0x35 +#define IPMI_GET_CHANNEL_INFO_CMD 0x42 +#define IPMI_BMC_RCV_MSG_INTR 0x01 +#define IPMI_BMC_EVT_MSG_INTR 0x02 +#define IPMI_BMC_EVT_MSG_BUFF 0x04 +#define IPMI_BMC_SYS_LOG 0x08 +#define IPMI_NETFN_STORAGE_REQUEST 0x0a +#define IPMI_NETFN_STORAGE_RESPONSE 0x0b +#define IPMI_ADD_SEL_ENTRY_CMD 0x44 +#define IPMI_NETFN_FIRMWARE_REQUEST 0x08 +#define IPMI_NETFN_FIRMWARE_RESPONSE 0x09 +#define IPMI_BMC_SLAVE_ADDR 0x20 +#define IPMI_MAX_MSG_LENGTH 272 +#define IPMI_CC_NO_ERROR 0x00 +#define IPMI_NODE_BUSY_ERR 0xc0 +#define IPMI_INVALID_COMMAND_ERR 0xc1 +#define IPMI_TIMEOUT_ERR 0xc3 +#define IPMI_ERR_MSG_TRUNCATED 0xc6 +#define IPMI_REQ_LEN_INVALID_ERR 0xc7 +#define IPMI_REQ_LEN_EXCEEDED_ERR 0xc8 +#define IPMI_DEVICE_IN_FW_UPDATE_ERR 0xd1 +#define IPMI_DEVICE_IN_INIT_ERR 0xd2 +#define IPMI_NOT_IN_MY_STATE_ERR 0xd5 +#define IPMI_LOST_ARBITRATION_ERR 0x81 +#define IPMI_BUS_ERR 0x82 +#define IPMI_NAK_ON_WRITE_ERR 0x83 +#define IPMI_ERR_UNSPECIFIED 0xff +#define IPMI_CHANNEL_PROTOCOL_IPMB 1 +#define IPMI_CHANNEL_PROTOCOL_ICMB 2 +#define IPMI_CHANNEL_PROTOCOL_SMBUS 4 +#define IPMI_CHANNEL_PROTOCOL_KCS 5 +#define IPMI_CHANNEL_PROTOCOL_SMIC 6 +#define IPMI_CHANNEL_PROTOCOL_BT10 7 +#define IPMI_CHANNEL_PROTOCOL_BT15 8 +#define IPMI_CHANNEL_PROTOCOL_TMODE 9 +#define IPMI_CHANNEL_MEDIUM_IPMB 1 +#define IPMI_CHANNEL_MEDIUM_ICMB10 2 +#define IPMI_CHANNEL_MEDIUM_ICMB09 3 +#define IPMI_CHANNEL_MEDIUM_8023LAN 4 +#define IPMI_CHANNEL_MEDIUM_ASYNC 5 +#define IPMI_CHANNEL_MEDIUM_OTHER_LAN 6 +#define IPMI_CHANNEL_MEDIUM_PCI_SMBUS 7 +#define IPMI_CHANNEL_MEDIUM_SMBUS1 8 +#define IPMI_CHANNEL_MEDIUM_SMBUS2 9 +#define IPMI_CHANNEL_MEDIUM_USB1 10 +#define IPMI_CHANNEL_MEDIUM_USB2 11 +#define IPMI_CHANNEL_MEDIUM_SYSINTF 12 +#define IPMI_CHANNEL_MEDIUM_OEM_MIN 0x60 +#define IPMI_CHANNEL_MEDIUM_OEM_MAX 0x7f +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/ipsec.h b/linux-5.10/prebuilts/usr/include/linux/ipsec.h new file mode 100644 index 0000000..42dd5d2 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/ipsec.h @@ -0,0 +1,41 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _LINUX_IPSEC_H +#define _LINUX_IPSEC_H +#include +#define IPSEC_PORT_ANY 0 +#define IPSEC_ULPROTO_ANY 255 +#define IPSEC_PROTO_ANY 255 +enum { + IPSEC_MODE_ANY = 0, + IPSEC_MODE_TRANSPORT = 1, + IPSEC_MODE_TUNNEL = 2, + IPSEC_MODE_BEET = 3 +}; +enum { + IPSEC_DIR_ANY = 0, + IPSEC_DIR_INBOUND = 1, + IPSEC_DIR_OUTBOUND = 2, + IPSEC_DIR_FWD = 3, + IPSEC_DIR_MAX = 4, + IPSEC_DIR_INVALID = 5 +}; +enum { + IPSEC_POLICY_DISCARD = 0, + IPSEC_POLICY_NONE = 1, + IPSEC_POLICY_IPSEC = 2, + IPSEC_POLICY_ENTRUST = 3, + IPSEC_POLICY_BYPASS = 4 +}; +enum { + IPSEC_LEVEL_DEFAULT = 0, + IPSEC_LEVEL_USE = 1, + IPSEC_LEVEL_REQUIRE = 2, + IPSEC_LEVEL_UNIQUE = 3 +}; +#define IPSEC_MANUAL_REQID_MAX 0x3fff +#define IPSEC_REPLAYWSIZE 32 +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/ipv6.h b/linux-5.10/prebuilts/usr/include/linux/ipv6.h new file mode 100644 index 0000000..428e8a9 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/ipv6.h @@ -0,0 +1,139 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI_IPV6_H +#define _UAPI_IPV6_H +#include +#include +#include +#include +#define IPV6_MIN_MTU 1280 +#if __UAPI_DEF_IN6_PKTINFO +struct in6_pktinfo { + struct in6_addr ipi6_addr; + int ipi6_ifindex; +}; +#endif +#if __UAPI_DEF_IP6_MTUINFO +struct ip6_mtuinfo { + struct sockaddr_in6 ip6m_addr; + __u32 ip6m_mtu; +}; +#endif +struct in6_ifreq { + struct in6_addr ifr6_addr; + __u32 ifr6_prefixlen; + int ifr6_ifindex; +}; +#define IPV6_SRCRT_STRICT 0x01 +#define IPV6_SRCRT_TYPE_0 0 +#define IPV6_SRCRT_TYPE_2 2 +#define IPV6_SRCRT_TYPE_3 3 +#define IPV6_SRCRT_TYPE_4 4 +struct ipv6_rt_hdr { + __u8 nexthdr; + __u8 hdrlen; + __u8 type; + __u8 segments_left; + +}; +struct ipv6_opt_hdr { + __u8 nexthdr; + __u8 hdrlen; + +} __attribute__((packed)); +#define ipv6_destopt_hdr ipv6_opt_hdr +#define ipv6_hopopt_hdr ipv6_opt_hdr +#define IPV6_OPT_ROUTERALERT_MLD 0x0000 +struct rt0_hdr { + struct ipv6_rt_hdr rt_hdr; + __u32 reserved; + struct in6_addr addr[0]; +#define rt0_type rt_hdr.type +}; +struct rt2_hdr { + struct ipv6_rt_hdr rt_hdr; + __u32 reserved; + struct in6_addr addr; +#define rt2_type rt_hdr.type +}; +struct ipv6_destopt_hao { + __u8 type; + __u8 length; + struct in6_addr addr; +} __attribute__((packed)); +struct ipv6hdr { +#if defined(__LITTLE_ENDIAN_BITFIELD) + __u8 priority:4, + version:4; +#elif defined(__BIG_ENDIAN_BITFIELD) + __u8 version:4, + priority:4; +#else +#error "Please fix " +#endif + __u8 flow_lbl[3]; + __be16 payload_len; + __u8 nexthdr; + __u8 hop_limit; + struct in6_addr saddr; + struct in6_addr daddr; +}; +enum { + DEVCONF_FORWARDING = 0, + DEVCONF_HOPLIMIT, + DEVCONF_MTU6, + DEVCONF_ACCEPT_RA, + DEVCONF_ACCEPT_REDIRECTS, + DEVCONF_AUTOCONF, + DEVCONF_DAD_TRANSMITS, + DEVCONF_RTR_SOLICITS, + DEVCONF_RTR_SOLICIT_INTERVAL, + DEVCONF_RTR_SOLICIT_DELAY, + DEVCONF_USE_TEMPADDR, + DEVCONF_TEMP_VALID_LFT, + DEVCONF_TEMP_PREFERED_LFT, + DEVCONF_REGEN_MAX_RETRY, + DEVCONF_MAX_DESYNC_FACTOR, + DEVCONF_MAX_ADDRESSES, + DEVCONF_FORCE_MLD_VERSION, + DEVCONF_ACCEPT_RA_DEFRTR, + DEVCONF_ACCEPT_RA_PINFO, + DEVCONF_ACCEPT_RA_RTR_PREF, + DEVCONF_RTR_PROBE_INTERVAL, + DEVCONF_ACCEPT_RA_RT_INFO_MAX_PLEN, + DEVCONF_PROXY_NDP, + DEVCONF_OPTIMISTIC_DAD, + DEVCONF_ACCEPT_SOURCE_ROUTE, + DEVCONF_MC_FORWARDING, + DEVCONF_DISABLE_IPV6, + DEVCONF_ACCEPT_DAD, + DEVCONF_FORCE_TLLAO, + DEVCONF_NDISC_NOTIFY, + DEVCONF_MLDV1_UNSOLICITED_REPORT_INTERVAL, + DEVCONF_MLDV2_UNSOLICITED_REPORT_INTERVAL, + DEVCONF_SUPPRESS_FRAG_NDISC, + DEVCONF_ACCEPT_RA_FROM_LOCAL, + DEVCONF_USE_OPTIMISTIC, + DEVCONF_ACCEPT_RA_MTU, + DEVCONF_STABLE_SECRET, + DEVCONF_USE_OIF_ADDRS_ONLY, + DEVCONF_ACCEPT_RA_MIN_HOP_LIMIT, + DEVCONF_IGNORE_ROUTES_WITH_LINKDOWN, + DEVCONF_DROP_UNICAST_IN_L2_MULTICAST, + DEVCONF_DROP_UNSOLICITED_NA, + DEVCONF_KEEP_ADDR_ON_DOWN, + DEVCONF_RTR_SOLICIT_MAX_INTERVAL, + DEVCONF_SEG6_ENABLED, + DEVCONF_SEG6_REQUIRE_HMAC, + DEVCONF_ENHANCED_DAD, + DEVCONF_ADDR_GEN_MODE, + DEVCONF_DISABLE_POLICY, + DEVCONF_ACCEPT_RA_RT_INFO_MIN_PLEN, + DEVCONF_NDISC_TCLASS, + DEVCONF_RPL_SEG_ENABLED, + DEVCONF_MAX +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/ipv6_route.h b/linux-5.10/prebuilts/usr/include/linux/ipv6_route.h new file mode 100644 index 0000000..8024f03 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/ipv6_route.h @@ -0,0 +1,43 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI_LINUX_IPV6_ROUTE_H +#define _UAPI_LINUX_IPV6_ROUTE_H +#include +#include +#define RTF_DEFAULT 0x00010000 +#define RTF_ALLONLINK 0x00020000 +#define RTF_ADDRCONF 0x00040000 +#define RTF_PREFIX_RT 0x00080000 +#define RTF_ANYCAST 0x00100000 +#define RTF_NONEXTHOP 0x00200000 +#define RTF_EXPIRES 0x00400000 +#define RTF_ROUTEINFO 0x00800000 +#define RTF_CACHE 0x01000000 +#define RTF_FLOW 0x02000000 +#define RTF_POLICY 0x04000000 +#define RTF_PREF(pref) ((pref) << 27) +#define RTF_PREF_MASK 0x18000000 +#define RTF_PCPU 0x40000000 +#define RTF_LOCAL 0x80000000 +struct in6_rtmsg { + struct in6_addr rtmsg_dst; + struct in6_addr rtmsg_src; + struct in6_addr rtmsg_gateway; + __u32 rtmsg_type; + __u16 rtmsg_dst_len; + __u16 rtmsg_src_len; + __u32 rtmsg_metric; + unsigned long rtmsg_info; + __u32 rtmsg_flags; + int rtmsg_ifindex; +}; +#define RTMSG_NEWDEVICE 0x11 +#define RTMSG_DELDEVICE 0x12 +#define RTMSG_NEWROUTE 0x21 +#define RTMSG_DELROUTE 0x22 +#define IP6_RT_PRIO_USER 1024 +#define IP6_RT_PRIO_ADDRCONF 256 +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/ipx.h b/linux-5.10/prebuilts/usr/include/linux/ipx.h new file mode 100644 index 0000000..b1e623b --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/ipx.h @@ -0,0 +1,77 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _IPX_H_ +#define _IPX_H_ +#include +#include +#include +#include +#define IPX_NODE_LEN 6 +#define IPX_MTU 576 +#if __UAPI_DEF_SOCKADDR_IPX +struct sockaddr_ipx { + __kernel_sa_family_t sipx_family; + __be16 sipx_port; + __be32 sipx_network; + unsigned char sipx_node[IPX_NODE_LEN]; + __u8 sipx_type; + unsigned char sipx_zero; +}; +#endif +#define sipx_special sipx_port +#define sipx_action sipx_zero +#define IPX_DLTITF 0 +#define IPX_CRTITF 1 +#if __UAPI_DEF_IPX_ROUTE_DEFINITION +struct ipx_route_definition { + __be32 ipx_network; + __be32 ipx_router_network; + unsigned char ipx_router_node[IPX_NODE_LEN]; +}; +#endif +#if __UAPI_DEF_IPX_INTERFACE_DEFINITION +struct ipx_interface_definition { + __be32 ipx_network; + unsigned char ipx_device[16]; + unsigned char ipx_dlink_type; +#define IPX_FRAME_NONE 0 +#define IPX_FRAME_SNAP 1 +#define IPX_FRAME_8022 2 +#define IPX_FRAME_ETHERII 3 +#define IPX_FRAME_8023 4 +#define IPX_FRAME_TR_8022 5 + unsigned char ipx_special; +#define IPX_SPECIAL_NONE 0 +#define IPX_PRIMARY 1 +#define IPX_INTERNAL 2 + unsigned char ipx_node[IPX_NODE_LEN]; +}; +#endif +#if __UAPI_DEF_IPX_CONFIG_DATA +struct ipx_config_data { + unsigned char ipxcfg_auto_select_primary; + unsigned char ipxcfg_auto_create_interfaces; +}; +#endif +#if __UAPI_DEF_IPX_ROUTE_DEF +struct ipx_route_def { + __be32 ipx_network; + __be32 ipx_router_network; +#define IPX_ROUTE_NO_ROUTER 0 + unsigned char ipx_router_node[IPX_NODE_LEN]; + unsigned char ipx_device[16]; + unsigned short ipx_flags; +#define IPX_RT_SNAP 8 +#define IPX_RT_8022 4 +#define IPX_RT_BLUEBOOK 2 +#define IPX_RT_ROUTED 1 +}; +#endif +#define SIOCAIPXITFCRT (SIOCPROTOPRIVATE) +#define SIOCAIPXPRISLT (SIOCPROTOPRIVATE + 1) +#define SIOCIPXCFGDATA (SIOCPROTOPRIVATE + 2) +#define SIOCIPXNCPCONN (SIOCPROTOPRIVATE + 3) +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/irqnr.h b/linux-5.10/prebuilts/usr/include/linux/irqnr.h new file mode 100644 index 0000000..4d42150 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/irqnr.h @@ -0,0 +1,5 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ diff --git a/linux-5.10/prebuilts/usr/include/linux/isdn.h b/linux-5.10/prebuilts/usr/include/linux/isdn.h new file mode 100644 index 0000000..6fe42b1 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/isdn.h @@ -0,0 +1,112 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI__ISDN_H__ +#define _UAPI__ISDN_H__ +#include +#include +#define ISDN_MAX_DRIVERS 32 +#define ISDN_MAX_CHANNELS 64 +#define IIOCNETAIF _IO('I',1) +#define IIOCNETDIF _IO('I',2) +#define IIOCNETSCF _IO('I',3) +#define IIOCNETGCF _IO('I',4) +#define IIOCNETANM _IO('I',5) +#define IIOCNETDNM _IO('I',6) +#define IIOCNETGNM _IO('I',7) +#define IIOCGETSET _IO('I',8) +#define IIOCSETSET _IO('I',9) +#define IIOCSETVER _IO('I',10) +#define IIOCNETHUP _IO('I',11) +#define IIOCSETGST _IO('I',12) +#define IIOCSETBRJ _IO('I',13) +#define IIOCSIGPRF _IO('I',14) +#define IIOCGETPRF _IO('I',15) +#define IIOCSETPRF _IO('I',16) +#define IIOCGETMAP _IO('I',17) +#define IIOCSETMAP _IO('I',18) +#define IIOCNETASL _IO('I',19) +#define IIOCNETDIL _IO('I',20) +#define IIOCGETCPS _IO('I',21) +#define IIOCGETDVR _IO('I',22) +#define IIOCNETLCR _IO('I',23) +#define IIOCNETDWRSET _IO('I',24) +#define IIOCNETALN _IO('I',32) +#define IIOCNETDLN _IO('I',33) +#define IIOCNETGPN _IO('I',34) +#define IIOCDBGVAR _IO('I',127) +#define IIOCDRVCTL _IO('I',128) +#define SIOCGKEEPPERIOD (SIOCDEVPRIVATE + 0) +#define SIOCSKEEPPERIOD (SIOCDEVPRIVATE + 1) +#define SIOCGDEBSERINT (SIOCDEVPRIVATE + 2) +#define SIOCSDEBSERINT (SIOCDEVPRIVATE + 3) +#define ISDN_NET_ENCAP_ETHER 0 +#define ISDN_NET_ENCAP_RAWIP 1 +#define ISDN_NET_ENCAP_IPTYP 2 +#define ISDN_NET_ENCAP_CISCOHDLC 3 +#define ISDN_NET_ENCAP_SYNCPPP 4 +#define ISDN_NET_ENCAP_UIHDLC 5 +#define ISDN_NET_ENCAP_CISCOHDLCK 6 +#define ISDN_NET_ENCAP_X25IFACE 7 +#define ISDN_NET_ENCAP_MAX_ENCAP ISDN_NET_ENCAP_X25IFACE +#define ISDN_USAGE_NONE 0 +#define ISDN_USAGE_RAW 1 +#define ISDN_USAGE_MODEM 2 +#define ISDN_USAGE_NET 3 +#define ISDN_USAGE_VOICE 4 +#define ISDN_USAGE_FAX 5 +#define ISDN_USAGE_MASK 7 +#define ISDN_USAGE_DISABLED 32 +#define ISDN_USAGE_EXCLUSIVE 64 +#define ISDN_USAGE_OUTGOING 128 +#define ISDN_MODEM_NUMREG 24 +#define ISDN_LMSNLEN 255 +#define ISDN_CMSGLEN 50 +#define ISDN_MSNLEN 32 +#define NET_DV 0x06 +#define TTY_DV 0x06 +#define INF_DV 0x01 +typedef struct { + char drvid[25]; + unsigned long arg; +} isdn_ioctl_struct; +typedef struct { + char name[10]; + char phone[ISDN_MSNLEN]; + int outgoing; +} isdn_net_ioctl_phone; +typedef struct { + char name[10]; + char master[10]; + char slave[10]; + char eaz[256]; + char drvid[25]; + int onhtime; + int charge; + int l2_proto; + int l3_proto; + int p_encap; + int exclusive; + int dialmax; + int slavedelay; + int cbdelay; + int chargehup; + int ihup; + int secure; + int callback; + int cbhup; + int pppbind; + int chargeint; + int triggercps; + int dialtimeout; + int dialwait; + int dialmode; +} isdn_net_ioctl_cfg; +#define ISDN_NET_DIALMODE_MASK 0xC0 +#define ISDN_NET_DM_OFF 0x00 +#define ISDN_NET_DM_MANUAL 0x40 +#define ISDN_NET_DM_AUTO 0x80 +#define ISDN_NET_DIALMODE(x) ((&(x))->flags & ISDN_NET_DIALMODE_MASK) +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/isdn/capicmd.h b/linux-5.10/prebuilts/usr/include/linux/isdn/capicmd.h new file mode 100644 index 0000000..7ce72e3 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/isdn/capicmd.h @@ -0,0 +1,84 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef __CAPICMD_H__ +#define __CAPICMD_H__ +#define CAPI_MSG_BASELEN 8 +#define CAPI_DATA_B3_REQ_LEN (CAPI_MSG_BASELEN+4+4+2+2+2) +#define CAPI_DATA_B3_RESP_LEN (CAPI_MSG_BASELEN+4+2) +#define CAPI_DISCONNECT_B3_RESP_LEN (CAPI_MSG_BASELEN+4) +#define CAPI_ALERT 0x01 +#define CAPI_CONNECT 0x02 +#define CAPI_CONNECT_ACTIVE 0x03 +#define CAPI_CONNECT_B3_ACTIVE 0x83 +#define CAPI_CONNECT_B3 0x82 +#define CAPI_CONNECT_B3_T90_ACTIVE 0x88 +#define CAPI_DATA_B3 0x86 +#define CAPI_DISCONNECT_B3 0x84 +#define CAPI_DISCONNECT 0x04 +#define CAPI_FACILITY 0x80 +#define CAPI_INFO 0x08 +#define CAPI_LISTEN 0x05 +#define CAPI_MANUFACTURER 0xff +#define CAPI_RESET_B3 0x87 +#define CAPI_SELECT_B_PROTOCOL 0x41 +#define CAPI_REQ 0x80 +#define CAPI_CONF 0x81 +#define CAPI_IND 0x82 +#define CAPI_RESP 0x83 +#define CAPICMD(cmd,subcmd) (((cmd)<<8)|(subcmd)) +#define CAPI_DISCONNECT_REQ CAPICMD(CAPI_DISCONNECT,CAPI_REQ) +#define CAPI_DISCONNECT_CONF CAPICMD(CAPI_DISCONNECT,CAPI_CONF) +#define CAPI_DISCONNECT_IND CAPICMD(CAPI_DISCONNECT,CAPI_IND) +#define CAPI_DISCONNECT_RESP CAPICMD(CAPI_DISCONNECT,CAPI_RESP) +#define CAPI_ALERT_REQ CAPICMD(CAPI_ALERT,CAPI_REQ) +#define CAPI_ALERT_CONF CAPICMD(CAPI_ALERT,CAPI_CONF) +#define CAPI_CONNECT_REQ CAPICMD(CAPI_CONNECT,CAPI_REQ) +#define CAPI_CONNECT_CONF CAPICMD(CAPI_CONNECT,CAPI_CONF) +#define CAPI_CONNECT_IND CAPICMD(CAPI_CONNECT,CAPI_IND) +#define CAPI_CONNECT_RESP CAPICMD(CAPI_CONNECT,CAPI_RESP) +#define CAPI_CONNECT_ACTIVE_REQ CAPICMD(CAPI_CONNECT_ACTIVE,CAPI_REQ) +#define CAPI_CONNECT_ACTIVE_CONF CAPICMD(CAPI_CONNECT_ACTIVE,CAPI_CONF) +#define CAPI_CONNECT_ACTIVE_IND CAPICMD(CAPI_CONNECT_ACTIVE,CAPI_IND) +#define CAPI_CONNECT_ACTIVE_RESP CAPICMD(CAPI_CONNECT_ACTIVE,CAPI_RESP) +#define CAPI_SELECT_B_PROTOCOL_REQ CAPICMD(CAPI_SELECT_B_PROTOCOL,CAPI_REQ) +#define CAPI_SELECT_B_PROTOCOL_CONF CAPICMD(CAPI_SELECT_B_PROTOCOL,CAPI_CONF) +#define CAPI_CONNECT_B3_ACTIVE_REQ CAPICMD(CAPI_CONNECT_B3_ACTIVE,CAPI_REQ) +#define CAPI_CONNECT_B3_ACTIVE_CONF CAPICMD(CAPI_CONNECT_B3_ACTIVE,CAPI_CONF) +#define CAPI_CONNECT_B3_ACTIVE_IND CAPICMD(CAPI_CONNECT_B3_ACTIVE,CAPI_IND) +#define CAPI_CONNECT_B3_ACTIVE_RESP CAPICMD(CAPI_CONNECT_B3_ACTIVE,CAPI_RESP) +#define CAPI_CONNECT_B3_REQ CAPICMD(CAPI_CONNECT_B3,CAPI_REQ) +#define CAPI_CONNECT_B3_CONF CAPICMD(CAPI_CONNECT_B3,CAPI_CONF) +#define CAPI_CONNECT_B3_IND CAPICMD(CAPI_CONNECT_B3,CAPI_IND) +#define CAPI_CONNECT_B3_RESP CAPICMD(CAPI_CONNECT_B3,CAPI_RESP) +#define CAPI_CONNECT_B3_T90_ACTIVE_IND CAPICMD(CAPI_CONNECT_B3_T90_ACTIVE,CAPI_IND) +#define CAPI_CONNECT_B3_T90_ACTIVE_RESP CAPICMD(CAPI_CONNECT_B3_T90_ACTIVE,CAPI_RESP) +#define CAPI_DATA_B3_REQ CAPICMD(CAPI_DATA_B3,CAPI_REQ) +#define CAPI_DATA_B3_CONF CAPICMD(CAPI_DATA_B3,CAPI_CONF) +#define CAPI_DATA_B3_IND CAPICMD(CAPI_DATA_B3,CAPI_IND) +#define CAPI_DATA_B3_RESP CAPICMD(CAPI_DATA_B3,CAPI_RESP) +#define CAPI_DISCONNECT_B3_REQ CAPICMD(CAPI_DISCONNECT_B3,CAPI_REQ) +#define CAPI_DISCONNECT_B3_CONF CAPICMD(CAPI_DISCONNECT_B3,CAPI_CONF) +#define CAPI_DISCONNECT_B3_IND CAPICMD(CAPI_DISCONNECT_B3,CAPI_IND) +#define CAPI_DISCONNECT_B3_RESP CAPICMD(CAPI_DISCONNECT_B3,CAPI_RESP) +#define CAPI_RESET_B3_REQ CAPICMD(CAPI_RESET_B3,CAPI_REQ) +#define CAPI_RESET_B3_CONF CAPICMD(CAPI_RESET_B3,CAPI_CONF) +#define CAPI_RESET_B3_IND CAPICMD(CAPI_RESET_B3,CAPI_IND) +#define CAPI_RESET_B3_RESP CAPICMD(CAPI_RESET_B3,CAPI_RESP) +#define CAPI_LISTEN_REQ CAPICMD(CAPI_LISTEN,CAPI_REQ) +#define CAPI_LISTEN_CONF CAPICMD(CAPI_LISTEN,CAPI_CONF) +#define CAPI_MANUFACTURER_REQ CAPICMD(CAPI_MANUFACTURER,CAPI_REQ) +#define CAPI_MANUFACTURER_CONF CAPICMD(CAPI_MANUFACTURER,CAPI_CONF) +#define CAPI_MANUFACTURER_IND CAPICMD(CAPI_MANUFACTURER,CAPI_IND) +#define CAPI_MANUFACTURER_RESP CAPICMD(CAPI_MANUFACTURER,CAPI_RESP) +#define CAPI_FACILITY_REQ CAPICMD(CAPI_FACILITY,CAPI_REQ) +#define CAPI_FACILITY_CONF CAPICMD(CAPI_FACILITY,CAPI_CONF) +#define CAPI_FACILITY_IND CAPICMD(CAPI_FACILITY,CAPI_IND) +#define CAPI_FACILITY_RESP CAPICMD(CAPI_FACILITY,CAPI_RESP) +#define CAPI_INFO_REQ CAPICMD(CAPI_INFO,CAPI_REQ) +#define CAPI_INFO_CONF CAPICMD(CAPI_INFO,CAPI_CONF) +#define CAPI_INFO_IND CAPICMD(CAPI_INFO,CAPI_IND) +#define CAPI_INFO_RESP CAPICMD(CAPI_INFO,CAPI_RESP) +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/isdn_divertif.h b/linux-5.10/prebuilts/usr/include/linux/isdn_divertif.h new file mode 100644 index 0000000..cfc1d50 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/isdn_divertif.h @@ -0,0 +1,17 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI_LINUX_ISDN_DIVERTIF_H +#define _UAPI_LINUX_ISDN_DIVERTIF_H +#define DIVERT_IF_MAGIC 0x25873401 +#define DIVERT_CMD_REG 0x00 +#define DIVERT_CMD_REL 0x01 +#define DIVERT_NO_ERR 0x00 +#define DIVERT_CMD_ERR 0x01 +#define DIVERT_VER_ERR 0x02 +#define DIVERT_REG_ERR 0x03 +#define DIVERT_REL_ERR 0x04 +#define DIVERT_REG_NAME isdn_register_divert +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/isdn_ppp.h b/linux-5.10/prebuilts/usr/include/linux/isdn_ppp.h new file mode 100644 index 0000000..6e527e7 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/isdn_ppp.h @@ -0,0 +1,49 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI_LINUX_ISDN_PPP_H +#define _UAPI_LINUX_ISDN_PPP_H +#define CALLTYPE_INCOMING 0x1 +#define CALLTYPE_OUTGOING 0x2 +#define CALLTYPE_CALLBACK 0x4 +#define IPPP_VERSION "2.2.0" +struct pppcallinfo +{ + int calltype; + unsigned char local_num[64]; + unsigned char remote_num[64]; + int charge_units; +}; +#define PPPIOCGCALLINFO _IOWR('t',128,struct pppcallinfo) +#define PPPIOCBUNDLE _IOW('t',129,int) +#define PPPIOCGMPFLAGS _IOR('t',130,int) +#define PPPIOCSMPFLAGS _IOW('t',131,int) +#define PPPIOCSMPMTU _IOW('t',132,int) +#define PPPIOCSMPMRU _IOW('t',133,int) +#define PPPIOCGCOMPRESSORS _IOR('t',134,unsigned long [8]) +#define PPPIOCSCOMPRESSOR _IOW('t',135,int) +#define PPPIOCGIFNAME _IOR('t',136, char [IFNAMSIZ] ) +#define SC_MP_PROT 0x00000200 +#define SC_REJ_MP_PROT 0x00000400 +#define SC_OUT_SHORT_SEQ 0x00000800 +#define SC_IN_SHORT_SEQ 0x00004000 +#define SC_DECOMP_ON 0x01 +#define SC_COMP_ON 0x02 +#define SC_DECOMP_DISCARD 0x04 +#define SC_COMP_DISCARD 0x08 +#define SC_LINK_DECOMP_ON 0x10 +#define SC_LINK_COMP_ON 0x20 +#define SC_LINK_DECOMP_DISCARD 0x40 +#define SC_LINK_COMP_DISCARD 0x80 +#define ISDN_PPP_COMP_MAX_OPTIONS 16 +#define IPPP_COMP_FLAG_XMIT 0x1 +#define IPPP_COMP_FLAG_LINK 0x2 +struct isdn_ppp_comp_data { + int num; + unsigned char options[ISDN_PPP_COMP_MAX_OPTIONS]; + int optlen; + int flags; +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/isdnif.h b/linux-5.10/prebuilts/usr/include/linux/isdnif.h new file mode 100644 index 0000000..ebd13a1 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/isdnif.h @@ -0,0 +1,33 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI__ISDNIF_H__ +#define _UAPI__ISDNIF_H__ +#define ISDN_PTYPE_UNKNOWN 0 +#define ISDN_PTYPE_1TR6 1 +#define ISDN_PTYPE_EURO 2 +#define ISDN_PTYPE_LEASED 3 +#define ISDN_PTYPE_NI1 4 +#define ISDN_PTYPE_MAX 7 +#define ISDN_PROTO_L2_X75I 0 +#define ISDN_PROTO_L2_X75UI 1 +#define ISDN_PROTO_L2_X75BUI 2 +#define ISDN_PROTO_L2_HDLC 3 +#define ISDN_PROTO_L2_TRANS 4 +#define ISDN_PROTO_L2_X25DTE 5 +#define ISDN_PROTO_L2_X25DCE 6 +#define ISDN_PROTO_L2_V11096 7 +#define ISDN_PROTO_L2_V11019 8 +#define ISDN_PROTO_L2_V11038 9 +#define ISDN_PROTO_L2_MODEM 10 +#define ISDN_PROTO_L2_FAX 11 +#define ISDN_PROTO_L2_HDLC_56K 12 +#define ISDN_PROTO_L2_MAX 15 +#define ISDN_PROTO_L3_TRANS 0 +#define ISDN_PROTO_L3_TRANSDSP 1 +#define ISDN_PROTO_L3_FCLASS2 2 +#define ISDN_PROTO_L3_FCLASS1 3 +#define ISDN_PROTO_L3_MAX 7 +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/iso_fs.h b/linux-5.10/prebuilts/usr/include/linux/iso_fs.h new file mode 100644 index 0000000..7d21c82 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/iso_fs.h @@ -0,0 +1,141 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _ISOFS_FS_H +#define _ISOFS_FS_H +#include +#include +#define ISODCL(from, to) (to - from + 1) +struct iso_volume_descriptor { + __u8 type[ISODCL(1,1)]; + char id[ISODCL(2,6)]; + __u8 version[ISODCL(7,7)]; + __u8 data[ISODCL(8,2048)]; +}; +#define ISO_VD_PRIMARY 1 +#define ISO_VD_SUPPLEMENTARY 2 +#define ISO_VD_END 255 +#define ISO_STANDARD_ID "CD001" +struct iso_primary_descriptor { + __u8 type [ISODCL ( 1, 1)]; + char id [ISODCL ( 2, 6)]; + __u8 version [ISODCL ( 7, 7)]; + __u8 unused1 [ISODCL ( 8, 8)]; + char system_id [ISODCL ( 9, 40)]; + char volume_id [ISODCL ( 41, 72)]; + __u8 unused2 [ISODCL ( 73, 80)]; + __u8 volume_space_size [ISODCL ( 81, 88)]; + __u8 unused3 [ISODCL ( 89, 120)]; + __u8 volume_set_size [ISODCL (121, 124)]; + __u8 volume_sequence_number [ISODCL (125, 128)]; + __u8 logical_block_size [ISODCL (129, 132)]; + __u8 path_table_size [ISODCL (133, 140)]; + __u8 type_l_path_table [ISODCL (141, 144)]; + __u8 opt_type_l_path_table [ISODCL (145, 148)]; + __u8 type_m_path_table [ISODCL (149, 152)]; + __u8 opt_type_m_path_table [ISODCL (153, 156)]; + __u8 root_directory_record [ISODCL (157, 190)]; + char volume_set_id [ISODCL (191, 318)]; + char publisher_id [ISODCL (319, 446)]; + char preparer_id [ISODCL (447, 574)]; + char application_id [ISODCL (575, 702)]; + char copyright_file_id [ISODCL (703, 739)]; + char abstract_file_id [ISODCL (740, 776)]; + char bibliographic_file_id [ISODCL (777, 813)]; + __u8 creation_date [ISODCL (814, 830)]; + __u8 modification_date [ISODCL (831, 847)]; + __u8 expiration_date [ISODCL (848, 864)]; + __u8 effective_date [ISODCL (865, 881)]; + __u8 file_structure_version [ISODCL (882, 882)]; + __u8 unused4 [ISODCL (883, 883)]; + __u8 application_data [ISODCL (884, 1395)]; + __u8 unused5 [ISODCL (1396, 2048)]; +}; +struct iso_supplementary_descriptor { + __u8 type [ISODCL ( 1, 1)]; + char id [ISODCL ( 2, 6)]; + __u8 version [ISODCL ( 7, 7)]; + __u8 flags [ISODCL ( 8, 8)]; + char system_id [ISODCL ( 9, 40)]; + char volume_id [ISODCL ( 41, 72)]; + __u8 unused2 [ISODCL ( 73, 80)]; + __u8 volume_space_size [ISODCL ( 81, 88)]; + __u8 escape [ISODCL ( 89, 120)]; + __u8 volume_set_size [ISODCL (121, 124)]; + __u8 volume_sequence_number [ISODCL (125, 128)]; + __u8 logical_block_size [ISODCL (129, 132)]; + __u8 path_table_size [ISODCL (133, 140)]; + __u8 type_l_path_table [ISODCL (141, 144)]; + __u8 opt_type_l_path_table [ISODCL (145, 148)]; + __u8 type_m_path_table [ISODCL (149, 152)]; + __u8 opt_type_m_path_table [ISODCL (153, 156)]; + __u8 root_directory_record [ISODCL (157, 190)]; + char volume_set_id [ISODCL (191, 318)]; + char publisher_id [ISODCL (319, 446)]; + char preparer_id [ISODCL (447, 574)]; + char application_id [ISODCL (575, 702)]; + char copyright_file_id [ISODCL (703, 739)]; + char abstract_file_id [ISODCL (740, 776)]; + char bibliographic_file_id [ISODCL (777, 813)]; + __u8 creation_date [ISODCL (814, 830)]; + __u8 modification_date [ISODCL (831, 847)]; + __u8 expiration_date [ISODCL (848, 864)]; + __u8 effective_date [ISODCL (865, 881)]; + __u8 file_structure_version [ISODCL (882, 882)]; + __u8 unused4 [ISODCL (883, 883)]; + __u8 application_data [ISODCL (884, 1395)]; + __u8 unused5 [ISODCL (1396, 2048)]; +}; +#define HS_STANDARD_ID "CDROM" +struct hs_volume_descriptor { + __u8 foo [ISODCL ( 1, 8)]; + __u8 type [ISODCL ( 9, 9)]; + char id [ISODCL ( 10, 14)]; + __u8 version [ISODCL ( 15, 15)]; + __u8 data[ISODCL(16,2048)]; +}; +struct hs_primary_descriptor { + __u8 foo [ISODCL ( 1, 8)]; + __u8 type [ISODCL ( 9, 9)]; + __u8 id [ISODCL ( 10, 14)]; + __u8 version [ISODCL ( 15, 15)]; + __u8 unused1 [ISODCL ( 16, 16)]; + char system_id [ISODCL ( 17, 48)]; + char volume_id [ISODCL ( 49, 80)]; + __u8 unused2 [ISODCL ( 81, 88)]; + __u8 volume_space_size [ISODCL ( 89, 96)]; + __u8 unused3 [ISODCL ( 97, 128)]; + __u8 volume_set_size [ISODCL (129, 132)]; + __u8 volume_sequence_number [ISODCL (133, 136)]; + __u8 logical_block_size [ISODCL (137, 140)]; + __u8 path_table_size [ISODCL (141, 148)]; + __u8 type_l_path_table [ISODCL (149, 152)]; + __u8 unused4 [ISODCL (153, 180)]; + __u8 root_directory_record [ISODCL (181, 214)]; +}; +struct iso_path_table{ + __u8 name_len[2]; + __u8 extent[4]; + __u8 parent[2]; + char name[0]; +} __attribute__((packed)); +struct iso_directory_record { + __u8 length [ISODCL (1, 1)]; + __u8 ext_attr_length [ISODCL (2, 2)]; + __u8 extent [ISODCL (3, 10)]; + __u8 size [ISODCL (11, 18)]; + __u8 date [ISODCL (19, 25)]; + __u8 flags [ISODCL (26, 26)]; + __u8 file_unit_size [ISODCL (27, 27)]; + __u8 interleave [ISODCL (28, 28)]; + __u8 volume_sequence_number [ISODCL (29, 32)]; + __u8 name_len [ISODCL (33, 33)]; + char name [0]; +} __attribute__((packed)); +#define ISOFS_BLOCK_BITS 11 +#define ISOFS_BLOCK_SIZE 2048 +#define ISOFS_BUFFER_SIZE(INODE) ((INODE)->i_sb->s_blocksize) +#define ISOFS_BUFFER_BITS(INODE) ((INODE)->i_sb->s_blocksize_bits) +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/isst_if.h b/linux-5.10/prebuilts/usr/include/linux/isst_if.h new file mode 100644 index 0000000..aa03b3b --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/isst_if.h @@ -0,0 +1,63 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef __ISST_IF_H +#define __ISST_IF_H +#include +struct isst_if_platform_info { + __u16 api_version; + __u16 driver_version; + __u16 max_cmds_per_ioctl; + __u8 mbox_supported; + __u8 mmio_supported; +}; +struct isst_if_cpu_map { + __u32 logical_cpu; + __u32 physical_cpu; +}; +struct isst_if_cpu_maps { + __u32 cmd_count; + struct isst_if_cpu_map cpu_map[1]; +}; +struct isst_if_io_reg { + __u32 read_write; + __u32 logical_cpu; + __u32 reg; + __u32 value; +}; +struct isst_if_io_regs { + __u32 req_count; + struct isst_if_io_reg io_reg[1]; +}; +struct isst_if_mbox_cmd { + __u32 logical_cpu; + __u32 parameter; + __u32 req_data; + __u32 resp_data; + __u16 command; + __u16 sub_command; + __u32 reserved; +}; +struct isst_if_mbox_cmds { + __u32 cmd_count; + struct isst_if_mbox_cmd mbox_cmd[1]; +}; +struct isst_if_msr_cmd { + __u32 read_write; + __u32 logical_cpu; + __u64 msr; + __u64 data; +}; +struct isst_if_msr_cmds { + __u32 cmd_count; + struct isst_if_msr_cmd msr_cmd[1]; +}; +#define ISST_IF_MAGIC 0xFE +#define ISST_IF_GET_PLATFORM_INFO _IOR(ISST_IF_MAGIC, 0, struct isst_if_platform_info *) +#define ISST_IF_GET_PHY_ID _IOWR(ISST_IF_MAGIC, 1, struct isst_if_cpu_map *) +#define ISST_IF_IO_CMD _IOW(ISST_IF_MAGIC, 2, struct isst_if_io_regs *) +#define ISST_IF_MBOX_COMMAND _IOWR(ISST_IF_MAGIC, 3, struct isst_if_mbox_cmds *) +#define ISST_IF_MSR_COMMAND _IOWR(ISST_IF_MAGIC, 4, struct isst_if_msr_cmds *) +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/ivtv.h b/linux-5.10/prebuilts/usr/include/linux/ivtv.h new file mode 100644 index 0000000..8b3455b --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/ivtv.h @@ -0,0 +1,27 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef __LINUX_IVTV_H__ +#define __LINUX_IVTV_H__ +#include +#include +#include +struct ivtv_dma_frame { + enum v4l2_buf_type type; + __u32 pixelformat; + void __user *y_source; + void __user *uv_source; + struct v4l2_rect src; + struct v4l2_rect dst; + __u32 src_width; + __u32 src_height; +}; +#define IVTV_IOC_DMA_FRAME _IOW ('V', BASE_VIDIOC_PRIVATE+0, struct ivtv_dma_frame) +#define IVTV_IOC_PASSTHROUGH_MODE _IOW ('V', BASE_VIDIOC_PRIVATE+1, int) +#define IVTV_SLICED_TYPE_TELETEXT_B V4L2_MPEG_VBI_IVTV_TELETEXT_B +#define IVTV_SLICED_TYPE_CAPTION_525 V4L2_MPEG_VBI_IVTV_CAPTION_525 +#define IVTV_SLICED_TYPE_WSS_625 V4L2_MPEG_VBI_IVTV_WSS_625 +#define IVTV_SLICED_TYPE_VPS V4L2_MPEG_VBI_IVTV_VPS +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/ivtvfb.h b/linux-5.10/prebuilts/usr/include/linux/ivtvfb.h new file mode 100644 index 0000000..89da5cb --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/ivtvfb.h @@ -0,0 +1,16 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef __LINUX_IVTVFB_H__ +#define __LINUX_IVTVFB_H__ +#include +#include +struct ivtvfb_dma_frame { + void __user *source; + unsigned long dest_offset; + int count; +}; +#define IVTVFB_IOC_DMA_FRAME _IOW('V', BASE_VIDIOC_PRIVATE+0, struct ivtvfb_dma_frame) +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/jffs2.h b/linux-5.10/prebuilts/usr/include/linux/jffs2.h new file mode 100644 index 0000000..4461ddb --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/jffs2.h @@ -0,0 +1,157 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef __LINUX_JFFS2_H__ +#define __LINUX_JFFS2_H__ +#include +#include +#define JFFS2_OLD_MAGIC_BITMASK 0x1984 +#define JFFS2_MAGIC_BITMASK 0x1985 +#define KSAMTIB_CIGAM_2SFFJ 0x8519 +#define JFFS2_EMPTY_BITMASK 0xffff +#define JFFS2_DIRTY_BITMASK 0x0000 +#define JFFS2_SUM_MAGIC 0x02851885 +#define JFFS2_MAX_NAME_LEN 254 +#define JFFS2_MIN_DATA_LEN 128 +#define JFFS2_COMPR_NONE 0x00 +#define JFFS2_COMPR_ZERO 0x01 +#define JFFS2_COMPR_RTIME 0x02 +#define JFFS2_COMPR_RUBINMIPS 0x03 +#define JFFS2_COMPR_COPY 0x04 +#define JFFS2_COMPR_DYNRUBIN 0x05 +#define JFFS2_COMPR_ZLIB 0x06 +#define JFFS2_COMPR_LZO 0x07 +#define JFFS2_COMPAT_MASK 0xc000 +#define JFFS2_NODE_ACCURATE 0x2000 +#define JFFS2_FEATURE_INCOMPAT 0xc000 +#define JFFS2_FEATURE_ROCOMPAT 0x8000 +#define JFFS2_FEATURE_RWCOMPAT_COPY 0x4000 +#define JFFS2_FEATURE_RWCOMPAT_DELETE 0x0000 +#define JFFS2_NODETYPE_DIRENT (JFFS2_FEATURE_INCOMPAT | JFFS2_NODE_ACCURATE | 1) +#define JFFS2_NODETYPE_INODE (JFFS2_FEATURE_INCOMPAT | JFFS2_NODE_ACCURATE | 2) +#define JFFS2_NODETYPE_CLEANMARKER (JFFS2_FEATURE_RWCOMPAT_DELETE | JFFS2_NODE_ACCURATE | 3) +#define JFFS2_NODETYPE_PADDING (JFFS2_FEATURE_RWCOMPAT_DELETE | JFFS2_NODE_ACCURATE | 4) +#define JFFS2_NODETYPE_SUMMARY (JFFS2_FEATURE_RWCOMPAT_DELETE | JFFS2_NODE_ACCURATE | 6) +#define JFFS2_NODETYPE_XATTR (JFFS2_FEATURE_INCOMPAT | JFFS2_NODE_ACCURATE | 8) +#define JFFS2_NODETYPE_XREF (JFFS2_FEATURE_INCOMPAT | JFFS2_NODE_ACCURATE | 9) +#define JFFS2_XPREFIX_USER 1 +#define JFFS2_XPREFIX_SECURITY 2 +#define JFFS2_XPREFIX_ACL_ACCESS 3 +#define JFFS2_XPREFIX_ACL_DEFAULT 4 +#define JFFS2_XPREFIX_TRUSTED 5 +#define JFFS2_ACL_VERSION 0x0001 +#define JFFS2_INO_FLAG_PREREAD 1 +#define JFFS2_INO_FLAG_USERCOMPR 2 +typedef struct { + __u32 v32; +} __attribute__((packed)) jint32_t; +typedef struct { + __u32 m; +} __attribute__((packed)) jmode_t; +typedef struct { + __u16 v16; +} __attribute__((packed)) jint16_t; +struct jffs2_unknown_node +{ + + jint16_t magic; + jint16_t nodetype; + jint32_t totlen; + jint32_t hdr_crc; +}; +struct jffs2_raw_dirent +{ + jint16_t magic; + jint16_t nodetype; + jint32_t totlen; + jint32_t hdr_crc; + jint32_t pino; + jint32_t version; + jint32_t ino; + jint32_t mctime; + __u8 nsize; + __u8 type; + __u8 unused[2]; + jint32_t node_crc; + jint32_t name_crc; + __u8 name[0]; +}; +struct jffs2_raw_inode +{ + jint16_t magic; + jint16_t nodetype; + jint32_t totlen; + jint32_t hdr_crc; + jint32_t ino; + jint32_t version; + jmode_t mode; + jint16_t uid; + jint16_t gid; + jint32_t isize; + jint32_t atime; + jint32_t mtime; + jint32_t ctime; + jint32_t offset; + jint32_t csize; + jint32_t dsize; + __u8 compr; + __u8 usercompr; + jint16_t flags; + jint32_t data_crc; + jint32_t node_crc; + __u8 data[0]; +}; +struct jffs2_raw_xattr { + jint16_t magic; + jint16_t nodetype; + jint32_t totlen; + jint32_t hdr_crc; + jint32_t xid; + jint32_t version; + __u8 xprefix; + __u8 name_len; + jint16_t value_len; + jint32_t data_crc; + jint32_t node_crc; + __u8 data[0]; +} __attribute__((packed)); +struct jffs2_raw_xref +{ + jint16_t magic; + jint16_t nodetype; + jint32_t totlen; + jint32_t hdr_crc; + jint32_t ino; + jint32_t xid; + jint32_t xseqno; + jint32_t node_crc; +} __attribute__((packed)); +struct jffs2_raw_summary +{ + jint16_t magic; + jint16_t nodetype; + jint32_t totlen; + jint32_t hdr_crc; + jint32_t sum_num; + jint32_t cln_mkr; + jint32_t padded; + jint32_t sum_crc; + jint32_t node_crc; + jint32_t sum[0]; +}; +union jffs2_node_union +{ + struct jffs2_raw_inode i; + struct jffs2_raw_dirent d; + struct jffs2_raw_xattr x; + struct jffs2_raw_xref r; + struct jffs2_raw_summary s; + struct jffs2_unknown_node u; +}; +union jffs2_device_node { + jint16_t old_id; + jint32_t new_id; +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/joystick.h b/linux-5.10/prebuilts/usr/include/linux/joystick.h new file mode 100644 index 0000000..dc3bc6e --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/joystick.h @@ -0,0 +1,77 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI_LINUX_JOYSTICK_H +#define _UAPI_LINUX_JOYSTICK_H +#include +#include +#define JS_VERSION 0x020100 +#define JS_EVENT_BUTTON 0x01 +#define JS_EVENT_AXIS 0x02 +#define JS_EVENT_INIT 0x80 +struct js_event { + __u32 time; + __s16 value; + __u8 type; + __u8 number; +}; +#define JSIOCGVERSION _IOR('j', 0x01, __u32) +#define JSIOCGAXES _IOR('j', 0x11, __u8) +#define JSIOCGBUTTONS _IOR('j', 0x12, __u8) +#define JSIOCGNAME(len) _IOC(_IOC_READ, 'j', 0x13, len) +#define JSIOCSCORR _IOW('j', 0x21, struct js_corr) +#define JSIOCGCORR _IOR('j', 0x22, struct js_corr) +#define JSIOCSAXMAP _IOW('j', 0x31, __u8[ABS_CNT]) +#define JSIOCGAXMAP _IOR('j', 0x32, __u8[ABS_CNT]) +#define JSIOCSBTNMAP _IOW('j', 0x33, __u16[KEY_MAX - BTN_MISC + 1]) +#define JSIOCGBTNMAP _IOR('j', 0x34, __u16[KEY_MAX - BTN_MISC + 1]) +#define JS_CORR_NONE 0x00 +#define JS_CORR_BROKEN 0x01 +struct js_corr { + __s32 coef[8]; + __s16 prec; + __u16 type; +}; +#define JS_RETURN sizeof(struct JS_DATA_TYPE) +#define JS_TRUE 1 +#define JS_FALSE 0 +#define JS_X_0 0x01 +#define JS_Y_0 0x02 +#define JS_X_1 0x04 +#define JS_Y_1 0x08 +#define JS_MAX 2 +#define JS_DEF_TIMEOUT 0x1300 +#define JS_DEF_CORR 0 +#define JS_DEF_TIMELIMIT 10L +#define JS_SET_CAL 1 +#define JS_GET_CAL 2 +#define JS_SET_TIMEOUT 3 +#define JS_GET_TIMEOUT 4 +#define JS_SET_TIMELIMIT 5 +#define JS_GET_TIMELIMIT 6 +#define JS_GET_ALL 7 +#define JS_SET_ALL 8 +struct JS_DATA_TYPE { + __s32 buttons; + __s32 x; + __s32 y; +}; +struct JS_DATA_SAVE_TYPE_32 { + __s32 JS_TIMEOUT; + __s32 BUSY; + __s32 JS_EXPIRETIME; + __s32 JS_TIMELIMIT; + struct JS_DATA_TYPE JS_SAVE; + struct JS_DATA_TYPE JS_CORR; +}; +struct JS_DATA_SAVE_TYPE_64 { + __s32 JS_TIMEOUT; + __s32 BUSY; + __s64 JS_EXPIRETIME; + __s64 JS_TIMELIMIT; + struct JS_DATA_TYPE JS_SAVE; + struct JS_DATA_TYPE JS_CORR; +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/kcm.h b/linux-5.10/prebuilts/usr/include/linux/kcm.h new file mode 100644 index 0000000..069edb6 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/kcm.h @@ -0,0 +1,23 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef KCM_KERNEL_H +#define KCM_KERNEL_H +struct kcm_attach { + int fd; + int bpf_fd; +}; +struct kcm_unattach { + int fd; +}; +struct kcm_clone { + int fd; +}; +#define SIOCKCMATTACH (SIOCPROTOPRIVATE + 0) +#define SIOCKCMUNATTACH (SIOCPROTOPRIVATE + 1) +#define SIOCKCMCLONE (SIOCPROTOPRIVATE + 2) +#define KCMPROTO_CONNECTED 0 +#define KCM_RECV_DISABLE 1 +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/kcmp.h b/linux-5.10/prebuilts/usr/include/linux/kcmp.h new file mode 100644 index 0000000..53ed15c --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/kcmp.h @@ -0,0 +1,25 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI_LINUX_KCMP_H +#define _UAPI_LINUX_KCMP_H +#include +enum kcmp_type { + KCMP_FILE, + KCMP_VM, + KCMP_FILES, + KCMP_FS, + KCMP_SIGHAND, + KCMP_IO, + KCMP_SYSVSEM, + KCMP_EPOLL_TFD, + KCMP_TYPES, +}; +struct kcmp_epoll_slot { + __u32 efd; + __u32 tfd; + __u32 toff; +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/kcov.h b/linux-5.10/prebuilts/usr/include/linux/kcov.h new file mode 100644 index 0000000..a9f8725 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/kcov.h @@ -0,0 +1,40 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _LINUX_KCOV_IOCTLS_H +#define _LINUX_KCOV_IOCTLS_H +#include +struct kcov_remote_arg { + __u32 trace_mode; + __u32 area_size; + __u32 num_handles; + __aligned_u64 common_handle; + __aligned_u64 handles[0]; +}; +#define KCOV_REMOTE_MAX_HANDLES 0x100 +#define KCOV_INIT_TRACE _IOR('c', 1, unsigned long) +#define KCOV_ENABLE _IO('c', 100) +#define KCOV_DISABLE _IO('c', 101) +#define KCOV_REMOTE_ENABLE _IOW('c', 102, struct kcov_remote_arg) +enum { + + KCOV_TRACE_PC = 0, + + KCOV_TRACE_CMP = 1, +}; +#define KCOV_CMP_CONST (1 << 0) +#define KCOV_CMP_SIZE(n) ((n) << 1) +#define KCOV_CMP_MASK KCOV_CMP_SIZE(3) +#define KCOV_SUBSYSTEM_COMMON (0x00ull << 56) +#define KCOV_SUBSYSTEM_USB (0x01ull << 56) +#define KCOV_SUBSYSTEM_MASK (0xffull << 56) +#define KCOV_INSTANCE_MASK (0xffffffffull) +static inline __u64 kcov_remote_handle(__u64 subsys, __u64 inst) +{ + if (subsys & ~KCOV_SUBSYSTEM_MASK || inst & ~KCOV_INSTANCE_MASK) + return 0; + return subsys | inst; +} +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/kd.h b/linux-5.10/prebuilts/usr/include/linux/kd.h new file mode 100644 index 0000000..23f9de9 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/kd.h @@ -0,0 +1,150 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI_LINUX_KD_H +#define _UAPI_LINUX_KD_H +#include +#include +#define GIO_FONT 0x4B60 +#define PIO_FONT 0x4B61 +#define GIO_FONTX 0x4B6B +#define PIO_FONTX 0x4B6C +struct consolefontdesc { + unsigned short charcount; + unsigned short charheight; + char __user *chardata; +}; +#define PIO_FONTRESET 0x4B6D +#define GIO_CMAP 0x4B70 +#define PIO_CMAP 0x4B71 +#define KIOCSOUND 0x4B2F +#define KDMKTONE 0x4B30 +#define KDGETLED 0x4B31 +#define KDSETLED 0x4B32 +#define LED_SCR 0x01 +#define LED_NUM 0x02 +#define LED_CAP 0x04 +#define KDGKBTYPE 0x4B33 +#define KB_84 0x01 +#define KB_101 0x02 +#define KB_OTHER 0x03 +#define KDADDIO 0x4B34 +#define KDDELIO 0x4B35 +#define KDENABIO 0x4B36 +#define KDDISABIO 0x4B37 +#define KDSETMODE 0x4B3A +#define KD_TEXT 0x00 +#define KD_GRAPHICS 0x01 +#define KD_TEXT0 0x02 +#define KD_TEXT1 0x03 +#define KDGETMODE 0x4B3B +#define KDMAPDISP 0x4B3C +#define KDUNMAPDISP 0x4B3D +typedef char scrnmap_t; +#define E_TABSZ 256 +#define GIO_SCRNMAP 0x4B40 +#define PIO_SCRNMAP 0x4B41 +#define GIO_UNISCRNMAP 0x4B69 +#define PIO_UNISCRNMAP 0x4B6A +#define GIO_UNIMAP 0x4B66 +struct unipair { + unsigned short unicode; + unsigned short fontpos; +}; +struct unimapdesc { + unsigned short entry_ct; + struct unipair __user *entries; +}; +#define PIO_UNIMAP 0x4B67 +#define PIO_UNIMAPCLR 0x4B68 +struct unimapinit { + unsigned short advised_hashsize; + unsigned short advised_hashstep; + unsigned short advised_hashlevel; +}; +#define UNI_DIRECT_BASE 0xF000 +#define UNI_DIRECT_MASK 0x01FF +#define K_RAW 0x00 +#define K_XLATE 0x01 +#define K_MEDIUMRAW 0x02 +#define K_UNICODE 0x03 +#define K_OFF 0x04 +#define KDGKBMODE 0x4B44 +#define KDSKBMODE 0x4B45 +#define K_METABIT 0x03 +#define K_ESCPREFIX 0x04 +#define KDGKBMETA 0x4B62 +#define KDSKBMETA 0x4B63 +#define K_SCROLLLOCK 0x01 +#define K_NUMLOCK 0x02 +#define K_CAPSLOCK 0x04 +#define KDGKBLED 0x4B64 +#define KDSKBLED 0x4B65 +struct kbentry { + unsigned char kb_table; + unsigned char kb_index; + unsigned short kb_value; +}; +#define K_NORMTAB 0x00 +#define K_SHIFTTAB 0x01 +#define K_ALTTAB 0x02 +#define K_ALTSHIFTTAB 0x03 +#define KDGKBENT 0x4B46 +#define KDSKBENT 0x4B47 +struct kbsentry { + unsigned char kb_func; + unsigned char kb_string[512]; +}; +#define KDGKBSENT 0x4B48 +#define KDSKBSENT 0x4B49 +struct kbdiacr { + unsigned char diacr, base, result; +}; +struct kbdiacrs { + unsigned int kb_cnt; + struct kbdiacr kbdiacr[256]; +}; +#define KDGKBDIACR 0x4B4A +#define KDSKBDIACR 0x4B4B +struct kbdiacruc { + unsigned int diacr, base, result; +}; +struct kbdiacrsuc { + unsigned int kb_cnt; + struct kbdiacruc kbdiacruc[256]; +}; +#define KDGKBDIACRUC 0x4BFA +#define KDSKBDIACRUC 0x4BFB +struct kbkeycode { + unsigned int scancode, keycode; +}; +#define KDGETKEYCODE 0x4B4C +#define KDSETKEYCODE 0x4B4D +#define KDSIGACCEPT 0x4B4E +struct kbd_repeat { + int delay; + int period; + +}; +#define KDKBDREP 0x4B52 +#define KDFONTOP 0x4B72 +struct console_font_op { + unsigned int op; + unsigned int flags; + unsigned int width, height; + unsigned int charcount; + unsigned char __user *data; +}; +struct console_font { + unsigned int width, height; + unsigned int charcount; + unsigned char *data; +}; +#define KD_FONT_OP_SET 0 +#define KD_FONT_OP_GET 1 +#define KD_FONT_OP_SET_DEFAULT 2 +#define KD_FONT_OP_COPY 3 +#define KD_FONT_FLAG_DONT_RECALC 1 +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/kdev_t.h b/linux-5.10/prebuilts/usr/include/linux/kdev_t.h new file mode 100644 index 0000000..ac4dd55 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/kdev_t.h @@ -0,0 +1,13 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI_LINUX_KDEV_T_H +#define _UAPI_LINUX_KDEV_T_H +#ifndef __KERNEL__ +#define MAJOR(dev) ((dev)>>8) +#define MINOR(dev) ((dev) & 0xff) +#define MKDEV(ma,mi) ((ma)<<8 | (mi)) +#endif +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/kernel-page-flags.h b/linux-5.10/prebuilts/usr/include/linux/kernel-page-flags.h new file mode 100644 index 0000000..276434c --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/kernel-page-flags.h @@ -0,0 +1,35 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPILINUX_KERNEL_PAGE_FLAGS_H +#define _UAPILINUX_KERNEL_PAGE_FLAGS_H +#define KPF_LOCKED 0 +#define KPF_ERROR 1 +#define KPF_REFERENCED 2 +#define KPF_UPTODATE 3 +#define KPF_DIRTY 4 +#define KPF_LRU 5 +#define KPF_ACTIVE 6 +#define KPF_SLAB 7 +#define KPF_WRITEBACK 8 +#define KPF_RECLAIM 9 +#define KPF_BUDDY 10 +#define KPF_MMAP 11 +#define KPF_ANON 12 +#define KPF_SWAPCACHE 13 +#define KPF_SWAPBACKED 14 +#define KPF_COMPOUND_HEAD 15 +#define KPF_COMPOUND_TAIL 16 +#define KPF_HUGE 17 +#define KPF_UNEVICTABLE 18 +#define KPF_HWPOISON 19 +#define KPF_NOPAGE 20 +#define KPF_KSM 21 +#define KPF_THP 22 +#define KPF_OFFLINE 23 +#define KPF_ZERO_PAGE 24 +#define KPF_IDLE 25 +#define KPF_PGTABLE 26 +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/kernel.h b/linux-5.10/prebuilts/usr/include/linux/kernel.h new file mode 100644 index 0000000..855be4e --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/kernel.h @@ -0,0 +1,10 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI_LINUX_KERNEL_H +#define _UAPI_LINUX_KERNEL_H +#include +#include +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/kernelcapi.h b/linux-5.10/prebuilts/usr/include/linux/kernelcapi.h new file mode 100644 index 0000000..d53ea9d --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/kernelcapi.h @@ -0,0 +1,29 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI__KERNELCAPI_H__ +#define _UAPI__KERNELCAPI_H__ +#define CAPI_MAXAPPL 240 +#define CAPI_MAXCONTR 32 +#define CAPI_MAXDATAWINDOW 8 +typedef struct kcapi_flagdef { + int contr; + int flag; +} kcapi_flagdef; +typedef struct kcapi_carddef { + char driver[32]; + unsigned int port; + unsigned irq; + unsigned int membase; + int cardnr; +} kcapi_carddef; +#define KCAPI_CMD_TRACE 10 +#define KCAPI_CMD_ADDCARD 11 +#define KCAPI_TRACE_OFF 0 +#define KCAPI_TRACE_SHORT_NO_DATA 1 +#define KCAPI_TRACE_FULL_NO_DATA 2 +#define KCAPI_TRACE_SHORT 3 +#define KCAPI_TRACE_FULL 4 +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/kexec.h b/linux-5.10/prebuilts/usr/include/linux/kexec.h new file mode 100644 index 0000000..65b5cb8 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/kexec.h @@ -0,0 +1,38 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPILINUX_KEXEC_H +#define _UAPILINUX_KEXEC_H +#include +#define KEXEC_ON_CRASH 0x00000001 +#define KEXEC_PRESERVE_CONTEXT 0x00000002 +#define KEXEC_ARCH_MASK 0xffff0000 +#define KEXEC_FILE_UNLOAD 0x00000001 +#define KEXEC_FILE_ON_CRASH 0x00000002 +#define KEXEC_FILE_NO_INITRAMFS 0x00000004 +#define KEXEC_ARCH_DEFAULT ( 0 << 16) +#define KEXEC_ARCH_386 ( 3 << 16) +#define KEXEC_ARCH_68K ( 4 << 16) +#define KEXEC_ARCH_PARISC (15 << 16) +#define KEXEC_ARCH_X86_64 (62 << 16) +#define KEXEC_ARCH_PPC (20 << 16) +#define KEXEC_ARCH_PPC64 (21 << 16) +#define KEXEC_ARCH_IA_64 (50 << 16) +#define KEXEC_ARCH_ARM (40 << 16) +#define KEXEC_ARCH_S390 (22 << 16) +#define KEXEC_ARCH_SH (42 << 16) +#define KEXEC_ARCH_MIPS_LE (10 << 16) +#define KEXEC_ARCH_MIPS ( 8 << 16) +#define KEXEC_ARCH_AARCH64 (183 << 16) +#define KEXEC_SEGMENT_MAX 16 +#ifndef __KERNEL__ +struct kexec_segment { + const void *buf; + size_t bufsz; + const void *mem; + size_t memsz; +}; +#endif +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/keyboard.h b/linux-5.10/prebuilts/usr/include/linux/keyboard.h new file mode 100644 index 0000000..6d328d6 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/keyboard.h @@ -0,0 +1,441 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI__LINUX_KEYBOARD_H +#define _UAPI__LINUX_KEYBOARD_H +#include +#define KG_SHIFT 0 +#define KG_CTRL 2 +#define KG_ALT 3 +#define KG_ALTGR 1 +#define KG_SHIFTL 4 +#define KG_KANASHIFT 4 +#define KG_SHIFTR 5 +#define KG_CTRLL 6 +#define KG_CTRLR 7 +#define KG_CAPSSHIFT 8 +#define NR_SHIFT 9 +#define NR_KEYS 256 +#define MAX_NR_KEYMAPS 256 +#define MAX_NR_OF_USER_KEYMAPS 256 +#define MAX_NR_FUNC 256 +#define KT_LATIN 0 +#define KT_LETTER 11 +#define KT_FN 1 +#define KT_SPEC 2 +#define KT_PAD 3 +#define KT_DEAD 4 +#define KT_CONS 5 +#define KT_CUR 6 +#define KT_SHIFT 7 +#define KT_META 8 +#define KT_ASCII 9 +#define KT_LOCK 10 +#define KT_SLOCK 12 +#define KT_DEAD2 13 +#define KT_BRL 14 +#define K(t,v) (((t)<<8)|(v)) +#define KTYP(x) ((x) >> 8) +#define KVAL(x) ((x) & 0xff) +#define K_F1 K(KT_FN,0) +#define K_F2 K(KT_FN,1) +#define K_F3 K(KT_FN,2) +#define K_F4 K(KT_FN,3) +#define K_F5 K(KT_FN,4) +#define K_F6 K(KT_FN,5) +#define K_F7 K(KT_FN,6) +#define K_F8 K(KT_FN,7) +#define K_F9 K(KT_FN,8) +#define K_F10 K(KT_FN,9) +#define K_F11 K(KT_FN,10) +#define K_F12 K(KT_FN,11) +#define K_F13 K(KT_FN,12) +#define K_F14 K(KT_FN,13) +#define K_F15 K(KT_FN,14) +#define K_F16 K(KT_FN,15) +#define K_F17 K(KT_FN,16) +#define K_F18 K(KT_FN,17) +#define K_F19 K(KT_FN,18) +#define K_F20 K(KT_FN,19) +#define K_FIND K(KT_FN,20) +#define K_INSERT K(KT_FN,21) +#define K_REMOVE K(KT_FN,22) +#define K_SELECT K(KT_FN,23) +#define K_PGUP K(KT_FN,24) +#define K_PGDN K(KT_FN,25) +#define K_MACRO K(KT_FN,26) +#define K_HELP K(KT_FN,27) +#define K_DO K(KT_FN,28) +#define K_PAUSE K(KT_FN,29) +#define K_F21 K(KT_FN,30) +#define K_F22 K(KT_FN,31) +#define K_F23 K(KT_FN,32) +#define K_F24 K(KT_FN,33) +#define K_F25 K(KT_FN,34) +#define K_F26 K(KT_FN,35) +#define K_F27 K(KT_FN,36) +#define K_F28 K(KT_FN,37) +#define K_F29 K(KT_FN,38) +#define K_F30 K(KT_FN,39) +#define K_F31 K(KT_FN,40) +#define K_F32 K(KT_FN,41) +#define K_F33 K(KT_FN,42) +#define K_F34 K(KT_FN,43) +#define K_F35 K(KT_FN,44) +#define K_F36 K(KT_FN,45) +#define K_F37 K(KT_FN,46) +#define K_F38 K(KT_FN,47) +#define K_F39 K(KT_FN,48) +#define K_F40 K(KT_FN,49) +#define K_F41 K(KT_FN,50) +#define K_F42 K(KT_FN,51) +#define K_F43 K(KT_FN,52) +#define K_F44 K(KT_FN,53) +#define K_F45 K(KT_FN,54) +#define K_F46 K(KT_FN,55) +#define K_F47 K(KT_FN,56) +#define K_F48 K(KT_FN,57) +#define K_F49 K(KT_FN,58) +#define K_F50 K(KT_FN,59) +#define K_F51 K(KT_FN,60) +#define K_F52 K(KT_FN,61) +#define K_F53 K(KT_FN,62) +#define K_F54 K(KT_FN,63) +#define K_F55 K(KT_FN,64) +#define K_F56 K(KT_FN,65) +#define K_F57 K(KT_FN,66) +#define K_F58 K(KT_FN,67) +#define K_F59 K(KT_FN,68) +#define K_F60 K(KT_FN,69) +#define K_F61 K(KT_FN,70) +#define K_F62 K(KT_FN,71) +#define K_F63 K(KT_FN,72) +#define K_F64 K(KT_FN,73) +#define K_F65 K(KT_FN,74) +#define K_F66 K(KT_FN,75) +#define K_F67 K(KT_FN,76) +#define K_F68 K(KT_FN,77) +#define K_F69 K(KT_FN,78) +#define K_F70 K(KT_FN,79) +#define K_F71 K(KT_FN,80) +#define K_F72 K(KT_FN,81) +#define K_F73 K(KT_FN,82) +#define K_F74 K(KT_FN,83) +#define K_F75 K(KT_FN,84) +#define K_F76 K(KT_FN,85) +#define K_F77 K(KT_FN,86) +#define K_F78 K(KT_FN,87) +#define K_F79 K(KT_FN,88) +#define K_F80 K(KT_FN,89) +#define K_F81 K(KT_FN,90) +#define K_F82 K(KT_FN,91) +#define K_F83 K(KT_FN,92) +#define K_F84 K(KT_FN,93) +#define K_F85 K(KT_FN,94) +#define K_F86 K(KT_FN,95) +#define K_F87 K(KT_FN,96) +#define K_F88 K(KT_FN,97) +#define K_F89 K(KT_FN,98) +#define K_F90 K(KT_FN,99) +#define K_F91 K(KT_FN,100) +#define K_F92 K(KT_FN,101) +#define K_F93 K(KT_FN,102) +#define K_F94 K(KT_FN,103) +#define K_F95 K(KT_FN,104) +#define K_F96 K(KT_FN,105) +#define K_F97 K(KT_FN,106) +#define K_F98 K(KT_FN,107) +#define K_F99 K(KT_FN,108) +#define K_F100 K(KT_FN,109) +#define K_F101 K(KT_FN,110) +#define K_F102 K(KT_FN,111) +#define K_F103 K(KT_FN,112) +#define K_F104 K(KT_FN,113) +#define K_F105 K(KT_FN,114) +#define K_F106 K(KT_FN,115) +#define K_F107 K(KT_FN,116) +#define K_F108 K(KT_FN,117) +#define K_F109 K(KT_FN,118) +#define K_F110 K(KT_FN,119) +#define K_F111 K(KT_FN,120) +#define K_F112 K(KT_FN,121) +#define K_F113 K(KT_FN,122) +#define K_F114 K(KT_FN,123) +#define K_F115 K(KT_FN,124) +#define K_F116 K(KT_FN,125) +#define K_F117 K(KT_FN,126) +#define K_F118 K(KT_FN,127) +#define K_F119 K(KT_FN,128) +#define K_F120 K(KT_FN,129) +#define K_F121 K(KT_FN,130) +#define K_F122 K(KT_FN,131) +#define K_F123 K(KT_FN,132) +#define K_F124 K(KT_FN,133) +#define K_F125 K(KT_FN,134) +#define K_F126 K(KT_FN,135) +#define K_F127 K(KT_FN,136) +#define K_F128 K(KT_FN,137) +#define K_F129 K(KT_FN,138) +#define K_F130 K(KT_FN,139) +#define K_F131 K(KT_FN,140) +#define K_F132 K(KT_FN,141) +#define K_F133 K(KT_FN,142) +#define K_F134 K(KT_FN,143) +#define K_F135 K(KT_FN,144) +#define K_F136 K(KT_FN,145) +#define K_F137 K(KT_FN,146) +#define K_F138 K(KT_FN,147) +#define K_F139 K(KT_FN,148) +#define K_F140 K(KT_FN,149) +#define K_F141 K(KT_FN,150) +#define K_F142 K(KT_FN,151) +#define K_F143 K(KT_FN,152) +#define K_F144 K(KT_FN,153) +#define K_F145 K(KT_FN,154) +#define K_F146 K(KT_FN,155) +#define K_F147 K(KT_FN,156) +#define K_F148 K(KT_FN,157) +#define K_F149 K(KT_FN,158) +#define K_F150 K(KT_FN,159) +#define K_F151 K(KT_FN,160) +#define K_F152 K(KT_FN,161) +#define K_F153 K(KT_FN,162) +#define K_F154 K(KT_FN,163) +#define K_F155 K(KT_FN,164) +#define K_F156 K(KT_FN,165) +#define K_F157 K(KT_FN,166) +#define K_F158 K(KT_FN,167) +#define K_F159 K(KT_FN,168) +#define K_F160 K(KT_FN,169) +#define K_F161 K(KT_FN,170) +#define K_F162 K(KT_FN,171) +#define K_F163 K(KT_FN,172) +#define K_F164 K(KT_FN,173) +#define K_F165 K(KT_FN,174) +#define K_F166 K(KT_FN,175) +#define K_F167 K(KT_FN,176) +#define K_F168 K(KT_FN,177) +#define K_F169 K(KT_FN,178) +#define K_F170 K(KT_FN,179) +#define K_F171 K(KT_FN,180) +#define K_F172 K(KT_FN,181) +#define K_F173 K(KT_FN,182) +#define K_F174 K(KT_FN,183) +#define K_F175 K(KT_FN,184) +#define K_F176 K(KT_FN,185) +#define K_F177 K(KT_FN,186) +#define K_F178 K(KT_FN,187) +#define K_F179 K(KT_FN,188) +#define K_F180 K(KT_FN,189) +#define K_F181 K(KT_FN,190) +#define K_F182 K(KT_FN,191) +#define K_F183 K(KT_FN,192) +#define K_F184 K(KT_FN,193) +#define K_F185 K(KT_FN,194) +#define K_F186 K(KT_FN,195) +#define K_F187 K(KT_FN,196) +#define K_F188 K(KT_FN,197) +#define K_F189 K(KT_FN,198) +#define K_F190 K(KT_FN,199) +#define K_F191 K(KT_FN,200) +#define K_F192 K(KT_FN,201) +#define K_F193 K(KT_FN,202) +#define K_F194 K(KT_FN,203) +#define K_F195 K(KT_FN,204) +#define K_F196 K(KT_FN,205) +#define K_F197 K(KT_FN,206) +#define K_F198 K(KT_FN,207) +#define K_F199 K(KT_FN,208) +#define K_F200 K(KT_FN,209) +#define K_F201 K(KT_FN,210) +#define K_F202 K(KT_FN,211) +#define K_F203 K(KT_FN,212) +#define K_F204 K(KT_FN,213) +#define K_F205 K(KT_FN,214) +#define K_F206 K(KT_FN,215) +#define K_F207 K(KT_FN,216) +#define K_F208 K(KT_FN,217) +#define K_F209 K(KT_FN,218) +#define K_F210 K(KT_FN,219) +#define K_F211 K(KT_FN,220) +#define K_F212 K(KT_FN,221) +#define K_F213 K(KT_FN,222) +#define K_F214 K(KT_FN,223) +#define K_F215 K(KT_FN,224) +#define K_F216 K(KT_FN,225) +#define K_F217 K(KT_FN,226) +#define K_F218 K(KT_FN,227) +#define K_F219 K(KT_FN,228) +#define K_F220 K(KT_FN,229) +#define K_F221 K(KT_FN,230) +#define K_F222 K(KT_FN,231) +#define K_F223 K(KT_FN,232) +#define K_F224 K(KT_FN,233) +#define K_F225 K(KT_FN,234) +#define K_F226 K(KT_FN,235) +#define K_F227 K(KT_FN,236) +#define K_F228 K(KT_FN,237) +#define K_F229 K(KT_FN,238) +#define K_F230 K(KT_FN,239) +#define K_F231 K(KT_FN,240) +#define K_F232 K(KT_FN,241) +#define K_F233 K(KT_FN,242) +#define K_F234 K(KT_FN,243) +#define K_F235 K(KT_FN,244) +#define K_F236 K(KT_FN,245) +#define K_F237 K(KT_FN,246) +#define K_F238 K(KT_FN,247) +#define K_F239 K(KT_FN,248) +#define K_F240 K(KT_FN,249) +#define K_F241 K(KT_FN,250) +#define K_F242 K(KT_FN,251) +#define K_F243 K(KT_FN,252) +#define K_F244 K(KT_FN,253) +#define K_F245 K(KT_FN,254) +#define K_UNDO K(KT_FN,255) +#define K_HOLE K(KT_SPEC,0) +#define K_ENTER K(KT_SPEC,1) +#define K_SH_REGS K(KT_SPEC,2) +#define K_SH_MEM K(KT_SPEC,3) +#define K_SH_STAT K(KT_SPEC,4) +#define K_BREAK K(KT_SPEC,5) +#define K_CONS K(KT_SPEC,6) +#define K_CAPS K(KT_SPEC,7) +#define K_NUM K(KT_SPEC,8) +#define K_HOLD K(KT_SPEC,9) +#define K_SCROLLFORW K(KT_SPEC,10) +#define K_SCROLLBACK K(KT_SPEC,11) +#define K_BOOT K(KT_SPEC,12) +#define K_CAPSON K(KT_SPEC,13) +#define K_COMPOSE K(KT_SPEC,14) +#define K_SAK K(KT_SPEC,15) +#define K_DECRCONSOLE K(KT_SPEC,16) +#define K_INCRCONSOLE K(KT_SPEC,17) +#define K_SPAWNCONSOLE K(KT_SPEC,18) +#define K_BARENUMLOCK K(KT_SPEC,19) +#define K_ALLOCATED K(KT_SPEC,126) +#define K_NOSUCHMAP K(KT_SPEC,127) +#define K_P0 K(KT_PAD,0) +#define K_P1 K(KT_PAD,1) +#define K_P2 K(KT_PAD,2) +#define K_P3 K(KT_PAD,3) +#define K_P4 K(KT_PAD,4) +#define K_P5 K(KT_PAD,5) +#define K_P6 K(KT_PAD,6) +#define K_P7 K(KT_PAD,7) +#define K_P8 K(KT_PAD,8) +#define K_P9 K(KT_PAD,9) +#define K_PPLUS K(KT_PAD,10) +#define K_PMINUS K(KT_PAD,11) +#define K_PSTAR K(KT_PAD,12) +#define K_PSLASH K(KT_PAD,13) +#define K_PENTER K(KT_PAD,14) +#define K_PCOMMA K(KT_PAD,15) +#define K_PDOT K(KT_PAD,16) +#define K_PPLUSMINUS K(KT_PAD,17) +#define K_PPARENL K(KT_PAD,18) +#define K_PPARENR K(KT_PAD,19) +#define NR_PAD 20 +#define K_DGRAVE K(KT_DEAD,0) +#define K_DACUTE K(KT_DEAD,1) +#define K_DCIRCM K(KT_DEAD,2) +#define K_DTILDE K(KT_DEAD,3) +#define K_DDIERE K(KT_DEAD,4) +#define K_DCEDIL K(KT_DEAD,5) +#define K_DMACRON K(KT_DEAD,6) +#define K_DBREVE K(KT_DEAD,7) +#define K_DABDOT K(KT_DEAD,8) +#define K_DABRING K(KT_DEAD,9) +#define K_DDBACUTE K(KT_DEAD,10) +#define K_DCARON K(KT_DEAD,11) +#define K_DOGONEK K(KT_DEAD,12) +#define K_DIOTA K(KT_DEAD,13) +#define K_DVOICED K(KT_DEAD,14) +#define K_DSEMVOICED K(KT_DEAD,15) +#define K_DBEDOT K(KT_DEAD,16) +#define K_DHOOK K(KT_DEAD,17) +#define K_DHORN K(KT_DEAD,18) +#define K_DSTROKE K(KT_DEAD,19) +#define K_DABCOMMA K(KT_DEAD,20) +#define K_DABREVCOMMA K(KT_DEAD,21) +#define K_DDBGRAVE K(KT_DEAD,22) +#define K_DINVBREVE K(KT_DEAD,23) +#define K_DBECOMMA K(KT_DEAD,24) +#define K_DCURRENCY K(KT_DEAD,25) +#define K_DGREEK K(KT_DEAD,26) +#define NR_DEAD 27 +#define K_DOWN K(KT_CUR,0) +#define K_LEFT K(KT_CUR,1) +#define K_RIGHT K(KT_CUR,2) +#define K_UP K(KT_CUR,3) +#define K_SHIFT K(KT_SHIFT,KG_SHIFT) +#define K_CTRL K(KT_SHIFT,KG_CTRL) +#define K_ALT K(KT_SHIFT,KG_ALT) +#define K_ALTGR K(KT_SHIFT,KG_ALTGR) +#define K_SHIFTL K(KT_SHIFT,KG_SHIFTL) +#define K_SHIFTR K(KT_SHIFT,KG_SHIFTR) +#define K_CTRLL K(KT_SHIFT,KG_CTRLL) +#define K_CTRLR K(KT_SHIFT,KG_CTRLR) +#define K_CAPSSHIFT K(KT_SHIFT,KG_CAPSSHIFT) +#define K_ASC0 K(KT_ASCII,0) +#define K_ASC1 K(KT_ASCII,1) +#define K_ASC2 K(KT_ASCII,2) +#define K_ASC3 K(KT_ASCII,3) +#define K_ASC4 K(KT_ASCII,4) +#define K_ASC5 K(KT_ASCII,5) +#define K_ASC6 K(KT_ASCII,6) +#define K_ASC7 K(KT_ASCII,7) +#define K_ASC8 K(KT_ASCII,8) +#define K_ASC9 K(KT_ASCII,9) +#define K_HEX0 K(KT_ASCII,10) +#define K_HEX1 K(KT_ASCII,11) +#define K_HEX2 K(KT_ASCII,12) +#define K_HEX3 K(KT_ASCII,13) +#define K_HEX4 K(KT_ASCII,14) +#define K_HEX5 K(KT_ASCII,15) +#define K_HEX6 K(KT_ASCII,16) +#define K_HEX7 K(KT_ASCII,17) +#define K_HEX8 K(KT_ASCII,18) +#define K_HEX9 K(KT_ASCII,19) +#define K_HEXa K(KT_ASCII,20) +#define K_HEXb K(KT_ASCII,21) +#define K_HEXc K(KT_ASCII,22) +#define K_HEXd K(KT_ASCII,23) +#define K_HEXe K(KT_ASCII,24) +#define K_HEXf K(KT_ASCII,25) +#define NR_ASCII 26 +#define K_SHIFTLOCK K(KT_LOCK,KG_SHIFT) +#define K_CTRLLOCK K(KT_LOCK,KG_CTRL) +#define K_ALTLOCK K(KT_LOCK,KG_ALT) +#define K_ALTGRLOCK K(KT_LOCK,KG_ALTGR) +#define K_SHIFTLLOCK K(KT_LOCK,KG_SHIFTL) +#define K_SHIFTRLOCK K(KT_LOCK,KG_SHIFTR) +#define K_CTRLLLOCK K(KT_LOCK,KG_CTRLL) +#define K_CTRLRLOCK K(KT_LOCK,KG_CTRLR) +#define K_CAPSSHIFTLOCK K(KT_LOCK,KG_CAPSSHIFT) +#define K_SHIFT_SLOCK K(KT_SLOCK,KG_SHIFT) +#define K_CTRL_SLOCK K(KT_SLOCK,KG_CTRL) +#define K_ALT_SLOCK K(KT_SLOCK,KG_ALT) +#define K_ALTGR_SLOCK K(KT_SLOCK,KG_ALTGR) +#define K_SHIFTL_SLOCK K(KT_SLOCK,KG_SHIFTL) +#define K_SHIFTR_SLOCK K(KT_SLOCK,KG_SHIFTR) +#define K_CTRLL_SLOCK K(KT_SLOCK,KG_CTRLL) +#define K_CTRLR_SLOCK K(KT_SLOCK,KG_CTRLR) +#define K_CAPSSHIFT_SLOCK K(KT_SLOCK,KG_CAPSSHIFT) +#define NR_LOCK 9 +#define K_BRL_BLANK K(KT_BRL, 0) +#define K_BRL_DOT1 K(KT_BRL, 1) +#define K_BRL_DOT2 K(KT_BRL, 2) +#define K_BRL_DOT3 K(KT_BRL, 3) +#define K_BRL_DOT4 K(KT_BRL, 4) +#define K_BRL_DOT5 K(KT_BRL, 5) +#define K_BRL_DOT6 K(KT_BRL, 6) +#define K_BRL_DOT7 K(KT_BRL, 7) +#define K_BRL_DOT8 K(KT_BRL, 8) +#define K_BRL_DOT9 K(KT_BRL, 9) +#define K_BRL_DOT10 K(KT_BRL, 10) +#define NR_BRL 11 +#define MAX_DIACR 256 +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/keyctl.h b/linux-5.10/prebuilts/usr/include/linux/keyctl.h new file mode 100644 index 0000000..50ca181 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/keyctl.h @@ -0,0 +1,109 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _LINUX_KEYCTL_H +#define _LINUX_KEYCTL_H +#include +#define KEY_SPEC_THREAD_KEYRING -1 +#define KEY_SPEC_PROCESS_KEYRING -2 +#define KEY_SPEC_SESSION_KEYRING -3 +#define KEY_SPEC_USER_KEYRING -4 +#define KEY_SPEC_USER_SESSION_KEYRING -5 +#define KEY_SPEC_GROUP_KEYRING -6 +#define KEY_SPEC_REQKEY_AUTH_KEY -7 +#define KEY_SPEC_REQUESTOR_KEYRING -8 +#define KEY_REQKEY_DEFL_NO_CHANGE -1 +#define KEY_REQKEY_DEFL_DEFAULT 0 +#define KEY_REQKEY_DEFL_THREAD_KEYRING 1 +#define KEY_REQKEY_DEFL_PROCESS_KEYRING 2 +#define KEY_REQKEY_DEFL_SESSION_KEYRING 3 +#define KEY_REQKEY_DEFL_USER_KEYRING 4 +#define KEY_REQKEY_DEFL_USER_SESSION_KEYRING 5 +#define KEY_REQKEY_DEFL_GROUP_KEYRING 6 +#define KEY_REQKEY_DEFL_REQUESTOR_KEYRING 7 +#define KEYCTL_GET_KEYRING_ID 0 +#define KEYCTL_JOIN_SESSION_KEYRING 1 +#define KEYCTL_UPDATE 2 +#define KEYCTL_REVOKE 3 +#define KEYCTL_CHOWN 4 +#define KEYCTL_SETPERM 5 +#define KEYCTL_DESCRIBE 6 +#define KEYCTL_CLEAR 7 +#define KEYCTL_LINK 8 +#define KEYCTL_UNLINK 9 +#define KEYCTL_SEARCH 10 +#define KEYCTL_READ 11 +#define KEYCTL_INSTANTIATE 12 +#define KEYCTL_NEGATE 13 +#define KEYCTL_SET_REQKEY_KEYRING 14 +#define KEYCTL_SET_TIMEOUT 15 +#define KEYCTL_ASSUME_AUTHORITY 16 +#define KEYCTL_GET_SECURITY 17 +#define KEYCTL_SESSION_TO_PARENT 18 +#define KEYCTL_REJECT 19 +#define KEYCTL_INSTANTIATE_IOV 20 +#define KEYCTL_INVALIDATE 21 +#define KEYCTL_GET_PERSISTENT 22 +#define KEYCTL_DH_COMPUTE 23 +#define KEYCTL_PKEY_QUERY 24 +#define KEYCTL_PKEY_ENCRYPT 25 +#define KEYCTL_PKEY_DECRYPT 26 +#define KEYCTL_PKEY_SIGN 27 +#define KEYCTL_PKEY_VERIFY 28 +#define KEYCTL_RESTRICT_KEYRING 29 +#define KEYCTL_MOVE 30 +#define KEYCTL_CAPABILITIES 31 +#define KEYCTL_WATCH_KEY 32 +struct keyctl_dh_params { + union { +#ifndef __cplusplus + __s32 __linux_private; +#endif + __s32 priv; + }; + __s32 prime; + __s32 base; +}; +struct keyctl_kdf_params { + char __user *hashname; + char __user *otherinfo; + __u32 otherinfolen; + __u32 __spare[8]; +}; +#define KEYCTL_SUPPORTS_ENCRYPT 0x01 +#define KEYCTL_SUPPORTS_DECRYPT 0x02 +#define KEYCTL_SUPPORTS_SIGN 0x04 +#define KEYCTL_SUPPORTS_VERIFY 0x08 +struct keyctl_pkey_query { + __u32 supported_ops; + __u32 key_size; + __u16 max_data_size; + __u16 max_sig_size; + __u16 max_enc_size; + __u16 max_dec_size; + __u32 __spare[10]; +}; +struct keyctl_pkey_params { + __s32 key_id; + __u32 in_len; + union { + __u32 out_len; + __u32 in2_len; + }; + __u32 __spare[7]; +}; +#define KEYCTL_MOVE_EXCL 0x00000001 +#define KEYCTL_CAPS0_CAPABILITIES 0x01 +#define KEYCTL_CAPS0_PERSISTENT_KEYRINGS 0x02 +#define KEYCTL_CAPS0_DIFFIE_HELLMAN 0x04 +#define KEYCTL_CAPS0_PUBLIC_KEY 0x08 +#define KEYCTL_CAPS0_BIG_KEY 0x10 +#define KEYCTL_CAPS0_INVALIDATE 0x20 +#define KEYCTL_CAPS0_RESTRICT_KEYRING 0x40 +#define KEYCTL_CAPS0_MOVE 0x80 +#define KEYCTL_CAPS1_NS_KEYRING_NAME 0x01 +#define KEYCTL_CAPS1_NS_KEY_TAG 0x02 +#define KEYCTL_CAPS1_NOTIFICATIONS 0x04 +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/kfd_ioctl.h b/linux-5.10/prebuilts/usr/include/linux/kfd_ioctl.h new file mode 100644 index 0000000..4ca0b19 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/kfd_ioctl.h @@ -0,0 +1,372 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef KFD_IOCTL_H_INCLUDED +#define KFD_IOCTL_H_INCLUDED +#include +#include +#define KFD_IOCTL_MAJOR_VERSION 1 +#define KFD_IOCTL_MINOR_VERSION 3 +struct kfd_ioctl_get_version_args { + __u32 major_version; + __u32 minor_version; +}; +#define KFD_IOC_QUEUE_TYPE_COMPUTE 0x0 +#define KFD_IOC_QUEUE_TYPE_SDMA 0x1 +#define KFD_IOC_QUEUE_TYPE_COMPUTE_AQL 0x2 +#define KFD_IOC_QUEUE_TYPE_SDMA_XGMI 0x3 +#define KFD_MAX_QUEUE_PERCENTAGE 100 +#define KFD_MAX_QUEUE_PRIORITY 15 +struct kfd_ioctl_create_queue_args { + __u64 ring_base_address; + __u64 write_pointer_address; + __u64 read_pointer_address; + __u64 doorbell_offset; + __u32 ring_size; + __u32 gpu_id; + __u32 queue_type; + __u32 queue_percentage; + __u32 queue_priority; + __u32 queue_id; + __u64 eop_buffer_address; + __u64 eop_buffer_size; + __u64 ctx_save_restore_address; + __u32 ctx_save_restore_size; + __u32 ctl_stack_size; +}; +struct kfd_ioctl_destroy_queue_args { + __u32 queue_id; + __u32 pad; +}; +struct kfd_ioctl_update_queue_args { + __u64 ring_base_address; + __u32 queue_id; + __u32 ring_size; + __u32 queue_percentage; + __u32 queue_priority; +}; +struct kfd_ioctl_set_cu_mask_args { + __u32 queue_id; + __u32 num_cu_mask; + __u64 cu_mask_ptr; +}; +struct kfd_ioctl_get_queue_wave_state_args { + __u64 ctl_stack_address; + __u32 ctl_stack_used_size; + __u32 save_area_used_size; + __u32 queue_id; + __u32 pad; +}; +#define KFD_IOC_CACHE_POLICY_COHERENT 0 +#define KFD_IOC_CACHE_POLICY_NONCOHERENT 1 +struct kfd_ioctl_set_memory_policy_args { + __u64 alternate_aperture_base; + __u64 alternate_aperture_size; + __u32 gpu_id; + __u32 default_policy; + __u32 alternate_policy; + __u32 pad; +}; +struct kfd_ioctl_get_clock_counters_args { + __u64 gpu_clock_counter; + __u64 cpu_clock_counter; + __u64 system_clock_counter; + __u64 system_clock_freq; + __u32 gpu_id; + __u32 pad; +}; +struct kfd_process_device_apertures { + __u64 lds_base; + __u64 lds_limit; + __u64 scratch_base; + __u64 scratch_limit; + __u64 gpuvm_base; + __u64 gpuvm_limit; + __u32 gpu_id; + __u32 pad; +}; +#define NUM_OF_SUPPORTED_GPUS 7 +struct kfd_ioctl_get_process_apertures_args { + struct kfd_process_device_apertures + process_apertures[NUM_OF_SUPPORTED_GPUS]; + + __u32 num_of_nodes; + __u32 pad; +}; +struct kfd_ioctl_get_process_apertures_new_args { + + __u64 kfd_process_device_apertures_ptr; + + __u32 num_of_nodes; + __u32 pad; +}; +#define MAX_ALLOWED_NUM_POINTS 100 +#define MAX_ALLOWED_AW_BUFF_SIZE 4096 +#define MAX_ALLOWED_WAC_BUFF_SIZE 128 +struct kfd_ioctl_dbg_register_args { + __u32 gpu_id; + __u32 pad; +}; +struct kfd_ioctl_dbg_unregister_args { + __u32 gpu_id; + __u32 pad; +}; +struct kfd_ioctl_dbg_address_watch_args { + __u64 content_ptr; + __u32 gpu_id; + __u32 buf_size_in_bytes; +}; +struct kfd_ioctl_dbg_wave_control_args { + __u64 content_ptr; + __u32 gpu_id; + __u32 buf_size_in_bytes; +}; +#define KFD_IOC_EVENT_SIGNAL 0 +#define KFD_IOC_EVENT_NODECHANGE 1 +#define KFD_IOC_EVENT_DEVICESTATECHANGE 2 +#define KFD_IOC_EVENT_HW_EXCEPTION 3 +#define KFD_IOC_EVENT_SYSTEM_EVENT 4 +#define KFD_IOC_EVENT_DEBUG_EVENT 5 +#define KFD_IOC_EVENT_PROFILE_EVENT 6 +#define KFD_IOC_EVENT_QUEUE_EVENT 7 +#define KFD_IOC_EVENT_MEMORY 8 +#define KFD_IOC_WAIT_RESULT_COMPLETE 0 +#define KFD_IOC_WAIT_RESULT_TIMEOUT 1 +#define KFD_IOC_WAIT_RESULT_FAIL 2 +#define KFD_SIGNAL_EVENT_LIMIT 4096 +#define KFD_HW_EXCEPTION_WHOLE_GPU_RESET 0 +#define KFD_HW_EXCEPTION_PER_ENGINE_RESET 1 +#define KFD_HW_EXCEPTION_GPU_HANG 0 +#define KFD_HW_EXCEPTION_ECC 1 +#define KFD_MEM_ERR_NO_RAS 0 +#define KFD_MEM_ERR_SRAM_ECC 1 +#define KFD_MEM_ERR_POISON_CONSUMED 2 +#define KFD_MEM_ERR_GPU_HANG 3 +struct kfd_ioctl_create_event_args { + __u64 event_page_offset; + __u32 event_trigger_data; + __u32 event_type; + __u32 auto_reset; + __u32 node_id; + __u32 event_id; + __u32 event_slot_index; +}; +struct kfd_ioctl_destroy_event_args { + __u32 event_id; + __u32 pad; +}; +struct kfd_ioctl_set_event_args { + __u32 event_id; + __u32 pad; +}; +struct kfd_ioctl_reset_event_args { + __u32 event_id; + __u32 pad; +}; +struct kfd_memory_exception_failure { + __u32 NotPresent; + __u32 ReadOnly; + __u32 NoExecute; + __u32 imprecise; +}; +struct kfd_hsa_memory_exception_data { + struct kfd_memory_exception_failure failure; + __u64 va; + __u32 gpu_id; + __u32 ErrorType; +}; +struct kfd_hsa_hw_exception_data { + __u32 reset_type; + __u32 reset_cause; + __u32 memory_lost; + __u32 gpu_id; +}; +struct kfd_event_data { + union { + struct kfd_hsa_memory_exception_data memory_exception_data; + struct kfd_hsa_hw_exception_data hw_exception_data; + }; + __u64 kfd_event_data_ext; + __u32 event_id; + __u32 pad; +}; +struct kfd_ioctl_wait_events_args { + __u64 events_ptr; + __u32 num_events; + __u32 wait_for_all; + __u32 timeout; + __u32 wait_result; +}; +struct kfd_ioctl_set_scratch_backing_va_args { + __u64 va_addr; + __u32 gpu_id; + __u32 pad; +}; +struct kfd_ioctl_get_tile_config_args { + + __u64 tile_config_ptr; + + __u64 macro_tile_config_ptr; + + __u32 num_tile_configs; + + __u32 num_macro_tile_configs; + __u32 gpu_id; + __u32 gb_addr_config; + __u32 num_banks; + __u32 num_ranks; + +}; +struct kfd_ioctl_set_trap_handler_args { + __u64 tba_addr; + __u64 tma_addr; + __u32 gpu_id; + __u32 pad; +}; +struct kfd_ioctl_acquire_vm_args { + __u32 drm_fd; + __u32 gpu_id; +}; +#define KFD_IOC_ALLOC_MEM_FLAGS_VRAM (1 << 0) +#define KFD_IOC_ALLOC_MEM_FLAGS_GTT (1 << 1) +#define KFD_IOC_ALLOC_MEM_FLAGS_USERPTR (1 << 2) +#define KFD_IOC_ALLOC_MEM_FLAGS_DOORBELL (1 << 3) +#define KFD_IOC_ALLOC_MEM_FLAGS_MMIO_REMAP (1 << 4) +#define KFD_IOC_ALLOC_MEM_FLAGS_WRITABLE (1 << 31) +#define KFD_IOC_ALLOC_MEM_FLAGS_EXECUTABLE (1 << 30) +#define KFD_IOC_ALLOC_MEM_FLAGS_PUBLIC (1 << 29) +#define KFD_IOC_ALLOC_MEM_FLAGS_NO_SUBSTITUTE (1 << 28) +#define KFD_IOC_ALLOC_MEM_FLAGS_AQL_QUEUE_MEM (1 << 27) +#define KFD_IOC_ALLOC_MEM_FLAGS_COHERENT (1 << 26) +struct kfd_ioctl_alloc_memory_of_gpu_args { + __u64 va_addr; + __u64 size; + __u64 handle; + __u64 mmap_offset; + __u32 gpu_id; + __u32 flags; +}; +struct kfd_ioctl_free_memory_of_gpu_args { + __u64 handle; +}; +struct kfd_ioctl_map_memory_to_gpu_args { + __u64 handle; + __u64 device_ids_array_ptr; + __u32 n_devices; + __u32 n_success; +}; +struct kfd_ioctl_unmap_memory_from_gpu_args { + __u64 handle; + __u64 device_ids_array_ptr; + __u32 n_devices; + __u32 n_success; +}; +struct kfd_ioctl_alloc_queue_gws_args { + __u32 queue_id; + __u32 num_gws; + __u32 first_gws; + __u32 pad; +}; +struct kfd_ioctl_get_dmabuf_info_args { + __u64 size; + __u64 metadata_ptr; + __u32 metadata_size; + __u32 gpu_id; + __u32 flags; + __u32 dmabuf_fd; +}; +struct kfd_ioctl_import_dmabuf_args { + __u64 va_addr; + __u64 handle; + __u32 gpu_id; + __u32 dmabuf_fd; +}; +enum kfd_smi_event { + KFD_SMI_EVENT_NONE = 0, + KFD_SMI_EVENT_VMFAULT = 1, + KFD_SMI_EVENT_THERMAL_THROTTLE = 2, + KFD_SMI_EVENT_GPU_PRE_RESET = 3, + KFD_SMI_EVENT_GPU_POST_RESET = 4, +}; +#define KFD_SMI_EVENT_MASK_FROM_INDEX(i) (1ULL << ((i) - 1)) +struct kfd_ioctl_smi_events_args { + __u32 gpuid; + __u32 anon_fd; +}; +enum kfd_mmio_remap { + KFD_MMIO_REMAP_HDP_MEM_FLUSH_CNTL = 0, + KFD_MMIO_REMAP_HDP_REG_FLUSH_CNTL = 4, +}; +#define AMDKFD_IOCTL_BASE 'K' +#define AMDKFD_IO(nr) _IO(AMDKFD_IOCTL_BASE, nr) +#define AMDKFD_IOR(nr, type) _IOR(AMDKFD_IOCTL_BASE, nr, type) +#define AMDKFD_IOW(nr, type) _IOW(AMDKFD_IOCTL_BASE, nr, type) +#define AMDKFD_IOWR(nr, type) _IOWR(AMDKFD_IOCTL_BASE, nr, type) +#define AMDKFD_IOC_GET_VERSION \ + AMDKFD_IOR(0x01, struct kfd_ioctl_get_version_args) +#define AMDKFD_IOC_CREATE_QUEUE \ + AMDKFD_IOWR(0x02, struct kfd_ioctl_create_queue_args) +#define AMDKFD_IOC_DESTROY_QUEUE \ + AMDKFD_IOWR(0x03, struct kfd_ioctl_destroy_queue_args) +#define AMDKFD_IOC_SET_MEMORY_POLICY \ + AMDKFD_IOW(0x04, struct kfd_ioctl_set_memory_policy_args) +#define AMDKFD_IOC_GET_CLOCK_COUNTERS \ + AMDKFD_IOWR(0x05, struct kfd_ioctl_get_clock_counters_args) +#define AMDKFD_IOC_GET_PROCESS_APERTURES \ + AMDKFD_IOR(0x06, struct kfd_ioctl_get_process_apertures_args) +#define AMDKFD_IOC_UPDATE_QUEUE \ + AMDKFD_IOW(0x07, struct kfd_ioctl_update_queue_args) +#define AMDKFD_IOC_CREATE_EVENT \ + AMDKFD_IOWR(0x08, struct kfd_ioctl_create_event_args) +#define AMDKFD_IOC_DESTROY_EVENT \ + AMDKFD_IOW(0x09, struct kfd_ioctl_destroy_event_args) +#define AMDKFD_IOC_SET_EVENT \ + AMDKFD_IOW(0x0A, struct kfd_ioctl_set_event_args) +#define AMDKFD_IOC_RESET_EVENT \ + AMDKFD_IOW(0x0B, struct kfd_ioctl_reset_event_args) +#define AMDKFD_IOC_WAIT_EVENTS \ + AMDKFD_IOWR(0x0C, struct kfd_ioctl_wait_events_args) +#define AMDKFD_IOC_DBG_REGISTER \ + AMDKFD_IOW(0x0D, struct kfd_ioctl_dbg_register_args) +#define AMDKFD_IOC_DBG_UNREGISTER \ + AMDKFD_IOW(0x0E, struct kfd_ioctl_dbg_unregister_args) +#define AMDKFD_IOC_DBG_ADDRESS_WATCH \ + AMDKFD_IOW(0x0F, struct kfd_ioctl_dbg_address_watch_args) +#define AMDKFD_IOC_DBG_WAVE_CONTROL \ + AMDKFD_IOW(0x10, struct kfd_ioctl_dbg_wave_control_args) +#define AMDKFD_IOC_SET_SCRATCH_BACKING_VA \ + AMDKFD_IOWR(0x11, struct kfd_ioctl_set_scratch_backing_va_args) +#define AMDKFD_IOC_GET_TILE_CONFIG \ + AMDKFD_IOWR(0x12, struct kfd_ioctl_get_tile_config_args) +#define AMDKFD_IOC_SET_TRAP_HANDLER \ + AMDKFD_IOW(0x13, struct kfd_ioctl_set_trap_handler_args) +#define AMDKFD_IOC_GET_PROCESS_APERTURES_NEW \ + AMDKFD_IOWR(0x14, \ + struct kfd_ioctl_get_process_apertures_new_args) +#define AMDKFD_IOC_ACQUIRE_VM \ + AMDKFD_IOW(0x15, struct kfd_ioctl_acquire_vm_args) +#define AMDKFD_IOC_ALLOC_MEMORY_OF_GPU \ + AMDKFD_IOWR(0x16, struct kfd_ioctl_alloc_memory_of_gpu_args) +#define AMDKFD_IOC_FREE_MEMORY_OF_GPU \ + AMDKFD_IOW(0x17, struct kfd_ioctl_free_memory_of_gpu_args) +#define AMDKFD_IOC_MAP_MEMORY_TO_GPU \ + AMDKFD_IOWR(0x18, struct kfd_ioctl_map_memory_to_gpu_args) +#define AMDKFD_IOC_UNMAP_MEMORY_FROM_GPU \ + AMDKFD_IOWR(0x19, struct kfd_ioctl_unmap_memory_from_gpu_args) +#define AMDKFD_IOC_SET_CU_MASK \ + AMDKFD_IOW(0x1A, struct kfd_ioctl_set_cu_mask_args) +#define AMDKFD_IOC_GET_QUEUE_WAVE_STATE \ + AMDKFD_IOWR(0x1B, struct kfd_ioctl_get_queue_wave_state_args) +#define AMDKFD_IOC_GET_DMABUF_INFO \ + AMDKFD_IOWR(0x1C, struct kfd_ioctl_get_dmabuf_info_args) +#define AMDKFD_IOC_IMPORT_DMABUF \ + AMDKFD_IOWR(0x1D, struct kfd_ioctl_import_dmabuf_args) +#define AMDKFD_IOC_ALLOC_QUEUE_GWS \ + AMDKFD_IOWR(0x1E, struct kfd_ioctl_alloc_queue_gws_args) +#define AMDKFD_IOC_SMI_EVENTS \ + AMDKFD_IOWR(0x1F, struct kfd_ioctl_smi_events_args) +#define AMDKFD_COMMAND_START 0x01 +#define AMDKFD_COMMAND_END 0x20 +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/kvm.h b/linux-5.10/prebuilts/usr/include/linux/kvm.h new file mode 100644 index 0000000..af82c79 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/kvm.h @@ -0,0 +1,1358 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef __LINUX_KVM_H +#define __LINUX_KVM_H +#include +#include +#include +#include +#define KVM_API_VERSION 12 +#define KVM_TRC_SHIFT 16 +#define KVM_TRC_ENTRYEXIT (1 << KVM_TRC_SHIFT) +#define KVM_TRC_HANDLER (1 << (KVM_TRC_SHIFT + 1)) +#define KVM_TRC_VMENTRY (KVM_TRC_ENTRYEXIT + 0x01) +#define KVM_TRC_VMEXIT (KVM_TRC_ENTRYEXIT + 0x02) +#define KVM_TRC_PAGE_FAULT (KVM_TRC_HANDLER + 0x01) +#define KVM_TRC_HEAD_SIZE 12 +#define KVM_TRC_CYCLE_SIZE 8 +#define KVM_TRC_EXTRA_MAX 7 +#define KVM_TRC_INJ_VIRQ (KVM_TRC_HANDLER + 0x02) +#define KVM_TRC_REDELIVER_EVT (KVM_TRC_HANDLER + 0x03) +#define KVM_TRC_PEND_INTR (KVM_TRC_HANDLER + 0x04) +#define KVM_TRC_IO_READ (KVM_TRC_HANDLER + 0x05) +#define KVM_TRC_IO_WRITE (KVM_TRC_HANDLER + 0x06) +#define KVM_TRC_CR_READ (KVM_TRC_HANDLER + 0x07) +#define KVM_TRC_CR_WRITE (KVM_TRC_HANDLER + 0x08) +#define KVM_TRC_DR_READ (KVM_TRC_HANDLER + 0x09) +#define KVM_TRC_DR_WRITE (KVM_TRC_HANDLER + 0x0A) +#define KVM_TRC_MSR_READ (KVM_TRC_HANDLER + 0x0B) +#define KVM_TRC_MSR_WRITE (KVM_TRC_HANDLER + 0x0C) +#define KVM_TRC_CPUID (KVM_TRC_HANDLER + 0x0D) +#define KVM_TRC_INTR (KVM_TRC_HANDLER + 0x0E) +#define KVM_TRC_NMI (KVM_TRC_HANDLER + 0x0F) +#define KVM_TRC_VMMCALL (KVM_TRC_HANDLER + 0x10) +#define KVM_TRC_HLT (KVM_TRC_HANDLER + 0x11) +#define KVM_TRC_CLTS (KVM_TRC_HANDLER + 0x12) +#define KVM_TRC_LMSW (KVM_TRC_HANDLER + 0x13) +#define KVM_TRC_APIC_ACCESS (KVM_TRC_HANDLER + 0x14) +#define KVM_TRC_TDP_FAULT (KVM_TRC_HANDLER + 0x15) +#define KVM_TRC_GTLB_WRITE (KVM_TRC_HANDLER + 0x16) +#define KVM_TRC_STLB_WRITE (KVM_TRC_HANDLER + 0x17) +#define KVM_TRC_STLB_INVAL (KVM_TRC_HANDLER + 0x18) +#define KVM_TRC_PPC_INSTR (KVM_TRC_HANDLER + 0x19) +struct kvm_user_trace_setup { + __u32 buf_size; + __u32 buf_nr; +}; +#define __KVM_DEPRECATED_MAIN_W_0x06 \ + _IOW(KVMIO, 0x06, struct kvm_user_trace_setup) +#define __KVM_DEPRECATED_MAIN_0x07 _IO(KVMIO, 0x07) +#define __KVM_DEPRECATED_MAIN_0x08 _IO(KVMIO, 0x08) +#define __KVM_DEPRECATED_VM_R_0x70 _IOR(KVMIO, 0x70, struct kvm_assigned_irq) +struct kvm_breakpoint { + __u32 enabled; + __u32 padding; + __u64 address; +}; +struct kvm_debug_guest { + __u32 enabled; + __u32 pad; + struct kvm_breakpoint breakpoints[4]; + __u32 singlestep; +}; +#define __KVM_DEPRECATED_VCPU_W_0x87 _IOW(KVMIO, 0x87, struct kvm_debug_guest) +struct kvm_memory_region { + __u32 slot; + __u32 flags; + __u64 guest_phys_addr; + __u64 memory_size; +}; +struct kvm_userspace_memory_region { + __u32 slot; + __u32 flags; + __u64 guest_phys_addr; + __u64 memory_size; + __u64 userspace_addr; +}; +#define KVM_MEM_LOG_DIRTY_PAGES (1UL << 0) +#define KVM_MEM_READONLY (1UL << 1) +struct kvm_irq_level { + + union { + __u32 irq; + __s32 status; + }; + __u32 level; +}; +struct kvm_irqchip { + __u32 chip_id; + __u32 pad; + union { + char dummy[512]; +#ifdef __KVM_HAVE_PIT + struct kvm_pic_state pic; +#endif +#ifdef __KVM_HAVE_IOAPIC + struct kvm_ioapic_state ioapic; +#endif + } chip; +}; +struct kvm_pit_config { + __u32 flags; + __u32 pad[15]; +}; +#define KVM_PIT_SPEAKER_DUMMY 1 +struct kvm_s390_skeys { + __u64 start_gfn; + __u64 count; + __u64 skeydata_addr; + __u32 flags; + __u32 reserved[9]; +}; +#define KVM_S390_CMMA_PEEK (1 << 0) +struct kvm_s390_cmma_log { + __u64 start_gfn; + __u32 count; + __u32 flags; + union { + __u64 remaining; + __u64 mask; + }; + __u64 values; +}; +struct kvm_hyperv_exit { +#define KVM_EXIT_HYPERV_SYNIC 1 +#define KVM_EXIT_HYPERV_HCALL 2 +#define KVM_EXIT_HYPERV_SYNDBG 3 + __u32 type; + __u32 pad1; + union { + struct { + __u32 msr; + __u32 pad2; + __u64 control; + __u64 evt_page; + __u64 msg_page; + } synic; + struct { + __u64 input; + __u64 result; + __u64 params[2]; + } hcall; + struct { + __u32 msr; + __u32 pad2; + __u64 control; + __u64 status; + __u64 send_page; + __u64 recv_page; + __u64 pending_page; + } syndbg; + } u; +}; +#define KVM_S390_GET_SKEYS_NONE 1 +#define KVM_S390_SKEYS_MAX 1048576 +#define KVM_EXIT_UNKNOWN 0 +#define KVM_EXIT_EXCEPTION 1 +#define KVM_EXIT_IO 2 +#define KVM_EXIT_HYPERCALL 3 +#define KVM_EXIT_DEBUG 4 +#define KVM_EXIT_HLT 5 +#define KVM_EXIT_MMIO 6 +#define KVM_EXIT_IRQ_WINDOW_OPEN 7 +#define KVM_EXIT_SHUTDOWN 8 +#define KVM_EXIT_FAIL_ENTRY 9 +#define KVM_EXIT_INTR 10 +#define KVM_EXIT_SET_TPR 11 +#define KVM_EXIT_TPR_ACCESS 12 +#define KVM_EXIT_S390_SIEIC 13 +#define KVM_EXIT_S390_RESET 14 +#define KVM_EXIT_DCR 15 +#define KVM_EXIT_NMI 16 +#define KVM_EXIT_INTERNAL_ERROR 17 +#define KVM_EXIT_OSI 18 +#define KVM_EXIT_PAPR_HCALL 19 +#define KVM_EXIT_S390_UCONTROL 20 +#define KVM_EXIT_WATCHDOG 21 +#define KVM_EXIT_S390_TSCH 22 +#define KVM_EXIT_EPR 23 +#define KVM_EXIT_SYSTEM_EVENT 24 +#define KVM_EXIT_S390_STSI 25 +#define KVM_EXIT_IOAPIC_EOI 26 +#define KVM_EXIT_HYPERV 27 +#define KVM_EXIT_ARM_NISV 28 +#define KVM_EXIT_X86_RDMSR 29 +#define KVM_EXIT_X86_WRMSR 30 +#define KVM_INTERNAL_ERROR_EMULATION 1 +#define KVM_INTERNAL_ERROR_SIMUL_EX 2 +#define KVM_INTERNAL_ERROR_DELIVERY_EV 3 +#define KVM_INTERNAL_ERROR_UNEXPECTED_EXIT_REASON 4 +struct kvm_run { + + __u8 request_interrupt_window; + __u8 immediate_exit; + __u8 padding1[6]; + + __u32 exit_reason; + __u8 ready_for_interrupt_injection; + __u8 if_flag; + __u16 flags; + + __u64 cr8; + __u64 apic_base; +#ifdef __KVM_S390 + + __u64 psw_mask; + __u64 psw_addr; +#endif + union { + + struct { + __u64 hardware_exit_reason; + } hw; + + struct { + __u64 hardware_entry_failure_reason; + __u32 cpu; + } fail_entry; + + struct { + __u32 exception; + __u32 error_code; + } ex; + + struct { +#define KVM_EXIT_IO_IN 0 +#define KVM_EXIT_IO_OUT 1 + __u8 direction; + __u8 size; + __u16 port; + __u32 count; + __u64 data_offset; + } io; + + struct { + struct kvm_debug_exit_arch arch; + } debug; + + struct { + __u64 phys_addr; + __u8 data[8]; + __u32 len; + __u8 is_write; + } mmio; + + struct { + __u64 nr; + __u64 args[6]; + __u64 ret; + __u32 longmode; + __u32 pad; + } hypercall; + + struct { + __u64 rip; + __u32 is_write; + __u32 pad; + } tpr_access; + + struct { + __u8 icptcode; + __u16 ipa; + __u32 ipb; + } s390_sieic; + +#define KVM_S390_RESET_POR 1 +#define KVM_S390_RESET_CLEAR 2 +#define KVM_S390_RESET_SUBSYSTEM 4 +#define KVM_S390_RESET_CPU_INIT 8 +#define KVM_S390_RESET_IPL 16 + __u64 s390_reset_flags; + + struct { + __u64 trans_exc_code; + __u32 pgm_code; + } s390_ucontrol; + + struct { + __u32 dcrn; + __u32 data; + __u8 is_write; + } dcr; + + struct { + __u32 suberror; + + __u32 ndata; + __u64 data[16]; + } internal; + + struct { + __u64 gprs[32]; + } osi; + + struct { + __u64 nr; + __u64 ret; + __u64 args[9]; + } papr_hcall; + + struct { + __u16 subchannel_id; + __u16 subchannel_nr; + __u32 io_int_parm; + __u32 io_int_word; + __u32 ipb; + __u8 dequeued; + } s390_tsch; + + struct { + __u32 epr; + } epr; + + struct { +#define KVM_SYSTEM_EVENT_SHUTDOWN 1 +#define KVM_SYSTEM_EVENT_RESET 2 +#define KVM_SYSTEM_EVENT_CRASH 3 + __u32 type; + __u64 flags; + } system_event; + + struct { + __u64 addr; + __u8 ar; + __u8 reserved; + __u8 fc; + __u8 sel1; + __u16 sel2; + } s390_stsi; + + struct { + __u8 vector; + } eoi; + + struct kvm_hyperv_exit hyperv; + + struct { + __u64 esr_iss; + __u64 fault_ipa; + } arm_nisv; + + struct { + __u8 error; + __u8 pad[7]; +#define KVM_MSR_EXIT_REASON_INVAL (1 << 0) +#define KVM_MSR_EXIT_REASON_UNKNOWN (1 << 1) +#define KVM_MSR_EXIT_REASON_FILTER (1 << 2) + __u32 reason; + __u32 index; + __u64 data; + } msr; + + char padding[256]; + }; + + #define SYNC_REGS_SIZE_BYTES 2048 + + __u64 kvm_valid_regs; + __u64 kvm_dirty_regs; + union { + struct kvm_sync_regs regs; + char padding[SYNC_REGS_SIZE_BYTES]; + } s; +}; +struct kvm_coalesced_mmio_zone { + __u64 addr; + __u32 size; + union { + __u32 pad; + __u32 pio; + }; +}; +struct kvm_coalesced_mmio { + __u64 phys_addr; + __u32 len; + union { + __u32 pad; + __u32 pio; + }; + __u8 data[8]; +}; +struct kvm_coalesced_mmio_ring { + __u32 first, last; + struct kvm_coalesced_mmio coalesced_mmio[0]; +}; +#define KVM_COALESCED_MMIO_MAX \ + ((PAGE_SIZE - sizeof(struct kvm_coalesced_mmio_ring)) / \ + sizeof(struct kvm_coalesced_mmio)) +struct kvm_translation { + + __u64 linear_address; + + __u64 physical_address; + __u8 valid; + __u8 writeable; + __u8 usermode; + __u8 pad[5]; +}; +struct kvm_s390_mem_op { + + __u64 gaddr; + __u64 flags; + __u32 size; + __u32 op; + __u64 buf; + union { + __u8 ar; + __u32 sida_offset; + __u8 reserved[32]; + }; +}; +#define KVM_S390_MEMOP_LOGICAL_READ 0 +#define KVM_S390_MEMOP_LOGICAL_WRITE 1 +#define KVM_S390_MEMOP_SIDA_READ 2 +#define KVM_S390_MEMOP_SIDA_WRITE 3 +#define KVM_S390_MEMOP_F_CHECK_ONLY (1ULL << 0) +#define KVM_S390_MEMOP_F_INJECT_EXCEPTION (1ULL << 1) +struct kvm_interrupt { + + __u32 irq; +}; +struct kvm_dirty_log { + __u32 slot; + __u32 padding1; + union { + void __user *dirty_bitmap; + __u64 padding2; + }; +}; +struct kvm_clear_dirty_log { + __u32 slot; + __u32 num_pages; + __u64 first_page; + union { + void __user *dirty_bitmap; + __u64 padding2; + }; +}; +struct kvm_signal_mask { + __u32 len; + __u8 sigset[0]; +}; +struct kvm_tpr_access_ctl { + __u32 enabled; + __u32 flags; + __u32 reserved[8]; +}; +struct kvm_vapic_addr { + __u64 vapic_addr; +}; +#define KVM_MP_STATE_RUNNABLE 0 +#define KVM_MP_STATE_UNINITIALIZED 1 +#define KVM_MP_STATE_INIT_RECEIVED 2 +#define KVM_MP_STATE_HALTED 3 +#define KVM_MP_STATE_SIPI_RECEIVED 4 +#define KVM_MP_STATE_STOPPED 5 +#define KVM_MP_STATE_CHECK_STOP 6 +#define KVM_MP_STATE_OPERATING 7 +#define KVM_MP_STATE_LOAD 8 +struct kvm_mp_state { + __u32 mp_state; +}; +struct kvm_s390_psw { + __u64 mask; + __u64 addr; +}; +#define KVM_S390_SIGP_STOP 0xfffe0000u +#define KVM_S390_PROGRAM_INT 0xfffe0001u +#define KVM_S390_SIGP_SET_PREFIX 0xfffe0002u +#define KVM_S390_RESTART 0xfffe0003u +#define KVM_S390_INT_PFAULT_INIT 0xfffe0004u +#define KVM_S390_INT_PFAULT_DONE 0xfffe0005u +#define KVM_S390_MCHK 0xfffe1000u +#define KVM_S390_INT_CLOCK_COMP 0xffff1004u +#define KVM_S390_INT_CPU_TIMER 0xffff1005u +#define KVM_S390_INT_VIRTIO 0xffff2603u +#define KVM_S390_INT_SERVICE 0xffff2401u +#define KVM_S390_INT_EMERGENCY 0xffff1201u +#define KVM_S390_INT_EXTERNAL_CALL 0xffff1202u +#define KVM_S390_INT_IO(ai,cssid,ssid,schid) \ + (((schid)) | \ + ((ssid) << 16) | \ + ((cssid) << 18) | \ + ((ai) << 26)) +#define KVM_S390_INT_IO_MIN 0x00000000u +#define KVM_S390_INT_IO_MAX 0xfffdffffu +#define KVM_S390_INT_IO_AI_MASK 0x04000000u +struct kvm_s390_interrupt { + __u32 type; + __u32 parm; + __u64 parm64; +}; +struct kvm_s390_io_info { + __u16 subchannel_id; + __u16 subchannel_nr; + __u32 io_int_parm; + __u32 io_int_word; +}; +struct kvm_s390_ext_info { + __u32 ext_params; + __u32 pad; + __u64 ext_params2; +}; +struct kvm_s390_pgm_info { + __u64 trans_exc_code; + __u64 mon_code; + __u64 per_address; + __u32 data_exc_code; + __u16 code; + __u16 mon_class_nr; + __u8 per_code; + __u8 per_atmid; + __u8 exc_access_id; + __u8 per_access_id; + __u8 op_access_id; +#define KVM_S390_PGM_FLAGS_ILC_VALID 0x01 +#define KVM_S390_PGM_FLAGS_ILC_0 0x02 +#define KVM_S390_PGM_FLAGS_ILC_1 0x04 +#define KVM_S390_PGM_FLAGS_ILC_MASK 0x06 +#define KVM_S390_PGM_FLAGS_NO_REWIND 0x08 + __u8 flags; + __u8 pad[2]; +}; +struct kvm_s390_prefix_info { + __u32 address; +}; +struct kvm_s390_extcall_info { + __u16 code; +}; +struct kvm_s390_emerg_info { + __u16 code; +}; +#define KVM_S390_STOP_FLAG_STORE_STATUS 0x01 +struct kvm_s390_stop_info { + __u32 flags; +}; +struct kvm_s390_mchk_info { + __u64 cr14; + __u64 mcic; + __u64 failing_storage_address; + __u32 ext_damage_code; + __u32 pad; + __u8 fixed_logout[16]; +}; +struct kvm_s390_irq { + __u64 type; + union { + struct kvm_s390_io_info io; + struct kvm_s390_ext_info ext; + struct kvm_s390_pgm_info pgm; + struct kvm_s390_emerg_info emerg; + struct kvm_s390_extcall_info extcall; + struct kvm_s390_prefix_info prefix; + struct kvm_s390_stop_info stop; + struct kvm_s390_mchk_info mchk; + char reserved[64]; + } u; +}; +struct kvm_s390_irq_state { + __u64 buf; + __u32 flags; + __u32 len; + __u32 reserved[4]; +}; +#define KVM_GUESTDBG_ENABLE 0x00000001 +#define KVM_GUESTDBG_SINGLESTEP 0x00000002 +struct kvm_guest_debug { + __u32 control; + __u32 pad; + struct kvm_guest_debug_arch arch; +}; +enum { + kvm_ioeventfd_flag_nr_datamatch, + kvm_ioeventfd_flag_nr_pio, + kvm_ioeventfd_flag_nr_deassign, + kvm_ioeventfd_flag_nr_virtio_ccw_notify, + kvm_ioeventfd_flag_nr_fast_mmio, + kvm_ioeventfd_flag_nr_max, +}; +#define KVM_IOEVENTFD_FLAG_DATAMATCH (1 << kvm_ioeventfd_flag_nr_datamatch) +#define KVM_IOEVENTFD_FLAG_PIO (1 << kvm_ioeventfd_flag_nr_pio) +#define KVM_IOEVENTFD_FLAG_DEASSIGN (1 << kvm_ioeventfd_flag_nr_deassign) +#define KVM_IOEVENTFD_FLAG_VIRTIO_CCW_NOTIFY \ + (1 << kvm_ioeventfd_flag_nr_virtio_ccw_notify) +#define KVM_IOEVENTFD_VALID_FLAG_MASK ((1 << kvm_ioeventfd_flag_nr_max) - 1) +struct kvm_ioeventfd { + __u64 datamatch; + __u64 addr; + __u32 len; + __s32 fd; + __u32 flags; + __u8 pad[36]; +}; +#define KVM_X86_DISABLE_EXITS_MWAIT (1 << 0) +#define KVM_X86_DISABLE_EXITS_HLT (1 << 1) +#define KVM_X86_DISABLE_EXITS_PAUSE (1 << 2) +#define KVM_X86_DISABLE_EXITS_CSTATE (1 << 3) +#define KVM_X86_DISABLE_VALID_EXITS (KVM_X86_DISABLE_EXITS_MWAIT | \ + KVM_X86_DISABLE_EXITS_HLT | \ + KVM_X86_DISABLE_EXITS_PAUSE | \ + KVM_X86_DISABLE_EXITS_CSTATE) +struct kvm_enable_cap { + + __u32 cap; + __u32 flags; + __u64 args[4]; + __u8 pad[64]; +}; +#define KVM_PPC_PVINFO_FLAGS_EV_IDLE (1<<0) +struct kvm_ppc_pvinfo { + + __u32 flags; + __u32 hcall[4]; + __u8 pad[108]; +}; +#define KVM_PPC_PAGE_SIZES_MAX_SZ 8 +struct kvm_ppc_one_page_size { + __u32 page_shift; + __u32 pte_enc; +}; +struct kvm_ppc_one_seg_page_size { + __u32 page_shift; + __u32 slb_enc; + struct kvm_ppc_one_page_size enc[KVM_PPC_PAGE_SIZES_MAX_SZ]; +}; +#define KVM_PPC_PAGE_SIZES_REAL 0x00000001 +#define KVM_PPC_1T_SEGMENTS 0x00000002 +#define KVM_PPC_NO_HASH 0x00000004 +struct kvm_ppc_smmu_info { + __u64 flags; + __u32 slb_size; + __u16 data_keys; + __u16 instr_keys; + struct kvm_ppc_one_seg_page_size sps[KVM_PPC_PAGE_SIZES_MAX_SZ]; +}; +struct kvm_ppc_resize_hpt { + __u64 flags; + __u32 shift; + __u32 pad; +}; +#define KVMIO 0xAE +#define KVM_VM_S390_UCONTROL 1 +#define KVM_VM_PPC_HV 1 +#define KVM_VM_PPC_PR 2 +#define KVM_VM_MIPS_AUTO 0 +#define KVM_VM_MIPS_VZ 1 +#define KVM_VM_MIPS_TE 2 +#define KVM_S390_SIE_PAGE_OFFSET 1 +#define KVM_VM_TYPE_ARM_IPA_SIZE_MASK 0xffULL +#define KVM_VM_TYPE_ARM_IPA_SIZE(x) \ + ((x) & KVM_VM_TYPE_ARM_IPA_SIZE_MASK) +#define KVM_GET_API_VERSION _IO(KVMIO, 0x00) +#define KVM_CREATE_VM _IO(KVMIO, 0x01) +#define KVM_GET_MSR_INDEX_LIST _IOWR(KVMIO, 0x02, struct kvm_msr_list) +#define KVM_S390_ENABLE_SIE _IO(KVMIO, 0x06) +#define KVM_CHECK_EXTENSION _IO(KVMIO, 0x03) +#define KVM_GET_VCPU_MMAP_SIZE _IO(KVMIO, 0x04) +#define KVM_GET_SUPPORTED_CPUID _IOWR(KVMIO, 0x05, struct kvm_cpuid2) +#define KVM_TRACE_ENABLE __KVM_DEPRECATED_MAIN_W_0x06 +#define KVM_TRACE_PAUSE __KVM_DEPRECATED_MAIN_0x07 +#define KVM_TRACE_DISABLE __KVM_DEPRECATED_MAIN_0x08 +#define KVM_GET_EMULATED_CPUID _IOWR(KVMIO, 0x09, struct kvm_cpuid2) +#define KVM_GET_MSR_FEATURE_INDEX_LIST _IOWR(KVMIO, 0x0a, struct kvm_msr_list) +#define KVM_CAP_IRQCHIP 0 +#define KVM_CAP_HLT 1 +#define KVM_CAP_MMU_SHADOW_CACHE_CONTROL 2 +#define KVM_CAP_USER_MEMORY 3 +#define KVM_CAP_SET_TSS_ADDR 4 +#define KVM_CAP_VAPIC 6 +#define KVM_CAP_EXT_CPUID 7 +#define KVM_CAP_CLOCKSOURCE 8 +#define KVM_CAP_NR_VCPUS 9 +#define KVM_CAP_NR_MEMSLOTS 10 +#define KVM_CAP_PIT 11 +#define KVM_CAP_NOP_IO_DELAY 12 +#define KVM_CAP_PV_MMU 13 +#define KVM_CAP_MP_STATE 14 +#define KVM_CAP_COALESCED_MMIO 15 +#define KVM_CAP_SYNC_MMU 16 +#define KVM_CAP_IOMMU 18 +#define KVM_CAP_DESTROY_MEMORY_REGION_WORKS 21 +#define KVM_CAP_USER_NMI 22 +#ifdef __KVM_HAVE_GUEST_DEBUG +#define KVM_CAP_SET_GUEST_DEBUG 23 +#endif +#ifdef __KVM_HAVE_PIT +#define KVM_CAP_REINJECT_CONTROL 24 +#endif +#define KVM_CAP_IRQ_ROUTING 25 +#define KVM_CAP_IRQ_INJECT_STATUS 26 +#define KVM_CAP_ASSIGN_DEV_IRQ 29 +#define KVM_CAP_JOIN_MEMORY_REGIONS_WORKS 30 +#ifdef __KVM_HAVE_MCE +#define KVM_CAP_MCE 31 +#endif +#define KVM_CAP_IRQFD 32 +#ifdef __KVM_HAVE_PIT +#define KVM_CAP_PIT2 33 +#endif +#define KVM_CAP_SET_BOOT_CPU_ID 34 +#ifdef __KVM_HAVE_PIT_STATE2 +#define KVM_CAP_PIT_STATE2 35 +#endif +#define KVM_CAP_IOEVENTFD 36 +#define KVM_CAP_SET_IDENTITY_MAP_ADDR 37 +#ifdef __KVM_HAVE_XEN_HVM +#define KVM_CAP_XEN_HVM 38 +#endif +#define KVM_CAP_ADJUST_CLOCK 39 +#define KVM_CAP_INTERNAL_ERROR_DATA 40 +#ifdef __KVM_HAVE_VCPU_EVENTS +#define KVM_CAP_VCPU_EVENTS 41 +#endif +#define KVM_CAP_S390_PSW 42 +#define KVM_CAP_PPC_SEGSTATE 43 +#define KVM_CAP_HYPERV 44 +#define KVM_CAP_HYPERV_VAPIC 45 +#define KVM_CAP_HYPERV_SPIN 46 +#define KVM_CAP_PCI_SEGMENT 47 +#define KVM_CAP_PPC_PAIRED_SINGLES 48 +#define KVM_CAP_INTR_SHADOW 49 +#ifdef __KVM_HAVE_DEBUGREGS +#define KVM_CAP_DEBUGREGS 50 +#endif +#define KVM_CAP_X86_ROBUST_SINGLESTEP 51 +#define KVM_CAP_PPC_OSI 52 +#define KVM_CAP_PPC_UNSET_IRQ 53 +#define KVM_CAP_ENABLE_CAP 54 +#ifdef __KVM_HAVE_XSAVE +#define KVM_CAP_XSAVE 55 +#endif +#ifdef __KVM_HAVE_XCRS +#define KVM_CAP_XCRS 56 +#endif +#define KVM_CAP_PPC_GET_PVINFO 57 +#define KVM_CAP_PPC_IRQ_LEVEL 58 +#define KVM_CAP_ASYNC_PF 59 +#define KVM_CAP_TSC_CONTROL 60 +#define KVM_CAP_GET_TSC_KHZ 61 +#define KVM_CAP_PPC_BOOKE_SREGS 62 +#define KVM_CAP_SPAPR_TCE 63 +#define KVM_CAP_PPC_SMT 64 +#define KVM_CAP_PPC_RMA 65 +#define KVM_CAP_MAX_VCPUS 66 +#define KVM_CAP_PPC_HIOR 67 +#define KVM_CAP_PPC_PAPR 68 +#define KVM_CAP_SW_TLB 69 +#define KVM_CAP_ONE_REG 70 +#define KVM_CAP_S390_GMAP 71 +#define KVM_CAP_TSC_DEADLINE_TIMER 72 +#define KVM_CAP_S390_UCONTROL 73 +#define KVM_CAP_SYNC_REGS 74 +#define KVM_CAP_PCI_2_3 75 +#define KVM_CAP_KVMCLOCK_CTRL 76 +#define KVM_CAP_SIGNAL_MSI 77 +#define KVM_CAP_PPC_GET_SMMU_INFO 78 +#define KVM_CAP_S390_COW 79 +#define KVM_CAP_PPC_ALLOC_HTAB 80 +#define KVM_CAP_READONLY_MEM 81 +#define KVM_CAP_IRQFD_RESAMPLE 82 +#define KVM_CAP_PPC_BOOKE_WATCHDOG 83 +#define KVM_CAP_PPC_HTAB_FD 84 +#define KVM_CAP_S390_CSS_SUPPORT 85 +#define KVM_CAP_PPC_EPR 86 +#define KVM_CAP_ARM_PSCI 87 +#define KVM_CAP_ARM_SET_DEVICE_ADDR 88 +#define KVM_CAP_DEVICE_CTRL 89 +#define KVM_CAP_IRQ_MPIC 90 +#define KVM_CAP_PPC_RTAS 91 +#define KVM_CAP_IRQ_XICS 92 +#define KVM_CAP_ARM_EL1_32BIT 93 +#define KVM_CAP_SPAPR_MULTITCE 94 +#define KVM_CAP_EXT_EMUL_CPUID 95 +#define KVM_CAP_HYPERV_TIME 96 +#define KVM_CAP_IOAPIC_POLARITY_IGNORED 97 +#define KVM_CAP_ENABLE_CAP_VM 98 +#define KVM_CAP_S390_IRQCHIP 99 +#define KVM_CAP_IOEVENTFD_NO_LENGTH 100 +#define KVM_CAP_VM_ATTRIBUTES 101 +#define KVM_CAP_ARM_PSCI_0_2 102 +#define KVM_CAP_PPC_FIXUP_HCALL 103 +#define KVM_CAP_PPC_ENABLE_HCALL 104 +#define KVM_CAP_CHECK_EXTENSION_VM 105 +#define KVM_CAP_S390_USER_SIGP 106 +#define KVM_CAP_S390_VECTOR_REGISTERS 107 +#define KVM_CAP_S390_MEM_OP 108 +#define KVM_CAP_S390_USER_STSI 109 +#define KVM_CAP_S390_SKEYS 110 +#define KVM_CAP_MIPS_FPU 111 +#define KVM_CAP_MIPS_MSA 112 +#define KVM_CAP_S390_INJECT_IRQ 113 +#define KVM_CAP_S390_IRQ_STATE 114 +#define KVM_CAP_PPC_HWRNG 115 +#define KVM_CAP_DISABLE_QUIRKS 116 +#define KVM_CAP_X86_SMM 117 +#define KVM_CAP_MULTI_ADDRESS_SPACE 118 +#define KVM_CAP_GUEST_DEBUG_HW_BPS 119 +#define KVM_CAP_GUEST_DEBUG_HW_WPS 120 +#define KVM_CAP_SPLIT_IRQCHIP 121 +#define KVM_CAP_IOEVENTFD_ANY_LENGTH 122 +#define KVM_CAP_HYPERV_SYNIC 123 +#define KVM_CAP_S390_RI 124 +#define KVM_CAP_SPAPR_TCE_64 125 +#define KVM_CAP_ARM_PMU_V3 126 +#define KVM_CAP_VCPU_ATTRIBUTES 127 +#define KVM_CAP_MAX_VCPU_ID 128 +#define KVM_CAP_X2APIC_API 129 +#define KVM_CAP_S390_USER_INSTR0 130 +#define KVM_CAP_MSI_DEVID 131 +#define KVM_CAP_PPC_HTM 132 +#define KVM_CAP_SPAPR_RESIZE_HPT 133 +#define KVM_CAP_PPC_MMU_RADIX 134 +#define KVM_CAP_PPC_MMU_HASH_V3 135 +#define KVM_CAP_IMMEDIATE_EXIT 136 +#define KVM_CAP_MIPS_VZ 137 +#define KVM_CAP_MIPS_TE 138 +#define KVM_CAP_MIPS_64BIT 139 +#define KVM_CAP_S390_GS 140 +#define KVM_CAP_S390_AIS 141 +#define KVM_CAP_SPAPR_TCE_VFIO 142 +#define KVM_CAP_X86_DISABLE_EXITS 143 +#define KVM_CAP_ARM_USER_IRQ 144 +#define KVM_CAP_S390_CMMA_MIGRATION 145 +#define KVM_CAP_PPC_FWNMI 146 +#define KVM_CAP_PPC_SMT_POSSIBLE 147 +#define KVM_CAP_HYPERV_SYNIC2 148 +#define KVM_CAP_HYPERV_VP_INDEX 149 +#define KVM_CAP_S390_AIS_MIGRATION 150 +#define KVM_CAP_PPC_GET_CPU_CHAR 151 +#define KVM_CAP_S390_BPB 152 +#define KVM_CAP_GET_MSR_FEATURES 153 +#define KVM_CAP_HYPERV_EVENTFD 154 +#define KVM_CAP_HYPERV_TLBFLUSH 155 +#define KVM_CAP_S390_HPAGE_1M 156 +#define KVM_CAP_NESTED_STATE 157 +#define KVM_CAP_ARM_INJECT_SERROR_ESR 158 +#define KVM_CAP_MSR_PLATFORM_INFO 159 +#define KVM_CAP_PPC_NESTED_HV 160 +#define KVM_CAP_HYPERV_SEND_IPI 161 +#define KVM_CAP_COALESCED_PIO 162 +#define KVM_CAP_HYPERV_ENLIGHTENED_VMCS 163 +#define KVM_CAP_EXCEPTION_PAYLOAD 164 +#define KVM_CAP_ARM_VM_IPA_SIZE 165 +#define KVM_CAP_MANUAL_DIRTY_LOG_PROTECT 166 +#define KVM_CAP_HYPERV_CPUID 167 +#define KVM_CAP_MANUAL_DIRTY_LOG_PROTECT2 168 +#define KVM_CAP_PPC_IRQ_XIVE 169 +#define KVM_CAP_ARM_SVE 170 +#define KVM_CAP_ARM_PTRAUTH_ADDRESS 171 +#define KVM_CAP_ARM_PTRAUTH_GENERIC 172 +#define KVM_CAP_PMU_EVENT_FILTER 173 +#define KVM_CAP_ARM_IRQ_LINE_LAYOUT_2 174 +#define KVM_CAP_HYPERV_DIRECT_TLBFLUSH 175 +#define KVM_CAP_PPC_GUEST_DEBUG_SSTEP 176 +#define KVM_CAP_ARM_NISV_TO_USER 177 +#define KVM_CAP_ARM_INJECT_EXT_DABT 178 +#define KVM_CAP_S390_VCPU_RESETS 179 +#define KVM_CAP_S390_PROTECTED 180 +#define KVM_CAP_PPC_SECURE_GUEST 181 +#define KVM_CAP_HALT_POLL 182 +#define KVM_CAP_ASYNC_PF_INT 183 +#define KVM_CAP_LAST_CPU 184 +#define KVM_CAP_SMALLER_MAXPHYADDR 185 +#define KVM_CAP_S390_DIAG318 186 +#define KVM_CAP_STEAL_TIME 187 +#define KVM_CAP_X86_USER_SPACE_MSR 188 +#define KVM_CAP_X86_MSR_FILTER 189 +#define KVM_CAP_ENFORCE_PV_FEATURE_CPUID 190 +#ifdef KVM_CAP_IRQ_ROUTING +struct kvm_irq_routing_irqchip { + __u32 irqchip; + __u32 pin; +}; +struct kvm_irq_routing_msi { + __u32 address_lo; + __u32 address_hi; + __u32 data; + union { + __u32 pad; + __u32 devid; + }; +}; +struct kvm_irq_routing_s390_adapter { + __u64 ind_addr; + __u64 summary_addr; + __u64 ind_offset; + __u32 summary_offset; + __u32 adapter_id; +}; +struct kvm_irq_routing_hv_sint { + __u32 vcpu; + __u32 sint; +}; +#define KVM_IRQ_ROUTING_IRQCHIP 1 +#define KVM_IRQ_ROUTING_MSI 2 +#define KVM_IRQ_ROUTING_S390_ADAPTER 3 +#define KVM_IRQ_ROUTING_HV_SINT 4 +struct kvm_irq_routing_entry { + __u32 gsi; + __u32 type; + __u32 flags; + __u32 pad; + union { + struct kvm_irq_routing_irqchip irqchip; + struct kvm_irq_routing_msi msi; + struct kvm_irq_routing_s390_adapter adapter; + struct kvm_irq_routing_hv_sint hv_sint; + __u32 pad[8]; + } u; +}; +struct kvm_irq_routing { + __u32 nr; + __u32 flags; + struct kvm_irq_routing_entry entries[0]; +}; +#endif +#ifdef KVM_CAP_MCE +struct kvm_x86_mce { + __u64 status; + __u64 addr; + __u64 misc; + __u64 mcg_status; + __u8 bank; + __u8 pad1[7]; + __u64 pad2[3]; +}; +#endif +#ifdef KVM_CAP_XEN_HVM +struct kvm_xen_hvm_config { + __u32 flags; + __u32 msr; + __u64 blob_addr_32; + __u64 blob_addr_64; + __u8 blob_size_32; + __u8 blob_size_64; + __u8 pad2[30]; +}; +#endif +#define KVM_IRQFD_FLAG_DEASSIGN (1 << 0) +#define KVM_IRQFD_FLAG_RESAMPLE (1 << 1) +struct kvm_irqfd { + __u32 fd; + __u32 gsi; + __u32 flags; + __u32 resamplefd; + __u8 pad[16]; +}; +#define KVM_CLOCK_TSC_STABLE 2 +struct kvm_clock_data { + __u64 clock; + __u32 flags; + __u32 pad[9]; +}; +#define KVM_MMU_FSL_BOOKE_NOHV 0 +#define KVM_MMU_FSL_BOOKE_HV 1 +struct kvm_config_tlb { + __u64 params; + __u64 array; + __u32 mmu_type; + __u32 array_len; +}; +struct kvm_dirty_tlb { + __u64 bitmap; + __u32 num_dirty; +}; +#define KVM_REG_ARCH_MASK 0xff00000000000000ULL +#define KVM_REG_GENERIC 0x0000000000000000ULL +#define KVM_REG_PPC 0x1000000000000000ULL +#define KVM_REG_X86 0x2000000000000000ULL +#define KVM_REG_IA64 0x3000000000000000ULL +#define KVM_REG_ARM 0x4000000000000000ULL +#define KVM_REG_S390 0x5000000000000000ULL +#define KVM_REG_ARM64 0x6000000000000000ULL +#define KVM_REG_MIPS 0x7000000000000000ULL +#define KVM_REG_RISCV 0x8000000000000000ULL +#define KVM_REG_SIZE_SHIFT 52 +#define KVM_REG_SIZE_MASK 0x00f0000000000000ULL +#define KVM_REG_SIZE_U8 0x0000000000000000ULL +#define KVM_REG_SIZE_U16 0x0010000000000000ULL +#define KVM_REG_SIZE_U32 0x0020000000000000ULL +#define KVM_REG_SIZE_U64 0x0030000000000000ULL +#define KVM_REG_SIZE_U128 0x0040000000000000ULL +#define KVM_REG_SIZE_U256 0x0050000000000000ULL +#define KVM_REG_SIZE_U512 0x0060000000000000ULL +#define KVM_REG_SIZE_U1024 0x0070000000000000ULL +#define KVM_REG_SIZE_U2048 0x0080000000000000ULL +struct kvm_reg_list { + __u64 n; + __u64 reg[0]; +}; +struct kvm_one_reg { + __u64 id; + __u64 addr; +}; +#define KVM_MSI_VALID_DEVID (1U << 0) +struct kvm_msi { + __u32 address_lo; + __u32 address_hi; + __u32 data; + __u32 flags; + __u32 devid; + __u8 pad[12]; +}; +struct kvm_arm_device_addr { + __u64 id; + __u64 addr; +}; +#define KVM_CREATE_DEVICE_TEST 1 +struct kvm_create_device { + __u32 type; + __u32 fd; + __u32 flags; +}; +struct kvm_device_attr { + __u32 flags; + __u32 group; + __u64 attr; + __u64 addr; +}; +#define KVM_DEV_VFIO_GROUP 1 +#define KVM_DEV_VFIO_GROUP_ADD 1 +#define KVM_DEV_VFIO_GROUP_DEL 2 +#define KVM_DEV_VFIO_GROUP_SET_SPAPR_TCE 3 +enum kvm_device_type { + KVM_DEV_TYPE_FSL_MPIC_20 = 1, +#define KVM_DEV_TYPE_FSL_MPIC_20 KVM_DEV_TYPE_FSL_MPIC_20 + KVM_DEV_TYPE_FSL_MPIC_42, +#define KVM_DEV_TYPE_FSL_MPIC_42 KVM_DEV_TYPE_FSL_MPIC_42 + KVM_DEV_TYPE_XICS, +#define KVM_DEV_TYPE_XICS KVM_DEV_TYPE_XICS + KVM_DEV_TYPE_VFIO, +#define KVM_DEV_TYPE_VFIO KVM_DEV_TYPE_VFIO + KVM_DEV_TYPE_ARM_VGIC_V2, +#define KVM_DEV_TYPE_ARM_VGIC_V2 KVM_DEV_TYPE_ARM_VGIC_V2 + KVM_DEV_TYPE_FLIC, +#define KVM_DEV_TYPE_FLIC KVM_DEV_TYPE_FLIC + KVM_DEV_TYPE_ARM_VGIC_V3, +#define KVM_DEV_TYPE_ARM_VGIC_V3 KVM_DEV_TYPE_ARM_VGIC_V3 + KVM_DEV_TYPE_ARM_VGIC_ITS, +#define KVM_DEV_TYPE_ARM_VGIC_ITS KVM_DEV_TYPE_ARM_VGIC_ITS + KVM_DEV_TYPE_XIVE, +#define KVM_DEV_TYPE_XIVE KVM_DEV_TYPE_XIVE + KVM_DEV_TYPE_ARM_PV_TIME, +#define KVM_DEV_TYPE_ARM_PV_TIME KVM_DEV_TYPE_ARM_PV_TIME + KVM_DEV_TYPE_MAX, +}; +struct kvm_vfio_spapr_tce { + __s32 groupfd; + __s32 tablefd; +}; +#define KVM_SET_MEMORY_REGION _IOW(KVMIO, 0x40, struct kvm_memory_region) +#define KVM_CREATE_VCPU _IO(KVMIO, 0x41) +#define KVM_GET_DIRTY_LOG _IOW(KVMIO, 0x42, struct kvm_dirty_log) +#define KVM_SET_MEMORY_ALIAS _IOW(KVMIO, 0x43, struct kvm_memory_alias) +#define KVM_SET_NR_MMU_PAGES _IO(KVMIO, 0x44) +#define KVM_GET_NR_MMU_PAGES _IO(KVMIO, 0x45) +#define KVM_SET_USER_MEMORY_REGION _IOW(KVMIO, 0x46, \ + struct kvm_userspace_memory_region) +#define KVM_SET_TSS_ADDR _IO(KVMIO, 0x47) +#define KVM_SET_IDENTITY_MAP_ADDR _IOW(KVMIO, 0x48, __u64) +struct kvm_s390_ucas_mapping { + __u64 user_addr; + __u64 vcpu_addr; + __u64 length; +}; +#define KVM_S390_UCAS_MAP _IOW(KVMIO, 0x50, struct kvm_s390_ucas_mapping) +#define KVM_S390_UCAS_UNMAP _IOW(KVMIO, 0x51, struct kvm_s390_ucas_mapping) +#define KVM_S390_VCPU_FAULT _IOW(KVMIO, 0x52, unsigned long) +#define KVM_CREATE_IRQCHIP _IO(KVMIO, 0x60) +#define KVM_IRQ_LINE _IOW(KVMIO, 0x61, struct kvm_irq_level) +#define KVM_GET_IRQCHIP _IOWR(KVMIO, 0x62, struct kvm_irqchip) +#define KVM_SET_IRQCHIP _IOR(KVMIO, 0x63, struct kvm_irqchip) +#define KVM_CREATE_PIT _IO(KVMIO, 0x64) +#define KVM_GET_PIT _IOWR(KVMIO, 0x65, struct kvm_pit_state) +#define KVM_SET_PIT _IOR(KVMIO, 0x66, struct kvm_pit_state) +#define KVM_IRQ_LINE_STATUS _IOWR(KVMIO, 0x67, struct kvm_irq_level) +#define KVM_REGISTER_COALESCED_MMIO \ + _IOW(KVMIO, 0x67, struct kvm_coalesced_mmio_zone) +#define KVM_UNREGISTER_COALESCED_MMIO \ + _IOW(KVMIO, 0x68, struct kvm_coalesced_mmio_zone) +#define KVM_ASSIGN_PCI_DEVICE _IOR(KVMIO, 0x69, \ + struct kvm_assigned_pci_dev) +#define KVM_SET_GSI_ROUTING _IOW(KVMIO, 0x6a, struct kvm_irq_routing) +#define KVM_ASSIGN_IRQ __KVM_DEPRECATED_VM_R_0x70 +#define KVM_ASSIGN_DEV_IRQ _IOW(KVMIO, 0x70, struct kvm_assigned_irq) +#define KVM_REINJECT_CONTROL _IO(KVMIO, 0x71) +#define KVM_DEASSIGN_PCI_DEVICE _IOW(KVMIO, 0x72, \ + struct kvm_assigned_pci_dev) +#define KVM_ASSIGN_SET_MSIX_NR _IOW(KVMIO, 0x73, \ + struct kvm_assigned_msix_nr) +#define KVM_ASSIGN_SET_MSIX_ENTRY _IOW(KVMIO, 0x74, \ + struct kvm_assigned_msix_entry) +#define KVM_DEASSIGN_DEV_IRQ _IOW(KVMIO, 0x75, struct kvm_assigned_irq) +#define KVM_IRQFD _IOW(KVMIO, 0x76, struct kvm_irqfd) +#define KVM_CREATE_PIT2 _IOW(KVMIO, 0x77, struct kvm_pit_config) +#define KVM_SET_BOOT_CPU_ID _IO(KVMIO, 0x78) +#define KVM_IOEVENTFD _IOW(KVMIO, 0x79, struct kvm_ioeventfd) +#define KVM_XEN_HVM_CONFIG _IOW(KVMIO, 0x7a, struct kvm_xen_hvm_config) +#define KVM_SET_CLOCK _IOW(KVMIO, 0x7b, struct kvm_clock_data) +#define KVM_GET_CLOCK _IOR(KVMIO, 0x7c, struct kvm_clock_data) +#define KVM_GET_PIT2 _IOR(KVMIO, 0x9f, struct kvm_pit_state2) +#define KVM_SET_PIT2 _IOW(KVMIO, 0xa0, struct kvm_pit_state2) +#define KVM_PPC_GET_PVINFO _IOW(KVMIO, 0xa1, struct kvm_ppc_pvinfo) +#define KVM_SET_TSC_KHZ _IO(KVMIO, 0xa2) +#define KVM_GET_TSC_KHZ _IO(KVMIO, 0xa3) +#define KVM_ASSIGN_SET_INTX_MASK _IOW(KVMIO, 0xa4, \ + struct kvm_assigned_pci_dev) +#define KVM_SIGNAL_MSI _IOW(KVMIO, 0xa5, struct kvm_msi) +#define KVM_PPC_GET_SMMU_INFO _IOR(KVMIO, 0xa6, struct kvm_ppc_smmu_info) +#define KVM_PPC_ALLOCATE_HTAB _IOWR(KVMIO, 0xa7, __u32) +#define KVM_CREATE_SPAPR_TCE _IOW(KVMIO, 0xa8, struct kvm_create_spapr_tce) +#define KVM_CREATE_SPAPR_TCE_64 _IOW(KVMIO, 0xa8, \ + struct kvm_create_spapr_tce_64) +#define KVM_ALLOCATE_RMA _IOR(KVMIO, 0xa9, struct kvm_allocate_rma) +#define KVM_PPC_GET_HTAB_FD _IOW(KVMIO, 0xaa, struct kvm_get_htab_fd) +#define KVM_ARM_SET_DEVICE_ADDR _IOW(KVMIO, 0xab, struct kvm_arm_device_addr) +#define KVM_PPC_RTAS_DEFINE_TOKEN _IOW(KVMIO, 0xac, struct kvm_rtas_token_args) +#define KVM_PPC_RESIZE_HPT_PREPARE _IOR(KVMIO, 0xad, struct kvm_ppc_resize_hpt) +#define KVM_PPC_RESIZE_HPT_COMMIT _IOR(KVMIO, 0xae, struct kvm_ppc_resize_hpt) +#define KVM_PPC_CONFIGURE_V3_MMU _IOW(KVMIO, 0xaf, struct kvm_ppc_mmuv3_cfg) +#define KVM_PPC_GET_RMMU_INFO _IOW(KVMIO, 0xb0, struct kvm_ppc_rmmu_info) +#define KVM_PPC_GET_CPU_CHAR _IOR(KVMIO, 0xb1, struct kvm_ppc_cpu_char) +#define KVM_SET_PMU_EVENT_FILTER _IOW(KVMIO, 0xb2, struct kvm_pmu_event_filter) +#define KVM_PPC_SVM_OFF _IO(KVMIO, 0xb3) +#define KVM_CREATE_DEVICE _IOWR(KVMIO, 0xe0, struct kvm_create_device) +#define KVM_SET_DEVICE_ATTR _IOW(KVMIO, 0xe1, struct kvm_device_attr) +#define KVM_GET_DEVICE_ATTR _IOW(KVMIO, 0xe2, struct kvm_device_attr) +#define KVM_HAS_DEVICE_ATTR _IOW(KVMIO, 0xe3, struct kvm_device_attr) +#define KVM_RUN _IO(KVMIO, 0x80) +#define KVM_GET_REGS _IOR(KVMIO, 0x81, struct kvm_regs) +#define KVM_SET_REGS _IOW(KVMIO, 0x82, struct kvm_regs) +#define KVM_GET_SREGS _IOR(KVMIO, 0x83, struct kvm_sregs) +#define KVM_SET_SREGS _IOW(KVMIO, 0x84, struct kvm_sregs) +#define KVM_TRANSLATE _IOWR(KVMIO, 0x85, struct kvm_translation) +#define KVM_INTERRUPT _IOW(KVMIO, 0x86, struct kvm_interrupt) +#define KVM_DEBUG_GUEST __KVM_DEPRECATED_VCPU_W_0x87 +#define KVM_GET_MSRS _IOWR(KVMIO, 0x88, struct kvm_msrs) +#define KVM_SET_MSRS _IOW(KVMIO, 0x89, struct kvm_msrs) +#define KVM_SET_CPUID _IOW(KVMIO, 0x8a, struct kvm_cpuid) +#define KVM_SET_SIGNAL_MASK _IOW(KVMIO, 0x8b, struct kvm_signal_mask) +#define KVM_GET_FPU _IOR(KVMIO, 0x8c, struct kvm_fpu) +#define KVM_SET_FPU _IOW(KVMIO, 0x8d, struct kvm_fpu) +#define KVM_GET_LAPIC _IOR(KVMIO, 0x8e, struct kvm_lapic_state) +#define KVM_SET_LAPIC _IOW(KVMIO, 0x8f, struct kvm_lapic_state) +#define KVM_SET_CPUID2 _IOW(KVMIO, 0x90, struct kvm_cpuid2) +#define KVM_GET_CPUID2 _IOWR(KVMIO, 0x91, struct kvm_cpuid2) +#define KVM_TPR_ACCESS_REPORTING _IOWR(KVMIO, 0x92, struct kvm_tpr_access_ctl) +#define KVM_SET_VAPIC_ADDR _IOW(KVMIO, 0x93, struct kvm_vapic_addr) +#define KVM_S390_INTERRUPT _IOW(KVMIO, 0x94, struct kvm_s390_interrupt) +#define KVM_S390_STORE_STATUS_NOADDR (-1ul) +#define KVM_S390_STORE_STATUS_PREFIXED (-2ul) +#define KVM_S390_STORE_STATUS _IOW(KVMIO, 0x95, unsigned long) +#define KVM_S390_SET_INITIAL_PSW _IOW(KVMIO, 0x96, struct kvm_s390_psw) +#define KVM_S390_INITIAL_RESET _IO(KVMIO, 0x97) +#define KVM_GET_MP_STATE _IOR(KVMIO, 0x98, struct kvm_mp_state) +#define KVM_SET_MP_STATE _IOW(KVMIO, 0x99, struct kvm_mp_state) +#define KVM_NMI _IO(KVMIO, 0x9a) +#define KVM_SET_GUEST_DEBUG _IOW(KVMIO, 0x9b, struct kvm_guest_debug) +#define KVM_X86_SETUP_MCE _IOW(KVMIO, 0x9c, __u64) +#define KVM_X86_GET_MCE_CAP_SUPPORTED _IOR(KVMIO, 0x9d, __u64) +#define KVM_X86_SET_MCE _IOW(KVMIO, 0x9e, struct kvm_x86_mce) +#define KVM_GET_VCPU_EVENTS _IOR(KVMIO, 0x9f, struct kvm_vcpu_events) +#define KVM_SET_VCPU_EVENTS _IOW(KVMIO, 0xa0, struct kvm_vcpu_events) +#define KVM_GET_DEBUGREGS _IOR(KVMIO, 0xa1, struct kvm_debugregs) +#define KVM_SET_DEBUGREGS _IOW(KVMIO, 0xa2, struct kvm_debugregs) +#define KVM_ENABLE_CAP _IOW(KVMIO, 0xa3, struct kvm_enable_cap) +#define KVM_GET_XSAVE _IOR(KVMIO, 0xa4, struct kvm_xsave) +#define KVM_SET_XSAVE _IOW(KVMIO, 0xa5, struct kvm_xsave) +#define KVM_GET_XCRS _IOR(KVMIO, 0xa6, struct kvm_xcrs) +#define KVM_SET_XCRS _IOW(KVMIO, 0xa7, struct kvm_xcrs) +#define KVM_DIRTY_TLB _IOW(KVMIO, 0xaa, struct kvm_dirty_tlb) +#define KVM_GET_ONE_REG _IOW(KVMIO, 0xab, struct kvm_one_reg) +#define KVM_SET_ONE_REG _IOW(KVMIO, 0xac, struct kvm_one_reg) +#define KVM_KVMCLOCK_CTRL _IO(KVMIO, 0xad) +#define KVM_ARM_VCPU_INIT _IOW(KVMIO, 0xae, struct kvm_vcpu_init) +#define KVM_ARM_PREFERRED_TARGET _IOR(KVMIO, 0xaf, struct kvm_vcpu_init) +#define KVM_GET_REG_LIST _IOWR(KVMIO, 0xb0, struct kvm_reg_list) +#define KVM_S390_MEM_OP _IOW(KVMIO, 0xb1, struct kvm_s390_mem_op) +#define KVM_S390_GET_SKEYS _IOW(KVMIO, 0xb2, struct kvm_s390_skeys) +#define KVM_S390_SET_SKEYS _IOW(KVMIO, 0xb3, struct kvm_s390_skeys) +#define KVM_S390_IRQ _IOW(KVMIO, 0xb4, struct kvm_s390_irq) +#define KVM_S390_SET_IRQ_STATE _IOW(KVMIO, 0xb5, struct kvm_s390_irq_state) +#define KVM_S390_GET_IRQ_STATE _IOW(KVMIO, 0xb6, struct kvm_s390_irq_state) +#define KVM_SMI _IO(KVMIO, 0xb7) +#define KVM_S390_GET_CMMA_BITS _IOWR(KVMIO, 0xb8, struct kvm_s390_cmma_log) +#define KVM_S390_SET_CMMA_BITS _IOW(KVMIO, 0xb9, struct kvm_s390_cmma_log) +#define KVM_MEMORY_ENCRYPT_OP _IOWR(KVMIO, 0xba, unsigned long) +struct kvm_enc_region { + __u64 addr; + __u64 size; +}; +#define KVM_MEMORY_ENCRYPT_REG_REGION _IOR(KVMIO, 0xbb, struct kvm_enc_region) +#define KVM_MEMORY_ENCRYPT_UNREG_REGION _IOR(KVMIO, 0xbc, struct kvm_enc_region) +#define KVM_HYPERV_EVENTFD _IOW(KVMIO, 0xbd, struct kvm_hyperv_eventfd) +#define KVM_GET_NESTED_STATE _IOWR(KVMIO, 0xbe, struct kvm_nested_state) +#define KVM_SET_NESTED_STATE _IOW(KVMIO, 0xbf, struct kvm_nested_state) +#define KVM_CLEAR_DIRTY_LOG _IOWR(KVMIO, 0xc0, struct kvm_clear_dirty_log) +#define KVM_GET_SUPPORTED_HV_CPUID _IOWR(KVMIO, 0xc1, struct kvm_cpuid2) +#define KVM_ARM_VCPU_FINALIZE _IOW(KVMIO, 0xc2, int) +#define KVM_S390_NORMAL_RESET _IO(KVMIO, 0xc3) +#define KVM_S390_CLEAR_RESET _IO(KVMIO, 0xc4) +struct kvm_s390_pv_sec_parm { + __u64 origin; + __u64 length; +}; +struct kvm_s390_pv_unp { + __u64 addr; + __u64 size; + __u64 tweak; +}; +enum pv_cmd_id { + KVM_PV_ENABLE, + KVM_PV_DISABLE, + KVM_PV_SET_SEC_PARMS, + KVM_PV_UNPACK, + KVM_PV_VERIFY, + KVM_PV_PREP_RESET, + KVM_PV_UNSHARE_ALL, +}; +struct kvm_pv_cmd { + __u32 cmd; + __u16 rc; + __u16 rrc; + __u64 data; + __u32 flags; + __u32 reserved[3]; +}; +#define KVM_S390_PV_COMMAND _IOWR(KVMIO, 0xc5, struct kvm_pv_cmd) +#define KVM_X86_SET_MSR_FILTER _IOW(KVMIO, 0xc6, struct kvm_msr_filter) +enum sev_cmd_id { + + KVM_SEV_INIT = 0, + KVM_SEV_ES_INIT, + + KVM_SEV_LAUNCH_START, + KVM_SEV_LAUNCH_UPDATE_DATA, + KVM_SEV_LAUNCH_UPDATE_VMSA, + KVM_SEV_LAUNCH_SECRET, + KVM_SEV_LAUNCH_MEASURE, + KVM_SEV_LAUNCH_FINISH, + + KVM_SEV_SEND_START, + KVM_SEV_SEND_UPDATE_DATA, + KVM_SEV_SEND_UPDATE_VMSA, + KVM_SEV_SEND_FINISH, + + KVM_SEV_RECEIVE_START, + KVM_SEV_RECEIVE_UPDATE_DATA, + KVM_SEV_RECEIVE_UPDATE_VMSA, + KVM_SEV_RECEIVE_FINISH, + + KVM_SEV_GUEST_STATUS, + KVM_SEV_DBG_DECRYPT, + KVM_SEV_DBG_ENCRYPT, + + KVM_SEV_CERT_EXPORT, + KVM_SEV_NR_MAX, +}; +struct kvm_sev_cmd { + __u32 id; + __u64 data; + __u32 error; + __u32 sev_fd; +}; +struct kvm_sev_launch_start { + __u32 handle; + __u32 policy; + __u64 dh_uaddr; + __u32 dh_len; + __u64 session_uaddr; + __u32 session_len; +}; +struct kvm_sev_launch_update_data { + __u64 uaddr; + __u32 len; +}; +struct kvm_sev_launch_secret { + __u64 hdr_uaddr; + __u32 hdr_len; + __u64 guest_uaddr; + __u32 guest_len; + __u64 trans_uaddr; + __u32 trans_len; +}; +struct kvm_sev_launch_measure { + __u64 uaddr; + __u32 len; +}; +struct kvm_sev_guest_status { + __u32 handle; + __u32 policy; + __u32 state; +}; +struct kvm_sev_dbg { + __u64 src_uaddr; + __u64 dst_uaddr; + __u32 len; +}; +#define KVM_DEV_ASSIGN_ENABLE_IOMMU (1 << 0) +#define KVM_DEV_ASSIGN_PCI_2_3 (1 << 1) +#define KVM_DEV_ASSIGN_MASK_INTX (1 << 2) +struct kvm_assigned_pci_dev { + __u32 assigned_dev_id; + __u32 busnr; + __u32 devfn; + __u32 flags; + __u32 segnr; + union { + __u32 reserved[11]; + }; +}; +#define KVM_DEV_IRQ_HOST_INTX (1 << 0) +#define KVM_DEV_IRQ_HOST_MSI (1 << 1) +#define KVM_DEV_IRQ_HOST_MSIX (1 << 2) +#define KVM_DEV_IRQ_GUEST_INTX (1 << 8) +#define KVM_DEV_IRQ_GUEST_MSI (1 << 9) +#define KVM_DEV_IRQ_GUEST_MSIX (1 << 10) +#define KVM_DEV_IRQ_HOST_MASK 0x00ff +#define KVM_DEV_IRQ_GUEST_MASK 0xff00 +struct kvm_assigned_irq { + __u32 assigned_dev_id; + __u32 host_irq; + __u32 guest_irq; + __u32 flags; + union { + __u32 reserved[12]; + }; +}; +struct kvm_assigned_msix_nr { + __u32 assigned_dev_id; + __u16 entry_nr; + __u16 padding; +}; +#define KVM_MAX_MSIX_PER_DEV 256 +struct kvm_assigned_msix_entry { + __u32 assigned_dev_id; + __u32 gsi; + __u16 entry; + __u16 padding[3]; +}; +#define KVM_X2APIC_API_USE_32BIT_IDS (1ULL << 0) +#define KVM_X2APIC_API_DISABLE_BROADCAST_QUIRK (1ULL << 1) +#define KVM_ARM_DEV_EL1_VTIMER (1 << 0) +#define KVM_ARM_DEV_EL1_PTIMER (1 << 1) +#define KVM_ARM_DEV_PMU (1 << 2) +struct kvm_hyperv_eventfd { + __u32 conn_id; + __s32 fd; + __u32 flags; + __u32 padding[3]; +}; +#define KVM_HYPERV_CONN_ID_MASK 0x00ffffff +#define KVM_HYPERV_EVENTFD_DEASSIGN (1 << 0) +#define KVM_DIRTY_LOG_MANUAL_PROTECT_ENABLE (1 << 0) +#define KVM_DIRTY_LOG_INITIALLY_SET (1 << 1) +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/kvm_para.h b/linux-5.10/prebuilts/usr/include/linux/kvm_para.h new file mode 100644 index 0000000..3d84dfb --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/kvm_para.h @@ -0,0 +1,26 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI__LINUX_KVM_PARA_H +#define _UAPI__LINUX_KVM_PARA_H +#define KVM_ENOSYS 1000 +#define KVM_EFAULT EFAULT +#define KVM_EINVAL EINVAL +#define KVM_E2BIG E2BIG +#define KVM_EPERM EPERM +#define KVM_EOPNOTSUPP 95 +#define KVM_HC_VAPIC_POLL_IRQ 1 +#define KVM_HC_MMU_OP 2 +#define KVM_HC_FEATURES 3 +#define KVM_HC_PPC_MAP_MAGIC_PAGE 4 +#define KVM_HC_KICK_CPU 5 +#define KVM_HC_MIPS_GET_CLOCK_FREQ 6 +#define KVM_HC_MIPS_EXIT_VM 7 +#define KVM_HC_MIPS_CONSOLE_OUTPUT 8 +#define KVM_HC_CLOCK_PAIRING 9 +#define KVM_HC_SEND_IPI 10 +#define KVM_HC_SCHED_YIELD 11 +#include +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/l2tp.h b/linux-5.10/prebuilts/usr/include/linux/l2tp.h new file mode 100644 index 0000000..9bf9043 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/l2tp.h @@ -0,0 +1,135 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI_LINUX_L2TP_H_ +#define _UAPI_LINUX_L2TP_H_ +#include +#include +#include +#include +#define IPPROTO_L2TP 115 +#define __SOCK_SIZE__ 16 +struct sockaddr_l2tpip { + + __kernel_sa_family_t l2tp_family; + __be16 l2tp_unused; + struct in_addr l2tp_addr; + __u32 l2tp_conn_id; + + unsigned char __pad[__SOCK_SIZE__ - + sizeof(__kernel_sa_family_t) - + sizeof(__be16) - sizeof(struct in_addr) - + sizeof(__u32)]; +}; +struct sockaddr_l2tpip6 { + + __kernel_sa_family_t l2tp_family; + __be16 l2tp_unused; + __be32 l2tp_flowinfo; + struct in6_addr l2tp_addr; + __u32 l2tp_scope_id; + __u32 l2tp_conn_id; +}; +enum { + L2TP_CMD_NOOP, + L2TP_CMD_TUNNEL_CREATE, + L2TP_CMD_TUNNEL_DELETE, + L2TP_CMD_TUNNEL_MODIFY, + L2TP_CMD_TUNNEL_GET, + L2TP_CMD_SESSION_CREATE, + L2TP_CMD_SESSION_DELETE, + L2TP_CMD_SESSION_MODIFY, + L2TP_CMD_SESSION_GET, + __L2TP_CMD_MAX, +}; +#define L2TP_CMD_MAX (__L2TP_CMD_MAX - 1) +enum { + L2TP_ATTR_NONE, + L2TP_ATTR_PW_TYPE, + L2TP_ATTR_ENCAP_TYPE, + L2TP_ATTR_OFFSET, + L2TP_ATTR_DATA_SEQ, + L2TP_ATTR_L2SPEC_TYPE, + L2TP_ATTR_L2SPEC_LEN, + L2TP_ATTR_PROTO_VERSION, + L2TP_ATTR_IFNAME, + L2TP_ATTR_CONN_ID, + L2TP_ATTR_PEER_CONN_ID, + L2TP_ATTR_SESSION_ID, + L2TP_ATTR_PEER_SESSION_ID, + L2TP_ATTR_UDP_CSUM, + L2TP_ATTR_VLAN_ID, + L2TP_ATTR_COOKIE, + L2TP_ATTR_PEER_COOKIE, + L2TP_ATTR_DEBUG, + L2TP_ATTR_RECV_SEQ, + L2TP_ATTR_SEND_SEQ, + L2TP_ATTR_LNS_MODE, + L2TP_ATTR_USING_IPSEC, + L2TP_ATTR_RECV_TIMEOUT, + L2TP_ATTR_FD, + L2TP_ATTR_IP_SADDR, + L2TP_ATTR_IP_DADDR, + L2TP_ATTR_UDP_SPORT, + L2TP_ATTR_UDP_DPORT, + L2TP_ATTR_MTU, + L2TP_ATTR_MRU, + L2TP_ATTR_STATS, + L2TP_ATTR_IP6_SADDR, + L2TP_ATTR_IP6_DADDR, + L2TP_ATTR_UDP_ZERO_CSUM6_TX, + L2TP_ATTR_UDP_ZERO_CSUM6_RX, + L2TP_ATTR_PAD, + __L2TP_ATTR_MAX, +}; +#define L2TP_ATTR_MAX (__L2TP_ATTR_MAX - 1) +enum { + L2TP_ATTR_STATS_NONE, + L2TP_ATTR_TX_PACKETS, + L2TP_ATTR_TX_BYTES, + L2TP_ATTR_TX_ERRORS, + L2TP_ATTR_RX_PACKETS, + L2TP_ATTR_RX_BYTES, + L2TP_ATTR_RX_SEQ_DISCARDS, + L2TP_ATTR_RX_OOS_PACKETS, + L2TP_ATTR_RX_ERRORS, + L2TP_ATTR_STATS_PAD, + L2TP_ATTR_RX_COOKIE_DISCARDS, + L2TP_ATTR_RX_INVALID, + __L2TP_ATTR_STATS_MAX, +}; +#define L2TP_ATTR_STATS_MAX (__L2TP_ATTR_STATS_MAX - 1) +enum l2tp_pwtype { + L2TP_PWTYPE_NONE = 0x0000, + L2TP_PWTYPE_ETH_VLAN = 0x0004, + L2TP_PWTYPE_ETH = 0x0005, + L2TP_PWTYPE_PPP = 0x0007, + L2TP_PWTYPE_PPP_AC = 0x0008, + L2TP_PWTYPE_IP = 0x000b, + __L2TP_PWTYPE_MAX +}; +enum l2tp_l2spec_type { + L2TP_L2SPECTYPE_NONE, + L2TP_L2SPECTYPE_DEFAULT, +}; +enum l2tp_encap_type { + L2TP_ENCAPTYPE_UDP, + L2TP_ENCAPTYPE_IP, +}; +enum l2tp_seqmode { + L2TP_SEQ_NONE = 0, + L2TP_SEQ_IP = 1, + L2TP_SEQ_ALL = 2, +}; +enum l2tp_debug_flags { + L2TP_MSG_DEBUG = (1 << 0), + L2TP_MSG_CONTROL = (1 << 1), + L2TP_MSG_SEQ = (1 << 2), + L2TP_MSG_DATA = (1 << 3), +}; +#define L2TP_GENL_NAME "l2tp" +#define L2TP_GENL_VERSION 0x1 +#define L2TP_GENL_MCGROUP "l2tp" +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/libc-compat.h b/linux-5.10/prebuilts/usr/include/linux/libc-compat.h new file mode 100644 index 0000000..af1d985 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/libc-compat.h @@ -0,0 +1,159 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI_LIBC_COMPAT_H +#define _UAPI_LIBC_COMPAT_H +#if defined(__GLIBC__) +#if defined(_NET_IF_H) && defined(__USE_MISC) +#define __UAPI_DEF_IF_IFCONF 0 +#define __UAPI_DEF_IF_IFMAP 0 +#define __UAPI_DEF_IF_IFNAMSIZ 0 +#define __UAPI_DEF_IF_IFREQ 0 +#define __UAPI_DEF_IF_NET_DEVICE_FLAGS 0 +#ifndef __UAPI_DEF_IF_NET_DEVICE_FLAGS_LOWER_UP_DORMANT_ECHO +#define __UAPI_DEF_IF_NET_DEVICE_FLAGS_LOWER_UP_DORMANT_ECHO 1 +#endif +#else +#define __UAPI_DEF_IF_IFCONF 1 +#define __UAPI_DEF_IF_IFMAP 1 +#define __UAPI_DEF_IF_IFNAMSIZ 1 +#define __UAPI_DEF_IF_IFREQ 1 +#define __UAPI_DEF_IF_NET_DEVICE_FLAGS 1 +#define __UAPI_DEF_IF_NET_DEVICE_FLAGS_LOWER_UP_DORMANT_ECHO 1 +#endif +#if defined(_NETINET_IN_H) +#define __UAPI_DEF_IN_ADDR 0 +#define __UAPI_DEF_IN_IPPROTO 0 +#define __UAPI_DEF_IN_PKTINFO 0 +#define __UAPI_DEF_IP_MREQ 0 +#define __UAPI_DEF_SOCKADDR_IN 0 +#define __UAPI_DEF_IN_CLASS 0 +#define __UAPI_DEF_IN6_ADDR 0 +#if defined(__USE_MISC) || defined (__USE_GNU) +#define __UAPI_DEF_IN6_ADDR_ALT 0 +#else +#define __UAPI_DEF_IN6_ADDR_ALT 1 +#endif +#define __UAPI_DEF_SOCKADDR_IN6 0 +#define __UAPI_DEF_IPV6_MREQ 0 +#define __UAPI_DEF_IPPROTO_V6 0 +#define __UAPI_DEF_IPV6_OPTIONS 0 +#define __UAPI_DEF_IN6_PKTINFO 0 +#define __UAPI_DEF_IP6_MTUINFO 0 +#else +#define __UAPI_DEF_IN_ADDR 1 +#define __UAPI_DEF_IN_IPPROTO 1 +#define __UAPI_DEF_IN_PKTINFO 1 +#define __UAPI_DEF_IP_MREQ 1 +#define __UAPI_DEF_SOCKADDR_IN 1 +#define __UAPI_DEF_IN_CLASS 1 +#define __UAPI_DEF_IN6_ADDR 1 +#define __UAPI_DEF_IN6_ADDR_ALT 1 +#define __UAPI_DEF_SOCKADDR_IN6 1 +#define __UAPI_DEF_IPV6_MREQ 1 +#define __UAPI_DEF_IPPROTO_V6 1 +#define __UAPI_DEF_IPV6_OPTIONS 1 +#define __UAPI_DEF_IN6_PKTINFO 1 +#define __UAPI_DEF_IP6_MTUINFO 1 +#endif +#if defined(__NETIPX_IPX_H) +#define __UAPI_DEF_SOCKADDR_IPX 0 +#define __UAPI_DEF_IPX_ROUTE_DEFINITION 0 +#define __UAPI_DEF_IPX_INTERFACE_DEFINITION 0 +#define __UAPI_DEF_IPX_CONFIG_DATA 0 +#define __UAPI_DEF_IPX_ROUTE_DEF 0 +#else +#define __UAPI_DEF_SOCKADDR_IPX 1 +#define __UAPI_DEF_IPX_ROUTE_DEFINITION 1 +#define __UAPI_DEF_IPX_INTERFACE_DEFINITION 1 +#define __UAPI_DEF_IPX_CONFIG_DATA 1 +#define __UAPI_DEF_IPX_ROUTE_DEF 1 +#endif +#if defined(_SYS_XATTR_H) +#define __UAPI_DEF_XATTR 0 +#else +#define __UAPI_DEF_XATTR 1 +#endif +#else +#ifndef __UAPI_DEF_IF_IFCONF +#define __UAPI_DEF_IF_IFCONF 1 +#endif +#ifndef __UAPI_DEF_IF_IFMAP +#define __UAPI_DEF_IF_IFMAP 1 +#endif +#ifndef __UAPI_DEF_IF_IFNAMSIZ +#define __UAPI_DEF_IF_IFNAMSIZ 1 +#endif +#ifndef __UAPI_DEF_IF_IFREQ +#define __UAPI_DEF_IF_IFREQ 1 +#endif +#ifndef __UAPI_DEF_IF_NET_DEVICE_FLAGS +#define __UAPI_DEF_IF_NET_DEVICE_FLAGS 1 +#endif +#ifndef __UAPI_DEF_IF_NET_DEVICE_FLAGS_LOWER_UP_DORMANT_ECHO +#define __UAPI_DEF_IF_NET_DEVICE_FLAGS_LOWER_UP_DORMANT_ECHO 1 +#endif +#ifndef __UAPI_DEF_IN_ADDR +#define __UAPI_DEF_IN_ADDR 1 +#endif +#ifndef __UAPI_DEF_IN_IPPROTO +#define __UAPI_DEF_IN_IPPROTO 1 +#endif +#ifndef __UAPI_DEF_IN_PKTINFO +#define __UAPI_DEF_IN_PKTINFO 1 +#endif +#ifndef __UAPI_DEF_IP_MREQ +#define __UAPI_DEF_IP_MREQ 1 +#endif +#ifndef __UAPI_DEF_SOCKADDR_IN +#define __UAPI_DEF_SOCKADDR_IN 1 +#endif +#ifndef __UAPI_DEF_IN_CLASS +#define __UAPI_DEF_IN_CLASS 1 +#endif +#ifndef __UAPI_DEF_IN6_ADDR +#define __UAPI_DEF_IN6_ADDR 1 +#endif +#ifndef __UAPI_DEF_IN6_ADDR_ALT +#define __UAPI_DEF_IN6_ADDR_ALT 1 +#endif +#ifndef __UAPI_DEF_SOCKADDR_IN6 +#define __UAPI_DEF_SOCKADDR_IN6 1 +#endif +#ifndef __UAPI_DEF_IPV6_MREQ +#define __UAPI_DEF_IPV6_MREQ 1 +#endif +#ifndef __UAPI_DEF_IPPROTO_V6 +#define __UAPI_DEF_IPPROTO_V6 1 +#endif +#ifndef __UAPI_DEF_IPV6_OPTIONS +#define __UAPI_DEF_IPV6_OPTIONS 1 +#endif +#ifndef __UAPI_DEF_IN6_PKTINFO +#define __UAPI_DEF_IN6_PKTINFO 1 +#endif +#ifndef __UAPI_DEF_IP6_MTUINFO +#define __UAPI_DEF_IP6_MTUINFO 1 +#endif +#ifndef __UAPI_DEF_SOCKADDR_IPX +#define __UAPI_DEF_SOCKADDR_IPX 1 +#endif +#ifndef __UAPI_DEF_IPX_ROUTE_DEFINITION +#define __UAPI_DEF_IPX_ROUTE_DEFINITION 1 +#endif +#ifndef __UAPI_DEF_IPX_INTERFACE_DEFINITION +#define __UAPI_DEF_IPX_INTERFACE_DEFINITION 1 +#endif +#ifndef __UAPI_DEF_IPX_CONFIG_DATA +#define __UAPI_DEF_IPX_CONFIG_DATA 1 +#endif +#ifndef __UAPI_DEF_IPX_ROUTE_DEF +#define __UAPI_DEF_IPX_ROUTE_DEF 1 +#endif +#ifndef __UAPI_DEF_XATTR +#define __UAPI_DEF_XATTR 1 +#endif +#endif +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/lightnvm.h b/linux-5.10/prebuilts/usr/include/linux/lightnvm.h new file mode 100644 index 0000000..9a07d55 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/lightnvm.h @@ -0,0 +1,173 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI_LINUX_LIGHTNVM_H +#define _UAPI_LINUX_LIGHTNVM_H +#ifdef __KERNEL__ +#include +#include +#else +#include +#include +#define DISK_NAME_LEN 32 +#endif +#include +#include +#define NVM_TTYPE_NAME_MAX 48 +#define NVM_TTYPE_MAX 63 +#define NVM_MMTYPE_LEN 8 +#define NVM_CTRL_FILE "/dev/lightnvm/control" +struct nvm_ioctl_info_tgt { + __u32 version[3]; + __u32 reserved; + char tgtname[NVM_TTYPE_NAME_MAX]; +}; +struct nvm_ioctl_info { + __u32 version[3]; + __u16 tgtsize; + __u16 reserved16; + __u32 reserved[12]; + struct nvm_ioctl_info_tgt tgts[NVM_TTYPE_MAX]; +}; +enum { + NVM_DEVICE_ACTIVE = 1 << 0, +}; +struct nvm_ioctl_device_info { + char devname[DISK_NAME_LEN]; + char bmname[NVM_TTYPE_NAME_MAX]; + __u32 bmversion[3]; + __u32 flags; + __u32 reserved[8]; +}; +struct nvm_ioctl_get_devices { + __u32 nr_devices; + __u32 reserved[31]; + struct nvm_ioctl_device_info info[31]; +}; +struct nvm_ioctl_create_simple { + __u32 lun_begin; + __u32 lun_end; +}; +struct nvm_ioctl_create_extended { + __u16 lun_begin; + __u16 lun_end; + __u16 op; + __u16 rsv; +}; +enum { + NVM_CONFIG_TYPE_SIMPLE = 0, + NVM_CONFIG_TYPE_EXTENDED = 1, +}; +struct nvm_ioctl_create_conf { + __u32 type; + union { + struct nvm_ioctl_create_simple s; + struct nvm_ioctl_create_extended e; + }; +}; +enum { + NVM_TARGET_FACTORY = 1 << 0, +}; +struct nvm_ioctl_create { + char dev[DISK_NAME_LEN]; + char tgttype[NVM_TTYPE_NAME_MAX]; + char tgtname[DISK_NAME_LEN]; + __u32 flags; + struct nvm_ioctl_create_conf conf; +}; +struct nvm_ioctl_remove { + char tgtname[DISK_NAME_LEN]; + __u32 flags; +}; +struct nvm_ioctl_dev_init { + char dev[DISK_NAME_LEN]; + char mmtype[NVM_MMTYPE_LEN]; + __u32 flags; +}; +enum { + NVM_FACTORY_ERASE_ONLY_USER = 1 << 0, + NVM_FACTORY_RESET_HOST_BLKS = 1 << 1, + NVM_FACTORY_RESET_GRWN_BBLKS = 1 << 2, + NVM_FACTORY_NR_BITS = 1 << 3, +}; +struct nvm_ioctl_dev_factory { + char dev[DISK_NAME_LEN]; + __u32 flags; +}; +struct nvm_user_vio { + __u8 opcode; + __u8 flags; + __u16 control; + __u16 nppas; + __u16 rsvd; + __u64 metadata; + __u64 addr; + __u64 ppa_list; + __u32 metadata_len; + __u32 data_len; + __u64 status; + __u32 result; + __u32 rsvd3[3]; +}; +struct nvm_passthru_vio { + __u8 opcode; + __u8 flags; + __u8 rsvd[2]; + __u32 nsid; + __u32 cdw2; + __u32 cdw3; + __u64 metadata; + __u64 addr; + __u32 metadata_len; + __u32 data_len; + __u64 ppa_list; + __u16 nppas; + __u16 control; + __u32 cdw13; + __u32 cdw14; + __u32 cdw15; + __u64 status; + __u32 result; + __u32 timeout_ms; +}; +enum { + + NVM_INFO_CMD = 0x20, + NVM_GET_DEVICES_CMD, + + NVM_DEV_CREATE_CMD, + NVM_DEV_REMOVE_CMD, + + NVM_DEV_INIT_CMD, + + NVM_DEV_FACTORY_CMD, + + NVM_DEV_VIO_ADMIN_CMD = 0x41, + NVM_DEV_VIO_CMD = 0x42, + NVM_DEV_VIO_USER_CMD = 0x43, +}; +#define NVM_IOCTL 'L' +#define NVM_INFO _IOWR(NVM_IOCTL, NVM_INFO_CMD, \ + struct nvm_ioctl_info) +#define NVM_GET_DEVICES _IOR(NVM_IOCTL, NVM_GET_DEVICES_CMD, \ + struct nvm_ioctl_get_devices) +#define NVM_DEV_CREATE _IOW(NVM_IOCTL, NVM_DEV_CREATE_CMD, \ + struct nvm_ioctl_create) +#define NVM_DEV_REMOVE _IOW(NVM_IOCTL, NVM_DEV_REMOVE_CMD, \ + struct nvm_ioctl_remove) +#define NVM_DEV_INIT _IOW(NVM_IOCTL, NVM_DEV_INIT_CMD, \ + struct nvm_ioctl_dev_init) +#define NVM_DEV_FACTORY _IOW(NVM_IOCTL, NVM_DEV_FACTORY_CMD, \ + struct nvm_ioctl_dev_factory) +#define NVME_NVM_IOCTL_IO_VIO _IOWR(NVM_IOCTL, NVM_DEV_VIO_USER_CMD, \ + struct nvm_passthru_vio) +#define NVME_NVM_IOCTL_ADMIN_VIO _IOWR(NVM_IOCTL, NVM_DEV_VIO_ADMIN_CMD,\ + struct nvm_passthru_vio) +#define NVME_NVM_IOCTL_SUBMIT_VIO _IOWR(NVM_IOCTL, NVM_DEV_VIO_CMD,\ + struct nvm_user_vio) +#define NVM_VERSION_MAJOR 1 +#define NVM_VERSION_MINOR 0 +#define NVM_VERSION_PATCHLEVEL 0 +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/limits.h b/linux-5.10/prebuilts/usr/include/linux/limits.h new file mode 100644 index 0000000..9f76c3d --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/limits.h @@ -0,0 +1,21 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI_LINUX_LIMITS_H +#define _UAPI_LINUX_LIMITS_H +#define NR_OPEN 1024 +#define NGROUPS_MAX 65536 +#define ARG_MAX 131072 +#define LINK_MAX 127 +#define MAX_CANON 255 +#define MAX_INPUT 255 +#define NAME_MAX 255 +#define PATH_MAX 4096 +#define PIPE_BUF 4096 +#define XATTR_NAME_MAX 255 +#define XATTR_SIZE_MAX 65536 +#define XATTR_LIST_MAX 65536 +#define RTSIG_MAX 32 +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/lirc.h b/linux-5.10/prebuilts/usr/include/linux/lirc.h new file mode 100644 index 0000000..91bd8d5 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/lirc.h @@ -0,0 +1,122 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _LINUX_LIRC_H +#define _LINUX_LIRC_H +#include +#include +#define PULSE_BIT 0x01000000 +#define PULSE_MASK 0x00FFFFFF +#define LIRC_MODE2_SPACE 0x00000000 +#define LIRC_MODE2_PULSE 0x01000000 +#define LIRC_MODE2_FREQUENCY 0x02000000 +#define LIRC_MODE2_TIMEOUT 0x03000000 +#define LIRC_VALUE_MASK 0x00FFFFFF +#define LIRC_MODE2_MASK 0xFF000000 +#define LIRC_SPACE(val) (((val)&LIRC_VALUE_MASK) | LIRC_MODE2_SPACE) +#define LIRC_PULSE(val) (((val)&LIRC_VALUE_MASK) | LIRC_MODE2_PULSE) +#define LIRC_FREQUENCY(val) (((val)&LIRC_VALUE_MASK) | LIRC_MODE2_FREQUENCY) +#define LIRC_TIMEOUT(val) (((val)&LIRC_VALUE_MASK) | LIRC_MODE2_TIMEOUT) +#define LIRC_VALUE(val) ((val)&LIRC_VALUE_MASK) +#define LIRC_MODE2(val) ((val)&LIRC_MODE2_MASK) +#define LIRC_IS_SPACE(val) (LIRC_MODE2(val) == LIRC_MODE2_SPACE) +#define LIRC_IS_PULSE(val) (LIRC_MODE2(val) == LIRC_MODE2_PULSE) +#define LIRC_IS_FREQUENCY(val) (LIRC_MODE2(val) == LIRC_MODE2_FREQUENCY) +#define LIRC_IS_TIMEOUT(val) (LIRC_MODE2(val) == LIRC_MODE2_TIMEOUT) +#define lirc_t int +#define LIRC_MODE2SEND(x) (x) +#define LIRC_SEND2MODE(x) (x) +#define LIRC_MODE2REC(x) ((x) << 16) +#define LIRC_REC2MODE(x) ((x) >> 16) +#define LIRC_MODE_RAW 0x00000001 +#define LIRC_MODE_PULSE 0x00000002 +#define LIRC_MODE_MODE2 0x00000004 +#define LIRC_MODE_SCANCODE 0x00000008 +#define LIRC_MODE_LIRCCODE 0x00000010 +#define LIRC_CAN_SEND_RAW LIRC_MODE2SEND(LIRC_MODE_RAW) +#define LIRC_CAN_SEND_PULSE LIRC_MODE2SEND(LIRC_MODE_PULSE) +#define LIRC_CAN_SEND_MODE2 LIRC_MODE2SEND(LIRC_MODE_MODE2) +#define LIRC_CAN_SEND_LIRCCODE LIRC_MODE2SEND(LIRC_MODE_LIRCCODE) +#define LIRC_CAN_SEND_MASK 0x0000003f +#define LIRC_CAN_SET_SEND_CARRIER 0x00000100 +#define LIRC_CAN_SET_SEND_DUTY_CYCLE 0x00000200 +#define LIRC_CAN_SET_TRANSMITTER_MASK 0x00000400 +#define LIRC_CAN_REC_RAW LIRC_MODE2REC(LIRC_MODE_RAW) +#define LIRC_CAN_REC_PULSE LIRC_MODE2REC(LIRC_MODE_PULSE) +#define LIRC_CAN_REC_MODE2 LIRC_MODE2REC(LIRC_MODE_MODE2) +#define LIRC_CAN_REC_SCANCODE LIRC_MODE2REC(LIRC_MODE_SCANCODE) +#define LIRC_CAN_REC_LIRCCODE LIRC_MODE2REC(LIRC_MODE_LIRCCODE) +#define LIRC_CAN_REC_MASK LIRC_MODE2REC(LIRC_CAN_SEND_MASK) +#define LIRC_CAN_SET_REC_CARRIER (LIRC_CAN_SET_SEND_CARRIER << 16) +#define LIRC_CAN_SET_REC_DUTY_CYCLE (LIRC_CAN_SET_SEND_DUTY_CYCLE << 16) +#define LIRC_CAN_SET_REC_DUTY_CYCLE_RANGE 0x40000000 +#define LIRC_CAN_SET_REC_CARRIER_RANGE 0x80000000 +#define LIRC_CAN_GET_REC_RESOLUTION 0x20000000 +#define LIRC_CAN_SET_REC_TIMEOUT 0x10000000 +#define LIRC_CAN_SET_REC_FILTER 0x08000000 +#define LIRC_CAN_MEASURE_CARRIER 0x02000000 +#define LIRC_CAN_USE_WIDEBAND_RECEIVER 0x04000000 +#define LIRC_CAN_SEND(x) ((x)&LIRC_CAN_SEND_MASK) +#define LIRC_CAN_REC(x) ((x)&LIRC_CAN_REC_MASK) +#define LIRC_CAN_NOTIFY_DECODE 0x01000000 +#define LIRC_GET_FEATURES _IOR('i', 0x00000000, __u32) +#define LIRC_GET_SEND_MODE _IOR('i', 0x00000001, __u32) +#define LIRC_GET_REC_MODE _IOR('i', 0x00000002, __u32) +#define LIRC_GET_REC_RESOLUTION _IOR('i', 0x00000007, __u32) +#define LIRC_GET_MIN_TIMEOUT _IOR('i', 0x00000008, __u32) +#define LIRC_GET_MAX_TIMEOUT _IOR('i', 0x00000009, __u32) +#define LIRC_GET_LENGTH _IOR('i', 0x0000000f, __u32) +#define LIRC_SET_SEND_MODE _IOW('i', 0x00000011, __u32) +#define LIRC_SET_REC_MODE _IOW('i', 0x00000012, __u32) +#define LIRC_SET_SEND_CARRIER _IOW('i', 0x00000013, __u32) +#define LIRC_SET_REC_CARRIER _IOW('i', 0x00000014, __u32) +#define LIRC_SET_SEND_DUTY_CYCLE _IOW('i', 0x00000015, __u32) +#define LIRC_SET_TRANSMITTER_MASK _IOW('i', 0x00000017, __u32) +#define LIRC_SET_REC_TIMEOUT _IOW('i', 0x00000018, __u32) +#define LIRC_SET_REC_TIMEOUT_REPORTS _IOW('i', 0x00000019, __u32) +#define LIRC_SET_MEASURE_CARRIER_MODE _IOW('i', 0x0000001d, __u32) +#define LIRC_SET_REC_CARRIER_RANGE _IOW('i', 0x0000001f, __u32) +#define LIRC_SET_WIDEBAND_RECEIVER _IOW('i', 0x00000023, __u32) +#define LIRC_GET_REC_TIMEOUT _IOR('i', 0x00000024, __u32) +struct lirc_scancode { + __u64 timestamp; + __u16 flags; + __u16 rc_proto; + __u32 keycode; + __u64 scancode; +}; +#define LIRC_SCANCODE_FLAG_TOGGLE 1 +#define LIRC_SCANCODE_FLAG_REPEAT 2 +enum rc_proto { + RC_PROTO_UNKNOWN = 0, + RC_PROTO_OTHER = 1, + RC_PROTO_RC5 = 2, + RC_PROTO_RC5X_20 = 3, + RC_PROTO_RC5_SZ = 4, + RC_PROTO_JVC = 5, + RC_PROTO_SONY12 = 6, + RC_PROTO_SONY15 = 7, + RC_PROTO_SONY20 = 8, + RC_PROTO_NEC = 9, + RC_PROTO_NECX = 10, + RC_PROTO_NEC32 = 11, + RC_PROTO_SANYO = 12, + RC_PROTO_MCIR2_KBD = 13, + RC_PROTO_MCIR2_MSE = 14, + RC_PROTO_RC6_0 = 15, + RC_PROTO_RC6_6A_20 = 16, + RC_PROTO_RC6_6A_24 = 17, + RC_PROTO_RC6_6A_32 = 18, + RC_PROTO_RC6_MCE = 19, + RC_PROTO_SHARP = 20, + RC_PROTO_XMP = 21, + RC_PROTO_CEC = 22, + RC_PROTO_IMON = 23, + RC_PROTO_RCMM12 = 24, + RC_PROTO_RCMM24 = 25, + RC_PROTO_RCMM32 = 26, + RC_PROTO_XBOX_DVD = 27, +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/llc.h b/linux-5.10/prebuilts/usr/include/linux/llc.h new file mode 100644 index 0000000..4c0384b --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/llc.h @@ -0,0 +1,69 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI__LINUX_LLC_H +#define _UAPI__LINUX_LLC_H +#include +#include +#define __LLC_SOCK_SIZE__ 16 +struct sockaddr_llc { + __kernel_sa_family_t sllc_family; + __kernel_sa_family_t sllc_arphrd; + unsigned char sllc_test; + unsigned char sllc_xid; + unsigned char sllc_ua; + unsigned char sllc_sap; + unsigned char sllc_mac[IFHWADDRLEN]; + unsigned char __pad[__LLC_SOCK_SIZE__ - + sizeof(__kernel_sa_family_t) * 2 - + sizeof(unsigned char) * 4 - IFHWADDRLEN]; +}; +enum llc_sockopts { + LLC_OPT_UNKNOWN = 0, + LLC_OPT_RETRY, + LLC_OPT_SIZE, + LLC_OPT_ACK_TMR_EXP, + LLC_OPT_P_TMR_EXP, + LLC_OPT_REJ_TMR_EXP, + LLC_OPT_BUSY_TMR_EXP, + LLC_OPT_TX_WIN, + LLC_OPT_RX_WIN, + LLC_OPT_PKTINFO, + LLC_OPT_MAX +}; +#define LLC_OPT_MAX_RETRY 100 +#define LLC_OPT_MAX_SIZE 4196 +#define LLC_OPT_MAX_WIN 127 +#define LLC_OPT_MAX_ACK_TMR_EXP 60 +#define LLC_OPT_MAX_P_TMR_EXP 60 +#define LLC_OPT_MAX_REJ_TMR_EXP 60 +#define LLC_OPT_MAX_BUSY_TMR_EXP 60 +#define LLC_SAP_NULL 0x00 +#define LLC_SAP_LLC 0x02 +#define LLC_SAP_SNA 0x04 +#define LLC_SAP_PNM 0x0E +#define LLC_SAP_IP 0x06 +#define LLC_SAP_BSPAN 0x42 +#define LLC_SAP_MMS 0x4E +#define LLC_SAP_8208 0x7E +#define LLC_SAP_3COM 0x80 +#define LLC_SAP_PRO 0x8E +#define LLC_SAP_SNAP 0xAA +#define LLC_SAP_BANYAN 0xBC +#define LLC_SAP_IPX 0xE0 +#define LLC_SAP_NETBEUI 0xF0 +#define LLC_SAP_LANMGR 0xF4 +#define LLC_SAP_IMPL 0xF8 +#define LLC_SAP_DISC 0xFC +#define LLC_SAP_OSI 0xFE +#define LLC_SAP_LAR 0xDC +#define LLC_SAP_RM 0xD4 +#define LLC_SAP_GLOBAL 0xFF +struct llc_pktinfo { + int lpi_ifindex; + unsigned char lpi_sap; + unsigned char lpi_mac[IFHWADDRLEN]; +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/loop.h b/linux-5.10/prebuilts/usr/include/linux/loop.h new file mode 100644 index 0000000..2821a2a --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/loop.h @@ -0,0 +1,82 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI_LINUX_LOOP_H +#define _UAPI_LINUX_LOOP_H +#define LO_NAME_SIZE 64 +#define LO_KEY_SIZE 32 +enum { + LO_FLAGS_READ_ONLY = 1, + LO_FLAGS_AUTOCLEAR = 4, + LO_FLAGS_PARTSCAN = 8, + LO_FLAGS_DIRECT_IO = 16, +}; +#define LOOP_SET_STATUS_SETTABLE_FLAGS (LO_FLAGS_AUTOCLEAR | LO_FLAGS_PARTSCAN) +#define LOOP_SET_STATUS_CLEARABLE_FLAGS (LO_FLAGS_AUTOCLEAR) +#define LOOP_CONFIGURE_SETTABLE_FLAGS (LO_FLAGS_READ_ONLY | LO_FLAGS_AUTOCLEAR \ + | LO_FLAGS_PARTSCAN | LO_FLAGS_DIRECT_IO) +#include +#include +struct loop_info { + int lo_number; + __kernel_old_dev_t lo_device; + unsigned long lo_inode; + __kernel_old_dev_t lo_rdevice; + int lo_offset; + int lo_encrypt_type; + int lo_encrypt_key_size; + int lo_flags; + char lo_name[LO_NAME_SIZE]; + unsigned char lo_encrypt_key[LO_KEY_SIZE]; + unsigned long lo_init[2]; + char reserved[4]; +}; +struct loop_info64 { + __u64 lo_device; + __u64 lo_inode; + __u64 lo_rdevice; + __u64 lo_offset; + __u64 lo_sizelimit; + __u32 lo_number; + __u32 lo_encrypt_type; + __u32 lo_encrypt_key_size; + __u32 lo_flags; + __u8 lo_file_name[LO_NAME_SIZE]; + __u8 lo_crypt_name[LO_NAME_SIZE]; + __u8 lo_encrypt_key[LO_KEY_SIZE]; + __u64 lo_init[2]; +}; +struct loop_config { + __u32 fd; + __u32 block_size; + struct loop_info64 info; + __u64 __reserved[8]; +}; +#define LO_CRYPT_NONE 0 +#define LO_CRYPT_XOR 1 +#define LO_CRYPT_DES 2 +#define LO_CRYPT_FISH2 3 +#define LO_CRYPT_BLOW 4 +#define LO_CRYPT_CAST128 5 +#define LO_CRYPT_IDEA 6 +#define LO_CRYPT_DUMMY 9 +#define LO_CRYPT_SKIPJACK 10 +#define LO_CRYPT_CRYPTOAPI 18 +#define MAX_LO_CRYPT 20 +#define LOOP_SET_FD 0x4C00 +#define LOOP_CLR_FD 0x4C01 +#define LOOP_SET_STATUS 0x4C02 +#define LOOP_GET_STATUS 0x4C03 +#define LOOP_SET_STATUS64 0x4C04 +#define LOOP_GET_STATUS64 0x4C05 +#define LOOP_CHANGE_FD 0x4C06 +#define LOOP_SET_CAPACITY 0x4C07 +#define LOOP_SET_DIRECT_IO 0x4C08 +#define LOOP_SET_BLOCK_SIZE 0x4C09 +#define LOOP_CONFIGURE 0x4C0A +#define LOOP_CTL_ADD 0x4C80 +#define LOOP_CTL_REMOVE 0x4C81 +#define LOOP_CTL_GET_FREE 0x4C82 +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/lp.h b/linux-5.10/prebuilts/usr/include/linux/lp.h new file mode 100644 index 0000000..998606d --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/lp.h @@ -0,0 +1,56 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI_LINUX_LP_H +#define _UAPI_LINUX_LP_H +#include +#include +#define LP_EXIST 0x0001 +#define LP_SELEC 0x0002 +#define LP_BUSY 0x0004 +#define LP_BUSY_BIT_POS 2 +#define LP_OFFL 0x0008 +#define LP_NOPA 0x0010 +#define LP_ERR 0x0020 +#define LP_ABORT 0x0040 +#define LP_CAREFUL 0x0080 +#define LP_ABORTOPEN 0x0100 +#define LP_TRUST_IRQ_ 0x0200 +#define LP_NO_REVERSE 0x0400 +#define LP_DATA_AVAIL 0x0800 +#define LP_PBUSY 0x80 +#define LP_PACK 0x40 +#define LP_POUTPA 0x20 +#define LP_PSELECD 0x10 +#define LP_PERRORP 0x08 +#define LP_INIT_CHAR 1000 +#define LP_INIT_WAIT 1 +#define LP_INIT_TIME 2 +#define LPCHAR 0x0601 +#define LPTIME 0x0602 +#define LPABORT 0x0604 +#define LPSETIRQ 0x0605 +#define LPGETIRQ 0x0606 +#define LPWAIT 0x0608 +#define LPCAREFUL 0x0609 +#define LPABORTOPEN 0x060a +#define LPGETSTATUS 0x060b +#define LPRESET 0x060c +#ifdef LP_STATS +#define LPGETSTATS 0x060d +#endif +#define LPGETFLAGS 0x060e +#define LPSETTIMEOUT_OLD 0x060f +#define LPSETTIMEOUT_NEW \ + _IOW(0x6, 0xf, __s64[2]) +#if __BITS_PER_LONG == 64 +#define LPSETTIMEOUT LPSETTIMEOUT_OLD +#else +#define LPSETTIMEOUT (sizeof(time_t) > sizeof(__kernel_long_t) ? \ + LPSETTIMEOUT_NEW : LPSETTIMEOUT_OLD) +#endif +#define LP_TIMEOUT_INTERRUPT (60 * HZ) +#define LP_TIMEOUT_POLLED (10 * HZ) +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/lwtunnel.h b/linux-5.10/prebuilts/usr/include/linux/lwtunnel.h new file mode 100644 index 0000000..a1a979b --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/lwtunnel.h @@ -0,0 +1,96 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI_LWTUNNEL_H_ +#define _UAPI_LWTUNNEL_H_ +#include +enum lwtunnel_encap_types { + LWTUNNEL_ENCAP_NONE, + LWTUNNEL_ENCAP_MPLS, + LWTUNNEL_ENCAP_IP, + LWTUNNEL_ENCAP_ILA, + LWTUNNEL_ENCAP_IP6, + LWTUNNEL_ENCAP_SEG6, + LWTUNNEL_ENCAP_BPF, + LWTUNNEL_ENCAP_SEG6_LOCAL, + LWTUNNEL_ENCAP_RPL, + __LWTUNNEL_ENCAP_MAX, +}; +#define LWTUNNEL_ENCAP_MAX (__LWTUNNEL_ENCAP_MAX - 1) +enum lwtunnel_ip_t { + LWTUNNEL_IP_UNSPEC, + LWTUNNEL_IP_ID, + LWTUNNEL_IP_DST, + LWTUNNEL_IP_SRC, + LWTUNNEL_IP_TTL, + LWTUNNEL_IP_TOS, + LWTUNNEL_IP_FLAGS, + LWTUNNEL_IP_PAD, + LWTUNNEL_IP_OPTS, + __LWTUNNEL_IP_MAX, +}; +#define LWTUNNEL_IP_MAX (__LWTUNNEL_IP_MAX - 1) +enum lwtunnel_ip6_t { + LWTUNNEL_IP6_UNSPEC, + LWTUNNEL_IP6_ID, + LWTUNNEL_IP6_DST, + LWTUNNEL_IP6_SRC, + LWTUNNEL_IP6_HOPLIMIT, + LWTUNNEL_IP6_TC, + LWTUNNEL_IP6_FLAGS, + LWTUNNEL_IP6_PAD, + LWTUNNEL_IP6_OPTS, + __LWTUNNEL_IP6_MAX, +}; +#define LWTUNNEL_IP6_MAX (__LWTUNNEL_IP6_MAX - 1) +enum { + LWTUNNEL_IP_OPTS_UNSPEC, + LWTUNNEL_IP_OPTS_GENEVE, + LWTUNNEL_IP_OPTS_VXLAN, + LWTUNNEL_IP_OPTS_ERSPAN, + __LWTUNNEL_IP_OPTS_MAX, +}; +#define LWTUNNEL_IP_OPTS_MAX (__LWTUNNEL_IP_OPTS_MAX - 1) +enum { + LWTUNNEL_IP_OPT_GENEVE_UNSPEC, + LWTUNNEL_IP_OPT_GENEVE_CLASS, + LWTUNNEL_IP_OPT_GENEVE_TYPE, + LWTUNNEL_IP_OPT_GENEVE_DATA, + __LWTUNNEL_IP_OPT_GENEVE_MAX, +}; +#define LWTUNNEL_IP_OPT_GENEVE_MAX (__LWTUNNEL_IP_OPT_GENEVE_MAX - 1) +enum { + LWTUNNEL_IP_OPT_VXLAN_UNSPEC, + LWTUNNEL_IP_OPT_VXLAN_GBP, + __LWTUNNEL_IP_OPT_VXLAN_MAX, +}; +#define LWTUNNEL_IP_OPT_VXLAN_MAX (__LWTUNNEL_IP_OPT_VXLAN_MAX - 1) +enum { + LWTUNNEL_IP_OPT_ERSPAN_UNSPEC, + LWTUNNEL_IP_OPT_ERSPAN_VER, + LWTUNNEL_IP_OPT_ERSPAN_INDEX, + LWTUNNEL_IP_OPT_ERSPAN_DIR, + LWTUNNEL_IP_OPT_ERSPAN_HWID, + __LWTUNNEL_IP_OPT_ERSPAN_MAX, +}; +#define LWTUNNEL_IP_OPT_ERSPAN_MAX (__LWTUNNEL_IP_OPT_ERSPAN_MAX - 1) +enum { + LWT_BPF_PROG_UNSPEC, + LWT_BPF_PROG_FD, + LWT_BPF_PROG_NAME, + __LWT_BPF_PROG_MAX, +}; +#define LWT_BPF_PROG_MAX (__LWT_BPF_PROG_MAX - 1) +enum { + LWT_BPF_UNSPEC, + LWT_BPF_IN, + LWT_BPF_OUT, + LWT_BPF_XMIT, + LWT_BPF_XMIT_HEADROOM, + __LWT_BPF_MAX, +}; +#define LWT_BPF_MAX (__LWT_BPF_MAX - 1) +#define LWT_BPF_MAX_HEADROOM 256 +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/magic.h b/linux-5.10/prebuilts/usr/include/linux/magic.h new file mode 100644 index 0000000..4111316 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/magic.h @@ -0,0 +1,91 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef __LINUX_MAGIC_H__ +#define __LINUX_MAGIC_H__ +#define ADFS_SUPER_MAGIC 0xadf5 +#define AFFS_SUPER_MAGIC 0xadff +#define AFS_SUPER_MAGIC 0x5346414F +#define AUTOFS_SUPER_MAGIC 0x0187 +#define CODA_SUPER_MAGIC 0x73757245 +#define CRAMFS_MAGIC 0x28cd3d45 +#define CRAMFS_MAGIC_WEND 0x453dcd28 +#define DEBUGFS_MAGIC 0x64626720 +#define SECURITYFS_MAGIC 0x73636673 +#define SELINUX_MAGIC 0xf97cff8c +#define SMACK_MAGIC 0x43415d53 +#define RAMFS_MAGIC 0x858458f6 +#define TMPFS_MAGIC 0x01021994 +#define HUGETLBFS_MAGIC 0x958458f6 +#define SQUASHFS_MAGIC 0x73717368 +#define ECRYPTFS_SUPER_MAGIC 0xf15f +#define EFS_SUPER_MAGIC 0x414A53 +#define EROFS_SUPER_MAGIC_V1 0xE0F5E1E2 +#define EXT2_SUPER_MAGIC 0xEF53 +#define EXT3_SUPER_MAGIC 0xEF53 +#define XENFS_SUPER_MAGIC 0xabba1974 +#define EXT4_SUPER_MAGIC 0xEF53 +#define BTRFS_SUPER_MAGIC 0x9123683E +#define NILFS_SUPER_MAGIC 0x3434 +#define F2FS_SUPER_MAGIC 0xF2F52010 +#define HPFS_SUPER_MAGIC 0xf995e849 +#define ISOFS_SUPER_MAGIC 0x9660 +#define JFFS2_SUPER_MAGIC 0x72b6 +#define XFS_SUPER_MAGIC 0x58465342 +#define PSTOREFS_MAGIC 0x6165676C +#define EFIVARFS_MAGIC 0xde5e81e4 +#define HOSTFS_SUPER_MAGIC 0x00c0ffee +#define OVERLAYFS_SUPER_MAGIC 0x794c7630 +#define MINIX_SUPER_MAGIC 0x137F +#define MINIX_SUPER_MAGIC2 0x138F +#define MINIX2_SUPER_MAGIC 0x2468 +#define MINIX2_SUPER_MAGIC2 0x2478 +#define MINIX3_SUPER_MAGIC 0x4d5a +#define MSDOS_SUPER_MAGIC 0x4d44 +#define NCP_SUPER_MAGIC 0x564c +#define NFS_SUPER_MAGIC 0x6969 +#define OCFS2_SUPER_MAGIC 0x7461636f +#define OPENPROM_SUPER_MAGIC 0x9fa1 +#define QNX4_SUPER_MAGIC 0x002f +#define QNX6_SUPER_MAGIC 0x68191122 +#define AFS_FS_MAGIC 0x6B414653 +#define REISERFS_SUPER_MAGIC 0x52654973 + +#define REISERFS_SUPER_MAGIC_STRING "ReIsErFs" +#define REISER2FS_SUPER_MAGIC_STRING "ReIsEr2Fs" +#define REISER2FS_JR_SUPER_MAGIC_STRING "ReIsEr3Fs" +#define SMB_SUPER_MAGIC 0x517B +#define CGROUP_SUPER_MAGIC 0x27e0eb +#define CGROUP2_SUPER_MAGIC 0x63677270 +#define RDTGROUP_SUPER_MAGIC 0x7655821 +#define STACK_END_MAGIC 0x57AC6E9D +#define TRACEFS_MAGIC 0x74726163 +#define V9FS_MAGIC 0x01021997 +#define BDEVFS_MAGIC 0x62646576 +#define DAXFS_MAGIC 0x64646178 +#define BINFMTFS_MAGIC 0x42494e4d +#define DEVPTS_SUPER_MAGIC 0x1cd1 +#define BINDERFS_SUPER_MAGIC 0x6c6f6f70 +#define FUTEXFS_SUPER_MAGIC 0xBAD1DEA +#define PIPEFS_MAGIC 0x50495045 +#define PROC_SUPER_MAGIC 0x9fa0 +#define SOCKFS_MAGIC 0x534F434B +#define SYSFS_MAGIC 0x62656572 +#define USBDEVICE_SUPER_MAGIC 0x9fa2 +#define MTD_INODE_FS_MAGIC 0x11307854 +#define ANON_INODE_FS_MAGIC 0x09041934 +#define BTRFS_TEST_MAGIC 0x73727279 +#define NSFS_MAGIC 0x6e736673 +#define BPF_FS_MAGIC 0xcafe4a11 +#define AAFS_MAGIC 0x5a3c69f0 +#define ZONEFS_MAGIC 0x5a4f4653 +#define UDF_SUPER_MAGIC 0x15013346 +#define BALLOON_KVM_MAGIC 0x13661366 +#define ZSMALLOC_MAGIC 0x58295829 +#define DMA_BUF_MAGIC 0x444d4142 +#define DEVMEM_MAGIC 0x454d444d +#define Z3FOLD_MAGIC 0x33 +#define PPC_CMM_MAGIC 0xc7571590 +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/major.h b/linux-5.10/prebuilts/usr/include/linux/major.h new file mode 100644 index 0000000..b5f9606 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/major.h @@ -0,0 +1,149 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _LINUX_MAJOR_H +#define _LINUX_MAJOR_H +#define UNNAMED_MAJOR 0 +#define MEM_MAJOR 1 +#define RAMDISK_MAJOR 1 +#define FLOPPY_MAJOR 2 +#define PTY_MASTER_MAJOR 2 +#define IDE0_MAJOR 3 +#define HD_MAJOR IDE0_MAJOR +#define PTY_SLAVE_MAJOR 3 +#define TTY_MAJOR 4 +#define TTYAUX_MAJOR 5 +#define LP_MAJOR 6 +#define VCS_MAJOR 7 +#define LOOP_MAJOR 7 +#define SCSI_DISK0_MAJOR 8 +#define SCSI_TAPE_MAJOR 9 +#define MD_MAJOR 9 +#define MISC_MAJOR 10 +#define SCSI_CDROM_MAJOR 11 +#define MUX_MAJOR 11 +#define XT_DISK_MAJOR 13 +#define INPUT_MAJOR 13 +#define SOUND_MAJOR 14 +#define CDU31A_CDROM_MAJOR 15 +#define JOYSTICK_MAJOR 15 +#define GOLDSTAR_CDROM_MAJOR 16 +#define OPTICS_CDROM_MAJOR 17 +#define SANYO_CDROM_MAJOR 18 +#define CYCLADES_MAJOR 19 +#define CYCLADESAUX_MAJOR 20 +#define MITSUMI_X_CDROM_MAJOR 20 +#define MFM_ACORN_MAJOR 21 +#define SCSI_GENERIC_MAJOR 21 +#define IDE1_MAJOR 22 +#define DIGICU_MAJOR 22 +#define DIGI_MAJOR 23 +#define MITSUMI_CDROM_MAJOR 23 +#define CDU535_CDROM_MAJOR 24 +#define STL_SERIALMAJOR 24 +#define MATSUSHITA_CDROM_MAJOR 25 +#define STL_CALLOUTMAJOR 25 +#define MATSUSHITA_CDROM2_MAJOR 26 +#define QIC117_TAPE_MAJOR 27 +#define MATSUSHITA_CDROM3_MAJOR 27 +#define MATSUSHITA_CDROM4_MAJOR 28 +#define STL_SIOMEMMAJOR 28 +#define ACSI_MAJOR 28 +#define AZTECH_CDROM_MAJOR 29 +#define FB_MAJOR 29 +#define MTD_BLOCK_MAJOR 31 +#define CM206_CDROM_MAJOR 32 +#define IDE2_MAJOR 33 +#define IDE3_MAJOR 34 +#define Z8530_MAJOR 34 +#define XPRAM_MAJOR 35 +#define NETLINK_MAJOR 36 +#define PS2ESDI_MAJOR 36 +#define IDETAPE_MAJOR 37 +#define Z2RAM_MAJOR 37 +#define APBLOCK_MAJOR 38 +#define DDV_MAJOR 39 +#define NBD_MAJOR 43 +#define RISCOM8_NORMAL_MAJOR 48 +#define DAC960_MAJOR 48 +#define RISCOM8_CALLOUT_MAJOR 49 +#define MKISS_MAJOR 55 +#define DSP56K_MAJOR 55 +#define IDE4_MAJOR 56 +#define IDE5_MAJOR 57 +#define SCSI_DISK1_MAJOR 65 +#define SCSI_DISK2_MAJOR 66 +#define SCSI_DISK3_MAJOR 67 +#define SCSI_DISK4_MAJOR 68 +#define SCSI_DISK5_MAJOR 69 +#define SCSI_DISK6_MAJOR 70 +#define SCSI_DISK7_MAJOR 71 +#define COMPAQ_SMART2_MAJOR 72 +#define COMPAQ_SMART2_MAJOR1 73 +#define COMPAQ_SMART2_MAJOR2 74 +#define COMPAQ_SMART2_MAJOR3 75 +#define COMPAQ_SMART2_MAJOR4 76 +#define COMPAQ_SMART2_MAJOR5 77 +#define COMPAQ_SMART2_MAJOR6 78 +#define COMPAQ_SMART2_MAJOR7 79 +#define SPECIALIX_NORMAL_MAJOR 75 +#define SPECIALIX_CALLOUT_MAJOR 76 +#define AURORA_MAJOR 79 +#define I2O_MAJOR 80 +#define SHMIQ_MAJOR 85 +#define SCSI_CHANGER_MAJOR 86 +#define IDE6_MAJOR 88 +#define IDE7_MAJOR 89 +#define IDE8_MAJOR 90 +#define MTD_CHAR_MAJOR 90 +#define IDE9_MAJOR 91 +#define DASD_MAJOR 94 +#define MDISK_MAJOR 95 +#define UBD_MAJOR 98 +#define PP_MAJOR 99 +#define JSFD_MAJOR 99 +#define PHONE_MAJOR 100 +#define COMPAQ_CISS_MAJOR 104 +#define COMPAQ_CISS_MAJOR1 105 +#define COMPAQ_CISS_MAJOR2 106 +#define COMPAQ_CISS_MAJOR3 107 +#define COMPAQ_CISS_MAJOR4 108 +#define COMPAQ_CISS_MAJOR5 109 +#define COMPAQ_CISS_MAJOR6 110 +#define COMPAQ_CISS_MAJOR7 111 +#define VIODASD_MAJOR 112 +#define VIOCD_MAJOR 113 +#define ATARAID_MAJOR 114 +#define SCSI_DISK8_MAJOR 128 +#define SCSI_DISK9_MAJOR 129 +#define SCSI_DISK10_MAJOR 130 +#define SCSI_DISK11_MAJOR 131 +#define SCSI_DISK12_MAJOR 132 +#define SCSI_DISK13_MAJOR 133 +#define SCSI_DISK14_MAJOR 134 +#define SCSI_DISK15_MAJOR 135 +#define UNIX98_PTY_MASTER_MAJOR 128 +#define UNIX98_PTY_MAJOR_COUNT 8 +#define UNIX98_PTY_SLAVE_MAJOR (UNIX98_PTY_MASTER_MAJOR+UNIX98_PTY_MAJOR_COUNT) +#define DRBD_MAJOR 147 +#define RTF_MAJOR 150 +#define RAW_MAJOR 162 +#define USB_ACM_MAJOR 166 +#define USB_ACM_AUX_MAJOR 167 +#define USB_CHAR_MAJOR 180 +#define MMC_BLOCK_MAJOR 179 +#define VXVM_MAJOR 199 +#define VXSPEC_MAJOR 200 +#define VXDMP_MAJOR 201 +#define XENVBD_MAJOR 202 +#define MSR_MAJOR 202 +#define CPUID_MAJOR 203 +#define OSST_MAJOR 206 +#define IBM_TTY3270_MAJOR 227 +#define IBM_FS3270_MAJOR 228 +#define VIOTAPE_MAJOR 230 +#define BLOCK_EXT_MAJOR 259 +#define SCSI_OSD_MAJOR 260 +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/map_to_7segment.h b/linux-5.10/prebuilts/usr/include/linux/map_to_7segment.h new file mode 100644 index 0000000..bb64a8e --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/map_to_7segment.h @@ -0,0 +1,93 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef MAP_TO_7SEGMENT_H +#define MAP_TO_7SEGMENT_H +#include +#define BIT_SEG7_A 0 +#define BIT_SEG7_B 1 +#define BIT_SEG7_C 2 +#define BIT_SEG7_D 3 +#define BIT_SEG7_E 4 +#define BIT_SEG7_F 5 +#define BIT_SEG7_G 6 +#define BIT_SEG7_RESERVED 7 +struct seg7_conversion_map { + unsigned char table[128]; +}; +static __inline__ int map_to_seg7(struct seg7_conversion_map *map, int c) +{ + return c >= 0 && c < sizeof(map->table) ? map->table[c] : -EINVAL; +} +#define SEG7_CONVERSION_MAP(_name, _map) \ + struct seg7_conversion_map _name = { .table = { _map } } +#define MAP_TO_SEG7_SYSFS_FILE "map_seg7" +#define _SEG7(l,a,b,c,d,e,f,g) \ + ( a<',1,1,0,0,0,0,1), _SEG7('?',1,1,1,0,0,1,0),\ + _SEG7('@',1,1,0,1,1,1,1), +#define _MAP_65_90_ASCII_SEG7_ALPHA_UPPR \ + _SEG7('A',1,1,1,0,1,1,1), _SEG7('B',1,1,1,1,1,1,1), _SEG7('C',1,0,0,1,1,1,0),\ + _SEG7('D',1,1,1,1,1,1,0), _SEG7('E',1,0,0,1,1,1,1), _SEG7('F',1,0,0,0,1,1,1),\ + _SEG7('G',1,1,1,1,0,1,1), _SEG7('H',0,1,1,0,1,1,1), _SEG7('I',0,1,1,0,0,0,0),\ + _SEG7('J',0,1,1,1,0,0,0), _SEG7('K',0,1,1,0,1,1,1), _SEG7('L',0,0,0,1,1,1,0),\ + _SEG7('M',1,1,1,0,1,1,0), _SEG7('N',1,1,1,0,1,1,0), _SEG7('O',1,1,1,1,1,1,0),\ + _SEG7('P',1,1,0,0,1,1,1), _SEG7('Q',1,1,1,1,1,1,0), _SEG7('R',1,1,1,0,1,1,1),\ + _SEG7('S',1,0,1,1,0,1,1), _SEG7('T',0,0,0,1,1,1,1), _SEG7('U',0,1,1,1,1,1,0),\ + _SEG7('V',0,1,1,1,1,1,0), _SEG7('W',0,1,1,1,1,1,1), _SEG7('X',0,1,1,0,1,1,1),\ + _SEG7('Y',0,1,1,0,0,1,1), _SEG7('Z',1,1,0,1,1,0,1), +#define _MAP_91_96_ASCII_SEG7_SYMBOL \ + _SEG7('[',1,0,0,1,1,1,0), _SEG7('\\',0,0,1,0,0,1,1),_SEG7(']',1,1,1,1,0,0,0),\ + _SEG7('^',1,1,0,0,0,1,0), _SEG7('_',0,0,0,1,0,0,0), _SEG7('`',0,1,0,0,0,0,0), +#define _MAP_97_122_ASCII_SEG7_ALPHA_LOWER \ + _SEG7('A',1,1,1,0,1,1,1), _SEG7('b',0,0,1,1,1,1,1), _SEG7('c',0,0,0,1,1,0,1),\ + _SEG7('d',0,1,1,1,1,0,1), _SEG7('E',1,0,0,1,1,1,1), _SEG7('F',1,0,0,0,1,1,1),\ + _SEG7('G',1,1,1,1,0,1,1), _SEG7('h',0,0,1,0,1,1,1), _SEG7('i',0,0,1,0,0,0,0),\ + _SEG7('j',0,0,1,1,0,0,0), _SEG7('k',0,0,1,0,1,1,1), _SEG7('L',0,0,0,1,1,1,0),\ + _SEG7('M',1,1,1,0,1,1,0), _SEG7('n',0,0,1,0,1,0,1), _SEG7('o',0,0,1,1,1,0,1),\ + _SEG7('P',1,1,0,0,1,1,1), _SEG7('q',1,1,1,0,0,1,1), _SEG7('r',0,0,0,0,1,0,1),\ + _SEG7('S',1,0,1,1,0,1,1), _SEG7('T',0,0,0,1,1,1,1), _SEG7('u',0,0,1,1,1,0,0),\ + _SEG7('v',0,0,1,1,1,0,0), _SEG7('W',0,1,1,1,1,1,1), _SEG7('X',0,1,1,0,1,1,1),\ + _SEG7('y',0,1,1,1,0,1,1), _SEG7('Z',1,1,0,1,1,0,1), +#define _MAP_123_126_ASCII_SEG7_SYMBOL \ + _SEG7('{',1,0,0,1,1,1,0), _SEG7('|',0,0,0,0,1,1,0), _SEG7('}',1,1,1,1,0,0,0),\ + _SEG7('~',1,0,0,0,0,0,0), +#define MAP_ASCII7SEG_ALPHANUM \ + _MAP_0_32_ASCII_SEG7_NON_PRINTABLE \ + _MAP_33_47_ASCII_SEG7_SYMBOL \ + _MAP_48_57_ASCII_SEG7_NUMERIC \ + _MAP_58_64_ASCII_SEG7_SYMBOL \ + _MAP_65_90_ASCII_SEG7_ALPHA_UPPR \ + _MAP_91_96_ASCII_SEG7_SYMBOL \ + _MAP_97_122_ASCII_SEG7_ALPHA_LOWER \ + _MAP_123_126_ASCII_SEG7_SYMBOL +#define MAP_ASCII7SEG_ALPHANUM_LC \ + _MAP_0_32_ASCII_SEG7_NON_PRINTABLE \ + _MAP_33_47_ASCII_SEG7_SYMBOL \ + _MAP_48_57_ASCII_SEG7_NUMERIC \ + _MAP_58_64_ASCII_SEG7_SYMBOL \ + _MAP_97_122_ASCII_SEG7_ALPHA_LOWER \ + _MAP_91_96_ASCII_SEG7_SYMBOL \ + _MAP_97_122_ASCII_SEG7_ALPHA_LOWER \ + _MAP_123_126_ASCII_SEG7_SYMBOL +#define SEG7_DEFAULT_MAP(_name) \ + SEG7_CONVERSION_MAP(_name,MAP_ASCII7SEG_ALPHANUM) +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/matroxfb.h b/linux-5.10/prebuilts/usr/include/linux/matroxfb.h new file mode 100644 index 0000000..c92989b --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/matroxfb.h @@ -0,0 +1,36 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef __LINUX_MATROXFB_H__ +#define __LINUX_MATROXFB_H__ +#include +#include +#include +#include +struct matroxioc_output_mode { + __u32 output; +#define MATROXFB_OUTPUT_PRIMARY 0x0000 +#define MATROXFB_OUTPUT_SECONDARY 0x0001 +#define MATROXFB_OUTPUT_DFP 0x0002 + __u32 mode; +#define MATROXFB_OUTPUT_MODE_PAL 0x0001 +#define MATROXFB_OUTPUT_MODE_NTSC 0x0002 +#define MATROXFB_OUTPUT_MODE_MONITOR 0x0080 +}; +#define MATROXFB_SET_OUTPUT_MODE _IOW('n',0xFA,size_t) +#define MATROXFB_GET_OUTPUT_MODE _IOWR('n',0xFA,size_t) +#define MATROXFB_OUTPUT_CONN_PRIMARY (1 << MATROXFB_OUTPUT_PRIMARY) +#define MATROXFB_OUTPUT_CONN_SECONDARY (1 << MATROXFB_OUTPUT_SECONDARY) +#define MATROXFB_OUTPUT_CONN_DFP (1 << MATROXFB_OUTPUT_DFP) +#define MATROXFB_SET_OUTPUT_CONNECTION _IOW('n',0xF8,size_t) +#define MATROXFB_GET_OUTPUT_CONNECTION _IOR('n',0xF8,size_t) +#define MATROXFB_GET_AVAILABLE_OUTPUTS _IOR('n',0xF9,size_t) +#define MATROXFB_GET_ALL_OUTPUTS _IOR('n',0xFB,size_t) +enum matroxfb_ctrl_id { + MATROXFB_CID_TESTOUT = V4L2_CID_PRIVATE_BASE, + MATROXFB_CID_DEFLICKER, + MATROXFB_CID_LAST +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/max2175.h b/linux-5.10/prebuilts/usr/include/linux/max2175.h new file mode 100644 index 0000000..b9c5f29 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/max2175.h @@ -0,0 +1,12 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef __UAPI_MAX2175_H_ +#define __UAPI_MAX2175_H_ +#include +#define V4L2_CID_MAX2175_I2S_ENABLE (V4L2_CID_USER_MAX217X_BASE + 0x01) +#define V4L2_CID_MAX2175_HSLS (V4L2_CID_USER_MAX217X_BASE + 0x02) +#define V4L2_CID_MAX2175_RX_MODE (V4L2_CID_USER_MAX217X_BASE + 0x03) +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/mdio.h b/linux-5.10/prebuilts/usr/include/linux/mdio.h new file mode 100644 index 0000000..ea02f54 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/mdio.h @@ -0,0 +1,265 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI__LINUX_MDIO_H__ +#define _UAPI__LINUX_MDIO_H__ +#include +#include +#define MDIO_MMD_PMAPMD 1 +#define MDIO_MMD_WIS 2 +#define MDIO_MMD_PCS 3 +#define MDIO_MMD_PHYXS 4 +#define MDIO_MMD_DTEXS 5 +#define MDIO_MMD_TC 6 +#define MDIO_MMD_AN 7 +#define MDIO_MMD_C22EXT 29 +#define MDIO_MMD_VEND1 30 +#define MDIO_MMD_VEND2 31 +#define MDIO_CTRL1 MII_BMCR +#define MDIO_STAT1 MII_BMSR +#define MDIO_DEVID1 MII_PHYSID1 +#define MDIO_DEVID2 MII_PHYSID2 +#define MDIO_SPEED 4 +#define MDIO_DEVS1 5 +#define MDIO_DEVS2 6 +#define MDIO_CTRL2 7 +#define MDIO_STAT2 8 +#define MDIO_PMA_TXDIS 9 +#define MDIO_PMA_RXDET 10 +#define MDIO_PMA_EXTABLE 11 +#define MDIO_PKGID1 14 +#define MDIO_PKGID2 15 +#define MDIO_AN_ADVERTISE 16 +#define MDIO_AN_LPA 19 +#define MDIO_PCS_EEE_ABLE 20 +#define MDIO_PCS_EEE_ABLE2 21 +#define MDIO_PMA_NG_EXTABLE 21 +#define MDIO_PCS_EEE_WK_ERR 22 +#define MDIO_PHYXS_LNSTAT 24 +#define MDIO_AN_EEE_ADV 60 +#define MDIO_AN_EEE_LPABLE 61 +#define MDIO_AN_EEE_ADV2 62 +#define MDIO_AN_EEE_LPABLE2 63 +#define MDIO_PMA_10GBT_SWAPPOL 130 +#define MDIO_PMA_10GBT_TXPWR 131 +#define MDIO_PMA_10GBT_SNR 133 +#define MDIO_PMA_10GBR_FECABLE 170 +#define MDIO_PCS_10GBX_STAT1 24 +#define MDIO_PCS_10GBRT_STAT1 32 +#define MDIO_PCS_10GBRT_STAT2 33 +#define MDIO_AN_10GBT_CTRL 32 +#define MDIO_AN_10GBT_STAT 33 +#define MDIO_PMA_LASI_RXCTRL 0x9000 +#define MDIO_PMA_LASI_TXCTRL 0x9001 +#define MDIO_PMA_LASI_CTRL 0x9002 +#define MDIO_PMA_LASI_RXSTAT 0x9003 +#define MDIO_PMA_LASI_TXSTAT 0x9004 +#define MDIO_PMA_LASI_STAT 0x9005 +#define MDIO_CTRL1_SPEEDSELEXT (BMCR_SPEED1000 | BMCR_SPEED100) +#define MDIO_CTRL1_SPEEDSEL (MDIO_CTRL1_SPEEDSELEXT | 0x003c) +#define MDIO_CTRL1_FULLDPLX BMCR_FULLDPLX +#define MDIO_CTRL1_LPOWER BMCR_PDOWN +#define MDIO_CTRL1_RESET BMCR_RESET +#define MDIO_PMA_CTRL1_LOOPBACK 0x0001 +#define MDIO_PMA_CTRL1_SPEED1000 BMCR_SPEED1000 +#define MDIO_PMA_CTRL1_SPEED100 BMCR_SPEED100 +#define MDIO_PCS_CTRL1_LOOPBACK BMCR_LOOPBACK +#define MDIO_PHYXS_CTRL1_LOOPBACK BMCR_LOOPBACK +#define MDIO_AN_CTRL1_RESTART BMCR_ANRESTART +#define MDIO_AN_CTRL1_ENABLE BMCR_ANENABLE +#define MDIO_AN_CTRL1_XNP 0x2000 +#define MDIO_PCS_CTRL1_CLKSTOP_EN 0x400 +#define MDIO_CTRL1_SPEED10G (MDIO_CTRL1_SPEEDSELEXT | 0x00) +#define MDIO_CTRL1_SPEED10P2B (MDIO_CTRL1_SPEEDSELEXT | 0x04) +#define MDIO_CTRL1_SPEED2_5G (MDIO_CTRL1_SPEEDSELEXT | 0x18) +#define MDIO_CTRL1_SPEED5G (MDIO_CTRL1_SPEEDSELEXT | 0x1c) +#define MDIO_STAT1_LPOWERABLE 0x0002 +#define MDIO_STAT1_LSTATUS BMSR_LSTATUS +#define MDIO_STAT1_FAULT 0x0080 +#define MDIO_AN_STAT1_LPABLE 0x0001 +#define MDIO_AN_STAT1_ABLE BMSR_ANEGCAPABLE +#define MDIO_AN_STAT1_RFAULT BMSR_RFAULT +#define MDIO_AN_STAT1_COMPLETE BMSR_ANEGCOMPLETE +#define MDIO_AN_STAT1_PAGE 0x0040 +#define MDIO_AN_STAT1_XNP 0x0080 +#define MDIO_SPEED_10G 0x0001 +#define MDIO_PMA_SPEED_2B 0x0002 +#define MDIO_PMA_SPEED_10P 0x0004 +#define MDIO_PMA_SPEED_1000 0x0010 +#define MDIO_PMA_SPEED_100 0x0020 +#define MDIO_PMA_SPEED_10 0x0040 +#define MDIO_PCS_SPEED_10P2B 0x0002 +#define MDIO_DEVS_PRESENT(devad) (1 << (devad)) +#define MDIO_DEVS_C22PRESENT MDIO_DEVS_PRESENT(0) +#define MDIO_DEVS_PMAPMD MDIO_DEVS_PRESENT(MDIO_MMD_PMAPMD) +#define MDIO_DEVS_WIS MDIO_DEVS_PRESENT(MDIO_MMD_WIS) +#define MDIO_DEVS_PCS MDIO_DEVS_PRESENT(MDIO_MMD_PCS) +#define MDIO_DEVS_PHYXS MDIO_DEVS_PRESENT(MDIO_MMD_PHYXS) +#define MDIO_DEVS_DTEXS MDIO_DEVS_PRESENT(MDIO_MMD_DTEXS) +#define MDIO_DEVS_TC MDIO_DEVS_PRESENT(MDIO_MMD_TC) +#define MDIO_DEVS_AN MDIO_DEVS_PRESENT(MDIO_MMD_AN) +#define MDIO_DEVS_C22EXT MDIO_DEVS_PRESENT(MDIO_MMD_C22EXT) +#define MDIO_DEVS_VEND1 MDIO_DEVS_PRESENT(MDIO_MMD_VEND1) +#define MDIO_DEVS_VEND2 MDIO_DEVS_PRESENT(MDIO_MMD_VEND2) +#define MDIO_PMA_CTRL2_TYPE 0x000f +#define MDIO_PMA_CTRL2_10GBCX4 0x0000 +#define MDIO_PMA_CTRL2_10GBEW 0x0001 +#define MDIO_PMA_CTRL2_10GBLW 0x0002 +#define MDIO_PMA_CTRL2_10GBSW 0x0003 +#define MDIO_PMA_CTRL2_10GBLX4 0x0004 +#define MDIO_PMA_CTRL2_10GBER 0x0005 +#define MDIO_PMA_CTRL2_10GBLR 0x0006 +#define MDIO_PMA_CTRL2_10GBSR 0x0007 +#define MDIO_PMA_CTRL2_10GBLRM 0x0008 +#define MDIO_PMA_CTRL2_10GBT 0x0009 +#define MDIO_PMA_CTRL2_10GBKX4 0x000a +#define MDIO_PMA_CTRL2_10GBKR 0x000b +#define MDIO_PMA_CTRL2_1000BT 0x000c +#define MDIO_PMA_CTRL2_1000BKX 0x000d +#define MDIO_PMA_CTRL2_100BTX 0x000e +#define MDIO_PMA_CTRL2_10BT 0x000f +#define MDIO_PMA_CTRL2_2_5GBT 0x0030 +#define MDIO_PMA_CTRL2_5GBT 0x0031 +#define MDIO_PCS_CTRL2_TYPE 0x0003 +#define MDIO_PCS_CTRL2_10GBR 0x0000 +#define MDIO_PCS_CTRL2_10GBX 0x0001 +#define MDIO_PCS_CTRL2_10GBW 0x0002 +#define MDIO_PCS_CTRL2_10GBT 0x0003 +#define MDIO_STAT2_RXFAULT 0x0400 +#define MDIO_STAT2_TXFAULT 0x0800 +#define MDIO_STAT2_DEVPRST 0xc000 +#define MDIO_STAT2_DEVPRST_VAL 0x8000 +#define MDIO_PMA_STAT2_LBABLE 0x0001 +#define MDIO_PMA_STAT2_10GBEW 0x0002 +#define MDIO_PMA_STAT2_10GBLW 0x0004 +#define MDIO_PMA_STAT2_10GBSW 0x0008 +#define MDIO_PMA_STAT2_10GBLX4 0x0010 +#define MDIO_PMA_STAT2_10GBER 0x0020 +#define MDIO_PMA_STAT2_10GBLR 0x0040 +#define MDIO_PMA_STAT2_10GBSR 0x0080 +#define MDIO_PMD_STAT2_TXDISAB 0x0100 +#define MDIO_PMA_STAT2_EXTABLE 0x0200 +#define MDIO_PMA_STAT2_RXFLTABLE 0x1000 +#define MDIO_PMA_STAT2_TXFLTABLE 0x2000 +#define MDIO_PCS_STAT2_10GBR 0x0001 +#define MDIO_PCS_STAT2_10GBX 0x0002 +#define MDIO_PCS_STAT2_10GBW 0x0004 +#define MDIO_PCS_STAT2_RXFLTABLE 0x1000 +#define MDIO_PCS_STAT2_TXFLTABLE 0x2000 +#define MDIO_PMD_TXDIS_GLOBAL 0x0001 +#define MDIO_PMD_TXDIS_0 0x0002 +#define MDIO_PMD_TXDIS_1 0x0004 +#define MDIO_PMD_TXDIS_2 0x0008 +#define MDIO_PMD_TXDIS_3 0x0010 +#define MDIO_PMD_RXDET_GLOBAL 0x0001 +#define MDIO_PMD_RXDET_0 0x0002 +#define MDIO_PMD_RXDET_1 0x0004 +#define MDIO_PMD_RXDET_2 0x0008 +#define MDIO_PMD_RXDET_3 0x0010 +#define MDIO_PMA_EXTABLE_10GCX4 0x0001 +#define MDIO_PMA_EXTABLE_10GBLRM 0x0002 +#define MDIO_PMA_EXTABLE_10GBT 0x0004 +#define MDIO_PMA_EXTABLE_10GBKX4 0x0008 +#define MDIO_PMA_EXTABLE_10GBKR 0x0010 +#define MDIO_PMA_EXTABLE_1000BT 0x0020 +#define MDIO_PMA_EXTABLE_1000BKX 0x0040 +#define MDIO_PMA_EXTABLE_100BTX 0x0080 +#define MDIO_PMA_EXTABLE_10BT 0x0100 +#define MDIO_PMA_EXTABLE_NBT 0x4000 +#define MDIO_PHYXS_LNSTAT_SYNC0 0x0001 +#define MDIO_PHYXS_LNSTAT_SYNC1 0x0002 +#define MDIO_PHYXS_LNSTAT_SYNC2 0x0004 +#define MDIO_PHYXS_LNSTAT_SYNC3 0x0008 +#define MDIO_PHYXS_LNSTAT_ALIGN 0x1000 +#define MDIO_PMA_10GBT_SWAPPOL_ABNX 0x0001 +#define MDIO_PMA_10GBT_SWAPPOL_CDNX 0x0002 +#define MDIO_PMA_10GBT_SWAPPOL_AREV 0x0100 +#define MDIO_PMA_10GBT_SWAPPOL_BREV 0x0200 +#define MDIO_PMA_10GBT_SWAPPOL_CREV 0x0400 +#define MDIO_PMA_10GBT_SWAPPOL_DREV 0x0800 +#define MDIO_PMA_10GBT_TXPWR_SHORT 0x0001 +#define MDIO_PMA_10GBT_SNR_BIAS 0x8000 +#define MDIO_PMA_10GBT_SNR_MAX 127 +#define MDIO_PMA_10GBR_FECABLE_ABLE 0x0001 +#define MDIO_PMA_10GBR_FECABLE_ERRABLE 0x0002 +#define MDIO_PCS_10GBRT_STAT1_BLKLK 0x0001 +#define MDIO_PCS_10GBRT_STAT2_ERR 0x00ff +#define MDIO_PCS_10GBRT_STAT2_BER 0x3f00 +#define MDIO_AN_10GBT_CTRL_ADV2_5G 0x0080 +#define MDIO_AN_10GBT_CTRL_ADV5G 0x0100 +#define MDIO_AN_10GBT_CTRL_ADV10G 0x1000 +#define MDIO_AN_10GBT_STAT_LP2_5G 0x0020 +#define MDIO_AN_10GBT_STAT_LP5G 0x0040 +#define MDIO_AN_10GBT_STAT_LPTRR 0x0200 +#define MDIO_AN_10GBT_STAT_LPLTABLE 0x0400 +#define MDIO_AN_10GBT_STAT_LP10G 0x0800 +#define MDIO_AN_10GBT_STAT_REMOK 0x1000 +#define MDIO_AN_10GBT_STAT_LOCOK 0x2000 +#define MDIO_AN_10GBT_STAT_MS 0x4000 +#define MDIO_AN_10GBT_STAT_MSFLT 0x8000 +#define MDIO_AN_EEE_ADV_100TX 0x0002 +#define MDIO_AN_EEE_ADV_1000T 0x0004 +#define MDIO_EEE_100TX MDIO_AN_EEE_ADV_100TX +#define MDIO_EEE_1000T MDIO_AN_EEE_ADV_1000T +#define MDIO_EEE_10GT 0x0008 +#define MDIO_EEE_1000KX 0x0010 +#define MDIO_EEE_10GKX4 0x0020 +#define MDIO_EEE_10GKR 0x0040 +#define MDIO_EEE_40GR_FW 0x0100 +#define MDIO_EEE_40GR_DS 0x0200 +#define MDIO_EEE_100GR_FW 0x1000 +#define MDIO_EEE_100GR_DS 0x2000 +#define MDIO_EEE_2_5GT 0x0001 +#define MDIO_EEE_5GT 0x0002 +#define MDIO_PMA_NG_EXTABLE_2_5GBT 0x0001 +#define MDIO_PMA_NG_EXTABLE_5GBT 0x0002 +#define MDIO_PMA_LASI_RX_PHYXSLFLT 0x0001 +#define MDIO_PMA_LASI_RX_PCSLFLT 0x0008 +#define MDIO_PMA_LASI_RX_PMALFLT 0x0010 +#define MDIO_PMA_LASI_RX_OPTICPOWERFLT 0x0020 +#define MDIO_PMA_LASI_RX_WISLFLT 0x0200 +#define MDIO_PMA_LASI_TX_PHYXSLFLT 0x0001 +#define MDIO_PMA_LASI_TX_PCSLFLT 0x0008 +#define MDIO_PMA_LASI_TX_PMALFLT 0x0010 +#define MDIO_PMA_LASI_TX_LASERPOWERFLT 0x0080 +#define MDIO_PMA_LASI_TX_LASERTEMPFLT 0x0100 +#define MDIO_PMA_LASI_TX_LASERBICURRFLT 0x0200 +#define MDIO_PMA_LASI_LSALARM 0x0001 +#define MDIO_PMA_LASI_TXALARM 0x0002 +#define MDIO_PMA_LASI_RXALARM 0x0004 +#define MDIO_PHY_ID_C45 0x8000 +#define MDIO_PHY_ID_PRTAD 0x03e0 +#define MDIO_PHY_ID_DEVAD 0x001f +#define MDIO_PHY_ID_C45_MASK \ + (MDIO_PHY_ID_C45 | MDIO_PHY_ID_PRTAD | MDIO_PHY_ID_DEVAD) +static inline __u16 mdio_phy_id_c45(int prtad, int devad) +{ + return MDIO_PHY_ID_C45 | (prtad << 5) | devad; +} +#define MDIO_USXGMII_EEE_CLK_STP 0x0080 +#define MDIO_USXGMII_EEE 0x0100 +#define MDIO_USXGMII_SPD_MASK 0x0e00 +#define MDIO_USXGMII_FULL_DUPLEX 0x1000 +#define MDIO_USXGMII_DPX_SPD_MASK 0x1e00 +#define MDIO_USXGMII_10 0x0000 +#define MDIO_USXGMII_10HALF 0x0000 +#define MDIO_USXGMII_10FULL 0x1000 +#define MDIO_USXGMII_100 0x0200 +#define MDIO_USXGMII_100HALF 0x0200 +#define MDIO_USXGMII_100FULL 0x1200 +#define MDIO_USXGMII_1000 0x0400 +#define MDIO_USXGMII_1000HALF 0x0400 +#define MDIO_USXGMII_1000FULL 0x1400 +#define MDIO_USXGMII_10G 0x0600 +#define MDIO_USXGMII_10GHALF 0x0600 +#define MDIO_USXGMII_10GFULL 0x1600 +#define MDIO_USXGMII_2500 0x0800 +#define MDIO_USXGMII_2500HALF 0x0800 +#define MDIO_USXGMII_2500FULL 0x1800 +#define MDIO_USXGMII_5000 0x0a00 +#define MDIO_USXGMII_5000HALF 0x0a00 +#define MDIO_USXGMII_5000FULL 0x1a00 +#define MDIO_USXGMII_LINK 0x8000 +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/media-bus-format.h b/linux-5.10/prebuilts/usr/include/linux/media-bus-format.h new file mode 100644 index 0000000..e2a5658 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/media-bus-format.h @@ -0,0 +1,117 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef __LINUX_MEDIA_BUS_FORMAT_H +#define __LINUX_MEDIA_BUS_FORMAT_H +#define MEDIA_BUS_FMT_FIXED 0x0001 +#define MEDIA_BUS_FMT_RGB444_1X12 0x1016 +#define MEDIA_BUS_FMT_RGB444_2X8_PADHI_BE 0x1001 +#define MEDIA_BUS_FMT_RGB444_2X8_PADHI_LE 0x1002 +#define MEDIA_BUS_FMT_RGB555_2X8_PADHI_BE 0x1003 +#define MEDIA_BUS_FMT_RGB555_2X8_PADHI_LE 0x1004 +#define MEDIA_BUS_FMT_RGB565_1X16 0x1017 +#define MEDIA_BUS_FMT_BGR565_2X8_BE 0x1005 +#define MEDIA_BUS_FMT_BGR565_2X8_LE 0x1006 +#define MEDIA_BUS_FMT_RGB565_2X8_BE 0x1007 +#define MEDIA_BUS_FMT_RGB565_2X8_LE 0x1008 +#define MEDIA_BUS_FMT_RGB666_1X18 0x1009 +#define MEDIA_BUS_FMT_RBG888_1X24 0x100e +#define MEDIA_BUS_FMT_RGB666_1X24_CPADHI 0x1015 +#define MEDIA_BUS_FMT_RGB666_1X7X3_SPWG 0x1010 +#define MEDIA_BUS_FMT_BGR888_1X24 0x1013 +#define MEDIA_BUS_FMT_BGR888_3X8 0x101b +#define MEDIA_BUS_FMT_GBR888_1X24 0x1014 +#define MEDIA_BUS_FMT_RGB888_1X24 0x100a +#define MEDIA_BUS_FMT_RGB888_2X12_BE 0x100b +#define MEDIA_BUS_FMT_RGB888_2X12_LE 0x100c +#define MEDIA_BUS_FMT_RGB888_3X8 0x101c +#define MEDIA_BUS_FMT_RGB888_1X7X4_SPWG 0x1011 +#define MEDIA_BUS_FMT_RGB888_1X7X4_JEIDA 0x1012 +#define MEDIA_BUS_FMT_ARGB8888_1X32 0x100d +#define MEDIA_BUS_FMT_RGB888_1X32_PADHI 0x100f +#define MEDIA_BUS_FMT_RGB101010_1X30 0x1018 +#define MEDIA_BUS_FMT_RGB121212_1X36 0x1019 +#define MEDIA_BUS_FMT_RGB161616_1X48 0x101a +#define MEDIA_BUS_FMT_Y8_1X8 0x2001 +#define MEDIA_BUS_FMT_UV8_1X8 0x2015 +#define MEDIA_BUS_FMT_UYVY8_1_5X8 0x2002 +#define MEDIA_BUS_FMT_VYUY8_1_5X8 0x2003 +#define MEDIA_BUS_FMT_YUYV8_1_5X8 0x2004 +#define MEDIA_BUS_FMT_YVYU8_1_5X8 0x2005 +#define MEDIA_BUS_FMT_UYVY8_2X8 0x2006 +#define MEDIA_BUS_FMT_VYUY8_2X8 0x2007 +#define MEDIA_BUS_FMT_YUYV8_2X8 0x2008 +#define MEDIA_BUS_FMT_YVYU8_2X8 0x2009 +#define MEDIA_BUS_FMT_Y10_1X10 0x200a +#define MEDIA_BUS_FMT_Y10_2X8_PADHI_LE 0x202c +#define MEDIA_BUS_FMT_UYVY10_2X10 0x2018 +#define MEDIA_BUS_FMT_VYUY10_2X10 0x2019 +#define MEDIA_BUS_FMT_YUYV10_2X10 0x200b +#define MEDIA_BUS_FMT_YVYU10_2X10 0x200c +#define MEDIA_BUS_FMT_Y12_1X12 0x2013 +#define MEDIA_BUS_FMT_UYVY12_2X12 0x201c +#define MEDIA_BUS_FMT_VYUY12_2X12 0x201d +#define MEDIA_BUS_FMT_YUYV12_2X12 0x201e +#define MEDIA_BUS_FMT_YVYU12_2X12 0x201f +#define MEDIA_BUS_FMT_Y14_1X14 0x202d +#define MEDIA_BUS_FMT_UYVY8_1X16 0x200f +#define MEDIA_BUS_FMT_VYUY8_1X16 0x2010 +#define MEDIA_BUS_FMT_YUYV8_1X16 0x2011 +#define MEDIA_BUS_FMT_YVYU8_1X16 0x2012 +#define MEDIA_BUS_FMT_YDYUYDYV8_1X16 0x2014 +#define MEDIA_BUS_FMT_UYVY10_1X20 0x201a +#define MEDIA_BUS_FMT_VYUY10_1X20 0x201b +#define MEDIA_BUS_FMT_YUYV10_1X20 0x200d +#define MEDIA_BUS_FMT_YVYU10_1X20 0x200e +#define MEDIA_BUS_FMT_VUY8_1X24 0x2024 +#define MEDIA_BUS_FMT_YUV8_1X24 0x2025 +#define MEDIA_BUS_FMT_UYYVYY8_0_5X24 0x2026 +#define MEDIA_BUS_FMT_UYVY12_1X24 0x2020 +#define MEDIA_BUS_FMT_VYUY12_1X24 0x2021 +#define MEDIA_BUS_FMT_YUYV12_1X24 0x2022 +#define MEDIA_BUS_FMT_YVYU12_1X24 0x2023 +#define MEDIA_BUS_FMT_YUV10_1X30 0x2016 +#define MEDIA_BUS_FMT_UYYVYY10_0_5X30 0x2027 +#define MEDIA_BUS_FMT_AYUV8_1X32 0x2017 +#define MEDIA_BUS_FMT_UYYVYY12_0_5X36 0x2028 +#define MEDIA_BUS_FMT_YUV12_1X36 0x2029 +#define MEDIA_BUS_FMT_YUV16_1X48 0x202a +#define MEDIA_BUS_FMT_UYYVYY16_0_5X48 0x202b +#define MEDIA_BUS_FMT_SBGGR8_1X8 0x3001 +#define MEDIA_BUS_FMT_SGBRG8_1X8 0x3013 +#define MEDIA_BUS_FMT_SGRBG8_1X8 0x3002 +#define MEDIA_BUS_FMT_SRGGB8_1X8 0x3014 +#define MEDIA_BUS_FMT_SBGGR10_ALAW8_1X8 0x3015 +#define MEDIA_BUS_FMT_SGBRG10_ALAW8_1X8 0x3016 +#define MEDIA_BUS_FMT_SGRBG10_ALAW8_1X8 0x3017 +#define MEDIA_BUS_FMT_SRGGB10_ALAW8_1X8 0x3018 +#define MEDIA_BUS_FMT_SBGGR10_DPCM8_1X8 0x300b +#define MEDIA_BUS_FMT_SGBRG10_DPCM8_1X8 0x300c +#define MEDIA_BUS_FMT_SGRBG10_DPCM8_1X8 0x3009 +#define MEDIA_BUS_FMT_SRGGB10_DPCM8_1X8 0x300d +#define MEDIA_BUS_FMT_SBGGR10_2X8_PADHI_BE 0x3003 +#define MEDIA_BUS_FMT_SBGGR10_2X8_PADHI_LE 0x3004 +#define MEDIA_BUS_FMT_SBGGR10_2X8_PADLO_BE 0x3005 +#define MEDIA_BUS_FMT_SBGGR10_2X8_PADLO_LE 0x3006 +#define MEDIA_BUS_FMT_SBGGR10_1X10 0x3007 +#define MEDIA_BUS_FMT_SGBRG10_1X10 0x300e +#define MEDIA_BUS_FMT_SGRBG10_1X10 0x300a +#define MEDIA_BUS_FMT_SRGGB10_1X10 0x300f +#define MEDIA_BUS_FMT_SBGGR12_1X12 0x3008 +#define MEDIA_BUS_FMT_SGBRG12_1X12 0x3010 +#define MEDIA_BUS_FMT_SGRBG12_1X12 0x3011 +#define MEDIA_BUS_FMT_SRGGB12_1X12 0x3012 +#define MEDIA_BUS_FMT_SBGGR14_1X14 0x3019 +#define MEDIA_BUS_FMT_SGBRG14_1X14 0x301a +#define MEDIA_BUS_FMT_SGRBG14_1X14 0x301b +#define MEDIA_BUS_FMT_SRGGB14_1X14 0x301c +#define MEDIA_BUS_FMT_SBGGR16_1X16 0x301d +#define MEDIA_BUS_FMT_SGBRG16_1X16 0x301e +#define MEDIA_BUS_FMT_SGRBG16_1X16 0x301f +#define MEDIA_BUS_FMT_SRGGB16_1X16 0x3020 +#define MEDIA_BUS_FMT_JPEG_1X8 0x4001 +#define MEDIA_BUS_FMT_S5C_UYVY_JPEG_1X8 0x5001 +#define MEDIA_BUS_FMT_AHSV8888_1X32 0x6001 +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/media.h b/linux-5.10/prebuilts/usr/include/linux/media.h new file mode 100644 index 0000000..b355be2 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/media.h @@ -0,0 +1,240 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef __LINUX_MEDIA_H +#define __LINUX_MEDIA_H +#ifndef __KERNEL__ +#include +#endif +#include +#include +struct media_device_info { + char driver[16]; + char model[32]; + char serial[40]; + char bus_info[32]; + __u32 media_version; + __u32 hw_revision; + __u32 driver_version; + __u32 reserved[31]; +}; +#define MEDIA_ENT_F_BASE 0x00000000 +#define MEDIA_ENT_F_OLD_BASE 0x00010000 +#define MEDIA_ENT_F_OLD_SUBDEV_BASE 0x00020000 +#define MEDIA_ENT_F_UNKNOWN MEDIA_ENT_F_BASE +#define MEDIA_ENT_F_V4L2_SUBDEV_UNKNOWN MEDIA_ENT_F_OLD_SUBDEV_BASE +#define MEDIA_ENT_F_DTV_DEMOD (MEDIA_ENT_F_BASE + 0x00001) +#define MEDIA_ENT_F_TS_DEMUX (MEDIA_ENT_F_BASE + 0x00002) +#define MEDIA_ENT_F_DTV_CA (MEDIA_ENT_F_BASE + 0x00003) +#define MEDIA_ENT_F_DTV_NET_DECAP (MEDIA_ENT_F_BASE + 0x00004) +#define MEDIA_ENT_F_IO_V4L (MEDIA_ENT_F_OLD_BASE + 1) +#define MEDIA_ENT_F_IO_DTV (MEDIA_ENT_F_BASE + 0x01001) +#define MEDIA_ENT_F_IO_VBI (MEDIA_ENT_F_BASE + 0x01002) +#define MEDIA_ENT_F_IO_SWRADIO (MEDIA_ENT_F_BASE + 0x01003) +#define MEDIA_ENT_F_CAM_SENSOR (MEDIA_ENT_F_OLD_SUBDEV_BASE + 1) +#define MEDIA_ENT_F_FLASH (MEDIA_ENT_F_OLD_SUBDEV_BASE + 2) +#define MEDIA_ENT_F_LENS (MEDIA_ENT_F_OLD_SUBDEV_BASE + 3) +#define MEDIA_ENT_F_TUNER (MEDIA_ENT_F_OLD_SUBDEV_BASE + 5) +#define MEDIA_ENT_F_IF_VID_DECODER (MEDIA_ENT_F_BASE + 0x02001) +#define MEDIA_ENT_F_IF_AUD_DECODER (MEDIA_ENT_F_BASE + 0x02002) +#define MEDIA_ENT_F_AUDIO_CAPTURE (MEDIA_ENT_F_BASE + 0x03001) +#define MEDIA_ENT_F_AUDIO_PLAYBACK (MEDIA_ENT_F_BASE + 0x03002) +#define MEDIA_ENT_F_AUDIO_MIXER (MEDIA_ENT_F_BASE + 0x03003) +#define MEDIA_ENT_F_PROC_VIDEO_COMPOSER (MEDIA_ENT_F_BASE + 0x4001) +#define MEDIA_ENT_F_PROC_VIDEO_PIXEL_FORMATTER (MEDIA_ENT_F_BASE + 0x4002) +#define MEDIA_ENT_F_PROC_VIDEO_PIXEL_ENC_CONV (MEDIA_ENT_F_BASE + 0x4003) +#define MEDIA_ENT_F_PROC_VIDEO_LUT (MEDIA_ENT_F_BASE + 0x4004) +#define MEDIA_ENT_F_PROC_VIDEO_SCALER (MEDIA_ENT_F_BASE + 0x4005) +#define MEDIA_ENT_F_PROC_VIDEO_STATISTICS (MEDIA_ENT_F_BASE + 0x4006) +#define MEDIA_ENT_F_PROC_VIDEO_ENCODER (MEDIA_ENT_F_BASE + 0x4007) +#define MEDIA_ENT_F_PROC_VIDEO_DECODER (MEDIA_ENT_F_BASE + 0x4008) +#define MEDIA_ENT_F_VID_MUX (MEDIA_ENT_F_BASE + 0x5001) +#define MEDIA_ENT_F_VID_IF_BRIDGE (MEDIA_ENT_F_BASE + 0x5002) +#define MEDIA_ENT_F_ATV_DECODER (MEDIA_ENT_F_OLD_SUBDEV_BASE + 4) +#define MEDIA_ENT_F_DV_DECODER (MEDIA_ENT_F_BASE + 0x6001) +#define MEDIA_ENT_F_DV_ENCODER (MEDIA_ENT_F_BASE + 0x6002) +#define MEDIA_ENT_FL_DEFAULT (1 << 0) +#define MEDIA_ENT_FL_CONNECTOR (1 << 1) +#define MEDIA_ENT_ID_FLAG_NEXT (1U << 31) +struct media_entity_desc { + __u32 id; + char name[32]; + __u32 type; + __u32 revision; + __u32 flags; + __u32 group_id; + __u16 pads; + __u16 links; + __u32 reserved[4]; + union { + + struct { + __u32 major; + __u32 minor; + } dev; +#if !defined(__KERNEL__) + + struct { + __u32 card; + __u32 device; + __u32 subdevice; + } alsa; + + struct { + __u32 major; + __u32 minor; + } v4l; + struct { + __u32 major; + __u32 minor; + } fb; + int dvb; +#endif + + + __u8 raw[184]; + }; +}; +#define MEDIA_PAD_FL_SINK (1 << 0) +#define MEDIA_PAD_FL_SOURCE (1 << 1) +#define MEDIA_PAD_FL_MUST_CONNECT (1 << 2) +struct media_pad_desc { + __u32 entity; + __u16 index; + __u32 flags; + __u32 reserved[2]; +}; +#define MEDIA_LNK_FL_ENABLED (1 << 0) +#define MEDIA_LNK_FL_IMMUTABLE (1 << 1) +#define MEDIA_LNK_FL_DYNAMIC (1 << 2) +#define MEDIA_LNK_FL_LINK_TYPE (0xf << 28) +# define MEDIA_LNK_FL_DATA_LINK (0 << 28) +# define MEDIA_LNK_FL_INTERFACE_LINK (1 << 28) +struct media_link_desc { + struct media_pad_desc source; + struct media_pad_desc sink; + __u32 flags; + __u32 reserved[2]; +}; +struct media_links_enum { + __u32 entity; + + struct media_pad_desc __user *pads; + + struct media_link_desc __user *links; + __u32 reserved[4]; +}; +#define MEDIA_INTF_T_DVB_BASE 0x00000100 +#define MEDIA_INTF_T_V4L_BASE 0x00000200 +#define MEDIA_INTF_T_DVB_FE (MEDIA_INTF_T_DVB_BASE) +#define MEDIA_INTF_T_DVB_DEMUX (MEDIA_INTF_T_DVB_BASE + 1) +#define MEDIA_INTF_T_DVB_DVR (MEDIA_INTF_T_DVB_BASE + 2) +#define MEDIA_INTF_T_DVB_CA (MEDIA_INTF_T_DVB_BASE + 3) +#define MEDIA_INTF_T_DVB_NET (MEDIA_INTF_T_DVB_BASE + 4) +#define MEDIA_INTF_T_V4L_VIDEO (MEDIA_INTF_T_V4L_BASE) +#define MEDIA_INTF_T_V4L_VBI (MEDIA_INTF_T_V4L_BASE + 1) +#define MEDIA_INTF_T_V4L_RADIO (MEDIA_INTF_T_V4L_BASE + 2) +#define MEDIA_INTF_T_V4L_SUBDEV (MEDIA_INTF_T_V4L_BASE + 3) +#define MEDIA_INTF_T_V4L_SWRADIO (MEDIA_INTF_T_V4L_BASE + 4) +#define MEDIA_INTF_T_V4L_TOUCH (MEDIA_INTF_T_V4L_BASE + 5) +#define MEDIA_INTF_T_ALSA_BASE 0x00000300 +#define MEDIA_INTF_T_ALSA_PCM_CAPTURE (MEDIA_INTF_T_ALSA_BASE) +#define MEDIA_INTF_T_ALSA_PCM_PLAYBACK (MEDIA_INTF_T_ALSA_BASE + 1) +#define MEDIA_INTF_T_ALSA_CONTROL (MEDIA_INTF_T_ALSA_BASE + 2) +#if defined(__KERNEL__) +#define MEDIA_ENT_F_CONN_RF (MEDIA_ENT_F_BASE + 0x30001) +#define MEDIA_ENT_F_CONN_SVIDEO (MEDIA_ENT_F_BASE + 0x30002) +#define MEDIA_ENT_F_CONN_COMPOSITE (MEDIA_ENT_F_BASE + 0x30003) +#endif +#define MEDIA_V2_ENTITY_HAS_FLAGS(media_version) \ + ((media_version) >= ((4 << 16) | (19 << 8) | 0)) +struct media_v2_entity { + __u32 id; + char name[64]; + __u32 function; + __u32 flags; + __u32 reserved[5]; +} __attribute__ ((packed)); +struct media_v2_intf_devnode { + __u32 major; + __u32 minor; +} __attribute__ ((packed)); +struct media_v2_interface { + __u32 id; + __u32 intf_type; + __u32 flags; + __u32 reserved[9]; + union { + struct media_v2_intf_devnode devnode; + __u32 raw[16]; + }; +} __attribute__ ((packed)); +#define MEDIA_V2_PAD_HAS_INDEX(media_version) \ + ((media_version) >= ((4 << 16) | (19 << 8) | 0)) +struct media_v2_pad { + __u32 id; + __u32 entity_id; + __u32 flags; + __u32 index; + __u32 reserved[4]; +} __attribute__ ((packed)); +struct media_v2_link { + __u32 id; + __u32 source_id; + __u32 sink_id; + __u32 flags; + __u32 reserved[6]; +} __attribute__ ((packed)); +struct media_v2_topology { + __u64 topology_version; + __u32 num_entities; + __u32 reserved1; + __u64 ptr_entities; + __u32 num_interfaces; + __u32 reserved2; + __u64 ptr_interfaces; + __u32 num_pads; + __u32 reserved3; + __u64 ptr_pads; + __u32 num_links; + __u32 reserved4; + __u64 ptr_links; +} __attribute__ ((packed)); +#define MEDIA_IOC_DEVICE_INFO _IOWR('|', 0x00, struct media_device_info) +#define MEDIA_IOC_ENUM_ENTITIES _IOWR('|', 0x01, struct media_entity_desc) +#define MEDIA_IOC_ENUM_LINKS _IOWR('|', 0x02, struct media_links_enum) +#define MEDIA_IOC_SETUP_LINK _IOWR('|', 0x03, struct media_link_desc) +#define MEDIA_IOC_G_TOPOLOGY _IOWR('|', 0x04, struct media_v2_topology) +#define MEDIA_IOC_REQUEST_ALLOC _IOR ('|', 0x05, int) +#define MEDIA_REQUEST_IOC_QUEUE _IO('|', 0x80) +#define MEDIA_REQUEST_IOC_REINIT _IO('|', 0x81) +#ifndef __KERNEL__ +#define MEDIA_ENT_TYPE_SHIFT 16 +#define MEDIA_ENT_TYPE_MASK 0x00ff0000 +#define MEDIA_ENT_SUBTYPE_MASK 0x0000ffff +#define MEDIA_ENT_T_DEVNODE_UNKNOWN (MEDIA_ENT_F_OLD_BASE | \ + MEDIA_ENT_SUBTYPE_MASK) +#define MEDIA_ENT_T_DEVNODE MEDIA_ENT_F_OLD_BASE +#define MEDIA_ENT_T_DEVNODE_V4L MEDIA_ENT_F_IO_V4L +#define MEDIA_ENT_T_DEVNODE_FB (MEDIA_ENT_F_OLD_BASE + 2) +#define MEDIA_ENT_T_DEVNODE_ALSA (MEDIA_ENT_F_OLD_BASE + 3) +#define MEDIA_ENT_T_DEVNODE_DVB (MEDIA_ENT_F_OLD_BASE + 4) +#define MEDIA_ENT_T_UNKNOWN MEDIA_ENT_F_UNKNOWN +#define MEDIA_ENT_T_V4L2_VIDEO MEDIA_ENT_F_IO_V4L +#define MEDIA_ENT_T_V4L2_SUBDEV MEDIA_ENT_F_V4L2_SUBDEV_UNKNOWN +#define MEDIA_ENT_T_V4L2_SUBDEV_SENSOR MEDIA_ENT_F_CAM_SENSOR +#define MEDIA_ENT_T_V4L2_SUBDEV_FLASH MEDIA_ENT_F_FLASH +#define MEDIA_ENT_T_V4L2_SUBDEV_LENS MEDIA_ENT_F_LENS +#define MEDIA_ENT_T_V4L2_SUBDEV_DECODER MEDIA_ENT_F_ATV_DECODER +#define MEDIA_ENT_T_V4L2_SUBDEV_TUNER MEDIA_ENT_F_TUNER +#define MEDIA_ENT_F_DTV_DECODER MEDIA_ENT_F_DV_DECODER +#define MEDIA_INTF_T_ALSA_COMPRESS (MEDIA_INTF_T_ALSA_BASE + 3) +#define MEDIA_INTF_T_ALSA_RAWMIDI (MEDIA_INTF_T_ALSA_BASE + 4) +#define MEDIA_INTF_T_ALSA_HWDEP (MEDIA_INTF_T_ALSA_BASE + 5) +#define MEDIA_INTF_T_ALSA_SEQUENCER (MEDIA_INTF_T_ALSA_BASE + 6) +#define MEDIA_INTF_T_ALSA_TIMER (MEDIA_INTF_T_ALSA_BASE + 7) +#define MEDIA_API_VERSION ((0 << 16) | (1 << 8) | 0) +#endif +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/mei.h b/linux-5.10/prebuilts/usr/include/linux/mei.h new file mode 100644 index 0000000..1a0d181 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/mei.h @@ -0,0 +1,37 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _LINUX_MEI_H +#define _LINUX_MEI_H +#include +#define IOCTL_MEI_CONNECT_CLIENT \ + _IOWR('H' , 0x01, struct mei_connect_client_data) +struct mei_client { + __u32 max_msg_length; + __u8 protocol_version; + __u8 reserved[3]; +}; +struct mei_connect_client_data { + union { + uuid_le in_client_uuid; + struct mei_client out_client_properties; + }; +}; +#define IOCTL_MEI_NOTIFY_SET _IOW('H', 0x02, __u32) +#define IOCTL_MEI_NOTIFY_GET _IOR('H', 0x03, __u32) +struct mei_connect_client_vtag { + uuid_le in_client_uuid; + __u8 vtag; + __u8 reserved[3]; +}; +struct mei_connect_client_data_vtag { + union { + struct mei_connect_client_vtag connect; + struct mei_client out_client_properties; + }; +}; +#define IOCTL_MEI_CONNECT_CLIENT_VTAG \ + _IOWR('H', 0x04, struct mei_connect_client_data_vtag) +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/membarrier.h b/linux-5.10/prebuilts/usr/include/linux/membarrier.h new file mode 100644 index 0000000..b234763 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/membarrier.h @@ -0,0 +1,25 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI_LINUX_MEMBARRIER_H +#define _UAPI_LINUX_MEMBARRIER_H +enum membarrier_cmd { + MEMBARRIER_CMD_QUERY = 0, + MEMBARRIER_CMD_GLOBAL = (1 << 0), + MEMBARRIER_CMD_GLOBAL_EXPEDITED = (1 << 1), + MEMBARRIER_CMD_REGISTER_GLOBAL_EXPEDITED = (1 << 2), + MEMBARRIER_CMD_PRIVATE_EXPEDITED = (1 << 3), + MEMBARRIER_CMD_REGISTER_PRIVATE_EXPEDITED = (1 << 4), + MEMBARRIER_CMD_PRIVATE_EXPEDITED_SYNC_CORE = (1 << 5), + MEMBARRIER_CMD_REGISTER_PRIVATE_EXPEDITED_SYNC_CORE = (1 << 6), + MEMBARRIER_CMD_PRIVATE_EXPEDITED_RSEQ = (1 << 7), + MEMBARRIER_CMD_REGISTER_PRIVATE_EXPEDITED_RSEQ = (1 << 8), + + MEMBARRIER_CMD_SHARED = MEMBARRIER_CMD_GLOBAL, +}; +enum membarrier_cmd_flag { + MEMBARRIER_CMD_FLAG_CPU = (1 << 0), +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/memfd.h b/linux-5.10/prebuilts/usr/include/linux/memfd.h new file mode 100644 index 0000000..5c131a5 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/memfd.h @@ -0,0 +1,26 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI_LINUX_MEMFD_H +#define _UAPI_LINUX_MEMFD_H +#include +#define MFD_CLOEXEC 0x0001U +#define MFD_ALLOW_SEALING 0x0002U +#define MFD_HUGETLB 0x0004U +#define MFD_HUGE_SHIFT HUGETLB_FLAG_ENCODE_SHIFT +#define MFD_HUGE_MASK HUGETLB_FLAG_ENCODE_MASK +#define MFD_HUGE_64KB HUGETLB_FLAG_ENCODE_64KB +#define MFD_HUGE_512KB HUGETLB_FLAG_ENCODE_512KB +#define MFD_HUGE_1MB HUGETLB_FLAG_ENCODE_1MB +#define MFD_HUGE_2MB HUGETLB_FLAG_ENCODE_2MB +#define MFD_HUGE_8MB HUGETLB_FLAG_ENCODE_8MB +#define MFD_HUGE_16MB HUGETLB_FLAG_ENCODE_16MB +#define MFD_HUGE_32MB HUGETLB_FLAG_ENCODE_32MB +#define MFD_HUGE_256MB HUGETLB_FLAG_ENCODE_256MB +#define MFD_HUGE_512MB HUGETLB_FLAG_ENCODE_512MB +#define MFD_HUGE_1GB HUGETLB_FLAG_ENCODE_1GB +#define MFD_HUGE_2GB HUGETLB_FLAG_ENCODE_2GB +#define MFD_HUGE_16GB HUGETLB_FLAG_ENCODE_16GB +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/mempolicy.h b/linux-5.10/prebuilts/usr/include/linux/mempolicy.h new file mode 100644 index 0000000..d5c2511 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/mempolicy.h @@ -0,0 +1,35 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI_LINUX_MEMPOLICY_H +#define _UAPI_LINUX_MEMPOLICY_H +#include +enum { + MPOL_DEFAULT, + MPOL_PREFERRED, + MPOL_BIND, + MPOL_INTERLEAVE, + MPOL_LOCAL, + MPOL_MAX, +}; +#define MPOL_F_STATIC_NODES (1 << 15) +#define MPOL_F_RELATIVE_NODES (1 << 14) +#define MPOL_MODE_FLAGS (MPOL_F_STATIC_NODES | MPOL_F_RELATIVE_NODES) +#define MPOL_F_NODE (1<<0) +#define MPOL_F_ADDR (1<<1) +#define MPOL_F_MEMS_ALLOWED (1<<2) +#define MPOL_MF_STRICT (1<<0) +#define MPOL_MF_MOVE (1<<1) +#define MPOL_MF_MOVE_ALL (1<<2) +#define MPOL_MF_LAZY (1<<3) +#define MPOL_MF_INTERNAL (1<<4) +#define MPOL_MF_VALID (MPOL_MF_STRICT | \ + MPOL_MF_MOVE | \ + MPOL_MF_MOVE_ALL) +#define MPOL_F_SHARED (1 << 0) +#define MPOL_F_LOCAL (1 << 1) +#define MPOL_F_MOF (1 << 3) +#define MPOL_F_MORON (1 << 4) +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/meye.h b/linux-5.10/prebuilts/usr/include/linux/meye.h new file mode 100644 index 0000000..c215070 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/meye.h @@ -0,0 +1,25 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _MEYE_H_ +#define _MEYE_H_ +struct meye_params { + unsigned char subsample; + unsigned char quality; + unsigned char sharpness; + unsigned char agc; + unsigned char picture; + unsigned char framerate; +}; +#define MEYEIOC_G_PARAMS _IOR ('v', BASE_VIDIOC_PRIVATE+0, struct meye_params) +#define MEYEIOC_S_PARAMS _IOW ('v', BASE_VIDIOC_PRIVATE+1, struct meye_params) +#define MEYEIOC_QBUF_CAPT _IOW ('v', BASE_VIDIOC_PRIVATE+2, int) +#define MEYEIOC_SYNC _IOWR('v', BASE_VIDIOC_PRIVATE+3, int) +#define MEYEIOC_STILLCAPT _IO ('v', BASE_VIDIOC_PRIVATE+4) +#define MEYEIOC_STILLJCAPT _IOR ('v', BASE_VIDIOC_PRIVATE+5, int) +#define V4L2_CID_MEYE_AGC (V4L2_CID_USER_MEYE_BASE + 0) +#define V4L2_CID_MEYE_PICTURE (V4L2_CID_USER_MEYE_BASE + 1) +#define V4L2_CID_MEYE_FRAMERATE (V4L2_CID_USER_MEYE_BASE + 2) +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/mic_common.h b/linux-5.10/prebuilts/usr/include/linux/mic_common.h new file mode 100644 index 0000000..815ca3d --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/mic_common.h @@ -0,0 +1,105 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef __MIC_COMMON_H_ +#define __MIC_COMMON_H_ +#include +#define __mic_align(a, x) (((a) + (x) - 1) & ~((x) - 1)) +struct mic_device_desc { + __s8 type; + __u8 num_vq; + __u8 feature_len; + __u8 config_len; + __u8 status; + __le64 config[0]; +} __attribute__ ((aligned(8))); +struct mic_device_ctrl { + __le64 vdev; + __u8 config_change; + __u8 vdev_reset; + __u8 guest_ack; + __u8 host_ack; + __u8 used_address_updated; + __s8 c2h_vdev_db; + __s8 h2c_vdev_db; +} __attribute__ ((aligned(8))); +struct mic_bootparam { + __le32 magic; + __s8 h2c_config_db; + __u8 node_id; + __u8 h2c_scif_db; + __u8 c2h_scif_db; + __u64 scif_host_dma_addr; + __u64 scif_card_dma_addr; +} __attribute__ ((aligned(8))); +struct mic_device_page { + struct mic_bootparam bootparam; + struct mic_device_desc desc[0]; +}; +struct mic_vqconfig { + __le64 address; + __le64 used_address; + __le16 num; +} __attribute__ ((aligned(8))); +#define MIC_VIRTIO_RING_ALIGN 4096 +#define MIC_MAX_VRINGS 4 +#define MIC_VRING_ENTRIES 128 +#define MIC_MAX_VRING_ENTRIES 128 +#define MIC_MAX_DESC_BLK_SIZE 256 +struct _mic_vring_info { + __u16 avail_idx; + __le32 magic; +}; +struct mic_vring { + struct vring vr; + struct _mic_vring_info *info; + void *va; + int len; +}; +#define mic_aligned_desc_size(d) __mic_align(mic_desc_size(d), 8) +#ifndef INTEL_MIC_CARD +static inline unsigned mic_desc_size(const struct mic_device_desc *desc) +{ + return sizeof(*desc) + desc->num_vq * sizeof(struct mic_vqconfig) + + desc->feature_len * 2 + desc->config_len; +} +static inline struct mic_vqconfig * +mic_vq_config(const struct mic_device_desc *desc) +{ + return (struct mic_vqconfig *)(desc + 1); +} +static inline __u8 *mic_vq_features(const struct mic_device_desc *desc) +{ + return (__u8 *)(mic_vq_config(desc) + desc->num_vq); +} +static inline __u8 *mic_vq_configspace(const struct mic_device_desc *desc) +{ + return mic_vq_features(desc) + desc->feature_len * 2; +} +static inline unsigned mic_total_desc_size(struct mic_device_desc *desc) +{ + return mic_aligned_desc_size(desc) + sizeof(struct mic_device_ctrl); +} +#endif +#define MIC_DP_SIZE 4096 +#define MIC_MAGIC 0xc0ffee00 +enum mic_states { + MIC_READY = 0, + MIC_BOOTING, + MIC_ONLINE, + MIC_SHUTTING_DOWN, + MIC_RESETTING, + MIC_RESET_FAILED, + MIC_LAST +}; +enum mic_status { + MIC_NOP = 0, + MIC_CRASHED, + MIC_HALTED, + MIC_POWER_OFF, + MIC_RESTART, + MIC_STATUS_LAST +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/mic_ioctl.h b/linux-5.10/prebuilts/usr/include/linux/mic_ioctl.h new file mode 100644 index 0000000..1de995f --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/mic_ioctl.h @@ -0,0 +1,23 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _MIC_IOCTL_H_ +#define _MIC_IOCTL_H_ +#include +struct mic_copy_desc { +#ifdef __KERNEL__ + struct iovec __user *iov; +#else + struct iovec *iov; +#endif + __u32 iovcnt; + __u8 vr_idx; + __u8 update_used; + __u32 out_len; +}; +#define MIC_VIRTIO_ADD_DEVICE _IOWR('s', 1, struct mic_device_desc *) +#define MIC_VIRTIO_COPY_DESC _IOWR('s', 2, struct mic_copy_desc *) +#define MIC_VIRTIO_CONFIG_CHANGE _IOWR('s', 5, __u8 *) +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/mii.h b/linux-5.10/prebuilts/usr/include/linux/mii.h new file mode 100644 index 0000000..181107c --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/mii.h @@ -0,0 +1,151 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI__LINUX_MII_H__ +#define _UAPI__LINUX_MII_H__ +#include +#include +#define MII_BMCR 0x00 +#define MII_BMSR 0x01 +#define MII_PHYSID1 0x02 +#define MII_PHYSID2 0x03 +#define MII_ADVERTISE 0x04 +#define MII_LPA 0x05 +#define MII_EXPANSION 0x06 +#define MII_CTRL1000 0x09 +#define MII_STAT1000 0x0a +#define MII_MMD_CTRL 0x0d +#define MII_MMD_DATA 0x0e +#define MII_ESTATUS 0x0f +#define MII_DCOUNTER 0x12 +#define MII_FCSCOUNTER 0x13 +#define MII_NWAYTEST 0x14 +#define MII_RERRCOUNTER 0x15 +#define MII_SREVISION 0x16 +#define MII_RESV1 0x17 +#define MII_LBRERROR 0x18 +#define MII_PHYADDR 0x19 +#define MII_RESV2 0x1a +#define MII_TPISTATUS 0x1b +#define MII_NCONFIG 0x1c +#define BMCR_RESV 0x003f +#define BMCR_SPEED1000 0x0040 +#define BMCR_CTST 0x0080 +#define BMCR_FULLDPLX 0x0100 +#define BMCR_ANRESTART 0x0200 +#define BMCR_ISOLATE 0x0400 +#define BMCR_PDOWN 0x0800 +#define BMCR_ANENABLE 0x1000 +#define BMCR_SPEED100 0x2000 +#define BMCR_LOOPBACK 0x4000 +#define BMCR_RESET 0x8000 +#define BMCR_SPEED10 0x0000 +#define BMSR_ERCAP 0x0001 +#define BMSR_JCD 0x0002 +#define BMSR_LSTATUS 0x0004 +#define BMSR_ANEGCAPABLE 0x0008 +#define BMSR_RFAULT 0x0010 +#define BMSR_ANEGCOMPLETE 0x0020 +#define BMSR_RESV 0x00c0 +#define BMSR_ESTATEN 0x0100 +#define BMSR_100HALF2 0x0200 +#define BMSR_100FULL2 0x0400 +#define BMSR_10HALF 0x0800 +#define BMSR_10FULL 0x1000 +#define BMSR_100HALF 0x2000 +#define BMSR_100FULL 0x4000 +#define BMSR_100BASE4 0x8000 +#define ADVERTISE_SLCT 0x001f +#define ADVERTISE_CSMA 0x0001 +#define ADVERTISE_10HALF 0x0020 +#define ADVERTISE_1000XFULL 0x0020 +#define ADVERTISE_10FULL 0x0040 +#define ADVERTISE_1000XHALF 0x0040 +#define ADVERTISE_100HALF 0x0080 +#define ADVERTISE_1000XPAUSE 0x0080 +#define ADVERTISE_100FULL 0x0100 +#define ADVERTISE_1000XPSE_ASYM 0x0100 +#define ADVERTISE_100BASE4 0x0200 +#define ADVERTISE_PAUSE_CAP 0x0400 +#define ADVERTISE_PAUSE_ASYM 0x0800 +#define ADVERTISE_RESV 0x1000 +#define ADVERTISE_RFAULT 0x2000 +#define ADVERTISE_LPACK 0x4000 +#define ADVERTISE_NPAGE 0x8000 +#define ADVERTISE_FULL (ADVERTISE_100FULL | ADVERTISE_10FULL | \ + ADVERTISE_CSMA) +#define ADVERTISE_ALL (ADVERTISE_10HALF | ADVERTISE_10FULL | \ + ADVERTISE_100HALF | ADVERTISE_100FULL) +#define LPA_SLCT 0x001f +#define LPA_10HALF 0x0020 +#define LPA_1000XFULL 0x0020 +#define LPA_10FULL 0x0040 +#define LPA_1000XHALF 0x0040 +#define LPA_100HALF 0x0080 +#define LPA_1000XPAUSE 0x0080 +#define LPA_100FULL 0x0100 +#define LPA_1000XPAUSE_ASYM 0x0100 +#define LPA_100BASE4 0x0200 +#define LPA_PAUSE_CAP 0x0400 +#define LPA_PAUSE_ASYM 0x0800 +#define LPA_RESV 0x1000 +#define LPA_RFAULT 0x2000 +#define LPA_LPACK 0x4000 +#define LPA_NPAGE 0x8000 +#define LPA_DUPLEX (LPA_10FULL | LPA_100FULL) +#define LPA_100 (LPA_100FULL | LPA_100HALF | LPA_100BASE4) +#define EXPANSION_NWAY 0x0001 +#define EXPANSION_LCWP 0x0002 +#define EXPANSION_ENABLENPAGE 0x0004 +#define EXPANSION_NPCAPABLE 0x0008 +#define EXPANSION_MFAULTS 0x0010 +#define EXPANSION_RESV 0xffe0 +#define ESTATUS_1000_XFULL 0x8000 +#define ESTATUS_1000_XHALF 0x4000 +#define ESTATUS_1000_TFULL 0x2000 +#define ESTATUS_1000_THALF 0x1000 +#define NWAYTEST_RESV1 0x00ff +#define NWAYTEST_LOOPBACK 0x0100 +#define NWAYTEST_RESV2 0xfe00 +#define ADVERTISE_SGMII 0x0001 +#define LPA_SGMII 0x0001 +#define LPA_SGMII_SPD_MASK 0x0c00 +#define LPA_SGMII_FULL_DUPLEX 0x1000 +#define LPA_SGMII_DPX_SPD_MASK 0x1C00 +#define LPA_SGMII_10 0x0000 +#define LPA_SGMII_10HALF 0x0000 +#define LPA_SGMII_10FULL 0x1000 +#define LPA_SGMII_100 0x0400 +#define LPA_SGMII_100HALF 0x0400 +#define LPA_SGMII_100FULL 0x1400 +#define LPA_SGMII_1000 0x0800 +#define LPA_SGMII_1000HALF 0x0800 +#define LPA_SGMII_1000FULL 0x1800 +#define LPA_SGMII_LINK 0x8000 +#define ADVERTISE_1000FULL 0x0200 +#define ADVERTISE_1000HALF 0x0100 +#define CTL1000_PREFER_MASTER 0x0400 +#define CTL1000_AS_MASTER 0x0800 +#define CTL1000_ENABLE_MASTER 0x1000 +#define LPA_1000MSFAIL 0x8000 +#define LPA_1000MSRES 0x4000 +#define LPA_1000LOCALRXOK 0x2000 +#define LPA_1000REMRXOK 0x1000 +#define LPA_1000FULL 0x0800 +#define LPA_1000HALF 0x0400 +#define FLOW_CTRL_TX 0x01 +#define FLOW_CTRL_RX 0x02 +#define MII_MMD_CTRL_DEVAD_MASK 0x1f +#define MII_MMD_CTRL_ADDR 0x0000 +#define MII_MMD_CTRL_NOINCR 0x4000 +#define MII_MMD_CTRL_INCR_RDWT 0x8000 +#define MII_MMD_CTRL_INCR_ON_WT 0xC000 +struct mii_ioctl_data { + __u16 phy_id; + __u16 reg_num; + __u16 val_in; + __u16 val_out; +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/minix_fs.h b/linux-5.10/prebuilts/usr/include/linux/minix_fs.h new file mode 100644 index 0000000..46bb501 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/minix_fs.h @@ -0,0 +1,73 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _LINUX_MINIX_FS_H +#define _LINUX_MINIX_FS_H +#include +#include +#define MINIX_ROOT_INO 1 +#define MINIX_LINK_MAX 250 +#define MINIX2_LINK_MAX 65530 +#define MINIX_I_MAP_SLOTS 8 +#define MINIX_Z_MAP_SLOTS 64 +#define MINIX_VALID_FS 0x0001 +#define MINIX_ERROR_FS 0x0002 +#define MINIX_INODES_PER_BLOCK ((BLOCK_SIZE)/(sizeof (struct minix_inode))) +struct minix_inode { + __u16 i_mode; + __u16 i_uid; + __u32 i_size; + __u32 i_time; + __u8 i_gid; + __u8 i_nlinks; + __u16 i_zone[9]; +}; +struct minix2_inode { + __u16 i_mode; + __u16 i_nlinks; + __u16 i_uid; + __u16 i_gid; + __u32 i_size; + __u32 i_atime; + __u32 i_mtime; + __u32 i_ctime; + __u32 i_zone[10]; +}; +struct minix_super_block { + __u16 s_ninodes; + __u16 s_nzones; + __u16 s_imap_blocks; + __u16 s_zmap_blocks; + __u16 s_firstdatazone; + __u16 s_log_zone_size; + __u32 s_max_size; + __u16 s_magic; + __u16 s_state; + __u32 s_zones; +}; +struct minix3_super_block { + __u32 s_ninodes; + __u16 s_pad0; + __u16 s_imap_blocks; + __u16 s_zmap_blocks; + __u16 s_firstdatazone; + __u16 s_log_zone_size; + __u16 s_pad1; + __u32 s_max_size; + __u32 s_zones; + __u16 s_magic; + __u16 s_pad2; + __u16 s_blocksize; + __u8 s_disk_version; +}; +struct minix_dir_entry { + __u16 inode; + char name[0]; +}; +struct minix3_dir_entry { + __u32 inode; + char name[0]; +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/mman.h b/linux-5.10/prebuilts/usr/include/linux/mman.h new file mode 100644 index 0000000..10c113d --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/mman.h @@ -0,0 +1,34 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI_LINUX_MMAN_H +#define _UAPI_LINUX_MMAN_H +#include +#include +#define MREMAP_MAYMOVE 1 +#define MREMAP_FIXED 2 +#define MREMAP_DONTUNMAP 4 +#define OVERCOMMIT_GUESS 0 +#define OVERCOMMIT_ALWAYS 1 +#define OVERCOMMIT_NEVER 2 +#define MAP_SHARED 0x01 +#define MAP_PRIVATE 0x02 +#define MAP_SHARED_VALIDATE 0x03 +#define MAP_HUGE_SHIFT HUGETLB_FLAG_ENCODE_SHIFT +#define MAP_HUGE_MASK HUGETLB_FLAG_ENCODE_MASK +#define MAP_HUGE_16KB HUGETLB_FLAG_ENCODE_16KB +#define MAP_HUGE_64KB HUGETLB_FLAG_ENCODE_64KB +#define MAP_HUGE_512KB HUGETLB_FLAG_ENCODE_512KB +#define MAP_HUGE_1MB HUGETLB_FLAG_ENCODE_1MB +#define MAP_HUGE_2MB HUGETLB_FLAG_ENCODE_2MB +#define MAP_HUGE_8MB HUGETLB_FLAG_ENCODE_8MB +#define MAP_HUGE_16MB HUGETLB_FLAG_ENCODE_16MB +#define MAP_HUGE_32MB HUGETLB_FLAG_ENCODE_32MB +#define MAP_HUGE_256MB HUGETLB_FLAG_ENCODE_256MB +#define MAP_HUGE_512MB HUGETLB_FLAG_ENCODE_512MB +#define MAP_HUGE_1GB HUGETLB_FLAG_ENCODE_1GB +#define MAP_HUGE_2GB HUGETLB_FLAG_ENCODE_2GB +#define MAP_HUGE_16GB HUGETLB_FLAG_ENCODE_16GB +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/mmc/ioctl.h b/linux-5.10/prebuilts/usr/include/linux/mmc/ioctl.h new file mode 100644 index 0000000..2d149b1 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/mmc/ioctl.h @@ -0,0 +1,41 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef LINUX_MMC_IOCTL_H +#define LINUX_MMC_IOCTL_H +#include +#include +struct mmc_ioc_cmd { + + int write_flag; + + int is_acmd; + __u32 opcode; + __u32 arg; + __u32 response[4]; + unsigned int flags; + unsigned int blksz; + unsigned int blocks; + + unsigned int postsleep_min_us; + unsigned int postsleep_max_us; + + unsigned int data_timeout_ns; + unsigned int cmd_timeout_ms; + + __u32 __pad; + + __u64 data_ptr; +}; +#define mmc_ioc_cmd_set_data(ic, ptr) ic.data_ptr = (__u64)(unsigned long) ptr +struct mmc_ioc_multi_cmd { + __u64 num_of_cmds; + struct mmc_ioc_cmd cmds[0]; +}; +#define MMC_IOC_CMD _IOWR(MMC_BLOCK_MAJOR, 0, struct mmc_ioc_cmd) +#define MMC_IOC_MULTI_CMD _IOWR(MMC_BLOCK_MAJOR, 1, struct mmc_ioc_multi_cmd) +#define MMC_IOC_MAX_BYTES (512L * 1024) +#define MMC_IOC_MAX_CMDS 255 +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/mmtimer.h b/linux-5.10/prebuilts/usr/include/linux/mmtimer.h new file mode 100644 index 0000000..c055c5e --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/mmtimer.h @@ -0,0 +1,15 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _LINUX_MMTIMER_H +#define _LINUX_MMTIMER_H +#define MMTIMER_IOCTL_BASE 'm' +#define MMTIMER_GETOFFSET _IO(MMTIMER_IOCTL_BASE, 0) +#define MMTIMER_GETRES _IOR(MMTIMER_IOCTL_BASE, 1, unsigned long) +#define MMTIMER_GETFREQ _IOR(MMTIMER_IOCTL_BASE, 2, unsigned long) +#define MMTIMER_GETBITS _IO(MMTIMER_IOCTL_BASE, 4) +#define MMTIMER_MMAPAVAIL _IO(MMTIMER_IOCTL_BASE, 6) +#define MMTIMER_GETCOUNTER _IOR(MMTIMER_IOCTL_BASE, 9, unsigned long) +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/module.h b/linux-5.10/prebuilts/usr/include/linux/module.h new file mode 100644 index 0000000..9598fdf --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/module.h @@ -0,0 +1,10 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI_LINUX_MODULE_H +#define _UAPI_LINUX_MODULE_H +#define MODULE_INIT_IGNORE_MODVERSIONS 1 +#define MODULE_INIT_IGNORE_VERMAGIC 2 +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/mount.h b/linux-5.10/prebuilts/usr/include/linux/mount.h new file mode 100644 index 0000000..783f7b5 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/mount.h @@ -0,0 +1,78 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI_LINUX_MOUNT_H +#define _UAPI_LINUX_MOUNT_H +#define MS_RDONLY 1 +#define MS_NOSUID 2 +#define MS_NODEV 4 +#define MS_NOEXEC 8 +#define MS_SYNCHRONOUS 16 +#define MS_REMOUNT 32 +#define MS_MANDLOCK 64 +#define MS_DIRSYNC 128 +#define MS_NOSYMFOLLOW 256 +#define MS_NOATIME 1024 +#define MS_NODIRATIME 2048 +#define MS_BIND 4096 +#define MS_MOVE 8192 +#define MS_REC 16384 +#define MS_VERBOSE 32768 +#define MS_SILENT 32768 +#define MS_POSIXACL (1<<16) +#define MS_UNBINDABLE (1<<17) +#define MS_PRIVATE (1<<18) +#define MS_SLAVE (1<<19) +#define MS_SHARED (1<<20) +#define MS_RELATIME (1<<21) +#define MS_KERNMOUNT (1<<22) +#define MS_I_VERSION (1<<23) +#define MS_STRICTATIME (1<<24) +#define MS_LAZYTIME (1<<25) +#define MS_SUBMOUNT (1<<26) +#define MS_NOREMOTELOCK (1<<27) +#define MS_NOSEC (1<<28) +#define MS_BORN (1<<29) +#define MS_ACTIVE (1<<30) +#define MS_NOUSER (1<<31) +#define MS_RMT_MASK (MS_RDONLY|MS_SYNCHRONOUS|MS_MANDLOCK|MS_I_VERSION|\ + MS_LAZYTIME) +#define MS_MGC_VAL 0xC0ED0000 +#define MS_MGC_MSK 0xffff0000 +#define OPEN_TREE_CLONE 1 +#define OPEN_TREE_CLOEXEC O_CLOEXEC +#define MOVE_MOUNT_F_SYMLINKS 0x00000001 +#define MOVE_MOUNT_F_AUTOMOUNTS 0x00000002 +#define MOVE_MOUNT_F_EMPTY_PATH 0x00000004 +#define MOVE_MOUNT_T_SYMLINKS 0x00000010 +#define MOVE_MOUNT_T_AUTOMOUNTS 0x00000020 +#define MOVE_MOUNT_T_EMPTY_PATH 0x00000040 +#define MOVE_MOUNT__MASK 0x00000077 +#define FSOPEN_CLOEXEC 0x00000001 +#define FSPICK_CLOEXEC 0x00000001 +#define FSPICK_SYMLINK_NOFOLLOW 0x00000002 +#define FSPICK_NO_AUTOMOUNT 0x00000004 +#define FSPICK_EMPTY_PATH 0x00000008 +enum fsconfig_command { + FSCONFIG_SET_FLAG = 0, + FSCONFIG_SET_STRING = 1, + FSCONFIG_SET_BINARY = 2, + FSCONFIG_SET_PATH = 3, + FSCONFIG_SET_PATH_EMPTY = 4, + FSCONFIG_SET_FD = 5, + FSCONFIG_CMD_CREATE = 6, + FSCONFIG_CMD_RECONFIGURE = 7, +}; +#define FSMOUNT_CLOEXEC 0x00000001 +#define MOUNT_ATTR_RDONLY 0x00000001 +#define MOUNT_ATTR_NOSUID 0x00000002 +#define MOUNT_ATTR_NODEV 0x00000004 +#define MOUNT_ATTR_NOEXEC 0x00000008 +#define MOUNT_ATTR__ATIME 0x00000070 +#define MOUNT_ATTR_RELATIME 0x00000000 +#define MOUNT_ATTR_NOATIME 0x00000010 +#define MOUNT_ATTR_STRICTATIME 0x00000020 +#define MOUNT_ATTR_NODIRATIME 0x00000080 +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/mpls.h b/linux-5.10/prebuilts/usr/include/linux/mpls.h new file mode 100644 index 0000000..78418b3 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/mpls.h @@ -0,0 +1,47 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI_MPLS_H +#define _UAPI_MPLS_H +#include +#include +struct mpls_label { + __be32 entry; +}; +#define MPLS_LS_LABEL_MASK 0xFFFFF000 +#define MPLS_LS_LABEL_SHIFT 12 +#define MPLS_LS_TC_MASK 0x00000E00 +#define MPLS_LS_TC_SHIFT 9 +#define MPLS_LS_S_MASK 0x00000100 +#define MPLS_LS_S_SHIFT 8 +#define MPLS_LS_TTL_MASK 0x000000FF +#define MPLS_LS_TTL_SHIFT 0 +#define MPLS_LABEL_IPV4NULL 0 +#define MPLS_LABEL_RTALERT 1 +#define MPLS_LABEL_IPV6NULL 2 +#define MPLS_LABEL_IMPLNULL 3 +#define MPLS_LABEL_ENTROPY 7 +#define MPLS_LABEL_GAL 13 +#define MPLS_LABEL_OAMALERT 14 +#define MPLS_LABEL_EXTENSION 15 +#define MPLS_LABEL_FIRST_UNRESERVED 16 +enum { + MPLS_STATS_UNSPEC, + MPLS_STATS_LINK, + __MPLS_STATS_MAX, +}; +#define MPLS_STATS_MAX (__MPLS_STATS_MAX - 1) +struct mpls_link_stats { + __u64 rx_packets; + __u64 tx_packets; + __u64 rx_bytes; + __u64 tx_bytes; + __u64 rx_errors; + __u64 tx_errors; + __u64 rx_dropped; + __u64 tx_dropped; + __u64 rx_noroute; +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/mpls_iptunnel.h b/linux-5.10/prebuilts/usr/include/linux/mpls_iptunnel.h new file mode 100644 index 0000000..fcf3fba --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/mpls_iptunnel.h @@ -0,0 +1,15 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI_LINUX_MPLS_IPTUNNEL_H +#define _UAPI_LINUX_MPLS_IPTUNNEL_H +enum { + MPLS_IPTUNNEL_UNSPEC, + MPLS_IPTUNNEL_DST, + MPLS_IPTUNNEL_TTL, + __MPLS_IPTUNNEL_MAX, +}; +#define MPLS_IPTUNNEL_MAX (__MPLS_IPTUNNEL_MAX - 1) +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/mptcp.h b/linux-5.10/prebuilts/usr/include/linux/mptcp.h new file mode 100644 index 0000000..79462c7 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/mptcp.h @@ -0,0 +1,86 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI_MPTCP_H +#define _UAPI_MPTCP_H +#include +#include +#define MPTCP_SUBFLOW_FLAG_MCAP_REM _BITUL(0) +#define MPTCP_SUBFLOW_FLAG_MCAP_LOC _BITUL(1) +#define MPTCP_SUBFLOW_FLAG_JOIN_REM _BITUL(2) +#define MPTCP_SUBFLOW_FLAG_JOIN_LOC _BITUL(3) +#define MPTCP_SUBFLOW_FLAG_BKUP_REM _BITUL(4) +#define MPTCP_SUBFLOW_FLAG_BKUP_LOC _BITUL(5) +#define MPTCP_SUBFLOW_FLAG_FULLY_ESTABLISHED _BITUL(6) +#define MPTCP_SUBFLOW_FLAG_CONNECTED _BITUL(7) +#define MPTCP_SUBFLOW_FLAG_MAPVALID _BITUL(8) +enum { + MPTCP_SUBFLOW_ATTR_UNSPEC, + MPTCP_SUBFLOW_ATTR_TOKEN_REM, + MPTCP_SUBFLOW_ATTR_TOKEN_LOC, + MPTCP_SUBFLOW_ATTR_RELWRITE_SEQ, + MPTCP_SUBFLOW_ATTR_MAP_SEQ, + MPTCP_SUBFLOW_ATTR_MAP_SFSEQ, + MPTCP_SUBFLOW_ATTR_SSN_OFFSET, + MPTCP_SUBFLOW_ATTR_MAP_DATALEN, + MPTCP_SUBFLOW_ATTR_FLAGS, + MPTCP_SUBFLOW_ATTR_ID_REM, + MPTCP_SUBFLOW_ATTR_ID_LOC, + MPTCP_SUBFLOW_ATTR_PAD, + __MPTCP_SUBFLOW_ATTR_MAX +}; +#define MPTCP_SUBFLOW_ATTR_MAX (__MPTCP_SUBFLOW_ATTR_MAX - 1) +#define MPTCP_PM_NAME "mptcp_pm" +#define MPTCP_PM_CMD_GRP_NAME "mptcp_pm_cmds" +#define MPTCP_PM_VER 0x1 +enum { + MPTCP_PM_ATTR_UNSPEC, + MPTCP_PM_ATTR_ADDR, + MPTCP_PM_ATTR_RCV_ADD_ADDRS, + MPTCP_PM_ATTR_SUBFLOWS, + __MPTCP_PM_ATTR_MAX +}; +#define MPTCP_PM_ATTR_MAX (__MPTCP_PM_ATTR_MAX - 1) +enum { + MPTCP_PM_ADDR_ATTR_UNSPEC, + MPTCP_PM_ADDR_ATTR_FAMILY, + MPTCP_PM_ADDR_ATTR_ID, + MPTCP_PM_ADDR_ATTR_ADDR4, + MPTCP_PM_ADDR_ATTR_ADDR6, + MPTCP_PM_ADDR_ATTR_PORT, + MPTCP_PM_ADDR_ATTR_FLAGS, + MPTCP_PM_ADDR_ATTR_IF_IDX, + __MPTCP_PM_ADDR_ATTR_MAX +}; +#define MPTCP_PM_ADDR_ATTR_MAX (__MPTCP_PM_ADDR_ATTR_MAX - 1) +#define MPTCP_PM_ADDR_FLAG_SIGNAL (1 << 0) +#define MPTCP_PM_ADDR_FLAG_SUBFLOW (1 << 1) +#define MPTCP_PM_ADDR_FLAG_BACKUP (1 << 2) +enum { + MPTCP_PM_CMD_UNSPEC, + MPTCP_PM_CMD_ADD_ADDR, + MPTCP_PM_CMD_DEL_ADDR, + MPTCP_PM_CMD_GET_ADDR, + MPTCP_PM_CMD_FLUSH_ADDRS, + MPTCP_PM_CMD_SET_LIMITS, + MPTCP_PM_CMD_GET_LIMITS, + __MPTCP_PM_CMD_AFTER_LAST +}; +#define MPTCP_INFO_FLAG_FALLBACK _BITUL(0) +#define MPTCP_INFO_FLAG_REMOTE_KEY_RECEIVED _BITUL(1) +struct mptcp_info { + __u8 mptcpi_subflows; + __u8 mptcpi_add_addr_signal; + __u8 mptcpi_add_addr_accepted; + __u8 mptcpi_subflows_max; + __u8 mptcpi_add_addr_signal_max; + __u8 mptcpi_add_addr_accepted_max; + __u32 mptcpi_flags; + __u32 mptcpi_token; + __u64 mptcpi_write_seq; + __u64 mptcpi_snd_una; + __u64 mptcpi_rcv_nxt; +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/mqueue.h b/linux-5.10/prebuilts/usr/include/linux/mqueue.h new file mode 100644 index 0000000..2c911e7 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/mqueue.h @@ -0,0 +1,22 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _LINUX_MQUEUE_H +#define _LINUX_MQUEUE_H +#include +#define MQ_PRIO_MAX 32768 +#define MQ_BYTES_MAX 819200 +struct mq_attr { + __kernel_long_t mq_flags; + __kernel_long_t mq_maxmsg; + __kernel_long_t mq_msgsize; + __kernel_long_t mq_curmsgs; + __kernel_long_t __reserved[4]; +}; +#define NOTIFY_NONE 0 +#define NOTIFY_WOKENUP 1 +#define NOTIFY_REMOVED 2 +#define NOTIFY_COOKIE_LEN 32 +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/mroute.h b/linux-5.10/prebuilts/usr/include/linux/mroute.h new file mode 100644 index 0000000..167cd6d --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/mroute.h @@ -0,0 +1,139 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI__LINUX_MROUTE_H +#define _UAPI__LINUX_MROUTE_H +#include +#include +#include +#define MRT_BASE 200 +#define MRT_INIT (MRT_BASE) +#define MRT_DONE (MRT_BASE+1) +#define MRT_ADD_VIF (MRT_BASE+2) +#define MRT_DEL_VIF (MRT_BASE+3) +#define MRT_ADD_MFC (MRT_BASE+4) +#define MRT_DEL_MFC (MRT_BASE+5) +#define MRT_VERSION (MRT_BASE+6) +#define MRT_ASSERT (MRT_BASE+7) +#define MRT_PIM (MRT_BASE+8) +#define MRT_TABLE (MRT_BASE+9) +#define MRT_ADD_MFC_PROXY (MRT_BASE+10) +#define MRT_DEL_MFC_PROXY (MRT_BASE+11) +#define MRT_FLUSH (MRT_BASE+12) +#define MRT_MAX (MRT_BASE+12) +#define SIOCGETVIFCNT SIOCPROTOPRIVATE +#define SIOCGETSGCNT (SIOCPROTOPRIVATE+1) +#define SIOCGETRPF (SIOCPROTOPRIVATE+2) +#define MRT_FLUSH_MFC 1 +#define MRT_FLUSH_MFC_STATIC 2 +#define MRT_FLUSH_VIFS 4 +#define MRT_FLUSH_VIFS_STATIC 8 +#define MAXVIFS 32 +typedef unsigned long vifbitmap_t; +typedef unsigned short vifi_t; +#define ALL_VIFS ((vifi_t)(-1)) +#define VIFM_SET(n,m) ((m)|=(1<<(n))) +#define VIFM_CLR(n,m) ((m)&=~(1<<(n))) +#define VIFM_ISSET(n,m) ((m)&(1<<(n))) +#define VIFM_CLRALL(m) ((m)=0) +#define VIFM_COPY(mfrom,mto) ((mto)=(mfrom)) +#define VIFM_SAME(m1,m2) ((m1)==(m2)) +struct vifctl { + vifi_t vifc_vifi; + unsigned char vifc_flags; + unsigned char vifc_threshold; + unsigned int vifc_rate_limit; + union { + struct in_addr vifc_lcl_addr; + int vifc_lcl_ifindex; + }; + struct in_addr vifc_rmt_addr; +}; +#define VIFF_TUNNEL 0x1 +#define VIFF_SRCRT 0x2 +#define VIFF_REGISTER 0x4 +#define VIFF_USE_IFINDEX 0x8 +struct mfcctl { + struct in_addr mfcc_origin; + struct in_addr mfcc_mcastgrp; + vifi_t mfcc_parent; + unsigned char mfcc_ttls[MAXVIFS]; + unsigned int mfcc_pkt_cnt; + unsigned int mfcc_byte_cnt; + unsigned int mfcc_wrong_if; + int mfcc_expire; +}; +struct sioc_sg_req { + struct in_addr src; + struct in_addr grp; + unsigned long pktcnt; + unsigned long bytecnt; + unsigned long wrong_if; +}; +struct sioc_vif_req { + vifi_t vifi; + unsigned long icount; + unsigned long ocount; + unsigned long ibytes; + unsigned long obytes; +}; +struct igmpmsg { + __u32 unused1,unused2; + unsigned char im_msgtype; + unsigned char im_mbz; + unsigned char im_vif; + unsigned char im_vif_hi; + struct in_addr im_src,im_dst; +}; +enum { + IPMRA_TABLE_UNSPEC, + IPMRA_TABLE_ID, + IPMRA_TABLE_CACHE_RES_QUEUE_LEN, + IPMRA_TABLE_MROUTE_REG_VIF_NUM, + IPMRA_TABLE_MROUTE_DO_ASSERT, + IPMRA_TABLE_MROUTE_DO_PIM, + IPMRA_TABLE_VIFS, + IPMRA_TABLE_MROUTE_DO_WRVIFWHOLE, + __IPMRA_TABLE_MAX +}; +#define IPMRA_TABLE_MAX (__IPMRA_TABLE_MAX - 1) +enum { + IPMRA_VIF_UNSPEC, + IPMRA_VIF, + __IPMRA_VIF_MAX +}; +#define IPMRA_VIF_MAX (__IPMRA_VIF_MAX - 1) +enum { + IPMRA_VIFA_UNSPEC, + IPMRA_VIFA_IFINDEX, + IPMRA_VIFA_VIF_ID, + IPMRA_VIFA_FLAGS, + IPMRA_VIFA_BYTES_IN, + IPMRA_VIFA_BYTES_OUT, + IPMRA_VIFA_PACKETS_IN, + IPMRA_VIFA_PACKETS_OUT, + IPMRA_VIFA_LOCAL_ADDR, + IPMRA_VIFA_REMOTE_ADDR, + IPMRA_VIFA_PAD, + __IPMRA_VIFA_MAX +}; +#define IPMRA_VIFA_MAX (__IPMRA_VIFA_MAX - 1) +enum { + IPMRA_CREPORT_UNSPEC, + IPMRA_CREPORT_MSGTYPE, + IPMRA_CREPORT_VIF_ID, + IPMRA_CREPORT_SRC_ADDR, + IPMRA_CREPORT_DST_ADDR, + IPMRA_CREPORT_PKT, + IPMRA_CREPORT_TABLE, + __IPMRA_CREPORT_MAX +}; +#define IPMRA_CREPORT_MAX (__IPMRA_CREPORT_MAX - 1) +#define MFC_ASSERT_THRESH (3*HZ) +#define IGMPMSG_NOCACHE 1 +#define IGMPMSG_WRONGVIF 2 +#define IGMPMSG_WHOLEPKT 3 +#define IGMPMSG_WRVIFWHOLE 4 +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/mroute6.h b/linux-5.10/prebuilts/usr/include/linux/mroute6.h new file mode 100644 index 0000000..dec6eec --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/mroute6.h @@ -0,0 +1,99 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI__LINUX_MROUTE6_H +#define _UAPI__LINUX_MROUTE6_H +#include +#include +#include +#include +#define MRT6_BASE 200 +#define MRT6_INIT (MRT6_BASE) +#define MRT6_DONE (MRT6_BASE+1) +#define MRT6_ADD_MIF (MRT6_BASE+2) +#define MRT6_DEL_MIF (MRT6_BASE+3) +#define MRT6_ADD_MFC (MRT6_BASE+4) +#define MRT6_DEL_MFC (MRT6_BASE+5) +#define MRT6_VERSION (MRT6_BASE+6) +#define MRT6_ASSERT (MRT6_BASE+7) +#define MRT6_PIM (MRT6_BASE+8) +#define MRT6_TABLE (MRT6_BASE+9) +#define MRT6_ADD_MFC_PROXY (MRT6_BASE+10) +#define MRT6_DEL_MFC_PROXY (MRT6_BASE+11) +#define MRT6_FLUSH (MRT6_BASE+12) +#define MRT6_MAX (MRT6_BASE+12) +#define SIOCGETMIFCNT_IN6 SIOCPROTOPRIVATE +#define SIOCGETSGCNT_IN6 (SIOCPROTOPRIVATE+1) +#define SIOCGETRPF (SIOCPROTOPRIVATE+2) +#define MRT6_FLUSH_MFC 1 +#define MRT6_FLUSH_MFC_STATIC 2 +#define MRT6_FLUSH_MIFS 4 +#define MRT6_FLUSH_MIFS_STATIC 8 +#define MAXMIFS 32 +typedef unsigned long mifbitmap_t; +typedef unsigned short mifi_t; +#define ALL_MIFS ((mifi_t)(-1)) +#ifndef IF_SETSIZE +#define IF_SETSIZE 256 +#endif +typedef __u32 if_mask; +#define NIFBITS (sizeof(if_mask) * 8) +typedef struct if_set { + if_mask ifs_bits[__KERNEL_DIV_ROUND_UP(IF_SETSIZE, NIFBITS)]; +} if_set; +#define IF_SET(n, p) ((p)->ifs_bits[(n)/NIFBITS] |= (1 << ((n) % NIFBITS))) +#define IF_CLR(n, p) ((p)->ifs_bits[(n)/NIFBITS] &= ~(1 << ((n) % NIFBITS))) +#define IF_ISSET(n, p) ((p)->ifs_bits[(n)/NIFBITS] & (1 << ((n) % NIFBITS))) +#define IF_COPY(f, t) bcopy(f, t, sizeof(*(f))) +#define IF_ZERO(p) bzero(p, sizeof(*(p))) +struct mif6ctl { + mifi_t mif6c_mifi; + unsigned char mif6c_flags; + unsigned char vifc_threshold; + __u16 mif6c_pifi; + unsigned int vifc_rate_limit; +}; +#define MIFF_REGISTER 0x1 +struct mf6cctl { + struct sockaddr_in6 mf6cc_origin; + struct sockaddr_in6 mf6cc_mcastgrp; + mifi_t mf6cc_parent; + struct if_set mf6cc_ifset; +}; +struct sioc_sg_req6 { + struct sockaddr_in6 src; + struct sockaddr_in6 grp; + unsigned long pktcnt; + unsigned long bytecnt; + unsigned long wrong_if; +}; +struct sioc_mif_req6 { + mifi_t mifi; + unsigned long icount; + unsigned long ocount; + unsigned long ibytes; + unsigned long obytes; +}; +struct mrt6msg { +#define MRT6MSG_NOCACHE 1 +#define MRT6MSG_WRONGMIF 2 +#define MRT6MSG_WHOLEPKT 3 + __u8 im6_mbz; + __u8 im6_msgtype; + __u16 im6_mif; + __u32 im6_pad; + struct in6_addr im6_src, im6_dst; +}; +enum { + IP6MRA_CREPORT_UNSPEC, + IP6MRA_CREPORT_MSGTYPE, + IP6MRA_CREPORT_MIF_ID, + IP6MRA_CREPORT_SRC_ADDR, + IP6MRA_CREPORT_DST_ADDR, + IP6MRA_CREPORT_PKT, + __IP6MRA_CREPORT_MAX +}; +#define IP6MRA_CREPORT_MAX (__IP6MRA_CREPORT_MAX - 1) +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/mrp_bridge.h b/linux-5.10/prebuilts/usr/include/linux/mrp_bridge.h new file mode 100644 index 0000000..ecd9d0a --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/mrp_bridge.h @@ -0,0 +1,137 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI_LINUX_MRP_BRIDGE_H_ +#define _UAPI_LINUX_MRP_BRIDGE_H_ +#include +#include +#define MRP_MAX_FRAME_LENGTH 200 +#define MRP_DEFAULT_PRIO 0x8000 +#define MRP_DOMAIN_UUID_LENGTH 16 +#define MRP_VERSION 1 +#define MRP_FRAME_PRIO 7 +#define MRP_OUI_LENGTH 3 +#define MRP_MANUFACTURE_DATA_LENGTH 2 +enum br_mrp_ring_role_type { + BR_MRP_RING_ROLE_DISABLED, + BR_MRP_RING_ROLE_MRC, + BR_MRP_RING_ROLE_MRM, + BR_MRP_RING_ROLE_MRA, +}; +enum br_mrp_in_role_type { + BR_MRP_IN_ROLE_DISABLED, + BR_MRP_IN_ROLE_MIC, + BR_MRP_IN_ROLE_MIM, +}; +enum br_mrp_ring_state_type { + BR_MRP_RING_STATE_OPEN, + BR_MRP_RING_STATE_CLOSED, +}; +enum br_mrp_in_state_type { + BR_MRP_IN_STATE_OPEN, + BR_MRP_IN_STATE_CLOSED, +}; +enum br_mrp_port_state_type { + BR_MRP_PORT_STATE_DISABLED, + BR_MRP_PORT_STATE_BLOCKED, + BR_MRP_PORT_STATE_FORWARDING, + BR_MRP_PORT_STATE_NOT_CONNECTED, +}; +enum br_mrp_port_role_type { + BR_MRP_PORT_ROLE_PRIMARY, + BR_MRP_PORT_ROLE_SECONDARY, + BR_MRP_PORT_ROLE_INTER, +}; +enum br_mrp_tlv_header_type { + BR_MRP_TLV_HEADER_END = 0x0, + BR_MRP_TLV_HEADER_COMMON = 0x1, + BR_MRP_TLV_HEADER_RING_TEST = 0x2, + BR_MRP_TLV_HEADER_RING_TOPO = 0x3, + BR_MRP_TLV_HEADER_RING_LINK_DOWN = 0x4, + BR_MRP_TLV_HEADER_RING_LINK_UP = 0x5, + BR_MRP_TLV_HEADER_IN_TEST = 0x6, + BR_MRP_TLV_HEADER_IN_TOPO = 0x7, + BR_MRP_TLV_HEADER_IN_LINK_DOWN = 0x8, + BR_MRP_TLV_HEADER_IN_LINK_UP = 0x9, + BR_MRP_TLV_HEADER_OPTION = 0x7f, +}; +enum br_mrp_sub_tlv_header_type { + BR_MRP_SUB_TLV_HEADER_TEST_MGR_NACK = 0x1, + BR_MRP_SUB_TLV_HEADER_TEST_PROPAGATE = 0x2, + BR_MRP_SUB_TLV_HEADER_TEST_AUTO_MGR = 0x3, +}; +struct br_mrp_tlv_hdr { + __u8 type; + __u8 length; +}; +struct br_mrp_sub_tlv_hdr { + __u8 type; + __u8 length; +}; +struct br_mrp_end_hdr { + struct br_mrp_tlv_hdr hdr; +}; +struct br_mrp_common_hdr { + __be16 seq_id; + __u8 domain[MRP_DOMAIN_UUID_LENGTH]; +}; +struct br_mrp_ring_test_hdr { + __be16 prio; + __u8 sa[ETH_ALEN]; + __be16 port_role; + __be16 state; + __be16 transitions; + __be32 timestamp; +}; +struct br_mrp_ring_topo_hdr { + __be16 prio; + __u8 sa[ETH_ALEN]; + __be16 interval; +}; +struct br_mrp_ring_link_hdr { + __u8 sa[ETH_ALEN]; + __be16 port_role; + __be16 interval; + __be16 blocked; +}; +struct br_mrp_sub_opt_hdr { + __u8 type; + __u8 manufacture_data[MRP_MANUFACTURE_DATA_LENGTH]; +}; +struct br_mrp_test_mgr_nack_hdr { + __be16 prio; + __u8 sa[ETH_ALEN]; + __be16 other_prio; + __u8 other_sa[ETH_ALEN]; +}; +struct br_mrp_test_prop_hdr { + __be16 prio; + __u8 sa[ETH_ALEN]; + __be16 other_prio; + __u8 other_sa[ETH_ALEN]; +}; +struct br_mrp_oui_hdr { + __u8 oui[MRP_OUI_LENGTH]; +}; +struct br_mrp_in_test_hdr { + __be16 id; + __u8 sa[ETH_ALEN]; + __be16 port_role; + __be16 state; + __be16 transitions; + __be32 timestamp; +}; +struct br_mrp_in_topo_hdr { + __u8 sa[ETH_ALEN]; + __be16 id; + __be16 interval; +}; +struct br_mrp_in_link_hdr { + __u8 sa[ETH_ALEN]; + __be16 port_role; + __be16 id; + __be16 interval; +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/msdos_fs.h b/linux-5.10/prebuilts/usr/include/linux/msdos_fs.h new file mode 100644 index 0000000..a4fc5da --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/msdos_fs.h @@ -0,0 +1,152 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI_LINUX_MSDOS_FS_H +#define _UAPI_LINUX_MSDOS_FS_H +#include +#include +#include +#ifndef SECTOR_SIZE +#define SECTOR_SIZE 512 +#endif +#define SECTOR_BITS 9 +#define MSDOS_DPB (MSDOS_DPS) +#define MSDOS_DPB_BITS 4 +#define MSDOS_DPS (SECTOR_SIZE / sizeof(struct msdos_dir_entry)) +#define MSDOS_DPS_BITS 4 +#define MSDOS_LONGNAME 256 +#define CF_LE_W(v) le16_to_cpu(v) +#define CF_LE_L(v) le32_to_cpu(v) +#define CT_LE_W(v) cpu_to_le16(v) +#define CT_LE_L(v) cpu_to_le32(v) +#define MSDOS_ROOT_INO 1 +#define MSDOS_FSINFO_INO 2 +#define MSDOS_DIR_BITS 5 +#define FAT_MAX_DIR_ENTRIES (65536) +#define FAT_MAX_DIR_SIZE (FAT_MAX_DIR_ENTRIES << MSDOS_DIR_BITS) +#define ATTR_NONE 0 +#define ATTR_RO 1 +#define ATTR_HIDDEN 2 +#define ATTR_SYS 4 +#define ATTR_VOLUME 8 +#define ATTR_DIR 16 +#define ATTR_ARCH 32 +#define ATTR_UNUSED (ATTR_VOLUME | ATTR_ARCH | ATTR_SYS | ATTR_HIDDEN) +#define ATTR_EXT (ATTR_RO | ATTR_HIDDEN | ATTR_SYS | ATTR_VOLUME) +#define CASE_LOWER_BASE 8 +#define CASE_LOWER_EXT 16 +#define DELETED_FLAG 0xe5 +#define IS_FREE(n) (!*(n) || *(n) == DELETED_FLAG) +#define FAT_LFN_LEN 255 +#define MSDOS_NAME 11 +#define MSDOS_SLOTS 21 +#define MSDOS_DOT ". " +#define MSDOS_DOTDOT ".. " +#define FAT_START_ENT 2 +#define MAX_FAT12 0xFF4 +#define MAX_FAT16 0xFFF4 +#define MAX_FAT32 0x0FFFFFF6 +#define BAD_FAT12 0xFF7 +#define BAD_FAT16 0xFFF7 +#define BAD_FAT32 0x0FFFFFF7 +#define EOF_FAT12 0xFFF +#define EOF_FAT16 0xFFFF +#define EOF_FAT32 0x0FFFFFFF +#define FAT_ENT_FREE (0) +#define FAT_ENT_BAD (BAD_FAT32) +#define FAT_ENT_EOF (EOF_FAT32) +#define FAT_FSINFO_SIG1 0x41615252 +#define FAT_FSINFO_SIG2 0x61417272 +#define IS_FSINFO(x) (le32_to_cpu((x)->signature1) == FAT_FSINFO_SIG1 \ + && le32_to_cpu((x)->signature2) == FAT_FSINFO_SIG2) +#define FAT_STATE_DIRTY 0x01 +struct __fat_dirent { + long d_ino; + __kernel_off_t d_off; + unsigned short d_reclen; + char d_name[256]; +}; +#define VFAT_IOCTL_READDIR_BOTH _IOR('r', 1, struct __fat_dirent[2]) +#define VFAT_IOCTL_READDIR_SHORT _IOR('r', 2, struct __fat_dirent[2]) +#define FAT_IOCTL_GET_ATTRIBUTES _IOR('r', 0x10, __u32) +#define FAT_IOCTL_SET_ATTRIBUTES _IOW('r', 0x11, __u32) +#define FAT_IOCTL_GET_VOLUME_ID _IOR('r', 0x13, __u32) +struct fat_boot_sector { + __u8 ignored[3]; + __u8 system_id[8]; + __u8 sector_size[2]; + __u8 sec_per_clus; + __le16 reserved; + __u8 fats; + __u8 dir_entries[2]; + __u8 sectors[2]; + __u8 media; + __le16 fat_length; + __le16 secs_track; + __le16 heads; + __le32 hidden; + __le32 total_sect; + union { + struct { + + __u8 drive_number; + __u8 state; + __u8 signature; + __u8 vol_id[4]; + __u8 vol_label[MSDOS_NAME]; + __u8 fs_type[8]; + + } fat16; + struct { + + __le32 length; + __le16 flags; + __u8 version[2]; + __le32 root_cluster; + __le16 info_sector; + __le16 backup_boot; + __le16 reserved2[6]; + + __u8 drive_number; + __u8 state; + __u8 signature; + __u8 vol_id[4]; + __u8 vol_label[MSDOS_NAME]; + __u8 fs_type[8]; + + } fat32; + }; +}; +struct fat_boot_fsinfo { + __le32 signature1; + __le32 reserved1[120]; + __le32 signature2; + __le32 free_clusters; + __le32 next_cluster; + __le32 reserved2[4]; +}; +struct msdos_dir_entry { + __u8 name[MSDOS_NAME]; + __u8 attr; + __u8 lcase; + __u8 ctime_cs; + __le16 ctime; + __le16 cdate; + __le16 adate; + __le16 starthi; + __le16 time,date,start; + __le32 size; +}; +struct msdos_dir_slot { + __u8 id; + __u8 name0_4[10]; + __u8 attr; + __u8 reserved; + __u8 alias_checksum; + __u8 name5_10[12]; + __le16 start; + __u8 name11_12[4]; +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/msg.h b/linux-5.10/prebuilts/usr/include/linux/msg.h new file mode 100644 index 0000000..d167950 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/msg.h @@ -0,0 +1,54 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI_LINUX_MSG_H +#define _UAPI_LINUX_MSG_H +#include +#define MSG_STAT 11 +#define MSG_INFO 12 +#define MSG_STAT_ANY 13 +#define MSG_NOERROR 010000 +#define MSG_EXCEPT 020000 +#define MSG_COPY 040000 +struct __kernel_legacy_msqid_ds { + struct __kernel_legacy_ipc_perm msg_perm; + struct msg *msg_first; + struct msg *msg_last; + __kernel_old_time_t msg_stime; + __kernel_old_time_t msg_rtime; + __kernel_old_time_t msg_ctime; + unsigned long msg_lcbytes; + unsigned long msg_lqbytes; + unsigned short msg_cbytes; + unsigned short msg_qnum; + unsigned short msg_qbytes; + __kernel_ipc_pid_t msg_lspid; + __kernel_ipc_pid_t msg_lrpid; +}; +#include +struct msgbuf { + __kernel_long_t mtype; + char mtext[1]; +}; +struct msginfo { + int msgpool; + int msgmap; + int msgmax; + int msgmnb; + int msgmni; + int msgssz; + int msgtql; + unsigned short msgseg; +}; +#define MSGMNI 32000 +#define MSGMAX 8192 +#define MSGMNB 16384 +#define MSGPOOL (MSGMNI * MSGMNB / 1024) +#define MSGTQL MSGMNB +#define MSGMAP MSGMNB +#define MSGSSZ 16 +#define __MSGSEG ((MSGPOOL * 1024) / MSGSSZ) +#define MSGSEG (__MSGSEG <= 0xffff ? __MSGSEG : 0xffff) +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/mtio.h b/linux-5.10/prebuilts/usr/include/linux/mtio.h new file mode 100644 index 0000000..c5ae7a6 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/mtio.h @@ -0,0 +1,137 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _LINUX_MTIO_H +#define _LINUX_MTIO_H +#include +#include +struct mtop { + short mt_op; + int mt_count; +}; +#define MTRESET 0 +#define MTFSF 1 +#define MTBSF 2 +#define MTFSR 3 +#define MTBSR 4 +#define MTWEOF 5 +#define MTREW 6 +#define MTOFFL 7 +#define MTNOP 8 +#define MTRETEN 9 +#define MTBSFM 10 +#define MTFSFM 11 +#define MTEOM 12 +#define MTERASE 13 +#define MTRAS1 14 +#define MTRAS2 15 +#define MTRAS3 16 +#define MTSETBLK 20 +#define MTSETDENSITY 21 +#define MTSEEK 22 +#define MTTELL 23 +#define MTSETDRVBUFFER 24 + +#define MTFSS 25 +#define MTBSS 26 +#define MTWSM 27 +#define MTLOCK 28 +#define MTUNLOCK 29 +#define MTLOAD 30 +#define MTUNLOAD 31 +#define MTCOMPRESSION 32 +#define MTSETPART 33 +#define MTMKPART 34 +#define MTWEOFI 35 +struct mtget { + long mt_type; + long mt_resid; + + long mt_dsreg; + long mt_gstat; + long mt_erreg; + + __kernel_daddr_t mt_fileno; + __kernel_daddr_t mt_blkno; +}; +#define MT_ISUNKNOWN 0x01 +#define MT_ISQIC02 0x02 +#define MT_ISWT5150 0x03 +#define MT_ISARCHIVE_5945L2 0x04 +#define MT_ISCMSJ500 0x05 +#define MT_ISTDC3610 0x06 +#define MT_ISARCHIVE_VP60I 0x07 +#define MT_ISARCHIVE_2150L 0x08 +#define MT_ISARCHIVE_2060L 0x09 +#define MT_ISARCHIVESC499 0x0A +#define MT_ISQIC02_ALL_FEATURES 0x0F +#define MT_ISWT5099EEN24 0x11 +#define MT_ISTEAC_MT2ST 0x12 +#define MT_ISEVEREX_FT40A 0x32 +#define MT_ISDDS1 0x51 +#define MT_ISDDS2 0x52 +#define MT_ISONSTREAM_SC 0x61 +#define MT_ISSCSI1 0x71 +#define MT_ISSCSI2 0x72 +#define MT_ISFTAPE_UNKNOWN 0x800000 +#define MT_ISFTAPE_FLAG 0x800000 +struct mtpos { + long mt_blkno; +}; +#define MTIOCTOP _IOW('m', 1, struct mtop) +#define MTIOCGET _IOR('m', 2, struct mtget) +#define MTIOCPOS _IOR('m', 3, struct mtpos) +#define GMT_EOF(x) ((x) & 0x80000000) +#define GMT_BOT(x) ((x) & 0x40000000) +#define GMT_EOT(x) ((x) & 0x20000000) +#define GMT_SM(x) ((x) & 0x10000000) +#define GMT_EOD(x) ((x) & 0x08000000) +#define GMT_WR_PROT(x) ((x) & 0x04000000) +#define GMT_ONLINE(x) ((x) & 0x01000000) +#define GMT_D_6250(x) ((x) & 0x00800000) +#define GMT_D_1600(x) ((x) & 0x00400000) +#define GMT_D_800(x) ((x) & 0x00200000) +#define GMT_DR_OPEN(x) ((x) & 0x00040000) +#define GMT_IM_REP_EN(x) ((x) & 0x00010000) +#define GMT_CLN(x) ((x) & 0x00008000) +#define MT_ST_BLKSIZE_SHIFT 0 +#define MT_ST_BLKSIZE_MASK 0xffffff +#define MT_ST_DENSITY_SHIFT 24 +#define MT_ST_DENSITY_MASK 0xff000000 +#define MT_ST_SOFTERR_SHIFT 0 +#define MT_ST_SOFTERR_MASK 0xffff +#define MT_ST_OPTIONS 0xf0000000 +#define MT_ST_BOOLEANS 0x10000000 +#define MT_ST_SETBOOLEANS 0x30000000 +#define MT_ST_CLEARBOOLEANS 0x40000000 +#define MT_ST_WRITE_THRESHOLD 0x20000000 +#define MT_ST_DEF_BLKSIZE 0x50000000 +#define MT_ST_DEF_OPTIONS 0x60000000 +#define MT_ST_TIMEOUTS 0x70000000 +#define MT_ST_SET_TIMEOUT (MT_ST_TIMEOUTS | 0x000000) +#define MT_ST_SET_LONG_TIMEOUT (MT_ST_TIMEOUTS | 0x100000) +#define MT_ST_SET_CLN 0x80000000 +#define MT_ST_BUFFER_WRITES 0x1 +#define MT_ST_ASYNC_WRITES 0x2 +#define MT_ST_READ_AHEAD 0x4 +#define MT_ST_DEBUGGING 0x8 +#define MT_ST_TWO_FM 0x10 +#define MT_ST_FAST_MTEOM 0x20 +#define MT_ST_AUTO_LOCK 0x40 +#define MT_ST_DEF_WRITES 0x80 +#define MT_ST_CAN_BSR 0x100 +#define MT_ST_NO_BLKLIMS 0x200 +#define MT_ST_CAN_PARTITIONS 0x400 +#define MT_ST_SCSI2LOGICAL 0x800 +#define MT_ST_SYSV 0x1000 +#define MT_ST_NOWAIT 0x2000 +#define MT_ST_SILI 0x4000 +#define MT_ST_NOWAIT_EOF 0x8000 +#define MT_ST_CLEAR_DEFAULT 0xfffff +#define MT_ST_DEF_DENSITY (MT_ST_DEF_OPTIONS | 0x100000) +#define MT_ST_DEF_COMPRESSION (MT_ST_DEF_OPTIONS | 0x200000) +#define MT_ST_DEF_DRVBUFFER (MT_ST_DEF_OPTIONS | 0x300000) +#define MT_ST_HPLOADER_OFFSET 10000 +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/n_r3964.h b/linux-5.10/prebuilts/usr/include/linux/n_r3964.h new file mode 100644 index 0000000..fb29dc4 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/n_r3964.h @@ -0,0 +1,30 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI__LINUX_N_R3964_H__ +#define _UAPI__LINUX_N_R3964_H__ +#define R3964_ENABLE_SIGNALS 0x5301 +#define R3964_SETPRIORITY 0x5302 +#define R3964_USE_BCC 0x5303 +#define R3964_READ_TELEGRAM 0x5304 +#define R3964_MASTER 0 +#define R3964_SLAVE 1 +#define R3964_SIG_ACK 0x0001 +#define R3964_SIG_DATA 0x0002 +#define R3964_SIG_ALL 0x000f +#define R3964_SIG_NONE 0x0000 +#define R3964_USE_SIGIO 0x1000 +enum {R3964_MSG_ACK=1, R3964_MSG_DATA }; +#define R3964_MAX_MSG_COUNT 32 +#define R3964_OK 0 +#define R3964_TX_FAIL -1 +#define R3964_OVERFLOW -2 +struct r3964_client_message { + int msg_id; + int arg; + int error_code; +}; +#define R3964_MTU 256 +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/nbd-netlink.h b/linux-5.10/prebuilts/usr/include/linux/nbd-netlink.h new file mode 100644 index 0000000..8f6fd60 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/nbd-netlink.h @@ -0,0 +1,60 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPILINUX_NBD_NETLINK_H +#define _UAPILINUX_NBD_NETLINK_H +#define NBD_GENL_FAMILY_NAME "nbd" +#define NBD_GENL_VERSION 0x1 +#define NBD_GENL_MCAST_GROUP_NAME "nbd_mc_group" +enum { + NBD_ATTR_UNSPEC, + NBD_ATTR_INDEX, + NBD_ATTR_SIZE_BYTES, + NBD_ATTR_BLOCK_SIZE_BYTES, + NBD_ATTR_TIMEOUT, + NBD_ATTR_SERVER_FLAGS, + NBD_ATTR_CLIENT_FLAGS, + NBD_ATTR_SOCKETS, + NBD_ATTR_DEAD_CONN_TIMEOUT, + NBD_ATTR_DEVICE_LIST, + __NBD_ATTR_MAX, +}; +#define NBD_ATTR_MAX (__NBD_ATTR_MAX - 1) +enum { + NBD_DEVICE_ITEM_UNSPEC, + NBD_DEVICE_ITEM, + __NBD_DEVICE_ITEM_MAX, +}; +#define NBD_DEVICE_ITEM_MAX (__NBD_DEVICE_ITEM_MAX - 1) +enum { + NBD_DEVICE_UNSPEC, + NBD_DEVICE_INDEX, + NBD_DEVICE_CONNECTED, + __NBD_DEVICE_MAX, +}; +#define NBD_DEVICE_ATTR_MAX (__NBD_DEVICE_MAX - 1) +enum { + NBD_SOCK_ITEM_UNSPEC, + NBD_SOCK_ITEM, + __NBD_SOCK_ITEM_MAX, +}; +#define NBD_SOCK_ITEM_MAX (__NBD_SOCK_ITEM_MAX - 1) +enum { + NBD_SOCK_UNSPEC, + NBD_SOCK_FD, + __NBD_SOCK_MAX, +}; +#define NBD_SOCK_MAX (__NBD_SOCK_MAX - 1) +enum { + NBD_CMD_UNSPEC, + NBD_CMD_CONNECT, + NBD_CMD_DISCONNECT, + NBD_CMD_RECONFIGURE, + NBD_CMD_LINK_DEAD, + NBD_CMD_STATUS, + __NBD_CMD_MAX, +}; +#define NBD_CMD_MAX (__NBD_CMD_MAX - 1) +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/nbd.h b/linux-5.10/prebuilts/usr/include/linux/nbd.h new file mode 100644 index 0000000..463d5c4 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/nbd.h @@ -0,0 +1,50 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPILINUX_NBD_H +#define _UAPILINUX_NBD_H +#include +#define NBD_SET_SOCK _IO( 0xab, 0 ) +#define NBD_SET_BLKSIZE _IO( 0xab, 1 ) +#define NBD_SET_SIZE _IO( 0xab, 2 ) +#define NBD_DO_IT _IO( 0xab, 3 ) +#define NBD_CLEAR_SOCK _IO( 0xab, 4 ) +#define NBD_CLEAR_QUE _IO( 0xab, 5 ) +#define NBD_PRINT_DEBUG _IO( 0xab, 6 ) +#define NBD_SET_SIZE_BLOCKS _IO( 0xab, 7 ) +#define NBD_DISCONNECT _IO( 0xab, 8 ) +#define NBD_SET_TIMEOUT _IO( 0xab, 9 ) +#define NBD_SET_FLAGS _IO( 0xab, 10) +enum { + NBD_CMD_READ = 0, + NBD_CMD_WRITE = 1, + NBD_CMD_DISC = 2, + NBD_CMD_FLUSH = 3, + NBD_CMD_TRIM = 4 +}; +#define NBD_FLAG_HAS_FLAGS (1 << 0) +#define NBD_FLAG_READ_ONLY (1 << 1) +#define NBD_FLAG_SEND_FLUSH (1 << 2) +#define NBD_FLAG_SEND_FUA (1 << 3) +#define NBD_FLAG_SEND_TRIM (1 << 5) +#define NBD_FLAG_CAN_MULTI_CONN (1 << 8) +#define NBD_CMD_FLAG_FUA (1 << 16) +#define NBD_CFLAG_DESTROY_ON_DISCONNECT (1 << 0) +#define NBD_CFLAG_DISCONNECT_ON_CLOSE (1 << 1) +#define NBD_REQUEST_MAGIC 0x25609513 +#define NBD_REPLY_MAGIC 0x67446698 +struct nbd_request { + __be32 magic; + __be32 type; + char handle[8]; + __be64 from; + __be32 len; +} __attribute__((packed)); +struct nbd_reply { + __be32 magic; + __be32 error; + char handle[8]; +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/ncsi.h b/linux-5.10/prebuilts/usr/include/linux/ncsi.h new file mode 100644 index 0000000..bd8f5a8 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/ncsi.h @@ -0,0 +1,56 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef __UAPI_NCSI_NETLINK_H__ +#define __UAPI_NCSI_NETLINK_H__ +enum ncsi_nl_commands { + NCSI_CMD_UNSPEC, + NCSI_CMD_PKG_INFO, + NCSI_CMD_SET_INTERFACE, + NCSI_CMD_CLEAR_INTERFACE, + NCSI_CMD_SEND_CMD, + NCSI_CMD_SET_PACKAGE_MASK, + NCSI_CMD_SET_CHANNEL_MASK, + __NCSI_CMD_AFTER_LAST, + NCSI_CMD_MAX = __NCSI_CMD_AFTER_LAST - 1 +}; +enum ncsi_nl_attrs { + NCSI_ATTR_UNSPEC, + NCSI_ATTR_IFINDEX, + NCSI_ATTR_PACKAGE_LIST, + NCSI_ATTR_PACKAGE_ID, + NCSI_ATTR_CHANNEL_ID, + NCSI_ATTR_DATA, + NCSI_ATTR_MULTI_FLAG, + NCSI_ATTR_PACKAGE_MASK, + NCSI_ATTR_CHANNEL_MASK, + __NCSI_ATTR_AFTER_LAST, + NCSI_ATTR_MAX = __NCSI_ATTR_AFTER_LAST - 1 +}; +enum ncsi_nl_pkg_attrs { + NCSI_PKG_ATTR_UNSPEC, + NCSI_PKG_ATTR, + NCSI_PKG_ATTR_ID, + NCSI_PKG_ATTR_FORCED, + NCSI_PKG_ATTR_CHANNEL_LIST, + __NCSI_PKG_ATTR_AFTER_LAST, + NCSI_PKG_ATTR_MAX = __NCSI_PKG_ATTR_AFTER_LAST - 1 +}; +enum ncsi_nl_channel_attrs { + NCSI_CHANNEL_ATTR_UNSPEC, + NCSI_CHANNEL_ATTR, + NCSI_CHANNEL_ATTR_ID, + NCSI_CHANNEL_ATTR_VERSION_MAJOR, + NCSI_CHANNEL_ATTR_VERSION_MINOR, + NCSI_CHANNEL_ATTR_VERSION_STR, + NCSI_CHANNEL_ATTR_LINK_STATE, + NCSI_CHANNEL_ATTR_ACTIVE, + NCSI_CHANNEL_ATTR_FORCED, + NCSI_CHANNEL_ATTR_VLAN_LIST, + NCSI_CHANNEL_ATTR_VLAN_ID, + __NCSI_CHANNEL_ATTR_AFTER_LAST, + NCSI_CHANNEL_ATTR_MAX = __NCSI_CHANNEL_ATTR_AFTER_LAST - 1 +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/ndctl.h b/linux-5.10/prebuilts/usr/include/linux/ndctl.h new file mode 100644 index 0000000..86e2851 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/ndctl.h @@ -0,0 +1,193 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef __NDCTL_H__ +#define __NDCTL_H__ +#include +struct nd_cmd_dimm_flags { + __u32 status; + __u32 flags; +} __packed; +struct nd_cmd_get_config_size { + __u32 status; + __u32 config_size; + __u32 max_xfer; +} __packed; +struct nd_cmd_get_config_data_hdr { + __u32 in_offset; + __u32 in_length; + __u32 status; + __u8 out_buf[0]; +} __packed; +struct nd_cmd_set_config_hdr { + __u32 in_offset; + __u32 in_length; + __u8 in_buf[0]; +} __packed; +struct nd_cmd_vendor_hdr { + __u32 opcode; + __u32 in_length; + __u8 in_buf[0]; +} __packed; +struct nd_cmd_vendor_tail { + __u32 status; + __u32 out_length; + __u8 out_buf[0]; +} __packed; +struct nd_cmd_ars_cap { + __u64 address; + __u64 length; + __u32 status; + __u32 max_ars_out; + __u32 clear_err_unit; + __u16 flags; + __u16 reserved; +} __packed; +struct nd_cmd_ars_start { + __u64 address; + __u64 length; + __u16 type; + __u8 flags; + __u8 reserved[5]; + __u32 status; + __u32 scrub_time; +} __packed; +struct nd_cmd_ars_status { + __u32 status; + __u32 out_length; + __u64 address; + __u64 length; + __u64 restart_address; + __u64 restart_length; + __u16 type; + __u16 flags; + __u32 num_records; + struct nd_ars_record { + __u32 handle; + __u32 reserved; + __u64 err_address; + __u64 length; + } __packed records[0]; +} __packed; +struct nd_cmd_clear_error { + __u64 address; + __u64 length; + __u32 status; + __u8 reserved[4]; + __u64 cleared; +} __packed; +enum { + ND_CMD_IMPLEMENTED = 0, + + ND_CMD_ARS_CAP = 1, + ND_CMD_ARS_START = 2, + ND_CMD_ARS_STATUS = 3, + ND_CMD_CLEAR_ERROR = 4, + + ND_CMD_SMART = 1, + ND_CMD_SMART_THRESHOLD = 2, + ND_CMD_DIMM_FLAGS = 3, + ND_CMD_GET_CONFIG_SIZE = 4, + ND_CMD_GET_CONFIG_DATA = 5, + ND_CMD_SET_CONFIG_DATA = 6, + ND_CMD_VENDOR_EFFECT_LOG_SIZE = 7, + ND_CMD_VENDOR_EFFECT_LOG = 8, + ND_CMD_VENDOR = 9, + ND_CMD_CALL = 10, +}; +enum { + ND_ARS_VOLATILE = 1, + ND_ARS_PERSISTENT = 2, + ND_ARS_RETURN_PREV_DATA = 1 << 1, + ND_CONFIG_LOCKED = 1, +}; +static inline const char *nvdimm_bus_cmd_name(unsigned cmd) +{ + switch (cmd) { + case ND_CMD_ARS_CAP: return "ars_cap"; + case ND_CMD_ARS_START: return "ars_start"; + case ND_CMD_ARS_STATUS: return "ars_status"; + case ND_CMD_CLEAR_ERROR: return "clear_error"; + case ND_CMD_CALL: return "cmd_call"; + default: return "unknown"; + } +} +static inline const char *nvdimm_cmd_name(unsigned cmd) +{ + switch (cmd) { + case ND_CMD_SMART: return "smart"; + case ND_CMD_SMART_THRESHOLD: return "smart_thresh"; + case ND_CMD_DIMM_FLAGS: return "flags"; + case ND_CMD_GET_CONFIG_SIZE: return "get_size"; + case ND_CMD_GET_CONFIG_DATA: return "get_data"; + case ND_CMD_SET_CONFIG_DATA: return "set_data"; + case ND_CMD_VENDOR_EFFECT_LOG_SIZE: return "effect_size"; + case ND_CMD_VENDOR_EFFECT_LOG: return "effect_log"; + case ND_CMD_VENDOR: return "vendor"; + case ND_CMD_CALL: return "cmd_call"; + default: return "unknown"; + } +} +#define ND_IOCTL 'N' +#define ND_IOCTL_DIMM_FLAGS _IOWR(ND_IOCTL, ND_CMD_DIMM_FLAGS,\ + struct nd_cmd_dimm_flags) +#define ND_IOCTL_GET_CONFIG_SIZE _IOWR(ND_IOCTL, ND_CMD_GET_CONFIG_SIZE,\ + struct nd_cmd_get_config_size) +#define ND_IOCTL_GET_CONFIG_DATA _IOWR(ND_IOCTL, ND_CMD_GET_CONFIG_DATA,\ + struct nd_cmd_get_config_data_hdr) +#define ND_IOCTL_SET_CONFIG_DATA _IOWR(ND_IOCTL, ND_CMD_SET_CONFIG_DATA,\ + struct nd_cmd_set_config_hdr) +#define ND_IOCTL_VENDOR _IOWR(ND_IOCTL, ND_CMD_VENDOR,\ + struct nd_cmd_vendor_hdr) +#define ND_IOCTL_ARS_CAP _IOWR(ND_IOCTL, ND_CMD_ARS_CAP,\ + struct nd_cmd_ars_cap) +#define ND_IOCTL_ARS_START _IOWR(ND_IOCTL, ND_CMD_ARS_START,\ + struct nd_cmd_ars_start) +#define ND_IOCTL_ARS_STATUS _IOWR(ND_IOCTL, ND_CMD_ARS_STATUS,\ + struct nd_cmd_ars_status) +#define ND_IOCTL_CLEAR_ERROR _IOWR(ND_IOCTL, ND_CMD_CLEAR_ERROR,\ + struct nd_cmd_clear_error) +#define ND_DEVICE_DIMM 1 +#define ND_DEVICE_REGION_PMEM 2 +#define ND_DEVICE_REGION_BLK 3 +#define ND_DEVICE_NAMESPACE_IO 4 +#define ND_DEVICE_NAMESPACE_PMEM 5 +#define ND_DEVICE_NAMESPACE_BLK 6 +#define ND_DEVICE_DAX_PMEM 7 +enum nd_driver_flags { + ND_DRIVER_DIMM = 1 << ND_DEVICE_DIMM, + ND_DRIVER_REGION_PMEM = 1 << ND_DEVICE_REGION_PMEM, + ND_DRIVER_REGION_BLK = 1 << ND_DEVICE_REGION_BLK, + ND_DRIVER_NAMESPACE_IO = 1 << ND_DEVICE_NAMESPACE_IO, + ND_DRIVER_NAMESPACE_PMEM = 1 << ND_DEVICE_NAMESPACE_PMEM, + ND_DRIVER_NAMESPACE_BLK = 1 << ND_DEVICE_NAMESPACE_BLK, + ND_DRIVER_DAX_PMEM = 1 << ND_DEVICE_DAX_PMEM, +}; +enum ars_masks { + ARS_STATUS_MASK = 0x0000FFFF, + ARS_EXT_STATUS_SHIFT = 16, +}; +struct nd_cmd_pkg { + __u64 nd_family; + __u64 nd_command; + __u32 nd_size_in; + __u32 nd_size_out; + __u32 nd_reserved2[9]; + __u32 nd_fw_size; + unsigned char nd_payload[]; +}; +#define NVDIMM_FAMILY_INTEL 0 +#define NVDIMM_FAMILY_HPE1 1 +#define NVDIMM_FAMILY_HPE2 2 +#define NVDIMM_FAMILY_MSFT 3 +#define NVDIMM_FAMILY_HYPERV 4 +#define NVDIMM_FAMILY_PAPR 5 +#define NVDIMM_FAMILY_MAX NVDIMM_FAMILY_PAPR +#define NVDIMM_BUS_FAMILY_NFIT 0 +#define NVDIMM_BUS_FAMILY_INTEL 1 +#define NVDIMM_BUS_FAMILY_MAX NVDIMM_BUS_FAMILY_INTEL +#define ND_IOCTL_CALL _IOWR(ND_IOCTL, ND_CMD_CALL,\ + struct nd_cmd_pkg) +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/neighbour.h b/linux-5.10/prebuilts/usr/include/linux/neighbour.h new file mode 100644 index 0000000..64f75b8 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/neighbour.h @@ -0,0 +1,139 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef __LINUX_NEIGHBOUR_H +#define __LINUX_NEIGHBOUR_H +#include +#include +struct ndmsg { + __u8 ndm_family; + __u8 ndm_pad1; + __u16 ndm_pad2; + __s32 ndm_ifindex; + __u16 ndm_state; + __u8 ndm_flags; + __u8 ndm_type; +}; +enum { + NDA_UNSPEC, + NDA_DST, + NDA_LLADDR, + NDA_CACHEINFO, + NDA_PROBES, + NDA_VLAN, + NDA_PORT, + NDA_VNI, + NDA_IFINDEX, + NDA_MASTER, + NDA_LINK_NETNSID, + NDA_SRC_VNI, + NDA_PROTOCOL, + NDA_NH_ID, + NDA_FDB_EXT_ATTRS, + __NDA_MAX +}; +#define NDA_MAX (__NDA_MAX - 1) +#define NTF_USE 0x01 +#define NTF_SELF 0x02 +#define NTF_MASTER 0x04 +#define NTF_PROXY 0x08 +#define NTF_EXT_LEARNED 0x10 +#define NTF_OFFLOADED 0x20 +#define NTF_STICKY 0x40 +#define NTF_ROUTER 0x80 +#define NUD_INCOMPLETE 0x01 +#define NUD_REACHABLE 0x02 +#define NUD_STALE 0x04 +#define NUD_DELAY 0x08 +#define NUD_PROBE 0x10 +#define NUD_FAILED 0x20 +#define NUD_NOARP 0x40 +#define NUD_PERMANENT 0x80 +#define NUD_NONE 0x00 +struct nda_cacheinfo { + __u32 ndm_confirmed; + __u32 ndm_used; + __u32 ndm_updated; + __u32 ndm_refcnt; +}; +struct ndt_stats { + __u64 ndts_allocs; + __u64 ndts_destroys; + __u64 ndts_hash_grows; + __u64 ndts_res_failed; + __u64 ndts_lookups; + __u64 ndts_hits; + __u64 ndts_rcv_probes_mcast; + __u64 ndts_rcv_probes_ucast; + __u64 ndts_periodic_gc_runs; + __u64 ndts_forced_gc_runs; + __u64 ndts_table_fulls; +}; +enum { + NDTPA_UNSPEC, + NDTPA_IFINDEX, + NDTPA_REFCNT, + NDTPA_REACHABLE_TIME, + NDTPA_BASE_REACHABLE_TIME, + NDTPA_RETRANS_TIME, + NDTPA_GC_STALETIME, + NDTPA_DELAY_PROBE_TIME, + NDTPA_QUEUE_LEN, + NDTPA_APP_PROBES, + NDTPA_UCAST_PROBES, + NDTPA_MCAST_PROBES, + NDTPA_ANYCAST_DELAY, + NDTPA_PROXY_DELAY, + NDTPA_PROXY_QLEN, + NDTPA_LOCKTIME, + NDTPA_QUEUE_LENBYTES, + NDTPA_MCAST_REPROBES, + NDTPA_PAD, + __NDTPA_MAX +}; +#define NDTPA_MAX (__NDTPA_MAX - 1) +struct ndtmsg { + __u8 ndtm_family; + __u8 ndtm_pad1; + __u16 ndtm_pad2; +}; +struct ndt_config { + __u16 ndtc_key_len; + __u16 ndtc_entry_size; + __u32 ndtc_entries; + __u32 ndtc_last_flush; + __u32 ndtc_last_rand; + __u32 ndtc_hash_rnd; + __u32 ndtc_hash_mask; + __u32 ndtc_hash_chain_gc; + __u32 ndtc_proxy_qlen; +}; +enum { + NDTA_UNSPEC, + NDTA_NAME, + NDTA_THRESH1, + NDTA_THRESH2, + NDTA_THRESH3, + NDTA_CONFIG, + NDTA_PARMS, + NDTA_STATS, + NDTA_GC_INTERVAL, + NDTA_PAD, + __NDTA_MAX +}; +#define NDTA_MAX (__NDTA_MAX - 1) + +enum { + FDB_NOTIFY_BIT = (1 << 0), + FDB_NOTIFY_INACTIVE_BIT = (1 << 1) +}; +enum { + NFEA_UNSPEC, + NFEA_ACTIVITY_NOTIFY, + NFEA_DONT_REFRESH, + __NFEA_MAX +}; +#define NFEA_MAX (__NFEA_MAX - 1) +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/net.h b/linux-5.10/prebuilts/usr/include/linux/net.h new file mode 100644 index 0000000..a84994d --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/net.h @@ -0,0 +1,39 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI_LINUX_NET_H +#define _UAPI_LINUX_NET_H +#include +#include +#define NPROTO AF_MAX +#define SYS_SOCKET 1 +#define SYS_BIND 2 +#define SYS_CONNECT 3 +#define SYS_LISTEN 4 +#define SYS_ACCEPT 5 +#define SYS_GETSOCKNAME 6 +#define SYS_GETPEERNAME 7 +#define SYS_SOCKETPAIR 8 +#define SYS_SEND 9 +#define SYS_RECV 10 +#define SYS_SENDTO 11 +#define SYS_RECVFROM 12 +#define SYS_SHUTDOWN 13 +#define SYS_SETSOCKOPT 14 +#define SYS_GETSOCKOPT 15 +#define SYS_SENDMSG 16 +#define SYS_RECVMSG 17 +#define SYS_ACCEPT4 18 +#define SYS_RECVMMSG 19 +#define SYS_SENDMMSG 20 +typedef enum { + SS_FREE = 0, + SS_UNCONNECTED, + SS_CONNECTING, + SS_CONNECTED, + SS_DISCONNECTING +} socket_state; +#define __SO_ACCEPTCON (1 << 16) +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/net_dropmon.h b/linux-5.10/prebuilts/usr/include/linux/net_dropmon.h new file mode 100644 index 0000000..7a30be1 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/net_dropmon.h @@ -0,0 +1,103 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef __NET_DROPMON_H +#define __NET_DROPMON_H +#include +#include +struct net_dm_drop_point { + __u8 pc[8]; + __u32 count; +}; +#define is_drop_point_hw(x) do {\ + int ____i, ____j;\ + for (____i = 0; ____i < 8; i ____i++)\ + ____j |= x[____i];\ + ____j;\ +} while (0) +#define NET_DM_CFG_VERSION 0 +#define NET_DM_CFG_ALERT_COUNT 1 +#define NET_DM_CFG_ALERT_DELAY 2 +#define NET_DM_CFG_MAX 3 +struct net_dm_config_entry { + __u32 type; + __u64 data __attribute__((aligned(8))); +}; +struct net_dm_config_msg { + __u32 entries; + struct net_dm_config_entry options[0]; +}; +struct net_dm_alert_msg { + __u32 entries; + struct net_dm_drop_point points[0]; +}; +struct net_dm_user_msg { + union { + struct net_dm_config_msg user; + struct net_dm_alert_msg alert; + } u; +}; +enum { + NET_DM_CMD_UNSPEC = 0, + NET_DM_CMD_ALERT, + NET_DM_CMD_CONFIG, + NET_DM_CMD_START, + NET_DM_CMD_STOP, + NET_DM_CMD_PACKET_ALERT, + NET_DM_CMD_CONFIG_GET, + NET_DM_CMD_CONFIG_NEW, + NET_DM_CMD_STATS_GET, + NET_DM_CMD_STATS_NEW, + _NET_DM_CMD_MAX, +}; +#define NET_DM_CMD_MAX (_NET_DM_CMD_MAX - 1) +#define NET_DM_GRP_ALERT 1 +enum net_dm_attr { + NET_DM_ATTR_UNSPEC, + NET_DM_ATTR_ALERT_MODE, + NET_DM_ATTR_PC, + NET_DM_ATTR_SYMBOL, + NET_DM_ATTR_IN_PORT, + NET_DM_ATTR_TIMESTAMP, + NET_DM_ATTR_PROTO, + NET_DM_ATTR_PAYLOAD, + NET_DM_ATTR_PAD, + NET_DM_ATTR_TRUNC_LEN, + NET_DM_ATTR_ORIG_LEN, + NET_DM_ATTR_QUEUE_LEN, + NET_DM_ATTR_STATS, + NET_DM_ATTR_HW_STATS, + NET_DM_ATTR_ORIGIN, + NET_DM_ATTR_HW_TRAP_GROUP_NAME, + NET_DM_ATTR_HW_TRAP_NAME, + NET_DM_ATTR_HW_ENTRIES, + NET_DM_ATTR_HW_ENTRY, + NET_DM_ATTR_HW_TRAP_COUNT, + NET_DM_ATTR_SW_DROPS, + NET_DM_ATTR_HW_DROPS, + NET_DM_ATTR_FLOW_ACTION_COOKIE, + __NET_DM_ATTR_MAX, + NET_DM_ATTR_MAX = __NET_DM_ATTR_MAX - 1 +}; +enum net_dm_alert_mode { + NET_DM_ALERT_MODE_SUMMARY, + NET_DM_ALERT_MODE_PACKET, +}; +enum { + NET_DM_ATTR_PORT_NETDEV_IFINDEX, + NET_DM_ATTR_PORT_NETDEV_NAME, + __NET_DM_ATTR_PORT_MAX, + NET_DM_ATTR_PORT_MAX = __NET_DM_ATTR_PORT_MAX - 1 +}; +enum { + NET_DM_ATTR_STATS_DROPPED, + __NET_DM_ATTR_STATS_MAX, + NET_DM_ATTR_STATS_MAX = __NET_DM_ATTR_STATS_MAX - 1 +}; +enum net_dm_origin { + NET_DM_ORIGIN_SW, + NET_DM_ORIGIN_HW, +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/net_namespace.h b/linux-5.10/prebuilts/usr/include/linux/net_namespace.h new file mode 100644 index 0000000..3fa3ed9 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/net_namespace.h @@ -0,0 +1,19 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI_LINUX_NET_NAMESPACE_H_ +#define _UAPI_LINUX_NET_NAMESPACE_H_ +enum { + NETNSA_NONE, +#define NETNSA_NSID_NOT_ASSIGNED -1 + NETNSA_NSID, + NETNSA_PID, + NETNSA_FD, + NETNSA_TARGET_NSID, + NETNSA_CURRENT_NSID, + __NETNSA_MAX, +}; +#define NETNSA_MAX (__NETNSA_MAX - 1) +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/net_tstamp.h b/linux-5.10/prebuilts/usr/include/linux/net_tstamp.h new file mode 100644 index 0000000..b33a2c4 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/net_tstamp.h @@ -0,0 +1,103 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _NET_TIMESTAMPING_H +#define _NET_TIMESTAMPING_H +#include +#include +enum { + SOF_TIMESTAMPING_TX_HARDWARE = (1<<0), + SOF_TIMESTAMPING_TX_SOFTWARE = (1<<1), + SOF_TIMESTAMPING_RX_HARDWARE = (1<<2), + SOF_TIMESTAMPING_RX_SOFTWARE = (1<<3), + SOF_TIMESTAMPING_SOFTWARE = (1<<4), + SOF_TIMESTAMPING_SYS_HARDWARE = (1<<5), + SOF_TIMESTAMPING_RAW_HARDWARE = (1<<6), + SOF_TIMESTAMPING_OPT_ID = (1<<7), + SOF_TIMESTAMPING_TX_SCHED = (1<<8), + SOF_TIMESTAMPING_TX_ACK = (1<<9), + SOF_TIMESTAMPING_OPT_CMSG = (1<<10), + SOF_TIMESTAMPING_OPT_TSONLY = (1<<11), + SOF_TIMESTAMPING_OPT_STATS = (1<<12), + SOF_TIMESTAMPING_OPT_PKTINFO = (1<<13), + SOF_TIMESTAMPING_OPT_TX_SWHW = (1<<14), + SOF_TIMESTAMPING_LAST = SOF_TIMESTAMPING_OPT_TX_SWHW, + SOF_TIMESTAMPING_MASK = (SOF_TIMESTAMPING_LAST - 1) | + SOF_TIMESTAMPING_LAST +}; +#define SOF_TIMESTAMPING_TX_RECORD_MASK (SOF_TIMESTAMPING_TX_HARDWARE | \ + SOF_TIMESTAMPING_TX_SOFTWARE | \ + SOF_TIMESTAMPING_TX_SCHED | \ + SOF_TIMESTAMPING_TX_ACK) +struct hwtstamp_config { + int flags; + int tx_type; + int rx_filter; +}; +enum hwtstamp_tx_types { + + HWTSTAMP_TX_OFF, + + HWTSTAMP_TX_ON, + + HWTSTAMP_TX_ONESTEP_SYNC, + + HWTSTAMP_TX_ONESTEP_P2P, + + __HWTSTAMP_TX_CNT +}; +enum hwtstamp_rx_filters { + + HWTSTAMP_FILTER_NONE, + + HWTSTAMP_FILTER_ALL, + + HWTSTAMP_FILTER_SOME, + + HWTSTAMP_FILTER_PTP_V1_L4_EVENT, + + HWTSTAMP_FILTER_PTP_V1_L4_SYNC, + + HWTSTAMP_FILTER_PTP_V1_L4_DELAY_REQ, + + HWTSTAMP_FILTER_PTP_V2_L4_EVENT, + + HWTSTAMP_FILTER_PTP_V2_L4_SYNC, + + HWTSTAMP_FILTER_PTP_V2_L4_DELAY_REQ, + + HWTSTAMP_FILTER_PTP_V2_L2_EVENT, + + HWTSTAMP_FILTER_PTP_V2_L2_SYNC, + + HWTSTAMP_FILTER_PTP_V2_L2_DELAY_REQ, + + HWTSTAMP_FILTER_PTP_V2_EVENT, + + HWTSTAMP_FILTER_PTP_V2_SYNC, + + HWTSTAMP_FILTER_PTP_V2_DELAY_REQ, + + HWTSTAMP_FILTER_NTP_ALL, + + __HWTSTAMP_FILTER_CNT +}; +struct scm_ts_pktinfo { + __u32 if_index; + __u32 pkt_length; + __u32 reserved[2]; +}; +enum txtime_flags { + SOF_TXTIME_DEADLINE_MODE = (1 << 0), + SOF_TXTIME_REPORT_ERRORS = (1 << 1), + SOF_TXTIME_FLAGS_LAST = SOF_TXTIME_REPORT_ERRORS, + SOF_TXTIME_FLAGS_MASK = (SOF_TXTIME_FLAGS_LAST - 1) | + SOF_TXTIME_FLAGS_LAST +}; +struct sock_txtime { + __kernel_clockid_t clockid; + __u32 flags; +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/netconf.h b/linux-5.10/prebuilts/usr/include/linux/netconf.h new file mode 100644 index 0000000..0d01953 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/netconf.h @@ -0,0 +1,29 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI_LINUX_NETCONF_H_ +#define _UAPI_LINUX_NETCONF_H_ +#include +#include +struct netconfmsg { + __u8 ncm_family; +}; +enum { + NETCONFA_UNSPEC, + NETCONFA_IFINDEX, + NETCONFA_FORWARDING, + NETCONFA_RP_FILTER, + NETCONFA_MC_FORWARDING, + NETCONFA_PROXY_NEIGH, + NETCONFA_IGNORE_ROUTES_WITH_LINKDOWN, + NETCONFA_INPUT, + NETCONFA_BC_FORWARDING, + __NETCONFA_MAX +}; +#define NETCONFA_MAX (__NETCONFA_MAX - 1) +#define NETCONFA_ALL -1 +#define NETCONFA_IFINDEX_ALL -1 +#define NETCONFA_IFINDEX_DEFAULT -2 +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/netdevice.h b/linux-5.10/prebuilts/usr/include/linux/netdevice.h new file mode 100644 index 0000000..99a4d8d --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/netdevice.h @@ -0,0 +1,32 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI_LINUX_NETDEVICE_H +#define _UAPI_LINUX_NETDEVICE_H +#include +#include +#include +#include +#define MAX_ADDR_LEN 32 +#define INIT_NETDEV_GROUP 0 +#define NET_NAME_UNKNOWN 0 +#define NET_NAME_ENUM 1 +#define NET_NAME_PREDICTABLE 2 +#define NET_NAME_USER 3 +#define NET_NAME_RENAMED 4 +enum { + IF_PORT_UNKNOWN = 0, + IF_PORT_10BASE2, + IF_PORT_10BASET, + IF_PORT_AUI, + IF_PORT_100BASET, + IF_PORT_100BASETX, + IF_PORT_100BASEFX +}; +#define NET_ADDR_PERM 0 +#define NET_ADDR_RANDOM 1 +#define NET_ADDR_STOLEN 2 +#define NET_ADDR_SET 3 +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/netfilter.h b/linux-5.10/prebuilts/usr/include/linux/netfilter.h new file mode 100644 index 0000000..da54a95 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/netfilter.h @@ -0,0 +1,59 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI__LINUX_NETFILTER_H +#define _UAPI__LINUX_NETFILTER_H +#include +#include +#include +#include +#define NF_DROP 0 +#define NF_ACCEPT 1 +#define NF_STOLEN 2 +#define NF_QUEUE 3 +#define NF_REPEAT 4 +#define NF_STOP 5 +#define NF_MAX_VERDICT NF_STOP +#define NF_VERDICT_MASK 0x000000ff +#define NF_VERDICT_FLAG_QUEUE_BYPASS 0x00008000 +#define NF_VERDICT_QMASK 0xffff0000 +#define NF_VERDICT_QBITS 16 +#define NF_QUEUE_NR(x) ((((x) << 16) & NF_VERDICT_QMASK) | NF_QUEUE) +#define NF_DROP_ERR(x) (((-x) << 16) | NF_DROP) +#ifndef __KERNEL__ +#define NF_VERDICT_BITS 16 +#endif +enum nf_inet_hooks { + NF_INET_PRE_ROUTING, + NF_INET_LOCAL_IN, + NF_INET_FORWARD, + NF_INET_LOCAL_OUT, + NF_INET_POST_ROUTING, + NF_INET_NUMHOOKS, + NF_INET_INGRESS = NF_INET_NUMHOOKS, +}; +enum nf_dev_hooks { + NF_NETDEV_INGRESS, + NF_NETDEV_NUMHOOKS +}; +enum { + NFPROTO_UNSPEC = 0, + NFPROTO_INET = 1, + NFPROTO_IPV4 = 2, + NFPROTO_ARP = 3, + NFPROTO_NETDEV = 5, + NFPROTO_BRIDGE = 7, + NFPROTO_IPV6 = 10, + NFPROTO_DECNET = 12, + NFPROTO_NUMPROTO, +}; +union nf_inet_addr { + __u32 all[4]; + __be32 ip; + __be32 ip6[4]; + struct in_addr in; + struct in6_addr in6; +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/netfilter/ipset/ip_set.h b/linux-5.10/prebuilts/usr/include/linux/netfilter/ipset/ip_set.h new file mode 100644 index 0000000..f9dd8a3 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/netfilter/ipset/ip_set.h @@ -0,0 +1,250 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI_IP_SET_H +#define _UAPI_IP_SET_H +#include +#define IPSET_PROTOCOL 7 +#define IPSET_PROTOCOL_MIN 6 +#define IPSET_MAXNAMELEN 32 +#define IPSET_MAX_COMMENT_SIZE 255 +enum ipset_cmd { + IPSET_CMD_NONE, + IPSET_CMD_PROTOCOL, + IPSET_CMD_CREATE, + IPSET_CMD_DESTROY, + IPSET_CMD_FLUSH, + IPSET_CMD_RENAME, + IPSET_CMD_SWAP, + IPSET_CMD_LIST, + IPSET_CMD_SAVE, + IPSET_CMD_ADD, + IPSET_CMD_DEL, + IPSET_CMD_TEST, + IPSET_CMD_HEADER, + IPSET_CMD_TYPE, + IPSET_CMD_GET_BYNAME, + IPSET_CMD_GET_BYINDEX, + IPSET_MSG_MAX, + + IPSET_CMD_RESTORE = IPSET_MSG_MAX, + IPSET_CMD_HELP, + IPSET_CMD_VERSION, + IPSET_CMD_QUIT, + IPSET_CMD_MAX, + IPSET_CMD_COMMIT = IPSET_CMD_MAX, +}; +enum { + IPSET_ATTR_UNSPEC, + IPSET_ATTR_PROTOCOL, + IPSET_ATTR_SETNAME, + IPSET_ATTR_TYPENAME, + IPSET_ATTR_SETNAME2 = IPSET_ATTR_TYPENAME, + IPSET_ATTR_REVISION, + IPSET_ATTR_FAMILY, + IPSET_ATTR_FLAGS, + IPSET_ATTR_DATA, + IPSET_ATTR_ADT, + IPSET_ATTR_LINENO, + IPSET_ATTR_PROTOCOL_MIN, + IPSET_ATTR_REVISION_MIN = IPSET_ATTR_PROTOCOL_MIN, + IPSET_ATTR_INDEX, + __IPSET_ATTR_CMD_MAX, +}; +#define IPSET_ATTR_CMD_MAX (__IPSET_ATTR_CMD_MAX - 1) +enum { + IPSET_ATTR_IP = IPSET_ATTR_UNSPEC + 1, + IPSET_ATTR_IP_FROM = IPSET_ATTR_IP, + IPSET_ATTR_IP_TO, + IPSET_ATTR_CIDR, + IPSET_ATTR_PORT, + IPSET_ATTR_PORT_FROM = IPSET_ATTR_PORT, + IPSET_ATTR_PORT_TO, + IPSET_ATTR_TIMEOUT, + IPSET_ATTR_PROTO, + IPSET_ATTR_CADT_FLAGS, + IPSET_ATTR_CADT_LINENO = IPSET_ATTR_LINENO, + IPSET_ATTR_MARK, + IPSET_ATTR_MARKMASK, + + IPSET_ATTR_CADT_MAX = 16, + + IPSET_ATTR_GC, + IPSET_ATTR_HASHSIZE, + IPSET_ATTR_MAXELEM, + IPSET_ATTR_NETMASK, + IPSET_ATTR_PROBES, + IPSET_ATTR_RESIZE, + IPSET_ATTR_SIZE, + + IPSET_ATTR_ELEMENTS, + IPSET_ATTR_REFERENCES, + IPSET_ATTR_MEMSIZE, + __IPSET_ATTR_CREATE_MAX, +}; +#define IPSET_ATTR_CREATE_MAX (__IPSET_ATTR_CREATE_MAX - 1) +enum { + IPSET_ATTR_ETHER = IPSET_ATTR_CADT_MAX + 1, + IPSET_ATTR_NAME, + IPSET_ATTR_NAMEREF, + IPSET_ATTR_IP2, + IPSET_ATTR_CIDR2, + IPSET_ATTR_IP2_TO, + IPSET_ATTR_IFACE, + IPSET_ATTR_BYTES, + IPSET_ATTR_PACKETS, + IPSET_ATTR_COMMENT, + IPSET_ATTR_SKBMARK, + IPSET_ATTR_SKBPRIO, + IPSET_ATTR_SKBQUEUE, + IPSET_ATTR_PAD, + __IPSET_ATTR_ADT_MAX, +}; +#define IPSET_ATTR_ADT_MAX (__IPSET_ATTR_ADT_MAX - 1) +enum { + IPSET_ATTR_IPADDR_IPV4 = IPSET_ATTR_UNSPEC + 1, + IPSET_ATTR_IPADDR_IPV6, + __IPSET_ATTR_IPADDR_MAX, +}; +#define IPSET_ATTR_IPADDR_MAX (__IPSET_ATTR_IPADDR_MAX - 1) +enum ipset_errno { + IPSET_ERR_PRIVATE = 4096, + IPSET_ERR_PROTOCOL, + IPSET_ERR_FIND_TYPE, + IPSET_ERR_MAX_SETS, + IPSET_ERR_BUSY, + IPSET_ERR_EXIST_SETNAME2, + IPSET_ERR_TYPE_MISMATCH, + IPSET_ERR_EXIST, + IPSET_ERR_INVALID_CIDR, + IPSET_ERR_INVALID_NETMASK, + IPSET_ERR_INVALID_FAMILY, + IPSET_ERR_TIMEOUT, + IPSET_ERR_REFERENCED, + IPSET_ERR_IPADDR_IPV4, + IPSET_ERR_IPADDR_IPV6, + IPSET_ERR_COUNTER, + IPSET_ERR_COMMENT, + IPSET_ERR_INVALID_MARKMASK, + IPSET_ERR_SKBINFO, + + IPSET_ERR_TYPE_SPECIFIC = 4352, +}; +enum ipset_cmd_flags { + IPSET_FLAG_BIT_EXIST = 0, + IPSET_FLAG_EXIST = (1 << IPSET_FLAG_BIT_EXIST), + IPSET_FLAG_BIT_LIST_SETNAME = 1, + IPSET_FLAG_LIST_SETNAME = (1 << IPSET_FLAG_BIT_LIST_SETNAME), + IPSET_FLAG_BIT_LIST_HEADER = 2, + IPSET_FLAG_LIST_HEADER = (1 << IPSET_FLAG_BIT_LIST_HEADER), + IPSET_FLAG_BIT_SKIP_COUNTER_UPDATE = 3, + IPSET_FLAG_SKIP_COUNTER_UPDATE = + (1 << IPSET_FLAG_BIT_SKIP_COUNTER_UPDATE), + IPSET_FLAG_BIT_SKIP_SUBCOUNTER_UPDATE = 4, + IPSET_FLAG_SKIP_SUBCOUNTER_UPDATE = + (1 << IPSET_FLAG_BIT_SKIP_SUBCOUNTER_UPDATE), + IPSET_FLAG_BIT_MATCH_COUNTERS = 5, + IPSET_FLAG_MATCH_COUNTERS = (1 << IPSET_FLAG_BIT_MATCH_COUNTERS), + IPSET_FLAG_BIT_RETURN_NOMATCH = 7, + IPSET_FLAG_RETURN_NOMATCH = (1 << IPSET_FLAG_BIT_RETURN_NOMATCH), + IPSET_FLAG_BIT_MAP_SKBMARK = 8, + IPSET_FLAG_MAP_SKBMARK = (1 << IPSET_FLAG_BIT_MAP_SKBMARK), + IPSET_FLAG_BIT_MAP_SKBPRIO = 9, + IPSET_FLAG_MAP_SKBPRIO = (1 << IPSET_FLAG_BIT_MAP_SKBPRIO), + IPSET_FLAG_BIT_MAP_SKBQUEUE = 10, + IPSET_FLAG_MAP_SKBQUEUE = (1 << IPSET_FLAG_BIT_MAP_SKBQUEUE), + IPSET_FLAG_CMD_MAX = 15, +}; +enum ipset_cadt_flags { + IPSET_FLAG_BIT_BEFORE = 0, + IPSET_FLAG_BEFORE = (1 << IPSET_FLAG_BIT_BEFORE), + IPSET_FLAG_BIT_PHYSDEV = 1, + IPSET_FLAG_PHYSDEV = (1 << IPSET_FLAG_BIT_PHYSDEV), + IPSET_FLAG_BIT_NOMATCH = 2, + IPSET_FLAG_NOMATCH = (1 << IPSET_FLAG_BIT_NOMATCH), + IPSET_FLAG_BIT_WITH_COUNTERS = 3, + IPSET_FLAG_WITH_COUNTERS = (1 << IPSET_FLAG_BIT_WITH_COUNTERS), + IPSET_FLAG_BIT_WITH_COMMENT = 4, + IPSET_FLAG_WITH_COMMENT = (1 << IPSET_FLAG_BIT_WITH_COMMENT), + IPSET_FLAG_BIT_WITH_FORCEADD = 5, + IPSET_FLAG_WITH_FORCEADD = (1 << IPSET_FLAG_BIT_WITH_FORCEADD), + IPSET_FLAG_BIT_WITH_SKBINFO = 6, + IPSET_FLAG_WITH_SKBINFO = (1 << IPSET_FLAG_BIT_WITH_SKBINFO), + IPSET_FLAG_BIT_IFACE_WILDCARD = 7, + IPSET_FLAG_IFACE_WILDCARD = (1 << IPSET_FLAG_BIT_IFACE_WILDCARD), + IPSET_FLAG_CADT_MAX = 15, +}; +enum ipset_create_flags { + IPSET_CREATE_FLAG_BIT_FORCEADD = 0, + IPSET_CREATE_FLAG_FORCEADD = (1 << IPSET_CREATE_FLAG_BIT_FORCEADD), + IPSET_CREATE_FLAG_BIT_MAX = 7, +}; +enum ipset_adt { + IPSET_ADD, + IPSET_DEL, + IPSET_TEST, + IPSET_ADT_MAX, + IPSET_CREATE = IPSET_ADT_MAX, + IPSET_CADT_MAX, +}; +typedef __u16 ip_set_id_t; +#define IPSET_INVALID_ID 65535 +enum ip_set_dim { + IPSET_DIM_ZERO = 0, + IPSET_DIM_ONE, + IPSET_DIM_TWO, + IPSET_DIM_THREE, + + IPSET_DIM_MAX = 6, + + IPSET_BIT_RETURN_NOMATCH = 7, +}; +enum ip_set_kopt { + IPSET_INV_MATCH = (1 << IPSET_DIM_ZERO), + IPSET_DIM_ONE_SRC = (1 << IPSET_DIM_ONE), + IPSET_DIM_TWO_SRC = (1 << IPSET_DIM_TWO), + IPSET_DIM_THREE_SRC = (1 << IPSET_DIM_THREE), + IPSET_RETURN_NOMATCH = (1 << IPSET_BIT_RETURN_NOMATCH), +}; +enum { + IPSET_COUNTER_NONE = 0, + IPSET_COUNTER_EQ, + IPSET_COUNTER_NE, + IPSET_COUNTER_LT, + IPSET_COUNTER_GT, +}; +struct ip_set_counter_match0 { + __u8 op; + __u64 value; +}; +struct ip_set_counter_match { + __aligned_u64 value; + __u8 op; +}; +#define SO_IP_SET 83 +union ip_set_name_index { + char name[IPSET_MAXNAMELEN]; + ip_set_id_t index; +}; +#define IP_SET_OP_GET_BYNAME 0x00000006 +struct ip_set_req_get_set { + unsigned int op; + unsigned int version; + union ip_set_name_index set; +}; +#define IP_SET_OP_GET_BYINDEX 0x00000007 +#define IP_SET_OP_GET_FNAME 0x00000008 +struct ip_set_req_get_set_family { + unsigned int op; + unsigned int version; + unsigned int family; + union ip_set_name_index set; +}; +#define IP_SET_OP_VERSION 0x00000100 +struct ip_set_req_version { + unsigned int op; + unsigned int version; +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/netfilter/ipset/ip_set_bitmap.h b/linux-5.10/prebuilts/usr/include/linux/netfilter/ipset/ip_set_bitmap.h new file mode 100644 index 0000000..f51996f --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/netfilter/ipset/ip_set_bitmap.h @@ -0,0 +1,15 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI__IP_SET_BITMAP_H +#define _UAPI__IP_SET_BITMAP_H +#include +enum { + + IPSET_ERR_BITMAP_RANGE = IPSET_ERR_TYPE_SPECIFIC, + + IPSET_ERR_BITMAP_RANGE_SIZE, +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/netfilter/ipset/ip_set_hash.h b/linux-5.10/prebuilts/usr/include/linux/netfilter/ipset/ip_set_hash.h new file mode 100644 index 0000000..1e05404 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/netfilter/ipset/ip_set_hash.h @@ -0,0 +1,23 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI__IP_SET_HASH_H +#define _UAPI__IP_SET_HASH_H +#include +enum { + + IPSET_ERR_HASH_FULL = IPSET_ERR_TYPE_SPECIFIC, + + IPSET_ERR_HASH_ELEM, + + IPSET_ERR_INVALID_PROTO, + + IPSET_ERR_MISSING_PROTO, + + IPSET_ERR_HASH_RANGE_UNSUPPORTED, + + IPSET_ERR_HASH_RANGE, +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/netfilter/ipset/ip_set_list.h b/linux-5.10/prebuilts/usr/include/linux/netfilter/ipset/ip_set_list.h new file mode 100644 index 0000000..f227dfa --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/netfilter/ipset/ip_set_list.h @@ -0,0 +1,23 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI__IP_SET_LIST_H +#define _UAPI__IP_SET_LIST_H +#include +enum { + + IPSET_ERR_NAME = IPSET_ERR_TYPE_SPECIFIC, + + IPSET_ERR_LOOP, + + IPSET_ERR_BEFORE, + + IPSET_ERR_NAMEREF, + + IPSET_ERR_LIST_FULL, + + IPSET_ERR_REF_EXIST, +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/netfilter/nf_conntrack_common.h b/linux-5.10/prebuilts/usr/include/linux/netfilter/nf_conntrack_common.h new file mode 100644 index 0000000..2f6a96e --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/netfilter/nf_conntrack_common.h @@ -0,0 +1,121 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI_NF_CONNTRACK_COMMON_H +#define _UAPI_NF_CONNTRACK_COMMON_H +enum ip_conntrack_info { + + IP_CT_ESTABLISHED, + + IP_CT_RELATED, + + IP_CT_NEW, + + IP_CT_IS_REPLY, + IP_CT_ESTABLISHED_REPLY = IP_CT_ESTABLISHED + IP_CT_IS_REPLY, + IP_CT_RELATED_REPLY = IP_CT_RELATED + IP_CT_IS_REPLY, + + + IP_CT_NUMBER, + +#ifndef __KERNEL__ + IP_CT_NEW_REPLY = IP_CT_NUMBER, +#else + IP_CT_UNTRACKED = 7, +#endif +}; +#define NF_CT_STATE_INVALID_BIT (1 << 0) +#define NF_CT_STATE_BIT(ctinfo) (1 << ((ctinfo) % IP_CT_IS_REPLY + 1)) +#define NF_CT_STATE_UNTRACKED_BIT (1 << 6) +enum ip_conntrack_status { + + IPS_EXPECTED_BIT = 0, + IPS_EXPECTED = (1 << IPS_EXPECTED_BIT), + + IPS_SEEN_REPLY_BIT = 1, + IPS_SEEN_REPLY = (1 << IPS_SEEN_REPLY_BIT), + + IPS_ASSURED_BIT = 2, + IPS_ASSURED = (1 << IPS_ASSURED_BIT), + + IPS_CONFIRMED_BIT = 3, + IPS_CONFIRMED = (1 << IPS_CONFIRMED_BIT), + + IPS_SRC_NAT_BIT = 4, + IPS_SRC_NAT = (1 << IPS_SRC_NAT_BIT), + + IPS_DST_NAT_BIT = 5, + IPS_DST_NAT = (1 << IPS_DST_NAT_BIT), + + IPS_NAT_MASK = (IPS_DST_NAT | IPS_SRC_NAT), + + IPS_SEQ_ADJUST_BIT = 6, + IPS_SEQ_ADJUST = (1 << IPS_SEQ_ADJUST_BIT), + + IPS_SRC_NAT_DONE_BIT = 7, + IPS_SRC_NAT_DONE = (1 << IPS_SRC_NAT_DONE_BIT), + IPS_DST_NAT_DONE_BIT = 8, + IPS_DST_NAT_DONE = (1 << IPS_DST_NAT_DONE_BIT), + + IPS_NAT_DONE_MASK = (IPS_DST_NAT_DONE | IPS_SRC_NAT_DONE), + + IPS_DYING_BIT = 9, + IPS_DYING = (1 << IPS_DYING_BIT), + + IPS_FIXED_TIMEOUT_BIT = 10, + IPS_FIXED_TIMEOUT = (1 << IPS_FIXED_TIMEOUT_BIT), + + IPS_TEMPLATE_BIT = 11, + IPS_TEMPLATE = (1 << IPS_TEMPLATE_BIT), + + IPS_UNTRACKED_BIT = 12, + IPS_UNTRACKED = (1 << IPS_UNTRACKED_BIT), +#ifdef __KERNEL__ + + IPS_NAT_CLASH_BIT = IPS_UNTRACKED_BIT, + IPS_NAT_CLASH = IPS_UNTRACKED, +#endif + + IPS_HELPER_BIT = 13, + IPS_HELPER = (1 << IPS_HELPER_BIT), + + IPS_OFFLOAD_BIT = 14, + IPS_OFFLOAD = (1 << IPS_OFFLOAD_BIT), + + IPS_HW_OFFLOAD_BIT = 15, + IPS_HW_OFFLOAD = (1 << IPS_HW_OFFLOAD_BIT), + + IPS_UNCHANGEABLE_MASK = (IPS_NAT_DONE_MASK | IPS_NAT_MASK | + IPS_EXPECTED | IPS_CONFIRMED | IPS_DYING | + IPS_SEQ_ADJUST | IPS_TEMPLATE | IPS_UNTRACKED | + IPS_OFFLOAD | IPS_HW_OFFLOAD), + __IPS_MAX_BIT = 16, +}; +enum ip_conntrack_events { + IPCT_NEW, + IPCT_RELATED, + IPCT_DESTROY, + IPCT_REPLY, + IPCT_ASSURED, + IPCT_PROTOINFO, + IPCT_HELPER, + IPCT_MARK, + IPCT_SEQADJ, + IPCT_NATSEQADJ = IPCT_SEQADJ, + IPCT_SECMARK, + IPCT_LABEL, + IPCT_SYNPROXY, +#ifdef __KERNEL__ + __IPCT_MAX +#endif +}; +enum ip_conntrack_expect_events { + IPEXP_NEW, + IPEXP_DESTROY, +}; +#define NF_CT_EXPECT_PERMANENT 0x1 +#define NF_CT_EXPECT_INACTIVE 0x2 +#define NF_CT_EXPECT_USERSPACE 0x4 +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/netfilter/nf_conntrack_ftp.h b/linux-5.10/prebuilts/usr/include/linux/netfilter/nf_conntrack_ftp.h new file mode 100644 index 0000000..06daa46 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/netfilter/nf_conntrack_ftp.h @@ -0,0 +1,18 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI_NF_CONNTRACK_FTP_H +#define _UAPI_NF_CONNTRACK_FTP_H +enum nf_ct_ftp_type { + + NF_CT_FTP_PORT, + + NF_CT_FTP_PASV, + + NF_CT_FTP_EPRT, + + NF_CT_FTP_EPSV, +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/netfilter/nf_conntrack_sctp.h b/linux-5.10/prebuilts/usr/include/linux/netfilter/nf_conntrack_sctp.h new file mode 100644 index 0000000..41fec71 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/netfilter/nf_conntrack_sctp.h @@ -0,0 +1,22 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI_NF_CONNTRACK_SCTP_H +#define _UAPI_NF_CONNTRACK_SCTP_H +#include +enum sctp_conntrack { + SCTP_CONNTRACK_NONE, + SCTP_CONNTRACK_CLOSED, + SCTP_CONNTRACK_COOKIE_WAIT, + SCTP_CONNTRACK_COOKIE_ECHOED, + SCTP_CONNTRACK_ESTABLISHED, + SCTP_CONNTRACK_SHUTDOWN_SENT, + SCTP_CONNTRACK_SHUTDOWN_RECD, + SCTP_CONNTRACK_SHUTDOWN_ACK_SENT, + SCTP_CONNTRACK_HEARTBEAT_SENT, + SCTP_CONNTRACK_HEARTBEAT_ACKED, + SCTP_CONNTRACK_MAX +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/netfilter/nf_conntrack_tcp.h b/linux-5.10/prebuilts/usr/include/linux/netfilter/nf_conntrack_tcp.h new file mode 100644 index 0000000..e178cda --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/netfilter/nf_conntrack_tcp.h @@ -0,0 +1,39 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI_NF_CONNTRACK_TCP_H +#define _UAPI_NF_CONNTRACK_TCP_H +#include +enum tcp_conntrack { + TCP_CONNTRACK_NONE, + TCP_CONNTRACK_SYN_SENT, + TCP_CONNTRACK_SYN_RECV, + TCP_CONNTRACK_ESTABLISHED, + TCP_CONNTRACK_FIN_WAIT, + TCP_CONNTRACK_CLOSE_WAIT, + TCP_CONNTRACK_LAST_ACK, + TCP_CONNTRACK_TIME_WAIT, + TCP_CONNTRACK_CLOSE, + TCP_CONNTRACK_LISTEN, +#define TCP_CONNTRACK_SYN_SENT2 TCP_CONNTRACK_LISTEN + TCP_CONNTRACK_MAX, + TCP_CONNTRACK_IGNORE, + TCP_CONNTRACK_RETRANS, + TCP_CONNTRACK_UNACK, + TCP_CONNTRACK_TIMEOUT_MAX +}; +#define IP_CT_TCP_FLAG_WINDOW_SCALE 0x01 +#define IP_CT_TCP_FLAG_SACK_PERM 0x02 +#define IP_CT_TCP_FLAG_CLOSE_INIT 0x04 +#define IP_CT_TCP_FLAG_BE_LIBERAL 0x08 +#define IP_CT_TCP_FLAG_DATA_UNACKNOWLEDGED 0x10 +#define IP_CT_TCP_FLAG_MAXACK_SET 0x20 +#define IP_CT_EXP_CHALLENGE_ACK 0x40 +#define IP_CT_TCP_SIMULTANEOUS_OPEN 0x80 +struct nf_ct_tcp_flags { + __u8 flags; + __u8 mask; +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/netfilter/nf_conntrack_tuple_common.h b/linux-5.10/prebuilts/usr/include/linux/netfilter/nf_conntrack_tuple_common.h new file mode 100644 index 0000000..af51877 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/netfilter/nf_conntrack_tuple_common.h @@ -0,0 +1,41 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _NF_CONNTRACK_TUPLE_COMMON_H +#define _NF_CONNTRACK_TUPLE_COMMON_H +#include +#ifndef __KERNEL__ +#include +#endif +#include +enum ip_conntrack_dir { + IP_CT_DIR_ORIGINAL, + IP_CT_DIR_REPLY, + IP_CT_DIR_MAX +}; +union nf_conntrack_man_proto { + + __be16 all; + struct { + __be16 port; + } tcp; + struct { + __be16 port; + } udp; + struct { + __be16 id; + } icmp; + struct { + __be16 port; + } dccp; + struct { + __be16 port; + } sctp; + struct { + __be16 key; + } gre; +}; +#define CTINFO2DIR(ctinfo) ((ctinfo) >= IP_CT_IS_REPLY ? IP_CT_DIR_REPLY : IP_CT_DIR_ORIGINAL) +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/netfilter/nf_log.h b/linux-5.10/prebuilts/usr/include/linux/netfilter/nf_log.h new file mode 100644 index 0000000..7f8d256 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/netfilter/nf_log.h @@ -0,0 +1,16 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _NETFILTER_NF_LOG_H +#define _NETFILTER_NF_LOG_H +#define NF_LOG_TCPSEQ 0x01 +#define NF_LOG_TCPOPT 0x02 +#define NF_LOG_IPOPT 0x04 +#define NF_LOG_UID 0x08 +#define NF_LOG_NFLOG 0x10 +#define NF_LOG_MACDECODE 0x20 +#define NF_LOG_MASK 0x2f +#define NF_LOG_PREFIXLEN 128 +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/netfilter/nf_nat.h b/linux-5.10/prebuilts/usr/include/linux/netfilter/nf_nat.h new file mode 100644 index 0000000..5ab5271 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/netfilter/nf_nat.h @@ -0,0 +1,50 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _NETFILTER_NF_NAT_H +#define _NETFILTER_NF_NAT_H +#include +#include +#define NF_NAT_RANGE_MAP_IPS (1 << 0) +#define NF_NAT_RANGE_PROTO_SPECIFIED (1 << 1) +#define NF_NAT_RANGE_PROTO_RANDOM (1 << 2) +#define NF_NAT_RANGE_PERSISTENT (1 << 3) +#define NF_NAT_RANGE_PROTO_RANDOM_FULLY (1 << 4) +#define NF_NAT_RANGE_PROTO_OFFSET (1 << 5) +#define NF_NAT_RANGE_NETMAP (1 << 6) +#define NF_NAT_RANGE_PROTO_RANDOM_ALL \ + (NF_NAT_RANGE_PROTO_RANDOM | NF_NAT_RANGE_PROTO_RANDOM_FULLY) +#define NF_NAT_RANGE_MASK \ + (NF_NAT_RANGE_MAP_IPS | NF_NAT_RANGE_PROTO_SPECIFIED | \ + NF_NAT_RANGE_PROTO_RANDOM | NF_NAT_RANGE_PERSISTENT | \ + NF_NAT_RANGE_PROTO_RANDOM_FULLY | NF_NAT_RANGE_PROTO_OFFSET | \ + NF_NAT_RANGE_NETMAP) +struct nf_nat_ipv4_range { + unsigned int flags; + __be32 min_ip; + __be32 max_ip; + union nf_conntrack_man_proto min; + union nf_conntrack_man_proto max; +}; +struct nf_nat_ipv4_multi_range_compat { + unsigned int rangesize; + struct nf_nat_ipv4_range range[1]; +}; +struct nf_nat_range { + unsigned int flags; + union nf_inet_addr min_addr; + union nf_inet_addr max_addr; + union nf_conntrack_man_proto min_proto; + union nf_conntrack_man_proto max_proto; +}; +struct nf_nat_range2 { + unsigned int flags; + union nf_inet_addr min_addr; + union nf_inet_addr max_addr; + union nf_conntrack_man_proto min_proto; + union nf_conntrack_man_proto max_proto; + union nf_conntrack_man_proto base_proto; +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/netfilter/nf_synproxy.h b/linux-5.10/prebuilts/usr/include/linux/netfilter/nf_synproxy.h new file mode 100644 index 0000000..dce9a8d --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/netfilter/nf_synproxy.h @@ -0,0 +1,23 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _NF_SYNPROXY_H +#define _NF_SYNPROXY_H +#include +#define NF_SYNPROXY_OPT_MSS 0x01 +#define NF_SYNPROXY_OPT_WSCALE 0x02 +#define NF_SYNPROXY_OPT_SACK_PERM 0x04 +#define NF_SYNPROXY_OPT_TIMESTAMP 0x08 +#define NF_SYNPROXY_OPT_ECN 0x10 +#define NF_SYNPROXY_OPT_MASK (NF_SYNPROXY_OPT_MSS | \ + NF_SYNPROXY_OPT_WSCALE | \ + NF_SYNPROXY_OPT_SACK_PERM | \ + NF_SYNPROXY_OPT_TIMESTAMP) +struct nf_synproxy_info { + __u8 options; + __u8 wscale; + __u16 mss; +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/netfilter/nf_tables.h b/linux-5.10/prebuilts/usr/include/linux/netfilter/nf_tables.h new file mode 100644 index 0000000..3575916 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/netfilter/nf_tables.h @@ -0,0 +1,1017 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _LINUX_NF_TABLES_H +#define _LINUX_NF_TABLES_H +#define NFT_NAME_MAXLEN 256 +#define NFT_TABLE_MAXNAMELEN NFT_NAME_MAXLEN +#define NFT_CHAIN_MAXNAMELEN NFT_NAME_MAXLEN +#define NFT_SET_MAXNAMELEN NFT_NAME_MAXLEN +#define NFT_OBJ_MAXNAMELEN NFT_NAME_MAXLEN +#define NFT_USERDATA_MAXLEN 256 +#define NFT_OSF_MAXGENRELEN 16 +enum nft_registers { + NFT_REG_VERDICT, + NFT_REG_1, + NFT_REG_2, + NFT_REG_3, + NFT_REG_4, + __NFT_REG_MAX, + NFT_REG32_00 = 8, + NFT_REG32_01, + NFT_REG32_02, + NFT_REG32_03, + NFT_REG32_04, + NFT_REG32_05, + NFT_REG32_06, + NFT_REG32_07, + NFT_REG32_08, + NFT_REG32_09, + NFT_REG32_10, + NFT_REG32_11, + NFT_REG32_12, + NFT_REG32_13, + NFT_REG32_14, + NFT_REG32_15, +}; +#define NFT_REG_MAX (__NFT_REG_MAX - 1) +#define NFT_REG_SIZE 16 +#define NFT_REG32_SIZE 4 +#define NFT_REG32_COUNT (NFT_REG32_15 - NFT_REG32_00 + 1) +enum nft_verdicts { + NFT_CONTINUE = -1, + NFT_BREAK = -2, + NFT_JUMP = -3, + NFT_GOTO = -4, + NFT_RETURN = -5, +}; +enum nf_tables_msg_types { + NFT_MSG_NEWTABLE, + NFT_MSG_GETTABLE, + NFT_MSG_DELTABLE, + NFT_MSG_NEWCHAIN, + NFT_MSG_GETCHAIN, + NFT_MSG_DELCHAIN, + NFT_MSG_NEWRULE, + NFT_MSG_GETRULE, + NFT_MSG_DELRULE, + NFT_MSG_NEWSET, + NFT_MSG_GETSET, + NFT_MSG_DELSET, + NFT_MSG_NEWSETELEM, + NFT_MSG_GETSETELEM, + NFT_MSG_DELSETELEM, + NFT_MSG_NEWGEN, + NFT_MSG_GETGEN, + NFT_MSG_TRACE, + NFT_MSG_NEWOBJ, + NFT_MSG_GETOBJ, + NFT_MSG_DELOBJ, + NFT_MSG_GETOBJ_RESET, + NFT_MSG_NEWFLOWTABLE, + NFT_MSG_GETFLOWTABLE, + NFT_MSG_DELFLOWTABLE, + NFT_MSG_MAX, +}; +enum nft_list_attributes { + NFTA_LIST_UNSPEC, + NFTA_LIST_ELEM, + __NFTA_LIST_MAX +}; +#define NFTA_LIST_MAX (__NFTA_LIST_MAX - 1) +enum nft_hook_attributes { + NFTA_HOOK_UNSPEC, + NFTA_HOOK_HOOKNUM, + NFTA_HOOK_PRIORITY, + NFTA_HOOK_DEV, + NFTA_HOOK_DEVS, + __NFTA_HOOK_MAX +}; +#define NFTA_HOOK_MAX (__NFTA_HOOK_MAX - 1) +enum nft_table_flags { + NFT_TABLE_F_DORMANT = 0x1, +}; +enum nft_table_attributes { + NFTA_TABLE_UNSPEC, + NFTA_TABLE_NAME, + NFTA_TABLE_FLAGS, + NFTA_TABLE_USE, + NFTA_TABLE_HANDLE, + NFTA_TABLE_PAD, + NFTA_TABLE_USERDATA, + __NFTA_TABLE_MAX +}; +#define NFTA_TABLE_MAX (__NFTA_TABLE_MAX - 1) +enum nft_chain_flags { + NFT_CHAIN_BASE = (1 << 0), + NFT_CHAIN_HW_OFFLOAD = (1 << 1), + NFT_CHAIN_BINDING = (1 << 2), +}; +#define NFT_CHAIN_FLAGS (NFT_CHAIN_BASE | \ + NFT_CHAIN_HW_OFFLOAD | \ + NFT_CHAIN_BINDING) +enum nft_chain_attributes { + NFTA_CHAIN_UNSPEC, + NFTA_CHAIN_TABLE, + NFTA_CHAIN_HANDLE, + NFTA_CHAIN_NAME, + NFTA_CHAIN_HOOK, + NFTA_CHAIN_POLICY, + NFTA_CHAIN_USE, + NFTA_CHAIN_TYPE, + NFTA_CHAIN_COUNTERS, + NFTA_CHAIN_PAD, + NFTA_CHAIN_FLAGS, + NFTA_CHAIN_ID, + NFTA_CHAIN_USERDATA, + __NFTA_CHAIN_MAX +}; +#define NFTA_CHAIN_MAX (__NFTA_CHAIN_MAX - 1) +enum nft_rule_attributes { + NFTA_RULE_UNSPEC, + NFTA_RULE_TABLE, + NFTA_RULE_CHAIN, + NFTA_RULE_HANDLE, + NFTA_RULE_EXPRESSIONS, + NFTA_RULE_COMPAT, + NFTA_RULE_POSITION, + NFTA_RULE_USERDATA, + NFTA_RULE_PAD, + NFTA_RULE_ID, + NFTA_RULE_POSITION_ID, + NFTA_RULE_CHAIN_ID, + __NFTA_RULE_MAX +}; +#define NFTA_RULE_MAX (__NFTA_RULE_MAX - 1) +enum nft_rule_compat_flags { + NFT_RULE_COMPAT_F_INV = (1 << 1), + NFT_RULE_COMPAT_F_MASK = NFT_RULE_COMPAT_F_INV, +}; +enum nft_rule_compat_attributes { + NFTA_RULE_COMPAT_UNSPEC, + NFTA_RULE_COMPAT_PROTO, + NFTA_RULE_COMPAT_FLAGS, + __NFTA_RULE_COMPAT_MAX +}; +#define NFTA_RULE_COMPAT_MAX (__NFTA_RULE_COMPAT_MAX - 1) +enum nft_set_flags { + NFT_SET_ANONYMOUS = 0x1, + NFT_SET_CONSTANT = 0x2, + NFT_SET_INTERVAL = 0x4, + NFT_SET_MAP = 0x8, + NFT_SET_TIMEOUT = 0x10, + NFT_SET_EVAL = 0x20, + NFT_SET_OBJECT = 0x40, + NFT_SET_CONCAT = 0x80, +}; +enum nft_set_policies { + NFT_SET_POL_PERFORMANCE, + NFT_SET_POL_MEMORY, +}; +enum nft_set_desc_attributes { + NFTA_SET_DESC_UNSPEC, + NFTA_SET_DESC_SIZE, + NFTA_SET_DESC_CONCAT, + __NFTA_SET_DESC_MAX +}; +#define NFTA_SET_DESC_MAX (__NFTA_SET_DESC_MAX - 1) +enum nft_set_field_attributes { + NFTA_SET_FIELD_UNSPEC, + NFTA_SET_FIELD_LEN, + __NFTA_SET_FIELD_MAX +}; +#define NFTA_SET_FIELD_MAX (__NFTA_SET_FIELD_MAX - 1) +enum nft_set_attributes { + NFTA_SET_UNSPEC, + NFTA_SET_TABLE, + NFTA_SET_NAME, + NFTA_SET_FLAGS, + NFTA_SET_KEY_TYPE, + NFTA_SET_KEY_LEN, + NFTA_SET_DATA_TYPE, + NFTA_SET_DATA_LEN, + NFTA_SET_POLICY, + NFTA_SET_DESC, + NFTA_SET_ID, + NFTA_SET_TIMEOUT, + NFTA_SET_GC_INTERVAL, + NFTA_SET_USERDATA, + NFTA_SET_PAD, + NFTA_SET_OBJ_TYPE, + NFTA_SET_HANDLE, + NFTA_SET_EXPR, + __NFTA_SET_MAX +}; +#define NFTA_SET_MAX (__NFTA_SET_MAX - 1) +enum nft_set_elem_flags { + NFT_SET_ELEM_INTERVAL_END = 0x1, +}; +enum nft_set_elem_attributes { + NFTA_SET_ELEM_UNSPEC, + NFTA_SET_ELEM_KEY, + NFTA_SET_ELEM_DATA, + NFTA_SET_ELEM_FLAGS, + NFTA_SET_ELEM_TIMEOUT, + NFTA_SET_ELEM_EXPIRATION, + NFTA_SET_ELEM_USERDATA, + NFTA_SET_ELEM_EXPR, + NFTA_SET_ELEM_PAD, + NFTA_SET_ELEM_OBJREF, + NFTA_SET_ELEM_KEY_END, + __NFTA_SET_ELEM_MAX +}; +#define NFTA_SET_ELEM_MAX (__NFTA_SET_ELEM_MAX - 1) +enum nft_set_elem_list_attributes { + NFTA_SET_ELEM_LIST_UNSPEC, + NFTA_SET_ELEM_LIST_TABLE, + NFTA_SET_ELEM_LIST_SET, + NFTA_SET_ELEM_LIST_ELEMENTS, + NFTA_SET_ELEM_LIST_SET_ID, + __NFTA_SET_ELEM_LIST_MAX +}; +#define NFTA_SET_ELEM_LIST_MAX (__NFTA_SET_ELEM_LIST_MAX - 1) +enum nft_data_types { + NFT_DATA_VALUE, + NFT_DATA_VERDICT = 0xffffff00U, +}; +#define NFT_DATA_RESERVED_MASK 0xffffff00U +enum nft_data_attributes { + NFTA_DATA_UNSPEC, + NFTA_DATA_VALUE, + NFTA_DATA_VERDICT, + __NFTA_DATA_MAX +}; +#define NFTA_DATA_MAX (__NFTA_DATA_MAX - 1) +#define NFT_DATA_VALUE_MAXLEN 64 +enum nft_verdict_attributes { + NFTA_VERDICT_UNSPEC, + NFTA_VERDICT_CODE, + NFTA_VERDICT_CHAIN, + NFTA_VERDICT_CHAIN_ID, + __NFTA_VERDICT_MAX +}; +#define NFTA_VERDICT_MAX (__NFTA_VERDICT_MAX - 1) +enum nft_expr_attributes { + NFTA_EXPR_UNSPEC, + NFTA_EXPR_NAME, + NFTA_EXPR_DATA, + __NFTA_EXPR_MAX +}; +#define NFTA_EXPR_MAX (__NFTA_EXPR_MAX - 1) +enum nft_immediate_attributes { + NFTA_IMMEDIATE_UNSPEC, + NFTA_IMMEDIATE_DREG, + NFTA_IMMEDIATE_DATA, + __NFTA_IMMEDIATE_MAX +}; +#define NFTA_IMMEDIATE_MAX (__NFTA_IMMEDIATE_MAX - 1) +enum nft_bitwise_ops { + NFT_BITWISE_BOOL, + NFT_BITWISE_LSHIFT, + NFT_BITWISE_RSHIFT, +}; +enum nft_bitwise_attributes { + NFTA_BITWISE_UNSPEC, + NFTA_BITWISE_SREG, + NFTA_BITWISE_DREG, + NFTA_BITWISE_LEN, + NFTA_BITWISE_MASK, + NFTA_BITWISE_XOR, + NFTA_BITWISE_OP, + NFTA_BITWISE_DATA, + __NFTA_BITWISE_MAX +}; +#define NFTA_BITWISE_MAX (__NFTA_BITWISE_MAX - 1) +enum nft_byteorder_ops { + NFT_BYTEORDER_NTOH, + NFT_BYTEORDER_HTON, +}; +enum nft_byteorder_attributes { + NFTA_BYTEORDER_UNSPEC, + NFTA_BYTEORDER_SREG, + NFTA_BYTEORDER_DREG, + NFTA_BYTEORDER_OP, + NFTA_BYTEORDER_LEN, + NFTA_BYTEORDER_SIZE, + __NFTA_BYTEORDER_MAX +}; +#define NFTA_BYTEORDER_MAX (__NFTA_BYTEORDER_MAX - 1) +enum nft_cmp_ops { + NFT_CMP_EQ, + NFT_CMP_NEQ, + NFT_CMP_LT, + NFT_CMP_LTE, + NFT_CMP_GT, + NFT_CMP_GTE, +}; +enum nft_cmp_attributes { + NFTA_CMP_UNSPEC, + NFTA_CMP_SREG, + NFTA_CMP_OP, + NFTA_CMP_DATA, + __NFTA_CMP_MAX +}; +#define NFTA_CMP_MAX (__NFTA_CMP_MAX - 1) +enum nft_range_ops { + NFT_RANGE_EQ, + NFT_RANGE_NEQ, +}; +enum nft_range_attributes { + NFTA_RANGE_UNSPEC, + NFTA_RANGE_SREG, + NFTA_RANGE_OP, + NFTA_RANGE_FROM_DATA, + NFTA_RANGE_TO_DATA, + __NFTA_RANGE_MAX +}; +#define NFTA_RANGE_MAX (__NFTA_RANGE_MAX - 1) +enum nft_lookup_flags { + NFT_LOOKUP_F_INV = (1 << 0), +}; +enum nft_lookup_attributes { + NFTA_LOOKUP_UNSPEC, + NFTA_LOOKUP_SET, + NFTA_LOOKUP_SREG, + NFTA_LOOKUP_DREG, + NFTA_LOOKUP_SET_ID, + NFTA_LOOKUP_FLAGS, + __NFTA_LOOKUP_MAX +}; +#define NFTA_LOOKUP_MAX (__NFTA_LOOKUP_MAX - 1) +enum nft_dynset_ops { + NFT_DYNSET_OP_ADD, + NFT_DYNSET_OP_UPDATE, + NFT_DYNSET_OP_DELETE, +}; +enum nft_dynset_flags { + NFT_DYNSET_F_INV = (1 << 0), +}; +enum nft_dynset_attributes { + NFTA_DYNSET_UNSPEC, + NFTA_DYNSET_SET_NAME, + NFTA_DYNSET_SET_ID, + NFTA_DYNSET_OP, + NFTA_DYNSET_SREG_KEY, + NFTA_DYNSET_SREG_DATA, + NFTA_DYNSET_TIMEOUT, + NFTA_DYNSET_EXPR, + NFTA_DYNSET_PAD, + NFTA_DYNSET_FLAGS, + __NFTA_DYNSET_MAX, +}; +#define NFTA_DYNSET_MAX (__NFTA_DYNSET_MAX - 1) +enum nft_payload_bases { + NFT_PAYLOAD_LL_HEADER, + NFT_PAYLOAD_NETWORK_HEADER, + NFT_PAYLOAD_TRANSPORT_HEADER, +}; +enum nft_payload_csum_types { + NFT_PAYLOAD_CSUM_NONE, + NFT_PAYLOAD_CSUM_INET, + NFT_PAYLOAD_CSUM_SCTP, +}; +enum nft_payload_csum_flags { + NFT_PAYLOAD_L4CSUM_PSEUDOHDR = (1 << 0), +}; +enum nft_payload_attributes { + NFTA_PAYLOAD_UNSPEC, + NFTA_PAYLOAD_DREG, + NFTA_PAYLOAD_BASE, + NFTA_PAYLOAD_OFFSET, + NFTA_PAYLOAD_LEN, + NFTA_PAYLOAD_SREG, + NFTA_PAYLOAD_CSUM_TYPE, + NFTA_PAYLOAD_CSUM_OFFSET, + NFTA_PAYLOAD_CSUM_FLAGS, + __NFTA_PAYLOAD_MAX +}; +#define NFTA_PAYLOAD_MAX (__NFTA_PAYLOAD_MAX - 1) +enum nft_exthdr_flags { + NFT_EXTHDR_F_PRESENT = (1 << 0), +}; +enum nft_exthdr_op { + NFT_EXTHDR_OP_IPV6, + NFT_EXTHDR_OP_TCPOPT, + NFT_EXTHDR_OP_IPV4, + __NFT_EXTHDR_OP_MAX +}; +#define NFT_EXTHDR_OP_MAX (__NFT_EXTHDR_OP_MAX - 1) +enum nft_exthdr_attributes { + NFTA_EXTHDR_UNSPEC, + NFTA_EXTHDR_DREG, + NFTA_EXTHDR_TYPE, + NFTA_EXTHDR_OFFSET, + NFTA_EXTHDR_LEN, + NFTA_EXTHDR_FLAGS, + NFTA_EXTHDR_OP, + NFTA_EXTHDR_SREG, + __NFTA_EXTHDR_MAX +}; +#define NFTA_EXTHDR_MAX (__NFTA_EXTHDR_MAX - 1) +enum nft_meta_keys { + NFT_META_LEN, + NFT_META_PROTOCOL, + NFT_META_PRIORITY, + NFT_META_MARK, + NFT_META_IIF, + NFT_META_OIF, + NFT_META_IIFNAME, + NFT_META_OIFNAME, + NFT_META_IIFTYPE, + NFT_META_OIFTYPE, + NFT_META_SKUID, + NFT_META_SKGID, + NFT_META_NFTRACE, + NFT_META_RTCLASSID, + NFT_META_SECMARK, + NFT_META_NFPROTO, + NFT_META_L4PROTO, + NFT_META_BRI_IIFNAME, + NFT_META_BRI_OIFNAME, + NFT_META_PKTTYPE, + NFT_META_CPU, + NFT_META_IIFGROUP, + NFT_META_OIFGROUP, + NFT_META_CGROUP, + NFT_META_PRANDOM, + NFT_META_SECPATH, + NFT_META_IIFKIND, + NFT_META_OIFKIND, + NFT_META_BRI_IIFPVID, + NFT_META_BRI_IIFVPROTO, + NFT_META_TIME_NS, + NFT_META_TIME_DAY, + NFT_META_TIME_HOUR, + NFT_META_SDIF, + NFT_META_SDIFNAME, +}; +enum nft_rt_keys { + NFT_RT_CLASSID, + NFT_RT_NEXTHOP4, + NFT_RT_NEXTHOP6, + NFT_RT_TCPMSS, + NFT_RT_XFRM, + __NFT_RT_MAX +}; +#define NFT_RT_MAX (__NFT_RT_MAX - 1) +enum nft_hash_types { + NFT_HASH_JENKINS, + NFT_HASH_SYM, +}; +enum nft_hash_attributes { + NFTA_HASH_UNSPEC, + NFTA_HASH_SREG, + NFTA_HASH_DREG, + NFTA_HASH_LEN, + NFTA_HASH_MODULUS, + NFTA_HASH_SEED, + NFTA_HASH_OFFSET, + NFTA_HASH_TYPE, + NFTA_HASH_SET_NAME, + NFTA_HASH_SET_ID, + __NFTA_HASH_MAX, +}; +#define NFTA_HASH_MAX (__NFTA_HASH_MAX - 1) +enum nft_meta_attributes { + NFTA_META_UNSPEC, + NFTA_META_DREG, + NFTA_META_KEY, + NFTA_META_SREG, + __NFTA_META_MAX +}; +#define NFTA_META_MAX (__NFTA_META_MAX - 1) +enum nft_rt_attributes { + NFTA_RT_UNSPEC, + NFTA_RT_DREG, + NFTA_RT_KEY, + __NFTA_RT_MAX +}; +#define NFTA_RT_MAX (__NFTA_RT_MAX - 1) +enum nft_socket_attributes { + NFTA_SOCKET_UNSPEC, + NFTA_SOCKET_KEY, + NFTA_SOCKET_DREG, + __NFTA_SOCKET_MAX +}; +#define NFTA_SOCKET_MAX (__NFTA_SOCKET_MAX - 1) +enum nft_socket_keys { + NFT_SOCKET_TRANSPARENT, + NFT_SOCKET_MARK, + NFT_SOCKET_WILDCARD, + __NFT_SOCKET_MAX +}; +#define NFT_SOCKET_MAX (__NFT_SOCKET_MAX - 1) +enum nft_ct_keys { + NFT_CT_STATE, + NFT_CT_DIRECTION, + NFT_CT_STATUS, + NFT_CT_MARK, + NFT_CT_SECMARK, + NFT_CT_EXPIRATION, + NFT_CT_HELPER, + NFT_CT_L3PROTOCOL, + NFT_CT_SRC, + NFT_CT_DST, + NFT_CT_PROTOCOL, + NFT_CT_PROTO_SRC, + NFT_CT_PROTO_DST, + NFT_CT_LABELS, + NFT_CT_PKTS, + NFT_CT_BYTES, + NFT_CT_AVGPKT, + NFT_CT_ZONE, + NFT_CT_EVENTMASK, + NFT_CT_SRC_IP, + NFT_CT_DST_IP, + NFT_CT_SRC_IP6, + NFT_CT_DST_IP6, + NFT_CT_ID, + __NFT_CT_MAX +}; +#define NFT_CT_MAX (__NFT_CT_MAX - 1) +enum nft_ct_attributes { + NFTA_CT_UNSPEC, + NFTA_CT_DREG, + NFTA_CT_KEY, + NFTA_CT_DIRECTION, + NFTA_CT_SREG, + __NFTA_CT_MAX +}; +#define NFTA_CT_MAX (__NFTA_CT_MAX - 1) +enum nft_offload_attributes { + NFTA_FLOW_UNSPEC, + NFTA_FLOW_TABLE_NAME, + __NFTA_FLOW_MAX, +}; +#define NFTA_FLOW_MAX (__NFTA_FLOW_MAX - 1) +enum nft_limit_type { + NFT_LIMIT_PKTS, + NFT_LIMIT_PKT_BYTES +}; +enum nft_limit_flags { + NFT_LIMIT_F_INV = (1 << 0), +}; +enum nft_limit_attributes { + NFTA_LIMIT_UNSPEC, + NFTA_LIMIT_RATE, + NFTA_LIMIT_UNIT, + NFTA_LIMIT_BURST, + NFTA_LIMIT_TYPE, + NFTA_LIMIT_FLAGS, + NFTA_LIMIT_PAD, + __NFTA_LIMIT_MAX +}; +#define NFTA_LIMIT_MAX (__NFTA_LIMIT_MAX - 1) +enum nft_connlimit_flags { + NFT_CONNLIMIT_F_INV = (1 << 0), +}; +enum nft_connlimit_attributes { + NFTA_CONNLIMIT_UNSPEC, + NFTA_CONNLIMIT_COUNT, + NFTA_CONNLIMIT_FLAGS, + __NFTA_CONNLIMIT_MAX +}; +#define NFTA_CONNLIMIT_MAX (__NFTA_CONNLIMIT_MAX - 1) +enum nft_counter_attributes { + NFTA_COUNTER_UNSPEC, + NFTA_COUNTER_BYTES, + NFTA_COUNTER_PACKETS, + NFTA_COUNTER_PAD, + __NFTA_COUNTER_MAX +}; +#define NFTA_COUNTER_MAX (__NFTA_COUNTER_MAX - 1) +enum nft_log_attributes { + NFTA_LOG_UNSPEC, + NFTA_LOG_GROUP, + NFTA_LOG_PREFIX, + NFTA_LOG_SNAPLEN, + NFTA_LOG_QTHRESHOLD, + NFTA_LOG_LEVEL, + NFTA_LOG_FLAGS, + __NFTA_LOG_MAX +}; +#define NFTA_LOG_MAX (__NFTA_LOG_MAX - 1) +enum nft_log_level { + NFT_LOGLEVEL_EMERG, + NFT_LOGLEVEL_ALERT, + NFT_LOGLEVEL_CRIT, + NFT_LOGLEVEL_ERR, + NFT_LOGLEVEL_WARNING, + NFT_LOGLEVEL_NOTICE, + NFT_LOGLEVEL_INFO, + NFT_LOGLEVEL_DEBUG, + NFT_LOGLEVEL_AUDIT, + __NFT_LOGLEVEL_MAX +}; +#define NFT_LOGLEVEL_MAX (__NFT_LOGLEVEL_MAX - 1) +enum nft_queue_attributes { + NFTA_QUEUE_UNSPEC, + NFTA_QUEUE_NUM, + NFTA_QUEUE_TOTAL, + NFTA_QUEUE_FLAGS, + NFTA_QUEUE_SREG_QNUM, + __NFTA_QUEUE_MAX +}; +#define NFTA_QUEUE_MAX (__NFTA_QUEUE_MAX - 1) +#define NFT_QUEUE_FLAG_BYPASS 0x01 +#define NFT_QUEUE_FLAG_CPU_FANOUT 0x02 +#define NFT_QUEUE_FLAG_MASK 0x03 +enum nft_quota_flags { + NFT_QUOTA_F_INV = (1 << 0), + NFT_QUOTA_F_DEPLETED = (1 << 1), +}; +enum nft_quota_attributes { + NFTA_QUOTA_UNSPEC, + NFTA_QUOTA_BYTES, + NFTA_QUOTA_FLAGS, + NFTA_QUOTA_PAD, + NFTA_QUOTA_CONSUMED, + __NFTA_QUOTA_MAX +}; +#define NFTA_QUOTA_MAX (__NFTA_QUOTA_MAX - 1) +enum nft_secmark_attributes { + NFTA_SECMARK_UNSPEC, + NFTA_SECMARK_CTX, + __NFTA_SECMARK_MAX, +}; +#define NFTA_SECMARK_MAX (__NFTA_SECMARK_MAX - 1) +#define NFT_SECMARK_CTX_MAXLEN 256 +enum nft_reject_types { + NFT_REJECT_ICMP_UNREACH, + NFT_REJECT_TCP_RST, + NFT_REJECT_ICMPX_UNREACH, +}; +enum nft_reject_inet_code { + NFT_REJECT_ICMPX_NO_ROUTE = 0, + NFT_REJECT_ICMPX_PORT_UNREACH, + NFT_REJECT_ICMPX_HOST_UNREACH, + NFT_REJECT_ICMPX_ADMIN_PROHIBITED, + __NFT_REJECT_ICMPX_MAX +}; +#define NFT_REJECT_ICMPX_MAX (__NFT_REJECT_ICMPX_MAX - 1) +enum nft_reject_attributes { + NFTA_REJECT_UNSPEC, + NFTA_REJECT_TYPE, + NFTA_REJECT_ICMP_CODE, + __NFTA_REJECT_MAX +}; +#define NFTA_REJECT_MAX (__NFTA_REJECT_MAX - 1) +enum nft_nat_types { + NFT_NAT_SNAT, + NFT_NAT_DNAT, +}; +enum nft_nat_attributes { + NFTA_NAT_UNSPEC, + NFTA_NAT_TYPE, + NFTA_NAT_FAMILY, + NFTA_NAT_REG_ADDR_MIN, + NFTA_NAT_REG_ADDR_MAX, + NFTA_NAT_REG_PROTO_MIN, + NFTA_NAT_REG_PROTO_MAX, + NFTA_NAT_FLAGS, + __NFTA_NAT_MAX +}; +#define NFTA_NAT_MAX (__NFTA_NAT_MAX - 1) +enum nft_tproxy_attributes { + NFTA_TPROXY_UNSPEC, + NFTA_TPROXY_FAMILY, + NFTA_TPROXY_REG_ADDR, + NFTA_TPROXY_REG_PORT, + __NFTA_TPROXY_MAX +}; +#define NFTA_TPROXY_MAX (__NFTA_TPROXY_MAX - 1) +enum nft_masq_attributes { + NFTA_MASQ_UNSPEC, + NFTA_MASQ_FLAGS, + NFTA_MASQ_REG_PROTO_MIN, + NFTA_MASQ_REG_PROTO_MAX, + __NFTA_MASQ_MAX +}; +#define NFTA_MASQ_MAX (__NFTA_MASQ_MAX - 1) +enum nft_redir_attributes { + NFTA_REDIR_UNSPEC, + NFTA_REDIR_REG_PROTO_MIN, + NFTA_REDIR_REG_PROTO_MAX, + NFTA_REDIR_FLAGS, + __NFTA_REDIR_MAX +}; +#define NFTA_REDIR_MAX (__NFTA_REDIR_MAX - 1) +enum nft_dup_attributes { + NFTA_DUP_UNSPEC, + NFTA_DUP_SREG_ADDR, + NFTA_DUP_SREG_DEV, + __NFTA_DUP_MAX +}; +#define NFTA_DUP_MAX (__NFTA_DUP_MAX - 1) +enum nft_fwd_attributes { + NFTA_FWD_UNSPEC, + NFTA_FWD_SREG_DEV, + NFTA_FWD_SREG_ADDR, + NFTA_FWD_NFPROTO, + __NFTA_FWD_MAX +}; +#define NFTA_FWD_MAX (__NFTA_FWD_MAX - 1) +enum nft_objref_attributes { + NFTA_OBJREF_UNSPEC, + NFTA_OBJREF_IMM_TYPE, + NFTA_OBJREF_IMM_NAME, + NFTA_OBJREF_SET_SREG, + NFTA_OBJREF_SET_NAME, + NFTA_OBJREF_SET_ID, + __NFTA_OBJREF_MAX +}; +#define NFTA_OBJREF_MAX (__NFTA_OBJREF_MAX - 1) +enum nft_gen_attributes { + NFTA_GEN_UNSPEC, + NFTA_GEN_ID, + NFTA_GEN_PROC_PID, + NFTA_GEN_PROC_NAME, + __NFTA_GEN_MAX +}; +#define NFTA_GEN_MAX (__NFTA_GEN_MAX - 1) +enum nft_fib_attributes { + NFTA_FIB_UNSPEC, + NFTA_FIB_DREG, + NFTA_FIB_RESULT, + NFTA_FIB_FLAGS, + __NFTA_FIB_MAX +}; +#define NFTA_FIB_MAX (__NFTA_FIB_MAX - 1) +enum nft_fib_result { + NFT_FIB_RESULT_UNSPEC, + NFT_FIB_RESULT_OIF, + NFT_FIB_RESULT_OIFNAME, + NFT_FIB_RESULT_ADDRTYPE, + __NFT_FIB_RESULT_MAX +}; +#define NFT_FIB_RESULT_MAX (__NFT_FIB_RESULT_MAX - 1) +enum nft_fib_flags { + NFTA_FIB_F_SADDR = 1 << 0, + NFTA_FIB_F_DADDR = 1 << 1, + NFTA_FIB_F_MARK = 1 << 2, + NFTA_FIB_F_IIF = 1 << 3, + NFTA_FIB_F_OIF = 1 << 4, + NFTA_FIB_F_PRESENT = 1 << 5, +}; +enum nft_ct_helper_attributes { + NFTA_CT_HELPER_UNSPEC, + NFTA_CT_HELPER_NAME, + NFTA_CT_HELPER_L3PROTO, + NFTA_CT_HELPER_L4PROTO, + __NFTA_CT_HELPER_MAX, +}; +#define NFTA_CT_HELPER_MAX (__NFTA_CT_HELPER_MAX - 1) +enum nft_ct_timeout_timeout_attributes { + NFTA_CT_TIMEOUT_UNSPEC, + NFTA_CT_TIMEOUT_L3PROTO, + NFTA_CT_TIMEOUT_L4PROTO, + NFTA_CT_TIMEOUT_DATA, + __NFTA_CT_TIMEOUT_MAX, +}; +#define NFTA_CT_TIMEOUT_MAX (__NFTA_CT_TIMEOUT_MAX - 1) +enum nft_ct_expectation_attributes { + NFTA_CT_EXPECT_UNSPEC, + NFTA_CT_EXPECT_L3PROTO, + NFTA_CT_EXPECT_L4PROTO, + NFTA_CT_EXPECT_DPORT, + NFTA_CT_EXPECT_TIMEOUT, + NFTA_CT_EXPECT_SIZE, + __NFTA_CT_EXPECT_MAX, +}; +#define NFTA_CT_EXPECT_MAX (__NFTA_CT_EXPECT_MAX - 1) +#define NFT_OBJECT_UNSPEC 0 +#define NFT_OBJECT_COUNTER 1 +#define NFT_OBJECT_QUOTA 2 +#define NFT_OBJECT_CT_HELPER 3 +#define NFT_OBJECT_LIMIT 4 +#define NFT_OBJECT_CONNLIMIT 5 +#define NFT_OBJECT_TUNNEL 6 +#define NFT_OBJECT_CT_TIMEOUT 7 +#define NFT_OBJECT_SECMARK 8 +#define NFT_OBJECT_CT_EXPECT 9 +#define NFT_OBJECT_SYNPROXY 10 +#define __NFT_OBJECT_MAX 11 +#define NFT_OBJECT_MAX (__NFT_OBJECT_MAX - 1) +enum nft_object_attributes { + NFTA_OBJ_UNSPEC, + NFTA_OBJ_TABLE, + NFTA_OBJ_NAME, + NFTA_OBJ_TYPE, + NFTA_OBJ_DATA, + NFTA_OBJ_USE, + NFTA_OBJ_HANDLE, + NFTA_OBJ_PAD, + NFTA_OBJ_USERDATA, + __NFTA_OBJ_MAX +}; +#define NFTA_OBJ_MAX (__NFTA_OBJ_MAX - 1) +enum nft_flowtable_flags { + NFT_FLOWTABLE_HW_OFFLOAD = 0x1, + NFT_FLOWTABLE_COUNTER = 0x2, + NFT_FLOWTABLE_MASK = (NFT_FLOWTABLE_HW_OFFLOAD | + NFT_FLOWTABLE_COUNTER) +}; +enum nft_flowtable_attributes { + NFTA_FLOWTABLE_UNSPEC, + NFTA_FLOWTABLE_TABLE, + NFTA_FLOWTABLE_NAME, + NFTA_FLOWTABLE_HOOK, + NFTA_FLOWTABLE_USE, + NFTA_FLOWTABLE_HANDLE, + NFTA_FLOWTABLE_PAD, + NFTA_FLOWTABLE_FLAGS, + __NFTA_FLOWTABLE_MAX +}; +#define NFTA_FLOWTABLE_MAX (__NFTA_FLOWTABLE_MAX - 1) +enum nft_flowtable_hook_attributes { + NFTA_FLOWTABLE_HOOK_UNSPEC, + NFTA_FLOWTABLE_HOOK_NUM, + NFTA_FLOWTABLE_HOOK_PRIORITY, + NFTA_FLOWTABLE_HOOK_DEVS, + __NFTA_FLOWTABLE_HOOK_MAX +}; +#define NFTA_FLOWTABLE_HOOK_MAX (__NFTA_FLOWTABLE_HOOK_MAX - 1) +enum nft_osf_attributes { + NFTA_OSF_UNSPEC, + NFTA_OSF_DREG, + NFTA_OSF_TTL, + NFTA_OSF_FLAGS, + __NFTA_OSF_MAX, +}; +#define NFTA_OSF_MAX (__NFTA_OSF_MAX - 1) +enum nft_osf_flags { + NFT_OSF_F_VERSION = (1 << 0), +}; +enum nft_synproxy_attributes { + NFTA_SYNPROXY_UNSPEC, + NFTA_SYNPROXY_MSS, + NFTA_SYNPROXY_WSCALE, + NFTA_SYNPROXY_FLAGS, + __NFTA_SYNPROXY_MAX, +}; +#define NFTA_SYNPROXY_MAX (__NFTA_SYNPROXY_MAX - 1) +enum nft_devices_attributes { + NFTA_DEVICE_UNSPEC, + NFTA_DEVICE_NAME, + __NFTA_DEVICE_MAX +}; +#define NFTA_DEVICE_MAX (__NFTA_DEVICE_MAX - 1) +enum nft_xfrm_attributes { + NFTA_XFRM_UNSPEC, + NFTA_XFRM_DREG, + NFTA_XFRM_KEY, + NFTA_XFRM_DIR, + NFTA_XFRM_SPNUM, + __NFTA_XFRM_MAX +}; +#define NFTA_XFRM_MAX (__NFTA_XFRM_MAX - 1) +enum nft_xfrm_keys { + NFT_XFRM_KEY_UNSPEC, + NFT_XFRM_KEY_DADDR_IP4, + NFT_XFRM_KEY_DADDR_IP6, + NFT_XFRM_KEY_SADDR_IP4, + NFT_XFRM_KEY_SADDR_IP6, + NFT_XFRM_KEY_REQID, + NFT_XFRM_KEY_SPI, + __NFT_XFRM_KEY_MAX, +}; +#define NFT_XFRM_KEY_MAX (__NFT_XFRM_KEY_MAX - 1) +enum nft_trace_attributes { + NFTA_TRACE_UNSPEC, + NFTA_TRACE_TABLE, + NFTA_TRACE_CHAIN, + NFTA_TRACE_RULE_HANDLE, + NFTA_TRACE_TYPE, + NFTA_TRACE_VERDICT, + NFTA_TRACE_ID, + NFTA_TRACE_LL_HEADER, + NFTA_TRACE_NETWORK_HEADER, + NFTA_TRACE_TRANSPORT_HEADER, + NFTA_TRACE_IIF, + NFTA_TRACE_IIFTYPE, + NFTA_TRACE_OIF, + NFTA_TRACE_OIFTYPE, + NFTA_TRACE_MARK, + NFTA_TRACE_NFPROTO, + NFTA_TRACE_POLICY, + NFTA_TRACE_PAD, + __NFTA_TRACE_MAX +}; +#define NFTA_TRACE_MAX (__NFTA_TRACE_MAX - 1) +enum nft_trace_types { + NFT_TRACETYPE_UNSPEC, + NFT_TRACETYPE_POLICY, + NFT_TRACETYPE_RETURN, + NFT_TRACETYPE_RULE, + __NFT_TRACETYPE_MAX +}; +#define NFT_TRACETYPE_MAX (__NFT_TRACETYPE_MAX - 1) +enum nft_ng_attributes { + NFTA_NG_UNSPEC, + NFTA_NG_DREG, + NFTA_NG_MODULUS, + NFTA_NG_TYPE, + NFTA_NG_OFFSET, + NFTA_NG_SET_NAME, + NFTA_NG_SET_ID, + __NFTA_NG_MAX +}; +#define NFTA_NG_MAX (__NFTA_NG_MAX - 1) +enum nft_ng_types { + NFT_NG_INCREMENTAL, + NFT_NG_RANDOM, + __NFT_NG_MAX +}; +#define NFT_NG_MAX (__NFT_NG_MAX - 1) +enum nft_tunnel_key_ip_attributes { + NFTA_TUNNEL_KEY_IP_UNSPEC, + NFTA_TUNNEL_KEY_IP_SRC, + NFTA_TUNNEL_KEY_IP_DST, + __NFTA_TUNNEL_KEY_IP_MAX +}; +#define NFTA_TUNNEL_KEY_IP_MAX (__NFTA_TUNNEL_KEY_IP_MAX - 1) +enum nft_tunnel_ip6_attributes { + NFTA_TUNNEL_KEY_IP6_UNSPEC, + NFTA_TUNNEL_KEY_IP6_SRC, + NFTA_TUNNEL_KEY_IP6_DST, + NFTA_TUNNEL_KEY_IP6_FLOWLABEL, + __NFTA_TUNNEL_KEY_IP6_MAX +}; +#define NFTA_TUNNEL_KEY_IP6_MAX (__NFTA_TUNNEL_KEY_IP6_MAX - 1) +enum nft_tunnel_opts_attributes { + NFTA_TUNNEL_KEY_OPTS_UNSPEC, + NFTA_TUNNEL_KEY_OPTS_VXLAN, + NFTA_TUNNEL_KEY_OPTS_ERSPAN, + NFTA_TUNNEL_KEY_OPTS_GENEVE, + __NFTA_TUNNEL_KEY_OPTS_MAX +}; +#define NFTA_TUNNEL_KEY_OPTS_MAX (__NFTA_TUNNEL_KEY_OPTS_MAX - 1) +enum nft_tunnel_opts_vxlan_attributes { + NFTA_TUNNEL_KEY_VXLAN_UNSPEC, + NFTA_TUNNEL_KEY_VXLAN_GBP, + __NFTA_TUNNEL_KEY_VXLAN_MAX +}; +#define NFTA_TUNNEL_KEY_VXLAN_MAX (__NFTA_TUNNEL_KEY_VXLAN_MAX - 1) +enum nft_tunnel_opts_erspan_attributes { + NFTA_TUNNEL_KEY_ERSPAN_UNSPEC, + NFTA_TUNNEL_KEY_ERSPAN_VERSION, + NFTA_TUNNEL_KEY_ERSPAN_V1_INDEX, + NFTA_TUNNEL_KEY_ERSPAN_V2_HWID, + NFTA_TUNNEL_KEY_ERSPAN_V2_DIR, + __NFTA_TUNNEL_KEY_ERSPAN_MAX +}; +#define NFTA_TUNNEL_KEY_ERSPAN_MAX (__NFTA_TUNNEL_KEY_ERSPAN_MAX - 1) +enum nft_tunnel_opts_geneve_attributes { + NFTA_TUNNEL_KEY_GENEVE_UNSPEC, + NFTA_TUNNEL_KEY_GENEVE_CLASS, + NFTA_TUNNEL_KEY_GENEVE_TYPE, + NFTA_TUNNEL_KEY_GENEVE_DATA, + __NFTA_TUNNEL_KEY_GENEVE_MAX +}; +#define NFTA_TUNNEL_KEY_GENEVE_MAX (__NFTA_TUNNEL_KEY_GENEVE_MAX - 1) +enum nft_tunnel_flags { + NFT_TUNNEL_F_ZERO_CSUM_TX = (1 << 0), + NFT_TUNNEL_F_DONT_FRAGMENT = (1 << 1), + NFT_TUNNEL_F_SEQ_NUMBER = (1 << 2), +}; +#define NFT_TUNNEL_F_MASK (NFT_TUNNEL_F_ZERO_CSUM_TX | \ + NFT_TUNNEL_F_DONT_FRAGMENT | \ + NFT_TUNNEL_F_SEQ_NUMBER) +enum nft_tunnel_key_attributes { + NFTA_TUNNEL_KEY_UNSPEC, + NFTA_TUNNEL_KEY_ID, + NFTA_TUNNEL_KEY_IP, + NFTA_TUNNEL_KEY_IP6, + NFTA_TUNNEL_KEY_FLAGS, + NFTA_TUNNEL_KEY_TOS, + NFTA_TUNNEL_KEY_TTL, + NFTA_TUNNEL_KEY_SPORT, + NFTA_TUNNEL_KEY_DPORT, + NFTA_TUNNEL_KEY_OPTS, + __NFTA_TUNNEL_KEY_MAX +}; +#define NFTA_TUNNEL_KEY_MAX (__NFTA_TUNNEL_KEY_MAX - 1) +enum nft_tunnel_keys { + NFT_TUNNEL_PATH, + NFT_TUNNEL_ID, + __NFT_TUNNEL_MAX +}; +#define NFT_TUNNEL_MAX (__NFT_TUNNEL_MAX - 1) +enum nft_tunnel_mode { + NFT_TUNNEL_MODE_NONE, + NFT_TUNNEL_MODE_RX, + NFT_TUNNEL_MODE_TX, + __NFT_TUNNEL_MODE_MAX +}; +#define NFT_TUNNEL_MODE_MAX (__NFT_TUNNEL_MODE_MAX - 1) +enum nft_tunnel_attributes { + NFTA_TUNNEL_UNSPEC, + NFTA_TUNNEL_KEY, + NFTA_TUNNEL_DREG, + NFTA_TUNNEL_MODE, + __NFTA_TUNNEL_MAX +}; +#define NFTA_TUNNEL_MAX (__NFTA_TUNNEL_MAX - 1) +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/netfilter/nf_tables_compat.h b/linux-5.10/prebuilts/usr/include/linux/netfilter/nf_tables_compat.h new file mode 100644 index 0000000..685d94c --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/netfilter/nf_tables_compat.h @@ -0,0 +1,37 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _NFT_COMPAT_NFNETLINK_H_ +#define _NFT_COMPAT_NFNETLINK_H_ +enum nft_target_attributes { + NFTA_TARGET_UNSPEC, + NFTA_TARGET_NAME, + NFTA_TARGET_REV, + NFTA_TARGET_INFO, + __NFTA_TARGET_MAX +}; +#define NFTA_TARGET_MAX (__NFTA_TARGET_MAX - 1) +enum nft_match_attributes { + NFTA_MATCH_UNSPEC, + NFTA_MATCH_NAME, + NFTA_MATCH_REV, + NFTA_MATCH_INFO, + __NFTA_MATCH_MAX +}; +#define NFTA_MATCH_MAX (__NFTA_MATCH_MAX - 1) +#define NFT_COMPAT_NAME_MAX 32 +enum { + NFNL_MSG_COMPAT_GET, + NFNL_MSG_COMPAT_MAX +}; +enum { + NFTA_COMPAT_UNSPEC = 0, + NFTA_COMPAT_NAME, + NFTA_COMPAT_REV, + NFTA_COMPAT_TYPE, + __NFTA_COMPAT_MAX, +}; +#define NFTA_COMPAT_MAX (__NFTA_COMPAT_MAX - 1) +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/netfilter/nfnetlink.h b/linux-5.10/prebuilts/usr/include/linux/netfilter/nfnetlink.h new file mode 100644 index 0000000..334c27a --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/netfilter/nfnetlink.h @@ -0,0 +1,63 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI_NFNETLINK_H +#define _UAPI_NFNETLINK_H +#include +#include +enum nfnetlink_groups { + NFNLGRP_NONE, +#define NFNLGRP_NONE NFNLGRP_NONE + NFNLGRP_CONNTRACK_NEW, +#define NFNLGRP_CONNTRACK_NEW NFNLGRP_CONNTRACK_NEW + NFNLGRP_CONNTRACK_UPDATE, +#define NFNLGRP_CONNTRACK_UPDATE NFNLGRP_CONNTRACK_UPDATE + NFNLGRP_CONNTRACK_DESTROY, +#define NFNLGRP_CONNTRACK_DESTROY NFNLGRP_CONNTRACK_DESTROY + NFNLGRP_CONNTRACK_EXP_NEW, +#define NFNLGRP_CONNTRACK_EXP_NEW NFNLGRP_CONNTRACK_EXP_NEW + NFNLGRP_CONNTRACK_EXP_UPDATE, +#define NFNLGRP_CONNTRACK_EXP_UPDATE NFNLGRP_CONNTRACK_EXP_UPDATE + NFNLGRP_CONNTRACK_EXP_DESTROY, +#define NFNLGRP_CONNTRACK_EXP_DESTROY NFNLGRP_CONNTRACK_EXP_DESTROY + NFNLGRP_NFTABLES, +#define NFNLGRP_NFTABLES NFNLGRP_NFTABLES + NFNLGRP_ACCT_QUOTA, +#define NFNLGRP_ACCT_QUOTA NFNLGRP_ACCT_QUOTA + NFNLGRP_NFTRACE, +#define NFNLGRP_NFTRACE NFNLGRP_NFTRACE + __NFNLGRP_MAX, +}; +#define NFNLGRP_MAX (__NFNLGRP_MAX - 1) +struct nfgenmsg { + __u8 nfgen_family; + __u8 version; + __be16 res_id; +}; +#define NFNETLINK_V0 0 +#define NFNL_SUBSYS_ID(x) ((x & 0xff00) >> 8) +#define NFNL_MSG_TYPE(x) (x & 0x00ff) +#define NFNL_SUBSYS_NONE 0 +#define NFNL_SUBSYS_CTNETLINK 1 +#define NFNL_SUBSYS_CTNETLINK_EXP 2 +#define NFNL_SUBSYS_QUEUE 3 +#define NFNL_SUBSYS_ULOG 4 +#define NFNL_SUBSYS_OSF 5 +#define NFNL_SUBSYS_IPSET 6 +#define NFNL_SUBSYS_ACCT 7 +#define NFNL_SUBSYS_CTNETLINK_TIMEOUT 8 +#define NFNL_SUBSYS_CTHELPER 9 +#define NFNL_SUBSYS_NFTABLES 10 +#define NFNL_SUBSYS_NFT_COMPAT 11 +#define NFNL_SUBSYS_COUNT 12 +#define NFNL_MSG_BATCH_BEGIN NLMSG_MIN_TYPE +#define NFNL_MSG_BATCH_END NLMSG_MIN_TYPE+1 +enum nfnl_batch_attributes { + NFNL_BATCH_UNSPEC, + NFNL_BATCH_GENID, + __NFNL_BATCH_MAX +}; +#define NFNL_BATCH_MAX (__NFNL_BATCH_MAX - 1) +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/netfilter/nfnetlink_acct.h b/linux-5.10/prebuilts/usr/include/linux/netfilter/nfnetlink_acct.h new file mode 100644 index 0000000..4199497 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/netfilter/nfnetlink_acct.h @@ -0,0 +1,44 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI_NFNL_ACCT_H_ +#define _UAPI_NFNL_ACCT_H_ +#ifndef NFACCT_NAME_MAX +#define NFACCT_NAME_MAX 32 +#endif +enum nfnl_acct_msg_types { + NFNL_MSG_ACCT_NEW, + NFNL_MSG_ACCT_GET, + NFNL_MSG_ACCT_GET_CTRZERO, + NFNL_MSG_ACCT_DEL, + NFNL_MSG_ACCT_OVERQUOTA, + NFNL_MSG_ACCT_MAX +}; +enum nfnl_acct_flags { + NFACCT_F_QUOTA_PKTS = (1 << 0), + NFACCT_F_QUOTA_BYTES = (1 << 1), + NFACCT_F_OVERQUOTA = (1 << 2), +}; +enum nfnl_acct_type { + NFACCT_UNSPEC, + NFACCT_NAME, + NFACCT_PKTS, + NFACCT_BYTES, + NFACCT_USE, + NFACCT_FLAGS, + NFACCT_QUOTA, + NFACCT_FILTER, + NFACCT_PAD, + __NFACCT_MAX +}; +#define NFACCT_MAX (__NFACCT_MAX - 1) +enum nfnl_attr_filter_type { + NFACCT_FILTER_UNSPEC, + NFACCT_FILTER_MASK, + NFACCT_FILTER_VALUE, + __NFACCT_FILTER_MAX +}; +#define NFACCT_FILTER_MAX (__NFACCT_FILTER_MAX - 1) +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/netfilter/nfnetlink_compat.h b/linux-5.10/prebuilts/usr/include/linux/netfilter/nfnetlink_compat.h new file mode 100644 index 0000000..4fb6ba0 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/netfilter/nfnetlink_compat.h @@ -0,0 +1,47 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _NFNETLINK_COMPAT_H +#define _NFNETLINK_COMPAT_H +#include +#ifndef __KERNEL__ +#define NF_NETLINK_CONNTRACK_NEW 0x00000001 +#define NF_NETLINK_CONNTRACK_UPDATE 0x00000002 +#define NF_NETLINK_CONNTRACK_DESTROY 0x00000004 +#define NF_NETLINK_CONNTRACK_EXP_NEW 0x00000008 +#define NF_NETLINK_CONNTRACK_EXP_UPDATE 0x00000010 +#define NF_NETLINK_CONNTRACK_EXP_DESTROY 0x00000020 +struct nfattr { + __u16 nfa_len; + __u16 nfa_type; +}; +#define NFNL_NFA_NEST 0x8000 +#define NFA_TYPE(attr) ((attr)->nfa_type & 0x7fff) +#define NFA_ALIGNTO 4 +#define NFA_ALIGN(len) (((len) + NFA_ALIGNTO - 1) & ~(NFA_ALIGNTO - 1)) +#define NFA_OK(nfa,len) ((len) > 0 && (nfa)->nfa_len >= sizeof(struct nfattr) \ + && (nfa)->nfa_len <= (len)) +#define NFA_NEXT(nfa,attrlen) ((attrlen) -= NFA_ALIGN((nfa)->nfa_len), \ + (struct nfattr *)(((char *)(nfa)) + NFA_ALIGN((nfa)->nfa_len))) +#define NFA_LENGTH(len) (NFA_ALIGN(sizeof(struct nfattr)) + (len)) +#define NFA_SPACE(len) NFA_ALIGN(NFA_LENGTH(len)) +#define NFA_DATA(nfa) ((void *)(((char *)(nfa)) + NFA_LENGTH(0))) +#define NFA_PAYLOAD(nfa) ((int)((nfa)->nfa_len) - NFA_LENGTH(0)) +#define NFA_NEST(skb, type) \ +({ struct nfattr *__start = (struct nfattr *)skb_tail_pointer(skb); \ + NFA_PUT(skb, (NFNL_NFA_NEST | type), 0, NULL); \ + __start; }) +#define NFA_NEST_END(skb, start) \ +({ (start)->nfa_len = skb_tail_pointer(skb) - (unsigned char *)(start); \ + (skb)->len; }) +#define NFA_NEST_CANCEL(skb, start) \ +({ if (start) \ + skb_trim(skb, (unsigned char *) (start) - (skb)->data); \ + -1; }) +#define NFM_NFA(n) ((struct nfattr *)(((char *)(n)) \ + + NLMSG_ALIGN(sizeof(struct nfgenmsg)))) +#define NFM_PAYLOAD(n) NLMSG_PAYLOAD(n, sizeof(struct nfgenmsg)) +#endif +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/netfilter/nfnetlink_conntrack.h b/linux-5.10/prebuilts/usr/include/linux/netfilter/nfnetlink_conntrack.h new file mode 100644 index 0000000..2403bdf --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/netfilter/nfnetlink_conntrack.h @@ -0,0 +1,264 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _IPCONNTRACK_NETLINK_H +#define _IPCONNTRACK_NETLINK_H +#include +enum cntl_msg_types { + IPCTNL_MSG_CT_NEW, + IPCTNL_MSG_CT_GET, + IPCTNL_MSG_CT_DELETE, + IPCTNL_MSG_CT_GET_CTRZERO, + IPCTNL_MSG_CT_GET_STATS_CPU, + IPCTNL_MSG_CT_GET_STATS, + IPCTNL_MSG_CT_GET_DYING, + IPCTNL_MSG_CT_GET_UNCONFIRMED, + IPCTNL_MSG_MAX +}; +enum ctnl_exp_msg_types { + IPCTNL_MSG_EXP_NEW, + IPCTNL_MSG_EXP_GET, + IPCTNL_MSG_EXP_DELETE, + IPCTNL_MSG_EXP_GET_STATS_CPU, + IPCTNL_MSG_EXP_MAX +}; +enum ctattr_type { + CTA_UNSPEC, + CTA_TUPLE_ORIG, + CTA_TUPLE_REPLY, + CTA_STATUS, + CTA_PROTOINFO, + CTA_HELP, + CTA_NAT_SRC, +#define CTA_NAT CTA_NAT_SRC + CTA_TIMEOUT, + CTA_MARK, + CTA_COUNTERS_ORIG, + CTA_COUNTERS_REPLY, + CTA_USE, + CTA_ID, + CTA_NAT_DST, + CTA_TUPLE_MASTER, + CTA_SEQ_ADJ_ORIG, + CTA_NAT_SEQ_ADJ_ORIG = CTA_SEQ_ADJ_ORIG, + CTA_SEQ_ADJ_REPLY, + CTA_NAT_SEQ_ADJ_REPLY = CTA_SEQ_ADJ_REPLY, + CTA_SECMARK, + CTA_ZONE, + CTA_SECCTX, + CTA_TIMESTAMP, + CTA_MARK_MASK, + CTA_LABELS, + CTA_LABELS_MASK, + CTA_SYNPROXY, + CTA_FILTER, + __CTA_MAX +}; +#define CTA_MAX (__CTA_MAX - 1) +enum ctattr_tuple { + CTA_TUPLE_UNSPEC, + CTA_TUPLE_IP, + CTA_TUPLE_PROTO, + CTA_TUPLE_ZONE, + __CTA_TUPLE_MAX +}; +#define CTA_TUPLE_MAX (__CTA_TUPLE_MAX - 1) +enum ctattr_ip { + CTA_IP_UNSPEC, + CTA_IP_V4_SRC, + CTA_IP_V4_DST, + CTA_IP_V6_SRC, + CTA_IP_V6_DST, + __CTA_IP_MAX +}; +#define CTA_IP_MAX (__CTA_IP_MAX - 1) +enum ctattr_l4proto { + CTA_PROTO_UNSPEC, + CTA_PROTO_NUM, + CTA_PROTO_SRC_PORT, + CTA_PROTO_DST_PORT, + CTA_PROTO_ICMP_ID, + CTA_PROTO_ICMP_TYPE, + CTA_PROTO_ICMP_CODE, + CTA_PROTO_ICMPV6_ID, + CTA_PROTO_ICMPV6_TYPE, + CTA_PROTO_ICMPV6_CODE, + __CTA_PROTO_MAX +}; +#define CTA_PROTO_MAX (__CTA_PROTO_MAX - 1) +enum ctattr_protoinfo { + CTA_PROTOINFO_UNSPEC, + CTA_PROTOINFO_TCP, + CTA_PROTOINFO_DCCP, + CTA_PROTOINFO_SCTP, + __CTA_PROTOINFO_MAX +}; +#define CTA_PROTOINFO_MAX (__CTA_PROTOINFO_MAX - 1) +enum ctattr_protoinfo_tcp { + CTA_PROTOINFO_TCP_UNSPEC, + CTA_PROTOINFO_TCP_STATE, + CTA_PROTOINFO_TCP_WSCALE_ORIGINAL, + CTA_PROTOINFO_TCP_WSCALE_REPLY, + CTA_PROTOINFO_TCP_FLAGS_ORIGINAL, + CTA_PROTOINFO_TCP_FLAGS_REPLY, + __CTA_PROTOINFO_TCP_MAX +}; +#define CTA_PROTOINFO_TCP_MAX (__CTA_PROTOINFO_TCP_MAX - 1) +enum ctattr_protoinfo_dccp { + CTA_PROTOINFO_DCCP_UNSPEC, + CTA_PROTOINFO_DCCP_STATE, + CTA_PROTOINFO_DCCP_ROLE, + CTA_PROTOINFO_DCCP_HANDSHAKE_SEQ, + CTA_PROTOINFO_DCCP_PAD, + __CTA_PROTOINFO_DCCP_MAX, +}; +#define CTA_PROTOINFO_DCCP_MAX (__CTA_PROTOINFO_DCCP_MAX - 1) +enum ctattr_protoinfo_sctp { + CTA_PROTOINFO_SCTP_UNSPEC, + CTA_PROTOINFO_SCTP_STATE, + CTA_PROTOINFO_SCTP_VTAG_ORIGINAL, + CTA_PROTOINFO_SCTP_VTAG_REPLY, + __CTA_PROTOINFO_SCTP_MAX +}; +#define CTA_PROTOINFO_SCTP_MAX (__CTA_PROTOINFO_SCTP_MAX - 1) +enum ctattr_counters { + CTA_COUNTERS_UNSPEC, + CTA_COUNTERS_PACKETS, + CTA_COUNTERS_BYTES, + CTA_COUNTERS32_PACKETS, + CTA_COUNTERS32_BYTES, + CTA_COUNTERS_PAD, + __CTA_COUNTERS_MAX +}; +#define CTA_COUNTERS_MAX (__CTA_COUNTERS_MAX - 1) +enum ctattr_tstamp { + CTA_TIMESTAMP_UNSPEC, + CTA_TIMESTAMP_START, + CTA_TIMESTAMP_STOP, + CTA_TIMESTAMP_PAD, + __CTA_TIMESTAMP_MAX +}; +#define CTA_TIMESTAMP_MAX (__CTA_TIMESTAMP_MAX - 1) +enum ctattr_nat { + CTA_NAT_UNSPEC, + CTA_NAT_V4_MINIP, +#define CTA_NAT_MINIP CTA_NAT_V4_MINIP + CTA_NAT_V4_MAXIP, +#define CTA_NAT_MAXIP CTA_NAT_V4_MAXIP + CTA_NAT_PROTO, + CTA_NAT_V6_MINIP, + CTA_NAT_V6_MAXIP, + __CTA_NAT_MAX +}; +#define CTA_NAT_MAX (__CTA_NAT_MAX - 1) +enum ctattr_protonat { + CTA_PROTONAT_UNSPEC, + CTA_PROTONAT_PORT_MIN, + CTA_PROTONAT_PORT_MAX, + __CTA_PROTONAT_MAX +}; +#define CTA_PROTONAT_MAX (__CTA_PROTONAT_MAX - 1) +enum ctattr_seqadj { + CTA_SEQADJ_UNSPEC, + CTA_SEQADJ_CORRECTION_POS, + CTA_SEQADJ_OFFSET_BEFORE, + CTA_SEQADJ_OFFSET_AFTER, + __CTA_SEQADJ_MAX +}; +#define CTA_SEQADJ_MAX (__CTA_SEQADJ_MAX - 1) +enum ctattr_natseq { + CTA_NAT_SEQ_UNSPEC, + CTA_NAT_SEQ_CORRECTION_POS, + CTA_NAT_SEQ_OFFSET_BEFORE, + CTA_NAT_SEQ_OFFSET_AFTER, + __CTA_NAT_SEQ_MAX +}; +#define CTA_NAT_SEQ_MAX (__CTA_NAT_SEQ_MAX - 1) +enum ctattr_synproxy { + CTA_SYNPROXY_UNSPEC, + CTA_SYNPROXY_ISN, + CTA_SYNPROXY_ITS, + CTA_SYNPROXY_TSOFF, + __CTA_SYNPROXY_MAX, +}; +#define CTA_SYNPROXY_MAX (__CTA_SYNPROXY_MAX - 1) +enum ctattr_expect { + CTA_EXPECT_UNSPEC, + CTA_EXPECT_MASTER, + CTA_EXPECT_TUPLE, + CTA_EXPECT_MASK, + CTA_EXPECT_TIMEOUT, + CTA_EXPECT_ID, + CTA_EXPECT_HELP_NAME, + CTA_EXPECT_ZONE, + CTA_EXPECT_FLAGS, + CTA_EXPECT_CLASS, + CTA_EXPECT_NAT, + CTA_EXPECT_FN, + __CTA_EXPECT_MAX +}; +#define CTA_EXPECT_MAX (__CTA_EXPECT_MAX - 1) +enum ctattr_expect_nat { + CTA_EXPECT_NAT_UNSPEC, + CTA_EXPECT_NAT_DIR, + CTA_EXPECT_NAT_TUPLE, + __CTA_EXPECT_NAT_MAX +}; +#define CTA_EXPECT_NAT_MAX (__CTA_EXPECT_NAT_MAX - 1) +enum ctattr_help { + CTA_HELP_UNSPEC, + CTA_HELP_NAME, + CTA_HELP_INFO, + __CTA_HELP_MAX +}; +#define CTA_HELP_MAX (__CTA_HELP_MAX - 1) +enum ctattr_secctx { + CTA_SECCTX_UNSPEC, + CTA_SECCTX_NAME, + __CTA_SECCTX_MAX +}; +#define CTA_SECCTX_MAX (__CTA_SECCTX_MAX - 1) +enum ctattr_stats_cpu { + CTA_STATS_UNSPEC, + CTA_STATS_SEARCHED, + CTA_STATS_FOUND, + CTA_STATS_NEW, + CTA_STATS_INVALID, + CTA_STATS_IGNORE, + CTA_STATS_DELETE, + CTA_STATS_DELETE_LIST, + CTA_STATS_INSERT, + CTA_STATS_INSERT_FAILED, + CTA_STATS_DROP, + CTA_STATS_EARLY_DROP, + CTA_STATS_ERROR, + CTA_STATS_SEARCH_RESTART, + CTA_STATS_CLASH_RESOLVE, + __CTA_STATS_MAX, +}; +#define CTA_STATS_MAX (__CTA_STATS_MAX - 1) +enum ctattr_stats_global { + CTA_STATS_GLOBAL_UNSPEC, + CTA_STATS_GLOBAL_ENTRIES, + CTA_STATS_GLOBAL_MAX_ENTRIES, + __CTA_STATS_GLOBAL_MAX, +}; +#define CTA_STATS_GLOBAL_MAX (__CTA_STATS_GLOBAL_MAX - 1) +enum ctattr_expect_stats { + CTA_STATS_EXP_UNSPEC, + CTA_STATS_EXP_NEW, + CTA_STATS_EXP_CREATE, + CTA_STATS_EXP_DELETE, + __CTA_STATS_EXP_MAX, +}; +#define CTA_STATS_EXP_MAX (__CTA_STATS_EXP_MAX - 1) +enum ctattr_filter { + CTA_FILTER_UNSPEC, + CTA_FILTER_ORIG_FLAGS, + CTA_FILTER_REPLY_FLAGS, + __CTA_FILTER_MAX +}; +#define CTA_FILTER_MAX (__CTA_FILTER_MAX - 1) +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/netfilter/nfnetlink_cthelper.h b/linux-5.10/prebuilts/usr/include/linux/netfilter/nfnetlink_cthelper.h new file mode 100644 index 0000000..399fe4a --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/netfilter/nfnetlink_cthelper.h @@ -0,0 +1,53 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _NFNL_CTHELPER_H_ +#define _NFNL_CTHELPER_H_ +#define NFCT_HELPER_STATUS_DISABLED 0 +#define NFCT_HELPER_STATUS_ENABLED 1 +enum nfnl_cthelper_msg_types { + NFNL_MSG_CTHELPER_NEW, + NFNL_MSG_CTHELPER_GET, + NFNL_MSG_CTHELPER_DEL, + NFNL_MSG_CTHELPER_MAX +}; +enum nfnl_cthelper_type { + NFCTH_UNSPEC, + NFCTH_NAME, + NFCTH_TUPLE, + NFCTH_QUEUE_NUM, + NFCTH_POLICY, + NFCTH_PRIV_DATA_LEN, + NFCTH_STATUS, + __NFCTH_MAX +}; +#define NFCTH_MAX (__NFCTH_MAX - 1) +enum nfnl_cthelper_policy_type { + NFCTH_POLICY_SET_UNSPEC, + NFCTH_POLICY_SET_NUM, + NFCTH_POLICY_SET, + NFCTH_POLICY_SET1 = NFCTH_POLICY_SET, + NFCTH_POLICY_SET2, + NFCTH_POLICY_SET3, + NFCTH_POLICY_SET4, + __NFCTH_POLICY_SET_MAX +}; +#define NFCTH_POLICY_SET_MAX (__NFCTH_POLICY_SET_MAX - 1) +enum nfnl_cthelper_pol_type { + NFCTH_POLICY_UNSPEC, + NFCTH_POLICY_NAME, + NFCTH_POLICY_EXPECT_MAX, + NFCTH_POLICY_EXPECT_TIMEOUT, + __NFCTH_POLICY_MAX +}; +#define NFCTH_POLICY_MAX (__NFCTH_POLICY_MAX - 1) +enum nfnl_cthelper_tuple_type { + NFCTH_TUPLE_UNSPEC, + NFCTH_TUPLE_L3PROTONUM, + NFCTH_TUPLE_L4PROTONUM, + __NFCTH_TUPLE_MAX, +}; +#define NFCTH_TUPLE_MAX (__NFCTH_TUPLE_MAX - 1) +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/netfilter/nfnetlink_cttimeout.h b/linux-5.10/prebuilts/usr/include/linux/netfilter/nfnetlink_cttimeout.h new file mode 100644 index 0000000..5315512 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/netfilter/nfnetlink_cttimeout.h @@ -0,0 +1,109 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _CTTIMEOUT_NETLINK_H +#define _CTTIMEOUT_NETLINK_H +#include +enum ctnl_timeout_msg_types { + IPCTNL_MSG_TIMEOUT_NEW, + IPCTNL_MSG_TIMEOUT_GET, + IPCTNL_MSG_TIMEOUT_DELETE, + IPCTNL_MSG_TIMEOUT_DEFAULT_SET, + IPCTNL_MSG_TIMEOUT_DEFAULT_GET, + IPCTNL_MSG_TIMEOUT_MAX +}; +enum ctattr_timeout { + CTA_TIMEOUT_UNSPEC, + CTA_TIMEOUT_NAME, + CTA_TIMEOUT_L3PROTO, + CTA_TIMEOUT_L4PROTO, + CTA_TIMEOUT_DATA, + CTA_TIMEOUT_USE, + __CTA_TIMEOUT_MAX +}; +#define CTA_TIMEOUT_MAX (__CTA_TIMEOUT_MAX - 1) +enum ctattr_timeout_generic { + CTA_TIMEOUT_GENERIC_UNSPEC, + CTA_TIMEOUT_GENERIC_TIMEOUT, + __CTA_TIMEOUT_GENERIC_MAX +}; +#define CTA_TIMEOUT_GENERIC_MAX (__CTA_TIMEOUT_GENERIC_MAX - 1) +enum ctattr_timeout_tcp { + CTA_TIMEOUT_TCP_UNSPEC, + CTA_TIMEOUT_TCP_SYN_SENT, + CTA_TIMEOUT_TCP_SYN_RECV, + CTA_TIMEOUT_TCP_ESTABLISHED, + CTA_TIMEOUT_TCP_FIN_WAIT, + CTA_TIMEOUT_TCP_CLOSE_WAIT, + CTA_TIMEOUT_TCP_LAST_ACK, + CTA_TIMEOUT_TCP_TIME_WAIT, + CTA_TIMEOUT_TCP_CLOSE, + CTA_TIMEOUT_TCP_SYN_SENT2, + CTA_TIMEOUT_TCP_RETRANS, + CTA_TIMEOUT_TCP_UNACK, + __CTA_TIMEOUT_TCP_MAX +}; +#define CTA_TIMEOUT_TCP_MAX (__CTA_TIMEOUT_TCP_MAX - 1) +enum ctattr_timeout_udp { + CTA_TIMEOUT_UDP_UNSPEC, + CTA_TIMEOUT_UDP_UNREPLIED, + CTA_TIMEOUT_UDP_REPLIED, + __CTA_TIMEOUT_UDP_MAX +}; +#define CTA_TIMEOUT_UDP_MAX (__CTA_TIMEOUT_UDP_MAX - 1) +enum ctattr_timeout_udplite { + CTA_TIMEOUT_UDPLITE_UNSPEC, + CTA_TIMEOUT_UDPLITE_UNREPLIED, + CTA_TIMEOUT_UDPLITE_REPLIED, + __CTA_TIMEOUT_UDPLITE_MAX +}; +#define CTA_TIMEOUT_UDPLITE_MAX (__CTA_TIMEOUT_UDPLITE_MAX - 1) +enum ctattr_timeout_icmp { + CTA_TIMEOUT_ICMP_UNSPEC, + CTA_TIMEOUT_ICMP_TIMEOUT, + __CTA_TIMEOUT_ICMP_MAX +}; +#define CTA_TIMEOUT_ICMP_MAX (__CTA_TIMEOUT_ICMP_MAX - 1) +enum ctattr_timeout_dccp { + CTA_TIMEOUT_DCCP_UNSPEC, + CTA_TIMEOUT_DCCP_REQUEST, + CTA_TIMEOUT_DCCP_RESPOND, + CTA_TIMEOUT_DCCP_PARTOPEN, + CTA_TIMEOUT_DCCP_OPEN, + CTA_TIMEOUT_DCCP_CLOSEREQ, + CTA_TIMEOUT_DCCP_CLOSING, + CTA_TIMEOUT_DCCP_TIMEWAIT, + __CTA_TIMEOUT_DCCP_MAX +}; +#define CTA_TIMEOUT_DCCP_MAX (__CTA_TIMEOUT_DCCP_MAX - 1) +enum ctattr_timeout_sctp { + CTA_TIMEOUT_SCTP_UNSPEC, + CTA_TIMEOUT_SCTP_CLOSED, + CTA_TIMEOUT_SCTP_COOKIE_WAIT, + CTA_TIMEOUT_SCTP_COOKIE_ECHOED, + CTA_TIMEOUT_SCTP_ESTABLISHED, + CTA_TIMEOUT_SCTP_SHUTDOWN_SENT, + CTA_TIMEOUT_SCTP_SHUTDOWN_RECD, + CTA_TIMEOUT_SCTP_SHUTDOWN_ACK_SENT, + CTA_TIMEOUT_SCTP_HEARTBEAT_SENT, + CTA_TIMEOUT_SCTP_HEARTBEAT_ACKED, + __CTA_TIMEOUT_SCTP_MAX +}; +#define CTA_TIMEOUT_SCTP_MAX (__CTA_TIMEOUT_SCTP_MAX - 1) +enum ctattr_timeout_icmpv6 { + CTA_TIMEOUT_ICMPV6_UNSPEC, + CTA_TIMEOUT_ICMPV6_TIMEOUT, + __CTA_TIMEOUT_ICMPV6_MAX +}; +#define CTA_TIMEOUT_ICMPV6_MAX (__CTA_TIMEOUT_ICMPV6_MAX - 1) +enum ctattr_timeout_gre { + CTA_TIMEOUT_GRE_UNSPEC, + CTA_TIMEOUT_GRE_UNREPLIED, + CTA_TIMEOUT_GRE_REPLIED, + __CTA_TIMEOUT_GRE_MAX +}; +#define CTA_TIMEOUT_GRE_MAX (__CTA_TIMEOUT_GRE_MAX - 1) +#define CTNL_TIMEOUT_NAME_MAX 32 +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/netfilter/nfnetlink_log.h b/linux-5.10/prebuilts/usr/include/linux/netfilter/nfnetlink_log.h new file mode 100644 index 0000000..5918cbc --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/netfilter/nfnetlink_log.h @@ -0,0 +1,94 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _NFNETLINK_LOG_H +#define _NFNETLINK_LOG_H +#include +#include +enum nfulnl_msg_types { + NFULNL_MSG_PACKET, + NFULNL_MSG_CONFIG, + NFULNL_MSG_MAX +}; +struct nfulnl_msg_packet_hdr { + __be16 hw_protocol; + __u8 hook; + __u8 _pad; +}; +struct nfulnl_msg_packet_hw { + __be16 hw_addrlen; + __u16 _pad; + __u8 hw_addr[8]; +}; +struct nfulnl_msg_packet_timestamp { + __aligned_be64 sec; + __aligned_be64 usec; +}; +enum nfulnl_vlan_attr { + NFULA_VLAN_UNSPEC, + NFULA_VLAN_PROTO, + NFULA_VLAN_TCI, + __NFULA_VLAN_MAX, +}; +#define NFULA_VLAN_MAX (__NFULA_VLAN_MAX + 1) +enum nfulnl_attr_type { + NFULA_UNSPEC, + NFULA_PACKET_HDR, + NFULA_MARK, + NFULA_TIMESTAMP, + NFULA_IFINDEX_INDEV, + NFULA_IFINDEX_OUTDEV, + NFULA_IFINDEX_PHYSINDEV, + NFULA_IFINDEX_PHYSOUTDEV, + NFULA_HWADDR, + NFULA_PAYLOAD, + NFULA_PREFIX, + NFULA_UID, + NFULA_SEQ, + NFULA_SEQ_GLOBAL, + NFULA_GID, + NFULA_HWTYPE, + NFULA_HWHEADER, + NFULA_HWLEN, + NFULA_CT, + NFULA_CT_INFO, + NFULA_VLAN, + NFULA_L2HDR, + __NFULA_MAX +}; +#define NFULA_MAX (__NFULA_MAX - 1) +enum nfulnl_msg_config_cmds { + NFULNL_CFG_CMD_NONE, + NFULNL_CFG_CMD_BIND, + NFULNL_CFG_CMD_UNBIND, + NFULNL_CFG_CMD_PF_BIND, + NFULNL_CFG_CMD_PF_UNBIND, +}; +struct nfulnl_msg_config_cmd { + __u8 command; +} __attribute__ ((packed)); +struct nfulnl_msg_config_mode { + __be32 copy_range; + __u8 copy_mode; + __u8 _pad; +} __attribute__ ((packed)); +enum nfulnl_attr_config { + NFULA_CFG_UNSPEC, + NFULA_CFG_CMD, + NFULA_CFG_MODE, + NFULA_CFG_NLBUFSIZ, + NFULA_CFG_TIMEOUT, + NFULA_CFG_QTHRESH, + NFULA_CFG_FLAGS, + __NFULA_CFG_MAX +}; +#define NFULA_CFG_MAX (__NFULA_CFG_MAX -1) +#define NFULNL_COPY_NONE 0x00 +#define NFULNL_COPY_META 0x01 +#define NFULNL_COPY_PACKET 0x02 +#define NFULNL_CFG_F_SEQ 0x0001 +#define NFULNL_CFG_F_SEQ_GLOBAL 0x0002 +#define NFULNL_CFG_F_CONNTRACK 0x0004 +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/netfilter/nfnetlink_osf.h b/linux-5.10/prebuilts/usr/include/linux/netfilter/nfnetlink_osf.h new file mode 100644 index 0000000..0ede33b --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/netfilter/nfnetlink_osf.h @@ -0,0 +1,87 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _NF_OSF_H +#define _NF_OSF_H +#include +#include +#include +#define MAXGENRELEN 32 +#define NF_OSF_GENRE (1 << 0) +#define NF_OSF_TTL (1 << 1) +#define NF_OSF_LOG (1 << 2) +#define NF_OSF_INVERT (1 << 3) +#define NF_OSF_LOGLEVEL_ALL 0 +#define NF_OSF_LOGLEVEL_FIRST 1 +#define NF_OSF_LOGLEVEL_ALL_KNOWN 2 +#define NF_OSF_TTL_TRUE 0 +#define NF_OSF_TTL_LESS 1 +#define NF_OSF_TTL_NOCHECK 2 +#define NF_OSF_FLAGMASK (NF_OSF_GENRE | NF_OSF_TTL | \ + NF_OSF_LOG | NF_OSF_INVERT) +struct nf_osf_wc { + __u32 wc; + __u32 val; +}; +struct nf_osf_opt { + __u16 kind, length; + struct nf_osf_wc wc; +}; +struct nf_osf_info { + char genre[MAXGENRELEN]; + __u32 len; + __u32 flags; + __u32 loglevel; + __u32 ttl; +}; +struct nf_osf_user_finger { + struct nf_osf_wc wss; + __u8 ttl, df; + __u16 ss, mss; + __u16 opt_num; + char genre[MAXGENRELEN]; + char version[MAXGENRELEN]; + char subtype[MAXGENRELEN]; + + struct nf_osf_opt opt[MAX_IPOPTLEN]; +}; +struct nf_osf_nlmsg { + struct nf_osf_user_finger f; + struct iphdr ip; + struct tcphdr tcp; +}; +enum iana_options { + OSFOPT_EOL = 0, + OSFOPT_NOP, + OSFOPT_MSS, + OSFOPT_WSO, + OSFOPT_SACKP, + OSFOPT_SACK, + OSFOPT_ECHO, + OSFOPT_ECHOREPLY, + OSFOPT_TS, + OSFOPT_POCP, + OSFOPT_POSP, + + OSFOPT_EMPTY = 255, +}; +enum nf_osf_window_size_options { + OSF_WSS_PLAIN = 0, + OSF_WSS_MSS, + OSF_WSS_MTU, + OSF_WSS_MODULO, + OSF_WSS_MAX, +}; +enum nf_osf_attr_type { + OSF_ATTR_UNSPEC, + OSF_ATTR_FINGER, + OSF_ATTR_MAX, +}; +enum nf_osf_msg_types { + OSF_MSG_ADD, + OSF_MSG_REMOVE, + OSF_MSG_MAX, +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/netfilter/nfnetlink_queue.h b/linux-5.10/prebuilts/usr/include/linux/netfilter/nfnetlink_queue.h new file mode 100644 index 0000000..647ea96 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/netfilter/nfnetlink_queue.h @@ -0,0 +1,107 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _NFNETLINK_QUEUE_H +#define _NFNETLINK_QUEUE_H +#include +#include +enum nfqnl_msg_types { + NFQNL_MSG_PACKET, + NFQNL_MSG_VERDICT, + NFQNL_MSG_CONFIG, + NFQNL_MSG_VERDICT_BATCH, + NFQNL_MSG_MAX +}; +struct nfqnl_msg_packet_hdr { + __be32 packet_id; + __be16 hw_protocol; + __u8 hook; +} __attribute__ ((packed)); +struct nfqnl_msg_packet_hw { + __be16 hw_addrlen; + __u16 _pad; + __u8 hw_addr[8]; +}; +struct nfqnl_msg_packet_timestamp { + __aligned_be64 sec; + __aligned_be64 usec; +}; +enum nfqnl_vlan_attr { + NFQA_VLAN_UNSPEC, + NFQA_VLAN_PROTO, + NFQA_VLAN_TCI, + __NFQA_VLAN_MAX, +}; +#define NFQA_VLAN_MAX (__NFQA_VLAN_MAX - 1) +enum nfqnl_attr_type { + NFQA_UNSPEC, + NFQA_PACKET_HDR, + NFQA_VERDICT_HDR, + NFQA_MARK, + NFQA_TIMESTAMP, + NFQA_IFINDEX_INDEV, + NFQA_IFINDEX_OUTDEV, + NFQA_IFINDEX_PHYSINDEV, + NFQA_IFINDEX_PHYSOUTDEV, + NFQA_HWADDR, + NFQA_PAYLOAD, + NFQA_CT, + NFQA_CT_INFO, + NFQA_CAP_LEN, + NFQA_SKB_INFO, + NFQA_EXP, + NFQA_UID, + NFQA_GID, + NFQA_SECCTX, + NFQA_VLAN, + NFQA_L2HDR, + __NFQA_MAX +}; +#define NFQA_MAX (__NFQA_MAX - 1) +struct nfqnl_msg_verdict_hdr { + __be32 verdict; + __be32 id; +}; +enum nfqnl_msg_config_cmds { + NFQNL_CFG_CMD_NONE, + NFQNL_CFG_CMD_BIND, + NFQNL_CFG_CMD_UNBIND, + NFQNL_CFG_CMD_PF_BIND, + NFQNL_CFG_CMD_PF_UNBIND, +}; +struct nfqnl_msg_config_cmd { + __u8 command; + __u8 _pad; + __be16 pf; +}; +enum nfqnl_config_mode { + NFQNL_COPY_NONE, + NFQNL_COPY_META, + NFQNL_COPY_PACKET, +}; +struct nfqnl_msg_config_params { + __be32 copy_range; + __u8 copy_mode; +} __attribute__ ((packed)); +enum nfqnl_attr_config { + NFQA_CFG_UNSPEC, + NFQA_CFG_CMD, + NFQA_CFG_PARAMS, + NFQA_CFG_QUEUE_MAXLEN, + NFQA_CFG_MASK, + NFQA_CFG_FLAGS, + __NFQA_CFG_MAX +}; +#define NFQA_CFG_MAX (__NFQA_CFG_MAX-1) +#define NFQA_CFG_F_FAIL_OPEN (1 << 0) +#define NFQA_CFG_F_CONNTRACK (1 << 1) +#define NFQA_CFG_F_GSO (1 << 2) +#define NFQA_CFG_F_UID_GID (1 << 3) +#define NFQA_CFG_F_SECCTX (1 << 4) +#define NFQA_CFG_F_MAX (1 << 5) +#define NFQA_SKB_CSUMNOTREADY (1 << 0) +#define NFQA_SKB_GSO (1 << 1) +#define NFQA_SKB_CSUM_NOTVERIFIED (1 << 2) +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/netfilter/x_tables.h b/linux-5.10/prebuilts/usr/include/linux/netfilter/x_tables.h new file mode 100644 index 0000000..241ad83 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/netfilter/x_tables.h @@ -0,0 +1,141 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI_X_TABLES_H +#define _UAPI_X_TABLES_H +#include +#include +#define XT_FUNCTION_MAXNAMELEN 30 +#define XT_EXTENSION_MAXNAMELEN 29 +#define XT_TABLE_MAXNAMELEN 32 +struct xt_entry_match { + union { + struct { + __u16 match_size; + + char name[XT_EXTENSION_MAXNAMELEN]; + __u8 revision; + } user; + struct { + __u16 match_size; + + struct xt_match *match; + } kernel; + + __u16 match_size; + } u; + unsigned char data[0]; +}; +struct xt_entry_target { + union { + struct { + __u16 target_size; + + char name[XT_EXTENSION_MAXNAMELEN]; + __u8 revision; + } user; + struct { + __u16 target_size; + + struct xt_target *target; + } kernel; + + __u16 target_size; + } u; + unsigned char data[0]; +}; +#define XT_TARGET_INIT(__name, __size) \ +{ \ + .target.u.user = { \ + .target_size = XT_ALIGN(__size), \ + .name = __name, \ + }, \ +} +struct xt_standard_target { + struct xt_entry_target target; + int verdict; +}; +struct xt_error_target { + struct xt_entry_target target; + char errorname[XT_FUNCTION_MAXNAMELEN]; +}; +struct xt_get_revision { + char name[XT_EXTENSION_MAXNAMELEN]; + __u8 revision; +}; +#define XT_CONTINUE 0xFFFFFFFF +#define XT_RETURN (-NF_REPEAT - 1) +struct _xt_align { + __u8 u8; + __u16 u16; + __u32 u32; + __u64 u64; +}; +#define XT_ALIGN(s) __ALIGN_KERNEL((s), __alignof__(struct _xt_align)) +#define XT_STANDARD_TARGET "" +#define XT_ERROR_TARGET "ERROR" +#define SET_COUNTER(c,b,p) do { (c).bcnt = (b); (c).pcnt = (p); } while(0) +#define ADD_COUNTER(c,b,p) do { (c).bcnt += (b); (c).pcnt += (p); } while(0) +struct xt_counters { + __u64 pcnt, bcnt; +}; +struct xt_counters_info { + + char name[XT_TABLE_MAXNAMELEN]; + unsigned int num_counters; + + struct xt_counters counters[0]; +}; +#define XT_INV_PROTO 0x40 +#ifndef __KERNEL__ +#define XT_MATCH_ITERATE(type, e, fn, args...) \ +({ \ + unsigned int __i; \ + int __ret = 0; \ + struct xt_entry_match *__m; \ + \ + for (__i = sizeof(type); \ + __i < (e)->target_offset; \ + __i += __m->u.match_size) { \ + __m = (void *)e + __i; \ + \ + __ret = fn(__m , ## args); \ + if (__ret != 0) \ + break; \ + } \ + __ret; \ +}) +#define XT_ENTRY_ITERATE_CONTINUE(type, entries, size, n, fn, args...) \ +({ \ + unsigned int __i, __n; \ + int __ret = 0; \ + type *__entry; \ + \ + for (__i = 0, __n = 0; __i < (size); \ + __i += __entry->next_offset, __n++) { \ + __entry = (void *)(entries) + __i; \ + if (__n < n) \ + continue; \ + \ + __ret = fn(__entry , ## args); \ + if (__ret != 0) \ + break; \ + } \ + __ret; \ +}) +#define XT_ENTRY_ITERATE(type, entries, size, fn, args...) \ + XT_ENTRY_ITERATE_CONTINUE(type, entries, size, 0, fn, args) +#endif +#define xt_entry_foreach(pos, ehead, esize) \ + for ((pos) = (typeof(pos))(ehead); \ + (pos) < (typeof(pos))((char *)(ehead) + (esize)); \ + (pos) = (typeof(pos))((char *)(pos) + (pos)->next_offset)) +#define xt_ematch_foreach(pos, entry) \ + for ((pos) = (struct xt_entry_match *)entry->elems; \ + (pos) < (struct xt_entry_match *)((char *)(entry) + \ + (entry)->target_offset); \ + (pos) = (struct xt_entry_match *)((char *)(pos) + \ + (pos)->u.match_size)) +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/netfilter/xt_AUDIT.h b/linux-5.10/prebuilts/usr/include/linux/netfilter/xt_AUDIT.h new file mode 100644 index 0000000..5995c9f --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/netfilter/xt_AUDIT.h @@ -0,0 +1,19 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _XT_AUDIT_TARGET_H +#define _XT_AUDIT_TARGET_H +#include +enum { + XT_AUDIT_TYPE_ACCEPT = 0, + XT_AUDIT_TYPE_DROP, + XT_AUDIT_TYPE_REJECT, + __XT_AUDIT_TYPE_MAX, +}; +#define XT_AUDIT_TYPE_MAX (__XT_AUDIT_TYPE_MAX - 1) +struct xt_audit_info { + __u8 type; +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/netfilter/xt_CHECKSUM.h b/linux-5.10/prebuilts/usr/include/linux/netfilter/xt_CHECKSUM.h new file mode 100644 index 0000000..d38e317 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/netfilter/xt_CHECKSUM.h @@ -0,0 +1,13 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _XT_CHECKSUM_TARGET_H +#define _XT_CHECKSUM_TARGET_H +#include +#define XT_CHECKSUM_OP_FILL 0x01 +struct xt_CHECKSUM_info { + __u8 operation; +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/netfilter/xt_CLASSIFY.h b/linux-5.10/prebuilts/usr/include/linux/netfilter/xt_CLASSIFY.h new file mode 100644 index 0000000..2d11956 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/netfilter/xt_CLASSIFY.h @@ -0,0 +1,12 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _XT_CLASSIFY_H +#define _XT_CLASSIFY_H +#include +struct xt_classify_target_info { + __u32 priority; +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/netfilter/xt_CONNMARK.h b/linux-5.10/prebuilts/usr/include/linux/netfilter/xt_CONNMARK.h new file mode 100644 index 0000000..833587f --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/netfilter/xt_CONNMARK.h @@ -0,0 +1,9 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _XT_CONNMARK_H_target +#define _XT_CONNMARK_H_target +#include +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/netfilter/xt_CONNSECMARK.h b/linux-5.10/prebuilts/usr/include/linux/netfilter/xt_CONNSECMARK.h new file mode 100644 index 0000000..677ff01 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/netfilter/xt_CONNSECMARK.h @@ -0,0 +1,16 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _XT_CONNSECMARK_H_target +#define _XT_CONNSECMARK_H_target +#include +enum { + CONNSECMARK_SAVE = 1, + CONNSECMARK_RESTORE, +}; +struct xt_connsecmark_target_info { + __u8 mode; +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/netfilter/xt_CT.h b/linux-5.10/prebuilts/usr/include/linux/netfilter/xt_CT.h new file mode 100644 index 0000000..e65b54a --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/netfilter/xt_CT.h @@ -0,0 +1,38 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _XT_CT_H +#define _XT_CT_H +#include +enum { + XT_CT_NOTRACK = 1 << 0, + XT_CT_NOTRACK_ALIAS = 1 << 1, + XT_CT_ZONE_DIR_ORIG = 1 << 2, + XT_CT_ZONE_DIR_REPL = 1 << 3, + XT_CT_ZONE_MARK = 1 << 4, + XT_CT_MASK = XT_CT_NOTRACK | XT_CT_NOTRACK_ALIAS | + XT_CT_ZONE_DIR_ORIG | XT_CT_ZONE_DIR_REPL | + XT_CT_ZONE_MARK, +}; +struct xt_ct_target_info { + __u16 flags; + __u16 zone; + __u32 ct_events; + __u32 exp_events; + char helper[16]; + + struct nf_conn *ct __attribute__((aligned(8))); +}; +struct xt_ct_target_info_v1 { + __u16 flags; + __u16 zone; + __u32 ct_events; + __u32 exp_events; + char helper[16]; + char timeout[32]; + + struct nf_conn *ct __attribute__((aligned(8))); +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/netfilter/xt_DSCP.h b/linux-5.10/prebuilts/usr/include/linux/netfilter/xt_DSCP.h new file mode 100644 index 0000000..fe395a7 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/netfilter/xt_DSCP.h @@ -0,0 +1,17 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _XT_DSCP_TARGET_H +#define _XT_DSCP_TARGET_H +#include +#include +struct xt_DSCP_info { + __u8 dscp; +}; +struct xt_tos_target_info { + __u8 tos_value; + __u8 tos_mask; +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/netfilter/xt_HMARK.h b/linux-5.10/prebuilts/usr/include/linux/netfilter/xt_HMARK.h new file mode 100644 index 0000000..231dc2e --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/netfilter/xt_HMARK.h @@ -0,0 +1,51 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef XT_HMARK_H_ +#define XT_HMARK_H_ +#include +#include +enum { + XT_HMARK_SADDR_MASK, + XT_HMARK_DADDR_MASK, + XT_HMARK_SPI, + XT_HMARK_SPI_MASK, + XT_HMARK_SPORT, + XT_HMARK_DPORT, + XT_HMARK_SPORT_MASK, + XT_HMARK_DPORT_MASK, + XT_HMARK_PROTO_MASK, + XT_HMARK_RND, + XT_HMARK_MODULUS, + XT_HMARK_OFFSET, + XT_HMARK_CT, + XT_HMARK_METHOD_L3, + XT_HMARK_METHOD_L3_4, +}; +#define XT_HMARK_FLAG(flag) (1 << flag) +union hmark_ports { + struct { + __u16 src; + __u16 dst; + } p16; + struct { + __be16 src; + __be16 dst; + } b16; + __u32 v32; + __be32 b32; +}; +struct xt_hmark_info { + union nf_inet_addr src_mask; + union nf_inet_addr dst_mask; + union hmark_ports port_mask; + union hmark_ports port_set; + __u32 flags; + __u16 proto_mask; + __u32 hashrnd; + __u32 hmodulus; + __u32 hoffset; +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/netfilter/xt_IDLETIMER.h b/linux-5.10/prebuilts/usr/include/linux/netfilter/xt_IDLETIMER.h new file mode 100644 index 0000000..e38b6f0 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/netfilter/xt_IDLETIMER.h @@ -0,0 +1,25 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _XT_IDLETIMER_H +#define _XT_IDLETIMER_H +#include +#define MAX_IDLETIMER_LABEL_SIZE 28 +#define XT_IDLETIMER_ALARM 0x01 +struct idletimer_tg_info { + __u32 timeout; + char label[MAX_IDLETIMER_LABEL_SIZE]; + + struct idletimer_tg *timer __attribute__((aligned(8))); +}; +struct idletimer_tg_info_v1 { + __u32 timeout; + char label[MAX_IDLETIMER_LABEL_SIZE]; + __u8 send_nl_msg; + __u8 timer_type; + + struct idletimer_tg *timer __attribute__((aligned(8))); +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/netfilter/xt_LED.h b/linux-5.10/prebuilts/usr/include/linux/netfilter/xt_LED.h new file mode 100644 index 0000000..28188f8 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/netfilter/xt_LED.h @@ -0,0 +1,16 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _XT_LED_H +#define _XT_LED_H +#include +struct xt_led_info { + char id[27]; + __u8 always_blink; + __u32 delay; + + void *internal_data __attribute__((aligned(8))); +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/netfilter/xt_LOG.h b/linux-5.10/prebuilts/usr/include/linux/netfilter/xt_LOG.h new file mode 100644 index 0000000..f4625d7 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/netfilter/xt_LOG.h @@ -0,0 +1,20 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _XT_LOG_H +#define _XT_LOG_H +#define XT_LOG_TCPSEQ 0x01 +#define XT_LOG_TCPOPT 0x02 +#define XT_LOG_IPOPT 0x04 +#define XT_LOG_UID 0x08 +#define XT_LOG_NFLOG 0x10 +#define XT_LOG_MACDECODE 0x20 +#define XT_LOG_MASK 0x2f +struct xt_log_info { + unsigned char level; + unsigned char logflags; + char prefix[30]; +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/netfilter/xt_MARK.h b/linux-5.10/prebuilts/usr/include/linux/netfilter/xt_MARK.h new file mode 100644 index 0000000..ad1bd13 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/netfilter/xt_MARK.h @@ -0,0 +1,9 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _XT_MARK_H_target +#define _XT_MARK_H_target +#include +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/netfilter/xt_NFLOG.h b/linux-5.10/prebuilts/usr/include/linux/netfilter/xt_NFLOG.h new file mode 100644 index 0000000..e9660a8 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/netfilter/xt_NFLOG.h @@ -0,0 +1,22 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _XT_NFLOG_TARGET +#define _XT_NFLOG_TARGET +#include +#define XT_NFLOG_DEFAULT_GROUP 0x1 +#define XT_NFLOG_DEFAULT_THRESHOLD 0 +#define XT_NFLOG_MASK 0x1 +#define XT_NFLOG_F_COPY_LEN 0x1 +struct xt_nflog_info { + + __u32 len; + __u16 group; + __u16 threshold; + __u16 flags; + __u16 pad; + char prefix[64]; +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/netfilter/xt_NFQUEUE.h b/linux-5.10/prebuilts/usr/include/linux/netfilter/xt_NFQUEUE.h new file mode 100644 index 0000000..f132273 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/netfilter/xt_NFQUEUE.h @@ -0,0 +1,29 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _XT_NFQ_TARGET_H +#define _XT_NFQ_TARGET_H +#include +struct xt_NFQ_info { + __u16 queuenum; +}; +struct xt_NFQ_info_v1 { + __u16 queuenum; + __u16 queues_total; +}; +struct xt_NFQ_info_v2 { + __u16 queuenum; + __u16 queues_total; + __u16 bypass; +}; +struct xt_NFQ_info_v3 { + __u16 queuenum; + __u16 queues_total; + __u16 flags; +#define NFQ_FLAG_BYPASS 0x01 +#define NFQ_FLAG_CPU_FANOUT 0x02 +#define NFQ_FLAG_MASK 0x03 +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/netfilter/xt_RATEEST.h b/linux-5.10/prebuilts/usr/include/linux/netfilter/xt_RATEEST.h new file mode 100644 index 0000000..10a83c9 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/netfilter/xt_RATEEST.h @@ -0,0 +1,17 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _XT_RATEEST_TARGET_H +#define _XT_RATEEST_TARGET_H +#include +#include +struct xt_rateest_target_info { + char name[IFNAMSIZ]; + __s8 interval; + __u8 ewma_log; + + struct xt_rateest *est __attribute__((aligned(8))); +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/netfilter/xt_SECMARK.h b/linux-5.10/prebuilts/usr/include/linux/netfilter/xt_SECMARK.h new file mode 100644 index 0000000..1a6ff58 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/netfilter/xt_SECMARK.h @@ -0,0 +1,21 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _XT_SECMARK_H_target +#define _XT_SECMARK_H_target +#include +#define SECMARK_MODE_SEL 0x01 +#define SECMARK_SECCTX_MAX 256 +struct xt_secmark_target_info { + __u8 mode; + __u32 secid; + char secctx[SECMARK_SECCTX_MAX]; +}; +struct xt_secmark_target_info_v1 { + __u8 mode; + char secctx[SECMARK_SECCTX_MAX]; + __u32 secid; +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/netfilter/xt_SYNPROXY.h b/linux-5.10/prebuilts/usr/include/linux/netfilter/xt_SYNPROXY.h new file mode 100644 index 0000000..8ddcd88 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/netfilter/xt_SYNPROXY.h @@ -0,0 +1,15 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _XT_SYNPROXY_H +#define _XT_SYNPROXY_H +#include +#define XT_SYNPROXY_OPT_MSS NF_SYNPROXY_OPT_MSS +#define XT_SYNPROXY_OPT_WSCALE NF_SYNPROXY_OPT_WSCALE +#define XT_SYNPROXY_OPT_SACK_PERM NF_SYNPROXY_OPT_SACK_PERM +#define XT_SYNPROXY_OPT_TIMESTAMP NF_SYNPROXY_OPT_TIMESTAMP +#define XT_SYNPROXY_OPT_ECN NF_SYNPROXY_OPT_ECN +#define xt_synproxy_info nf_synproxy_info +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/netfilter/xt_TCPMSS.h b/linux-5.10/prebuilts/usr/include/linux/netfilter/xt_TCPMSS.h new file mode 100644 index 0000000..d9f0a95 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/netfilter/xt_TCPMSS.h @@ -0,0 +1,13 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _XT_TCPMSS_H +#define _XT_TCPMSS_H +#include +struct xt_tcpmss_info { + __u16 mss; +}; +#define XT_TCPMSS_CLAMP_PMTU 0xffff +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/netfilter/xt_TCPOPTSTRIP.h b/linux-5.10/prebuilts/usr/include/linux/netfilter/xt_TCPOPTSTRIP.h new file mode 100644 index 0000000..ab8f99c --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/netfilter/xt_TCPOPTSTRIP.h @@ -0,0 +1,16 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _XT_TCPOPTSTRIP_H +#define _XT_TCPOPTSTRIP_H +#include +#define tcpoptstrip_set_bit(bmap, idx) \ + (bmap[(idx) >> 5] |= 1U << (idx & 31)) +#define tcpoptstrip_test_bit(bmap, idx) \ + (((1U << (idx & 31)) & bmap[(idx) >> 5]) != 0) +struct xt_tcpoptstrip_target_info { + __u32 strip_bmap[8]; +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/netfilter/xt_TEE.h b/linux-5.10/prebuilts/usr/include/linux/netfilter/xt_TEE.h new file mode 100644 index 0000000..2e2b363 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/netfilter/xt_TEE.h @@ -0,0 +1,15 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _XT_TEE_TARGET_H +#define _XT_TEE_TARGET_H +#include +struct xt_tee_tginfo { + union nf_inet_addr gw; + char oif[16]; + + struct xt_tee_priv *priv __attribute__((aligned(8))); +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/netfilter/xt_TPROXY.h b/linux-5.10/prebuilts/usr/include/linux/netfilter/xt_TPROXY.h new file mode 100644 index 0000000..6d3987e --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/netfilter/xt_TPROXY.h @@ -0,0 +1,22 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _XT_TPROXY_H +#define _XT_TPROXY_H +#include +#include +struct xt_tproxy_target_info { + __u32 mark_mask; + __u32 mark_value; + __be32 laddr; + __be16 lport; +}; +struct xt_tproxy_target_info_v1 { + __u32 mark_mask; + __u32 mark_value; + union nf_inet_addr laddr; + __be16 lport; +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/netfilter/xt_addrtype.h b/linux-5.10/prebuilts/usr/include/linux/netfilter/xt_addrtype.h new file mode 100644 index 0000000..5f2b5ea --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/netfilter/xt_addrtype.h @@ -0,0 +1,40 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _XT_ADDRTYPE_H +#define _XT_ADDRTYPE_H +#include +enum { + XT_ADDRTYPE_INVERT_SOURCE = 0x0001, + XT_ADDRTYPE_INVERT_DEST = 0x0002, + XT_ADDRTYPE_LIMIT_IFACE_IN = 0x0004, + XT_ADDRTYPE_LIMIT_IFACE_OUT = 0x0008, +}; +enum { + XT_ADDRTYPE_UNSPEC = 1 << 0, + XT_ADDRTYPE_UNICAST = 1 << 1, + XT_ADDRTYPE_LOCAL = 1 << 2, + XT_ADDRTYPE_BROADCAST = 1 << 3, + XT_ADDRTYPE_ANYCAST = 1 << 4, + XT_ADDRTYPE_MULTICAST = 1 << 5, + XT_ADDRTYPE_BLACKHOLE = 1 << 6, + XT_ADDRTYPE_UNREACHABLE = 1 << 7, + XT_ADDRTYPE_PROHIBIT = 1 << 8, + XT_ADDRTYPE_THROW = 1 << 9, + XT_ADDRTYPE_NAT = 1 << 10, + XT_ADDRTYPE_XRESOLVE = 1 << 11, +}; +struct xt_addrtype_info_v1 { + __u16 source; + __u16 dest; + __u32 flags; +}; +struct xt_addrtype_info { + __u16 source; + __u16 dest; + __u32 invert_source; + __u32 invert_dest; +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/netfilter/xt_bpf.h b/linux-5.10/prebuilts/usr/include/linux/netfilter/xt_bpf.h new file mode 100644 index 0000000..f1c1f63 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/netfilter/xt_bpf.h @@ -0,0 +1,37 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _XT_BPF_H +#define _XT_BPF_H +#include +#include +#include +#define XT_BPF_MAX_NUM_INSTR 64 +#define XT_BPF_PATH_MAX (XT_BPF_MAX_NUM_INSTR * sizeof(struct sock_filter)) +struct bpf_prog; +struct xt_bpf_info { + __u16 bpf_program_num_elem; + struct sock_filter bpf_program[XT_BPF_MAX_NUM_INSTR]; + + struct bpf_prog *filter __attribute__((aligned(8))); +}; +enum xt_bpf_modes { + XT_BPF_MODE_BYTECODE, + XT_BPF_MODE_FD_PINNED, + XT_BPF_MODE_FD_ELF, +}; +#define XT_BPF_MODE_PATH_PINNED XT_BPF_MODE_FD_PINNED +struct xt_bpf_info_v1 { + __u16 mode; + __u16 bpf_program_num_elem; + __s32 fd; + union { + struct sock_filter bpf_program[XT_BPF_MAX_NUM_INSTR]; + char path[XT_BPF_PATH_MAX]; + }; + + struct bpf_prog *filter __attribute__((aligned(8))); +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/netfilter/xt_cgroup.h b/linux-5.10/prebuilts/usr/include/linux/netfilter/xt_cgroup.h new file mode 100644 index 0000000..8838ebc --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/netfilter/xt_cgroup.h @@ -0,0 +1,37 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI_XT_CGROUP_H +#define _UAPI_XT_CGROUP_H +#include +#include +struct xt_cgroup_info_v0 { + __u32 id; + __u32 invert; +}; +struct xt_cgroup_info_v1 { + __u8 has_path; + __u8 has_classid; + __u8 invert_path; + __u8 invert_classid; + char path[PATH_MAX]; + __u32 classid; + + void *priv __attribute__((aligned(8))); +}; +#define XT_CGROUP_PATH_MAX 512 +struct xt_cgroup_info_v2 { + __u8 has_path; + __u8 has_classid; + __u8 invert_path; + __u8 invert_classid; + union { + char path[XT_CGROUP_PATH_MAX]; + __u32 classid; + }; + + void *priv __attribute__((aligned(8))); +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/netfilter/xt_cluster.h b/linux-5.10/prebuilts/usr/include/linux/netfilter/xt_cluster.h new file mode 100644 index 0000000..e29d55a --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/netfilter/xt_cluster.h @@ -0,0 +1,19 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _XT_CLUSTER_MATCH_H +#define _XT_CLUSTER_MATCH_H +#include +enum xt_cluster_flags { + XT_CLUSTER_F_INV = (1 << 0) +}; +struct xt_cluster_match_info { + __u32 total_nodes; + __u32 node_mask; + __u32 hash_seed; + __u32 flags; +}; +#define XT_CLUSTER_NODES_MAX 32 +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/netfilter/xt_comment.h b/linux-5.10/prebuilts/usr/include/linux/netfilter/xt_comment.h new file mode 100644 index 0000000..32544df --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/netfilter/xt_comment.h @@ -0,0 +1,12 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _XT_COMMENT_H +#define _XT_COMMENT_H +#define XT_MAX_COMMENT_LEN 256 +struct xt_comment_info { + char comment[XT_MAX_COMMENT_LEN]; +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/netfilter/xt_connbytes.h b/linux-5.10/prebuilts/usr/include/linux/netfilter/xt_connbytes.h new file mode 100644 index 0000000..329977e --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/netfilter/xt_connbytes.h @@ -0,0 +1,27 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _XT_CONNBYTES_H +#define _XT_CONNBYTES_H +#include +enum xt_connbytes_what { + XT_CONNBYTES_PKTS, + XT_CONNBYTES_BYTES, + XT_CONNBYTES_AVGPKT, +}; +enum xt_connbytes_direction { + XT_CONNBYTES_DIR_ORIGINAL, + XT_CONNBYTES_DIR_REPLY, + XT_CONNBYTES_DIR_BOTH, +}; +struct xt_connbytes_info { + struct { + __aligned_u64 from; + __aligned_u64 to; + } count; + __u8 what; + __u8 direction; +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/netfilter/xt_connlabel.h b/linux-5.10/prebuilts/usr/include/linux/netfilter/xt_connlabel.h new file mode 100644 index 0000000..a3f4fd9 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/netfilter/xt_connlabel.h @@ -0,0 +1,18 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI_XT_CONNLABEL_H +#define _UAPI_XT_CONNLABEL_H +#include +#define XT_CONNLABEL_MAXBIT 127 +enum xt_connlabel_mtopts { + XT_CONNLABEL_OP_INVERT = 1 << 0, + XT_CONNLABEL_OP_SET = 1 << 1, +}; +struct xt_connlabel_mtinfo { + __u16 bit; + __u16 options; +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/netfilter/xt_connlimit.h b/linux-5.10/prebuilts/usr/include/linux/netfilter/xt_connlimit.h new file mode 100644 index 0000000..6dcb37f --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/netfilter/xt_connlimit.h @@ -0,0 +1,31 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _XT_CONNLIMIT_H +#define _XT_CONNLIMIT_H +#include +#include +struct xt_connlimit_data; +enum { + XT_CONNLIMIT_INVERT = 1 << 0, + XT_CONNLIMIT_DADDR = 1 << 1, +}; +struct xt_connlimit_info { + union { + union nf_inet_addr mask; +#ifndef __KERNEL__ + union { + __be32 v4_mask; + __be32 v6_mask[4]; + }; +#endif + }; + unsigned int limit; + + __u32 flags; + + struct nf_conncount_data *data __attribute__((aligned(8))); +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/netfilter/xt_connmark.h b/linux-5.10/prebuilts/usr/include/linux/netfilter/xt_connmark.h new file mode 100644 index 0000000..1c8c02a --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/netfilter/xt_connmark.h @@ -0,0 +1,30 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _XT_CONNMARK_H +#define _XT_CONNMARK_H +#include +enum { + XT_CONNMARK_SET = 0, + XT_CONNMARK_SAVE, + XT_CONNMARK_RESTORE +}; +enum { + D_SHIFT_LEFT = 0, + D_SHIFT_RIGHT, +}; +struct xt_connmark_tginfo1 { + __u32 ctmark, ctmask, nfmask; + __u8 mode; +}; +struct xt_connmark_tginfo2 { + __u32 ctmark, ctmask, nfmask; + __u8 shift_dir, shift_bits, mode; +}; +struct xt_connmark_mtinfo1 { + __u32 mark, mask; + __u8 invert; +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/netfilter/xt_conntrack.h b/linux-5.10/prebuilts/usr/include/linux/netfilter/xt_conntrack.h new file mode 100644 index 0000000..dc0ebb7 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/netfilter/xt_conntrack.h @@ -0,0 +1,70 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _XT_CONNTRACK_H +#define _XT_CONNTRACK_H +#include +#include +#include +#define XT_CONNTRACK_STATE_BIT(ctinfo) (1 << ((ctinfo)%IP_CT_IS_REPLY+1)) +#define XT_CONNTRACK_STATE_INVALID (1 << 0) +#define XT_CONNTRACK_STATE_SNAT (1 << (IP_CT_NUMBER + 1)) +#define XT_CONNTRACK_STATE_DNAT (1 << (IP_CT_NUMBER + 2)) +#define XT_CONNTRACK_STATE_UNTRACKED (1 << (IP_CT_NUMBER + 3)) +enum { + XT_CONNTRACK_STATE = 1 << 0, + XT_CONNTRACK_PROTO = 1 << 1, + XT_CONNTRACK_ORIGSRC = 1 << 2, + XT_CONNTRACK_ORIGDST = 1 << 3, + XT_CONNTRACK_REPLSRC = 1 << 4, + XT_CONNTRACK_REPLDST = 1 << 5, + XT_CONNTRACK_STATUS = 1 << 6, + XT_CONNTRACK_EXPIRES = 1 << 7, + XT_CONNTRACK_ORIGSRC_PORT = 1 << 8, + XT_CONNTRACK_ORIGDST_PORT = 1 << 9, + XT_CONNTRACK_REPLSRC_PORT = 1 << 10, + XT_CONNTRACK_REPLDST_PORT = 1 << 11, + XT_CONNTRACK_DIRECTION = 1 << 12, + XT_CONNTRACK_STATE_ALIAS = 1 << 13, +}; +struct xt_conntrack_mtinfo1 { + union nf_inet_addr origsrc_addr, origsrc_mask; + union nf_inet_addr origdst_addr, origdst_mask; + union nf_inet_addr replsrc_addr, replsrc_mask; + union nf_inet_addr repldst_addr, repldst_mask; + __u32 expires_min, expires_max; + __u16 l4proto; + __be16 origsrc_port, origdst_port; + __be16 replsrc_port, repldst_port; + __u16 match_flags, invert_flags; + __u8 state_mask, status_mask; +}; +struct xt_conntrack_mtinfo2 { + union nf_inet_addr origsrc_addr, origsrc_mask; + union nf_inet_addr origdst_addr, origdst_mask; + union nf_inet_addr replsrc_addr, replsrc_mask; + union nf_inet_addr repldst_addr, repldst_mask; + __u32 expires_min, expires_max; + __u16 l4proto; + __be16 origsrc_port, origdst_port; + __be16 replsrc_port, repldst_port; + __u16 match_flags, invert_flags; + __u16 state_mask, status_mask; +}; +struct xt_conntrack_mtinfo3 { + union nf_inet_addr origsrc_addr, origsrc_mask; + union nf_inet_addr origdst_addr, origdst_mask; + union nf_inet_addr replsrc_addr, replsrc_mask; + union nf_inet_addr repldst_addr, repldst_mask; + __u32 expires_min, expires_max; + __u16 l4proto; + __u16 origsrc_port, origdst_port; + __u16 replsrc_port, repldst_port; + __u16 match_flags, invert_flags; + __u16 state_mask, status_mask; + __u16 origsrc_port_high, origdst_port_high; + __u16 replsrc_port_high, repldst_port_high; +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/netfilter/xt_cpu.h b/linux-5.10/prebuilts/usr/include/linux/netfilter/xt_cpu.h new file mode 100644 index 0000000..0281a8b --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/netfilter/xt_cpu.h @@ -0,0 +1,13 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _XT_CPU_H +#define _XT_CPU_H +#include +struct xt_cpu_info { + __u32 cpu; + __u32 invert; +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/netfilter/xt_dccp.h b/linux-5.10/prebuilts/usr/include/linux/netfilter/xt_dccp.h new file mode 100644 index 0000000..cf51f39 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/netfilter/xt_dccp.h @@ -0,0 +1,22 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _XT_DCCP_H_ +#define _XT_DCCP_H_ +#include +#define XT_DCCP_SRC_PORTS 0x01 +#define XT_DCCP_DEST_PORTS 0x02 +#define XT_DCCP_TYPE 0x04 +#define XT_DCCP_OPTION 0x08 +#define XT_DCCP_VALID_FLAGS 0x0f +struct xt_dccp_info { + __u16 dpts[2]; + __u16 spts[2]; + __u16 flags; + __u16 invflags; + __u16 typemask; + __u8 option; +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/netfilter/xt_devgroup.h b/linux-5.10/prebuilts/usr/include/linux/netfilter/xt_devgroup.h new file mode 100644 index 0000000..d0f9ef5 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/netfilter/xt_devgroup.h @@ -0,0 +1,22 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _XT_DEVGROUP_H +#define _XT_DEVGROUP_H +#include +enum xt_devgroup_flags { + XT_DEVGROUP_MATCH_SRC = 0x1, + XT_DEVGROUP_INVERT_SRC = 0x2, + XT_DEVGROUP_MATCH_DST = 0x4, + XT_DEVGROUP_INVERT_DST = 0x8, +}; +struct xt_devgroup_info { + __u32 flags; + __u32 src_group; + __u32 src_mask; + __u32 dst_group; + __u32 dst_mask; +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/netfilter/xt_dscp.h b/linux-5.10/prebuilts/usr/include/linux/netfilter/xt_dscp.h new file mode 100644 index 0000000..bd77147 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/netfilter/xt_dscp.h @@ -0,0 +1,21 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _XT_DSCP_H +#define _XT_DSCP_H +#include +#define XT_DSCP_MASK 0xfc +#define XT_DSCP_SHIFT 2 +#define XT_DSCP_MAX 0x3f +struct xt_dscp_info { + __u8 dscp; + __u8 invert; +}; +struct xt_tos_match_info { + __u8 tos_mask; + __u8 tos_value; + __u8 invert; +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/netfilter/xt_ecn.h b/linux-5.10/prebuilts/usr/include/linux/netfilter/xt_ecn.h new file mode 100644 index 0000000..aa885e2 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/netfilter/xt_ecn.h @@ -0,0 +1,25 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _XT_ECN_H +#define _XT_ECN_H +#include +#include +#define XT_ECN_IP_MASK (~XT_DSCP_MASK) +#define XT_ECN_OP_MATCH_IP 0x01 +#define XT_ECN_OP_MATCH_ECE 0x10 +#define XT_ECN_OP_MATCH_CWR 0x20 +#define XT_ECN_OP_MATCH_MASK 0xce +struct xt_ecn_info { + __u8 operation; + __u8 invert; + __u8 ip_ect; + union { + struct { + __u8 ect; + } tcp; + } proto; +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/netfilter/xt_esp.h b/linux-5.10/prebuilts/usr/include/linux/netfilter/xt_esp.h new file mode 100644 index 0000000..63f74ca --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/netfilter/xt_esp.h @@ -0,0 +1,15 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _XT_ESP_H +#define _XT_ESP_H +#include +struct xt_esp { + __u32 spis[2]; + __u8 invflags; +}; +#define XT_ESP_INV_SPI 0x01 +#define XT_ESP_INV_MASK 0x01 +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/netfilter/xt_hashlimit.h b/linux-5.10/prebuilts/usr/include/linux/netfilter/xt_hashlimit.h new file mode 100644 index 0000000..5a44d5e --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/netfilter/xt_hashlimit.h @@ -0,0 +1,96 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI_XT_HASHLIMIT_H +#define _UAPI_XT_HASHLIMIT_H +#include +#include +#include +#define XT_HASHLIMIT_SCALE 10000 +#define XT_HASHLIMIT_SCALE_v2 1000000llu +#define XT_HASHLIMIT_BYTE_SHIFT 4 +struct xt_hashlimit_htable; +enum { + XT_HASHLIMIT_HASH_DIP = 1 << 0, + XT_HASHLIMIT_HASH_DPT = 1 << 1, + XT_HASHLIMIT_HASH_SIP = 1 << 2, + XT_HASHLIMIT_HASH_SPT = 1 << 3, + XT_HASHLIMIT_INVERT = 1 << 4, + XT_HASHLIMIT_BYTES = 1 << 5, + XT_HASHLIMIT_RATE_MATCH = 1 << 6, +}; +struct hashlimit_cfg { + __u32 mode; + __u32 avg; + __u32 burst; + + __u32 size; + __u32 max; + __u32 gc_interval; + __u32 expire; +}; +struct xt_hashlimit_info { + char name [IFNAMSIZ]; + struct hashlimit_cfg cfg; + + struct xt_hashlimit_htable *hinfo; + union { + void *ptr; + struct xt_hashlimit_info *master; + } u; +}; +struct hashlimit_cfg1 { + __u32 mode; + __u32 avg; + __u32 burst; + + __u32 size; + __u32 max; + __u32 gc_interval; + __u32 expire; + __u8 srcmask, dstmask; +}; +struct hashlimit_cfg2 { + __u64 avg; + __u64 burst; + __u32 mode; + + __u32 size; + __u32 max; + __u32 gc_interval; + __u32 expire; + __u8 srcmask, dstmask; +}; +struct hashlimit_cfg3 { + __u64 avg; + __u64 burst; + __u32 mode; + + __u32 size; + __u32 max; + __u32 gc_interval; + __u32 expire; + __u32 interval; + __u8 srcmask, dstmask; +}; +struct xt_hashlimit_mtinfo1 { + char name[IFNAMSIZ]; + struct hashlimit_cfg1 cfg; + + struct xt_hashlimit_htable *hinfo __attribute__((aligned(8))); +}; +struct xt_hashlimit_mtinfo2 { + char name[NAME_MAX]; + struct hashlimit_cfg2 cfg; + + struct xt_hashlimit_htable *hinfo __attribute__((aligned(8))); +}; +struct xt_hashlimit_mtinfo3 { + char name[NAME_MAX]; + struct hashlimit_cfg3 cfg; + + struct xt_hashlimit_htable *hinfo __attribute__((aligned(8))); +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/netfilter/xt_helper.h b/linux-5.10/prebuilts/usr/include/linux/netfilter/xt_helper.h new file mode 100644 index 0000000..8c75a75 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/netfilter/xt_helper.h @@ -0,0 +1,12 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _XT_HELPER_H +#define _XT_HELPER_H +struct xt_helper_info { + int invert; + char name[30]; +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/netfilter/xt_ipcomp.h b/linux-5.10/prebuilts/usr/include/linux/netfilter/xt_ipcomp.h new file mode 100644 index 0000000..cf62489 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/netfilter/xt_ipcomp.h @@ -0,0 +1,16 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _XT_IPCOMP_H +#define _XT_IPCOMP_H +#include +struct xt_ipcomp { + __u32 spis[2]; + __u8 invflags; + __u8 hdrres; +}; +#define XT_IPCOMP_INV_SPI 0x01 +#define XT_IPCOMP_INV_MASK 0x01 +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/netfilter/xt_iprange.h b/linux-5.10/prebuilts/usr/include/linux/netfilter/xt_iprange.h new file mode 100644 index 0000000..4e5895e --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/netfilter/xt_iprange.h @@ -0,0 +1,21 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _LINUX_NETFILTER_XT_IPRANGE_H +#define _LINUX_NETFILTER_XT_IPRANGE_H 1 +#include +#include +enum { + IPRANGE_SRC = 1 << 0, + IPRANGE_DST = 1 << 1, + IPRANGE_SRC_INV = 1 << 4, + IPRANGE_DST_INV = 1 << 5, +}; +struct xt_iprange_mtinfo { + union nf_inet_addr src_min, src_max; + union nf_inet_addr dst_min, dst_max; + __u8 flags; +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/netfilter/xt_ipvs.h b/linux-5.10/prebuilts/usr/include/linux/netfilter/xt_ipvs.h new file mode 100644 index 0000000..0e9ed49 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/netfilter/xt_ipvs.h @@ -0,0 +1,30 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _XT_IPVS_H +#define _XT_IPVS_H +#include +#include +enum { + XT_IPVS_IPVS_PROPERTY = 1 << 0, + XT_IPVS_PROTO = 1 << 1, + XT_IPVS_VADDR = 1 << 2, + XT_IPVS_VPORT = 1 << 3, + XT_IPVS_DIR = 1 << 4, + XT_IPVS_METHOD = 1 << 5, + XT_IPVS_VPORTCTL = 1 << 6, + XT_IPVS_MASK = (1 << 7) - 1, + XT_IPVS_ONCE_MASK = XT_IPVS_MASK & ~XT_IPVS_IPVS_PROPERTY +}; +struct xt_ipvs_mtinfo { + union nf_inet_addr vaddr, vmask; + __be16 vport; + __u8 l4proto; + __u8 fwd_method; + __be16 vportctl; + __u8 invert; + __u8 bitmask; +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/netfilter/xt_l2tp.h b/linux-5.10/prebuilts/usr/include/linux/netfilter/xt_l2tp.h new file mode 100644 index 0000000..5968a18 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/netfilter/xt_l2tp.h @@ -0,0 +1,26 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _LINUX_NETFILTER_XT_L2TP_H +#define _LINUX_NETFILTER_XT_L2TP_H +#include +enum xt_l2tp_type { + XT_L2TP_TYPE_CONTROL, + XT_L2TP_TYPE_DATA, +}; +struct xt_l2tp_info { + __u32 tid; + __u32 sid; + __u8 version; + __u8 type; + __u8 flags; +}; +enum { + XT_L2TP_TID = (1 << 0), + XT_L2TP_SID = (1 << 1), + XT_L2TP_VERSION = (1 << 2), + XT_L2TP_TYPE = (1 << 3), +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/netfilter/xt_length.h b/linux-5.10/prebuilts/usr/include/linux/netfilter/xt_length.h new file mode 100644 index 0000000..e9b0925 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/netfilter/xt_length.h @@ -0,0 +1,13 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _XT_LENGTH_H +#define _XT_LENGTH_H +#include +struct xt_length_info { + __u16 min, max; + __u8 invert; +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/netfilter/xt_limit.h b/linux-5.10/prebuilts/usr/include/linux/netfilter/xt_limit.h new file mode 100644 index 0000000..ae75363 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/netfilter/xt_limit.h @@ -0,0 +1,20 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _XT_RATE_H +#define _XT_RATE_H +#include +#define XT_LIMIT_SCALE 10000 +struct xt_limit_priv; +struct xt_rateinfo { + __u32 avg; + __u32 burst; + + unsigned long prev; + __u32 credit; + __u32 credit_cap, cost; + struct xt_limit_priv *master; +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/netfilter/xt_mac.h b/linux-5.10/prebuilts/usr/include/linux/netfilter/xt_mac.h new file mode 100644 index 0000000..cb4b370 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/netfilter/xt_mac.h @@ -0,0 +1,13 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _XT_MAC_H +#define _XT_MAC_H +#include +struct xt_mac_info { + unsigned char srcaddr[ETH_ALEN]; + int invert; +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/netfilter/xt_mark.h b/linux-5.10/prebuilts/usr/include/linux/netfilter/xt_mark.h new file mode 100644 index 0000000..861fd28 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/netfilter/xt_mark.h @@ -0,0 +1,16 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _XT_MARK_H +#define _XT_MARK_H +#include +struct xt_mark_tginfo2 { + __u32 mark, mask; +}; +struct xt_mark_mtinfo1 { + __u32 mark, mask; + __u8 invert; +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/netfilter/xt_multiport.h b/linux-5.10/prebuilts/usr/include/linux/netfilter/xt_multiport.h new file mode 100644 index 0000000..c247591 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/netfilter/xt_multiport.h @@ -0,0 +1,27 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _XT_MULTIPORT_H +#define _XT_MULTIPORT_H +#include +enum xt_multiport_flags { + XT_MULTIPORT_SOURCE, + XT_MULTIPORT_DESTINATION, + XT_MULTIPORT_EITHER +}; +#define XT_MULTI_PORTS 15 +struct xt_multiport { + __u8 flags; + __u8 count; + __u16 ports[XT_MULTI_PORTS]; +}; +struct xt_multiport_v1 { + __u8 flags; + __u8 count; + __u16 ports[XT_MULTI_PORTS]; + __u8 pflags[XT_MULTI_PORTS]; + __u8 invert; +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/netfilter/xt_nfacct.h b/linux-5.10/prebuilts/usr/include/linux/netfilter/xt_nfacct.h new file mode 100644 index 0000000..c0a76bd --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/netfilter/xt_nfacct.h @@ -0,0 +1,18 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _XT_NFACCT_MATCH_H +#define _XT_NFACCT_MATCH_H +#include +struct nf_acct; +struct xt_nfacct_match_info { + char name[NFACCT_NAME_MAX]; + struct nf_acct *nfacct; +}; +struct xt_nfacct_match_info_v1 { + char name[NFACCT_NAME_MAX]; + struct nf_acct *nfacct __attribute__((aligned(8))); +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/netfilter/xt_osf.h b/linux-5.10/prebuilts/usr/include/linux/netfilter/xt_osf.h new file mode 100644 index 0000000..defbac4 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/netfilter/xt_osf.h @@ -0,0 +1,29 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _XT_OSF_H +#define _XT_OSF_H +#include +#include +#define XT_OSF_GENRE NF_OSF_GENRE +#define XT_OSF_INVERT NF_OSF_INVERT +#define XT_OSF_TTL NF_OSF_TTL +#define XT_OSF_LOG NF_OSF_LOG +#define XT_OSF_LOGLEVEL_ALL NF_OSF_LOGLEVEL_ALL +#define XT_OSF_LOGLEVEL_FIRST NF_OSF_LOGLEVEL_FIRST +#define XT_OSF_LOGLEVEL_ALL_KNOWN NF_OSF_LOGLEVEL_ALL_KNOWN +#define XT_OSF_TTL_TRUE NF_OSF_TTL_TRUE +#define XT_OSF_TTL_NOCHECK NF_OSF_TTL_NOCHECK +#define XT_OSF_TTL_LESS NF_OSF_TTL_LESS +#define xt_osf_wc nf_osf_wc +#define xt_osf_opt nf_osf_opt +#define xt_osf_info nf_osf_info +#define xt_osf_user_finger nf_osf_user_finger +#define xt_osf_finger nf_osf_finger +#define xt_osf_nlmsg nf_osf_nlmsg +#define xt_osf_window_size_options nf_osf_window_size_options +#define xt_osf_attr_type nf_osf_attr_type +#define xt_osf_msg_types nf_osf_msg_types +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/netfilter/xt_owner.h b/linux-5.10/prebuilts/usr/include/linux/netfilter/xt_owner.h new file mode 100644 index 0000000..848f08f --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/netfilter/xt_owner.h @@ -0,0 +1,24 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _XT_OWNER_MATCH_H +#define _XT_OWNER_MATCH_H +#include +enum { + XT_OWNER_UID = 1 << 0, + XT_OWNER_GID = 1 << 1, + XT_OWNER_SOCKET = 1 << 2, + XT_OWNER_SUPPL_GROUPS = 1 << 3, +}; +#define XT_OWNER_MASK (XT_OWNER_UID | \ + XT_OWNER_GID | \ + XT_OWNER_SOCKET | \ + XT_OWNER_SUPPL_GROUPS) +struct xt_owner_match_info { + __u32 uid_min, uid_max; + __u32 gid_min, gid_max; + __u8 match, invert; +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/netfilter/xt_physdev.h b/linux-5.10/prebuilts/usr/include/linux/netfilter/xt_physdev.h new file mode 100644 index 0000000..595db7f --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/netfilter/xt_physdev.h @@ -0,0 +1,24 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI_XT_PHYSDEV_H +#define _UAPI_XT_PHYSDEV_H +#include +#include +#define XT_PHYSDEV_OP_IN 0x01 +#define XT_PHYSDEV_OP_OUT 0x02 +#define XT_PHYSDEV_OP_BRIDGED 0x04 +#define XT_PHYSDEV_OP_ISIN 0x08 +#define XT_PHYSDEV_OP_ISOUT 0x10 +#define XT_PHYSDEV_OP_MASK (0x20 - 1) +struct xt_physdev_info { + char physindev[IFNAMSIZ]; + char in_mask[IFNAMSIZ]; + char physoutdev[IFNAMSIZ]; + char out_mask[IFNAMSIZ]; + __u8 invert; + __u8 bitmask; +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/netfilter/xt_pkttype.h b/linux-5.10/prebuilts/usr/include/linux/netfilter/xt_pkttype.h new file mode 100644 index 0000000..9e153c3 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/netfilter/xt_pkttype.h @@ -0,0 +1,12 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _XT_PKTTYPE_H +#define _XT_PKTTYPE_H +struct xt_pkttype_info { + int pkttype; + int invert; +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/netfilter/xt_policy.h b/linux-5.10/prebuilts/usr/include/linux/netfilter/xt_policy.h new file mode 100644 index 0000000..086a2d0 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/netfilter/xt_policy.h @@ -0,0 +1,67 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _XT_POLICY_H +#define _XT_POLICY_H +#include +#include +#include +#include +#define XT_POLICY_MAX_ELEM 4 +enum xt_policy_flags { + XT_POLICY_MATCH_IN = 0x1, + XT_POLICY_MATCH_OUT = 0x2, + XT_POLICY_MATCH_NONE = 0x4, + XT_POLICY_MATCH_STRICT = 0x8, +}; +enum xt_policy_modes { + XT_POLICY_MODE_TRANSPORT, + XT_POLICY_MODE_TUNNEL +}; +struct xt_policy_spec { + __u8 saddr:1, + daddr:1, + proto:1, + mode:1, + spi:1, + reqid:1; +}; +#ifndef __KERNEL__ +union xt_policy_addr { + struct in_addr a4; + struct in6_addr a6; +}; +#endif +struct xt_policy_elem { + union { +#ifdef __KERNEL__ + struct { + union nf_inet_addr saddr; + union nf_inet_addr smask; + union nf_inet_addr daddr; + union nf_inet_addr dmask; + }; +#else + struct { + union xt_policy_addr saddr; + union xt_policy_addr smask; + union xt_policy_addr daddr; + union xt_policy_addr dmask; + }; +#endif + }; + __be32 spi; + __u32 reqid; + __u8 proto; + __u8 mode; + struct xt_policy_spec match; + struct xt_policy_spec invert; +}; +struct xt_policy_info { + struct xt_policy_elem pol[XT_POLICY_MAX_ELEM]; + __u16 flags; + __u16 len; +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/netfilter/xt_quota.h b/linux-5.10/prebuilts/usr/include/linux/netfilter/xt_quota.h new file mode 100644 index 0000000..f20f671 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/netfilter/xt_quota.h @@ -0,0 +1,21 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _XT_QUOTA_H +#define _XT_QUOTA_H +#include +enum xt_quota_flags { + XT_QUOTA_INVERT = 0x1, +}; +#define XT_QUOTA_MASK 0x1 +struct xt_quota_priv; +struct xt_quota_info { + __u32 flags; + __u32 pad; + __aligned_u64 quota; + + struct xt_quota_priv *master; +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/netfilter/xt_rateest.h b/linux-5.10/prebuilts/usr/include/linux/netfilter/xt_rateest.h new file mode 100644 index 0000000..ba42b14 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/netfilter/xt_rateest.h @@ -0,0 +1,37 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _XT_RATEEST_MATCH_H +#define _XT_RATEEST_MATCH_H +#include +#include +enum xt_rateest_match_flags { + XT_RATEEST_MATCH_INVERT = 1<<0, + XT_RATEEST_MATCH_ABS = 1<<1, + XT_RATEEST_MATCH_REL = 1<<2, + XT_RATEEST_MATCH_DELTA = 1<<3, + XT_RATEEST_MATCH_BPS = 1<<4, + XT_RATEEST_MATCH_PPS = 1<<5, +}; +enum xt_rateest_match_mode { + XT_RATEEST_MATCH_NONE, + XT_RATEEST_MATCH_EQ, + XT_RATEEST_MATCH_LT, + XT_RATEEST_MATCH_GT, +}; +struct xt_rateest_match_info { + char name1[IFNAMSIZ]; + char name2[IFNAMSIZ]; + __u16 flags; + __u16 mode; + __u32 bps1; + __u32 pps1; + __u32 bps2; + __u32 pps2; + + struct xt_rateest *est1 __attribute__((aligned(8))); + struct xt_rateest *est2 __attribute__((aligned(8))); +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/netfilter/xt_realm.h b/linux-5.10/prebuilts/usr/include/linux/netfilter/xt_realm.h new file mode 100644 index 0000000..b50f05f --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/netfilter/xt_realm.h @@ -0,0 +1,14 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _XT_REALM_H +#define _XT_REALM_H +#include +struct xt_realm_info { + __u32 id; + __u32 mask; + __u8 invert; +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/netfilter/xt_recent.h b/linux-5.10/prebuilts/usr/include/linux/netfilter/xt_recent.h new file mode 100644 index 0000000..7ea51a7 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/netfilter/xt_recent.h @@ -0,0 +1,41 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _LINUX_NETFILTER_XT_RECENT_H +#define _LINUX_NETFILTER_XT_RECENT_H 1 +#include +#include +enum { + XT_RECENT_CHECK = 1 << 0, + XT_RECENT_SET = 1 << 1, + XT_RECENT_UPDATE = 1 << 2, + XT_RECENT_REMOVE = 1 << 3, + XT_RECENT_TTL = 1 << 4, + XT_RECENT_REAP = 1 << 5, + XT_RECENT_SOURCE = 0, + XT_RECENT_DEST = 1, + XT_RECENT_NAME_LEN = 200, +}; +#define XT_RECENT_MODIFIERS (XT_RECENT_TTL|XT_RECENT_REAP) +#define XT_RECENT_VALID_FLAGS (XT_RECENT_CHECK|XT_RECENT_SET|XT_RECENT_UPDATE|\ + XT_RECENT_REMOVE|XT_RECENT_TTL|XT_RECENT_REAP) +struct xt_recent_mtinfo { + __u32 seconds; + __u32 hit_count; + __u8 check_set; + __u8 invert; + char name[XT_RECENT_NAME_LEN]; + __u8 side; +}; +struct xt_recent_mtinfo_v1 { + __u32 seconds; + __u32 hit_count; + __u8 check_set; + __u8 invert; + char name[XT_RECENT_NAME_LEN]; + __u8 side; + union nf_inet_addr mask; +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/netfilter/xt_rpfilter.h b/linux-5.10/prebuilts/usr/include/linux/netfilter/xt_rpfilter.h new file mode 100644 index 0000000..35aab11 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/netfilter/xt_rpfilter.h @@ -0,0 +1,24 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _XT_RPATH_H +#define _XT_RPATH_H +#include +enum { + XT_RPFILTER_LOOSE = 1 << 0, + XT_RPFILTER_VALID_MARK = 1 << 1, + XT_RPFILTER_ACCEPT_LOCAL = 1 << 2, + XT_RPFILTER_INVERT = 1 << 3, +#ifdef __KERNEL__ + XT_RPFILTER_OPTION_MASK = XT_RPFILTER_LOOSE | + XT_RPFILTER_VALID_MARK | + XT_RPFILTER_ACCEPT_LOCAL | + XT_RPFILTER_INVERT, +#endif +}; +struct xt_rpfilter_info { + __u8 flags; +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/netfilter/xt_sctp.h b/linux-5.10/prebuilts/usr/include/linux/netfilter/xt_sctp.h new file mode 100644 index 0000000..d42a355 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/netfilter/xt_sctp.h @@ -0,0 +1,76 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _XT_SCTP_H_ +#define _XT_SCTP_H_ +#include +#define XT_SCTP_SRC_PORTS 0x01 +#define XT_SCTP_DEST_PORTS 0x02 +#define XT_SCTP_CHUNK_TYPES 0x04 +#define XT_SCTP_VALID_FLAGS 0x07 +struct xt_sctp_flag_info { + __u8 chunktype; + __u8 flag; + __u8 flag_mask; +}; +#define XT_NUM_SCTP_FLAGS 4 +struct xt_sctp_info { + __u16 dpts[2]; + __u16 spts[2]; + __u32 chunkmap[256 / sizeof (__u32)]; +#define SCTP_CHUNK_MATCH_ANY 0x01 +#define SCTP_CHUNK_MATCH_ALL 0x02 +#define SCTP_CHUNK_MATCH_ONLY 0x04 + __u32 chunk_match_type; + struct xt_sctp_flag_info flag_info[XT_NUM_SCTP_FLAGS]; + int flag_count; + __u32 flags; + __u32 invflags; +}; +#define bytes(type) (sizeof(type) * 8) +#define SCTP_CHUNKMAP_SET(chunkmap, type) \ + do { \ + (chunkmap)[type / bytes(__u32)] |= \ + 1u << (type % bytes(__u32)); \ + } while (0) +#define SCTP_CHUNKMAP_CLEAR(chunkmap, type) \ + do { \ + (chunkmap)[type / bytes(__u32)] &= \ + ~(1u << (type % bytes(__u32))); \ + } while (0) +#define SCTP_CHUNKMAP_IS_SET(chunkmap, type) \ +({ \ + ((chunkmap)[type / bytes (__u32)] & \ + (1u << (type % bytes (__u32)))) ? 1: 0; \ +}) +#define SCTP_CHUNKMAP_RESET(chunkmap) \ + memset((chunkmap), 0, sizeof(chunkmap)) +#define SCTP_CHUNKMAP_SET_ALL(chunkmap) \ + memset((chunkmap), ~0U, sizeof(chunkmap)) +#define SCTP_CHUNKMAP_COPY(destmap, srcmap) \ + memcpy((destmap), (srcmap), sizeof(srcmap)) +#define SCTP_CHUNKMAP_IS_CLEAR(chunkmap) \ + __sctp_chunkmap_is_clear((chunkmap), ARRAY_SIZE(chunkmap)) +static inline _Bool +__sctp_chunkmap_is_clear(const __u32 *chunkmap, unsigned int n) +{ + unsigned int i; + for (i = 0; i < n; ++i) + if (chunkmap[i]) + return 0; + return 1; +} +#define SCTP_CHUNKMAP_IS_ALL_SET(chunkmap) \ + __sctp_chunkmap_is_all_set((chunkmap), ARRAY_SIZE(chunkmap)) +static inline _Bool +__sctp_chunkmap_is_all_set(const __u32 *chunkmap, unsigned int n) +{ + unsigned int i; + for (i = 0; i < n; ++i) + if (chunkmap[i] != ~0U) + return 0; + return 1; +} +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/netfilter/xt_set.h b/linux-5.10/prebuilts/usr/include/linux/netfilter/xt_set.h new file mode 100644 index 0000000..0318262 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/netfilter/xt_set.h @@ -0,0 +1,68 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _XT_SET_H +#define _XT_SET_H +#include +#include +#define IPSET_SRC 0x01 +#define IPSET_DST 0x02 +#define IPSET_MATCH_INV 0x04 +struct xt_set_info_v0 { + ip_set_id_t index; + union { + __u32 flags[IPSET_DIM_MAX + 1]; + struct { + __u32 __flags[IPSET_DIM_MAX]; + __u8 dim; + __u8 flags; + } compat; + } u; +}; +struct xt_set_info_match_v0 { + struct xt_set_info_v0 match_set; +}; +struct xt_set_info_target_v0 { + struct xt_set_info_v0 add_set; + struct xt_set_info_v0 del_set; +}; +struct xt_set_info { + ip_set_id_t index; + __u8 dim; + __u8 flags; +}; +struct xt_set_info_match_v1 { + struct xt_set_info match_set; +}; +struct xt_set_info_target_v1 { + struct xt_set_info add_set; + struct xt_set_info del_set; +}; +struct xt_set_info_target_v2 { + struct xt_set_info add_set; + struct xt_set_info del_set; + __u32 flags; + __u32 timeout; +}; +struct xt_set_info_match_v3 { + struct xt_set_info match_set; + struct ip_set_counter_match0 packets; + struct ip_set_counter_match0 bytes; + __u32 flags; +}; +struct xt_set_info_target_v3 { + struct xt_set_info add_set; + struct xt_set_info del_set; + struct xt_set_info map_set; + __u32 flags; + __u32 timeout; +}; +struct xt_set_info_match_v4 { + struct xt_set_info match_set; + struct ip_set_counter_match packets; + struct ip_set_counter_match bytes; + __u32 flags; +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/netfilter/xt_socket.h b/linux-5.10/prebuilts/usr/include/linux/netfilter/xt_socket.h new file mode 100644 index 0000000..0458ce3 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/netfilter/xt_socket.h @@ -0,0 +1,28 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _XT_SOCKET_H +#define _XT_SOCKET_H +#include +enum { + XT_SOCKET_TRANSPARENT = 1 << 0, + XT_SOCKET_NOWILDCARD = 1 << 1, + XT_SOCKET_RESTORESKMARK = 1 << 2, +}; +struct xt_socket_mtinfo1 { + __u8 flags; +}; +#define XT_SOCKET_FLAGS_V1 XT_SOCKET_TRANSPARENT +struct xt_socket_mtinfo2 { + __u8 flags; +}; +#define XT_SOCKET_FLAGS_V2 (XT_SOCKET_TRANSPARENT | XT_SOCKET_NOWILDCARD) +struct xt_socket_mtinfo3 { + __u8 flags; +}; +#define XT_SOCKET_FLAGS_V3 (XT_SOCKET_TRANSPARENT \ + | XT_SOCKET_NOWILDCARD \ + | XT_SOCKET_RESTORESKMARK) +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/netfilter/xt_state.h b/linux-5.10/prebuilts/usr/include/linux/netfilter/xt_state.h new file mode 100644 index 0000000..f7f9884 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/netfilter/xt_state.h @@ -0,0 +1,14 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _XT_STATE_H +#define _XT_STATE_H +#define XT_STATE_BIT(ctinfo) (1 << ((ctinfo)%IP_CT_IS_REPLY+1)) +#define XT_STATE_INVALID (1 << 0) +#define XT_STATE_UNTRACKED (1 << (IP_CT_NUMBER + 1)) +struct xt_state_info { + unsigned int statemask; +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/netfilter/xt_statistic.h b/linux-5.10/prebuilts/usr/include/linux/netfilter/xt_statistic.h new file mode 100644 index 0000000..8ebdd49 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/netfilter/xt_statistic.h @@ -0,0 +1,35 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _XT_STATISTIC_H +#define _XT_STATISTIC_H +#include +enum xt_statistic_mode { + XT_STATISTIC_MODE_RANDOM, + XT_STATISTIC_MODE_NTH, + __XT_STATISTIC_MODE_MAX +}; +#define XT_STATISTIC_MODE_MAX (__XT_STATISTIC_MODE_MAX - 1) +enum xt_statistic_flags { + XT_STATISTIC_INVERT = 0x1, +}; +#define XT_STATISTIC_MASK 0x1 +struct xt_statistic_priv; +struct xt_statistic_info { + __u16 mode; + __u16 flags; + union { + struct { + __u32 probability; + } random; + struct { + __u32 every; + __u32 packet; + __u32 count; + } nth; + } u; + struct xt_statistic_priv *master __attribute__((aligned(8))); +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/netfilter/xt_string.h b/linux-5.10/prebuilts/usr/include/linux/netfilter/xt_string.h new file mode 100644 index 0000000..bebc45b --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/netfilter/xt_string.h @@ -0,0 +1,32 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _XT_STRING_H +#define _XT_STRING_H +#include +#define XT_STRING_MAX_PATTERN_SIZE 128 +#define XT_STRING_MAX_ALGO_NAME_SIZE 16 +enum { + XT_STRING_FLAG_INVERT = 0x01, + XT_STRING_FLAG_IGNORECASE = 0x02 +}; +struct xt_string_info { + __u16 from_offset; + __u16 to_offset; + char algo[XT_STRING_MAX_ALGO_NAME_SIZE]; + char pattern[XT_STRING_MAX_PATTERN_SIZE]; + __u8 patlen; + union { + struct { + __u8 invert; + } v0; + struct { + __u8 flags; + } v1; + } u; + + struct ts_config __attribute__((aligned(8))) *config; +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/netfilter/xt_tcpmss.h b/linux-5.10/prebuilts/usr/include/linux/netfilter/xt_tcpmss.h new file mode 100644 index 0000000..0648596 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/netfilter/xt_tcpmss.h @@ -0,0 +1,13 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _XT_TCPMSS_MATCH_H +#define _XT_TCPMSS_MATCH_H +#include +struct xt_tcpmss_match_info { + __u16 mss_min, mss_max; + __u8 invert; +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/netfilter/xt_tcpudp.h b/linux-5.10/prebuilts/usr/include/linux/netfilter/xt_tcpudp.h new file mode 100644 index 0000000..3c09229 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/netfilter/xt_tcpudp.h @@ -0,0 +1,30 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _XT_TCPUDP_H +#define _XT_TCPUDP_H +#include +struct xt_tcp { + __u16 spts[2]; + __u16 dpts[2]; + __u8 option; + __u8 flg_mask; + __u8 flg_cmp; + __u8 invflags; +}; +#define XT_TCP_INV_SRCPT 0x01 +#define XT_TCP_INV_DSTPT 0x02 +#define XT_TCP_INV_FLAGS 0x04 +#define XT_TCP_INV_OPTION 0x08 +#define XT_TCP_INV_MASK 0x0F +struct xt_udp { + __u16 spts[2]; + __u16 dpts[2]; + __u8 invflags; +}; +#define XT_UDP_INV_SRCPT 0x01 +#define XT_UDP_INV_DSTPT 0x02 +#define XT_UDP_INV_MASK 0x03 +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/netfilter/xt_time.h b/linux-5.10/prebuilts/usr/include/linux/netfilter/xt_time.h new file mode 100644 index 0000000..8e63fdf --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/netfilter/xt_time.h @@ -0,0 +1,30 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _XT_TIME_H +#define _XT_TIME_H 1 +#include +struct xt_time_info { + __u32 date_start; + __u32 date_stop; + __u32 daytime_start; + __u32 daytime_stop; + __u32 monthdays_match; + __u8 weekdays_match; + __u8 flags; +}; +enum { + + XT_TIME_LOCAL_TZ = 1 << 0, + + XT_TIME_CONTIGUOUS = 1 << 1, + + XT_TIME_ALL_MONTHDAYS = 0xFFFFFFFE, + XT_TIME_ALL_WEEKDAYS = 0xFE, + XT_TIME_MIN_DAYTIME = 0, + XT_TIME_MAX_DAYTIME = 24 * 60 * 60 - 1, +}; +#define XT_TIME_ALL_FLAGS (XT_TIME_LOCAL_TZ|XT_TIME_CONTIGUOUS) +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/netfilter/xt_u32.h b/linux-5.10/prebuilts/usr/include/linux/netfilter/xt_u32.h new file mode 100644 index 0000000..af35e5c --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/netfilter/xt_u32.h @@ -0,0 +1,35 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _XT_U32_H +#define _XT_U32_H 1 +#include +enum xt_u32_ops { + XT_U32_AND, + XT_U32_LEFTSH, + XT_U32_RIGHTSH, + XT_U32_AT, +}; +struct xt_u32_location_element { + __u32 number; + __u8 nextop; +}; +struct xt_u32_value_element { + __u32 min; + __u32 max; +}; +#define XT_U32_MAXSIZE 10 +struct xt_u32_test { + struct xt_u32_location_element location[XT_U32_MAXSIZE+1]; + struct xt_u32_value_element value[XT_U32_MAXSIZE+1]; + __u8 nnums; + __u8 nvalues; +}; +struct xt_u32 { + struct xt_u32_test tests[XT_U32_MAXSIZE+1]; + __u8 ntests; + __u8 invert; +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/netfilter_arp.h b/linux-5.10/prebuilts/usr/include/linux/netfilter_arp.h new file mode 100644 index 0000000..02931c7 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/netfilter_arp.h @@ -0,0 +1,16 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef __LINUX_ARP_NETFILTER_H +#define __LINUX_ARP_NETFILTER_H +#include +#define NF_ARP 0 +#define NF_ARP_IN 0 +#define NF_ARP_OUT 1 +#define NF_ARP_FORWARD 2 +#ifndef __KERNEL__ +#define NF_ARP_NUMHOOKS 3 +#endif +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/netfilter_arp/arp_tables.h b/linux-5.10/prebuilts/usr/include/linux/netfilter_arp/arp_tables.h new file mode 100644 index 0000000..68a6bb1 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/netfilter_arp/arp_tables.h @@ -0,0 +1,137 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI_ARPTABLES_H +#define _UAPI_ARPTABLES_H +#include +#include +#include +#include +#include +#ifndef __KERNEL__ +#define ARPT_FUNCTION_MAXNAMELEN XT_FUNCTION_MAXNAMELEN +#define ARPT_TABLE_MAXNAMELEN XT_TABLE_MAXNAMELEN +#define arpt_entry_target xt_entry_target +#define arpt_standard_target xt_standard_target +#define arpt_error_target xt_error_target +#define ARPT_CONTINUE XT_CONTINUE +#define ARPT_RETURN XT_RETURN +#define arpt_counters_info xt_counters_info +#define arpt_counters xt_counters +#define ARPT_STANDARD_TARGET XT_STANDARD_TARGET +#define ARPT_ERROR_TARGET XT_ERROR_TARGET +#define ARPT_ENTRY_ITERATE(entries, size, fn, args...) \ + XT_ENTRY_ITERATE(struct arpt_entry, entries, size, fn, ## args) +#endif +#define ARPT_DEV_ADDR_LEN_MAX 16 +struct arpt_devaddr_info { + char addr[ARPT_DEV_ADDR_LEN_MAX]; + char mask[ARPT_DEV_ADDR_LEN_MAX]; +}; +struct arpt_arp { + + struct in_addr src, tgt; + + struct in_addr smsk, tmsk; + + __u8 arhln, arhln_mask; + struct arpt_devaddr_info src_devaddr; + struct arpt_devaddr_info tgt_devaddr; + + __be16 arpop, arpop_mask; + + __be16 arhrd, arhrd_mask; + __be16 arpro, arpro_mask; + + char iniface[IFNAMSIZ], outiface[IFNAMSIZ]; + unsigned char iniface_mask[IFNAMSIZ], outiface_mask[IFNAMSIZ]; + + __u8 flags; + + __u16 invflags; +}; +#define ARPT_F_MASK 0x00 +#define ARPT_INV_VIA_IN 0x0001 +#define ARPT_INV_VIA_OUT 0x0002 +#define ARPT_INV_SRCIP 0x0004 +#define ARPT_INV_TGTIP 0x0008 +#define ARPT_INV_SRCDEVADDR 0x0010 +#define ARPT_INV_TGTDEVADDR 0x0020 +#define ARPT_INV_ARPOP 0x0040 +#define ARPT_INV_ARPHRD 0x0080 +#define ARPT_INV_ARPPRO 0x0100 +#define ARPT_INV_ARPHLN 0x0200 +#define ARPT_INV_MASK 0x03FF +struct arpt_entry +{ + struct arpt_arp arp; + + __u16 target_offset; + + __u16 next_offset; + + unsigned int comefrom; + + struct xt_counters counters; + + unsigned char elems[0]; +}; +#define ARPT_BASE_CTL 96 +#define ARPT_SO_SET_REPLACE (ARPT_BASE_CTL) +#define ARPT_SO_SET_ADD_COUNTERS (ARPT_BASE_CTL + 1) +#define ARPT_SO_SET_MAX ARPT_SO_SET_ADD_COUNTERS +#define ARPT_SO_GET_INFO (ARPT_BASE_CTL) +#define ARPT_SO_GET_ENTRIES (ARPT_BASE_CTL + 1) +#define ARPT_SO_GET_REVISION_TARGET (ARPT_BASE_CTL + 3) +#define ARPT_SO_GET_MAX (ARPT_SO_GET_REVISION_TARGET) +struct arpt_getinfo { + + char name[XT_TABLE_MAXNAMELEN]; + + + unsigned int valid_hooks; + + unsigned int hook_entry[NF_ARP_NUMHOOKS]; + + unsigned int underflow[NF_ARP_NUMHOOKS]; + + unsigned int num_entries; + + unsigned int size; +}; +struct arpt_replace { + + char name[XT_TABLE_MAXNAMELEN]; + + unsigned int valid_hooks; + + unsigned int num_entries; + + unsigned int size; + + unsigned int hook_entry[NF_ARP_NUMHOOKS]; + + unsigned int underflow[NF_ARP_NUMHOOKS]; + + + unsigned int num_counters; + + struct xt_counters __user *counters; + + struct arpt_entry entries[0]; +}; +struct arpt_get_entries { + + char name[XT_TABLE_MAXNAMELEN]; + + unsigned int size; + + struct arpt_entry entrytable[0]; +}; +static __inline__ struct xt_entry_target *arpt_get_target(struct arpt_entry *e) +{ + return (struct xt_entry_target *)((char *)e + e->target_offset); +} +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/netfilter_arp/arpt_mangle.h b/linux-5.10/prebuilts/usr/include/linux/netfilter_arp/arpt_mangle.h new file mode 100644 index 0000000..59fecd4 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/netfilter_arp/arpt_mangle.h @@ -0,0 +1,28 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _ARPT_MANGLE_H +#define _ARPT_MANGLE_H +#include +#define ARPT_MANGLE_ADDR_LEN_MAX sizeof(struct in_addr) +struct arpt_mangle +{ + char src_devaddr[ARPT_DEV_ADDR_LEN_MAX]; + char tgt_devaddr[ARPT_DEV_ADDR_LEN_MAX]; + union { + struct in_addr src_ip; + } u_s; + union { + struct in_addr tgt_ip; + } u_t; + __u8 flags; + int target; +}; +#define ARPT_MANGLE_SDEV 0x01 +#define ARPT_MANGLE_TDEV 0x02 +#define ARPT_MANGLE_SIP 0x04 +#define ARPT_MANGLE_TIP 0x08 +#define ARPT_MANGLE_MASK 0x0f +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/netfilter_bridge.h b/linux-5.10/prebuilts/usr/include/linux/netfilter_bridge.h new file mode 100644 index 0000000..df9e862 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/netfilter_bridge.h @@ -0,0 +1,33 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI__LINUX_BRIDGE_NETFILTER_H +#define _UAPI__LINUX_BRIDGE_NETFILTER_H +#include +#include +#include +#include +#include +#ifndef __KERNEL__ +#include +#endif +#define NF_BR_PRE_ROUTING 0 +#define NF_BR_LOCAL_IN 1 +#define NF_BR_FORWARD 2 +#define NF_BR_LOCAL_OUT 3 +#define NF_BR_POST_ROUTING 4 +#define NF_BR_BROUTING 5 +#define NF_BR_NUMHOOKS 6 +enum nf_br_hook_priorities { + NF_BR_PRI_FIRST = INT_MIN, + NF_BR_PRI_NAT_DST_BRIDGED = -300, + NF_BR_PRI_FILTER_BRIDGED = -200, + NF_BR_PRI_BRNF = 0, + NF_BR_PRI_NAT_DST_OTHER = 100, + NF_BR_PRI_FILTER_OTHER = 200, + NF_BR_PRI_NAT_SRC = 300, + NF_BR_PRI_LAST = INT_MAX, +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/netfilter_bridge/ebt_802_3.h b/linux-5.10/prebuilts/usr/include/linux/netfilter_bridge/ebt_802_3.h new file mode 100644 index 0000000..4fd1280 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/netfilter_bridge/ebt_802_3.h @@ -0,0 +1,45 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI__LINUX_BRIDGE_EBT_802_3_H +#define _UAPI__LINUX_BRIDGE_EBT_802_3_H +#include +#include +#define EBT_802_3_SAP 0x01 +#define EBT_802_3_TYPE 0x02 +#define EBT_802_3_MATCH "802_3" +#define CHECK_TYPE 0xaa +#define IS_UI 0x03 +#define EBT_802_3_MASK (EBT_802_3_SAP | EBT_802_3_TYPE | EBT_802_3) +struct hdr_ui { + __u8 dsap; + __u8 ssap; + __u8 ctrl; + __u8 orig[3]; + __be16 type; +}; +struct hdr_ni { + __u8 dsap; + __u8 ssap; + __be16 ctrl; + __u8 orig[3]; + __be16 type; +}; +struct ebt_802_3_hdr { + __u8 daddr[ETH_ALEN]; + __u8 saddr[ETH_ALEN]; + __be16 len; + union { + struct hdr_ui ui; + struct hdr_ni ni; + } llc; +}; +struct ebt_802_3_info { + __u8 sap; + __be16 type; + __u8 bitmask; + __u8 invflags; +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/netfilter_bridge/ebt_among.h b/linux-5.10/prebuilts/usr/include/linux/netfilter_bridge/ebt_among.h new file mode 100644 index 0000000..e4a0360 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/netfilter_bridge/ebt_among.h @@ -0,0 +1,34 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef __LINUX_BRIDGE_EBT_AMONG_H +#define __LINUX_BRIDGE_EBT_AMONG_H +#include +#define EBT_AMONG_DST 0x01 +#define EBT_AMONG_SRC 0x02 +struct ebt_mac_wormhash_tuple { + __u32 cmp[2]; + __be32 ip; +}; +struct ebt_mac_wormhash { + int table[257]; + int poolsize; + struct ebt_mac_wormhash_tuple pool[0]; +}; +#define ebt_mac_wormhash_size(x) ((x) ? sizeof(struct ebt_mac_wormhash) \ + + (x)->poolsize * sizeof(struct ebt_mac_wormhash_tuple) : 0) +struct ebt_among_info { + int wh_dst_ofs; + int wh_src_ofs; + int bitmask; +}; +#define EBT_AMONG_DST_NEG 0x1 +#define EBT_AMONG_SRC_NEG 0x2 +#define ebt_among_wh_dst(x) ((x)->wh_dst_ofs ? \ + (struct ebt_mac_wormhash*)((char*)(x) + (x)->wh_dst_ofs) : NULL) +#define ebt_among_wh_src(x) ((x)->wh_src_ofs ? \ + (struct ebt_mac_wormhash*)((char*)(x) + (x)->wh_src_ofs) : NULL) +#define EBT_AMONG_MATCH "among" +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/netfilter_bridge/ebt_arp.h b/linux-5.10/prebuilts/usr/include/linux/netfilter_bridge/ebt_arp.h new file mode 100644 index 0000000..8b87b58 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/netfilter_bridge/ebt_arp.h @@ -0,0 +1,38 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef __LINUX_BRIDGE_EBT_ARP_H +#define __LINUX_BRIDGE_EBT_ARP_H +#include +#include +#define EBT_ARP_OPCODE 0x01 +#define EBT_ARP_HTYPE 0x02 +#define EBT_ARP_PTYPE 0x04 +#define EBT_ARP_SRC_IP 0x08 +#define EBT_ARP_DST_IP 0x10 +#define EBT_ARP_SRC_MAC 0x20 +#define EBT_ARP_DST_MAC 0x40 +#define EBT_ARP_GRAT 0x80 +#define EBT_ARP_MASK (EBT_ARP_OPCODE | EBT_ARP_HTYPE | EBT_ARP_PTYPE | \ + EBT_ARP_SRC_IP | EBT_ARP_DST_IP | EBT_ARP_SRC_MAC | EBT_ARP_DST_MAC | \ + EBT_ARP_GRAT) +#define EBT_ARP_MATCH "arp" +struct ebt_arp_info +{ + __be16 htype; + __be16 ptype; + __be16 opcode; + __be32 saddr; + __be32 smsk; + __be32 daddr; + __be32 dmsk; + unsigned char smaddr[ETH_ALEN]; + unsigned char smmsk[ETH_ALEN]; + unsigned char dmaddr[ETH_ALEN]; + unsigned char dmmsk[ETH_ALEN]; + __u8 bitmask; + __u8 invflags; +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/netfilter_bridge/ebt_arpreply.h b/linux-5.10/prebuilts/usr/include/linux/netfilter_bridge/ebt_arpreply.h new file mode 100644 index 0000000..54b6840 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/netfilter_bridge/ebt_arpreply.h @@ -0,0 +1,14 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef __LINUX_BRIDGE_EBT_ARPREPLY_H +#define __LINUX_BRIDGE_EBT_ARPREPLY_H +#include +struct ebt_arpreply_info { + unsigned char mac[ETH_ALEN]; + int target; +}; +#define EBT_ARPREPLY_TARGET "arpreply" +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/netfilter_bridge/ebt_ip.h b/linux-5.10/prebuilts/usr/include/linux/netfilter_bridge/ebt_ip.h new file mode 100644 index 0000000..5fd1172 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/netfilter_bridge/ebt_ip.h @@ -0,0 +1,39 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef __LINUX_BRIDGE_EBT_IP_H +#define __LINUX_BRIDGE_EBT_IP_H +#include +#define EBT_IP_SOURCE 0x01 +#define EBT_IP_DEST 0x02 +#define EBT_IP_TOS 0x04 +#define EBT_IP_PROTO 0x08 +#define EBT_IP_SPORT 0x10 +#define EBT_IP_DPORT 0x20 +#define EBT_IP_ICMP 0x40 +#define EBT_IP_IGMP 0x80 +#define EBT_IP_MASK (EBT_IP_SOURCE | EBT_IP_DEST | EBT_IP_TOS | EBT_IP_PROTO |\ + EBT_IP_SPORT | EBT_IP_DPORT | EBT_IP_ICMP | EBT_IP_IGMP) +#define EBT_IP_MATCH "ip" +struct ebt_ip_info { + __be32 saddr; + __be32 daddr; + __be32 smsk; + __be32 dmsk; + __u8 tos; + __u8 protocol; + __u8 bitmask; + __u8 invflags; + union { + __u16 sport[2]; + __u8 icmp_type[2]; + __u8 igmp_type[2]; + }; + union { + __u16 dport[2]; + __u8 icmp_code[2]; + }; +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/netfilter_bridge/ebt_ip6.h b/linux-5.10/prebuilts/usr/include/linux/netfilter_bridge/ebt_ip6.h new file mode 100644 index 0000000..887682b --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/netfilter_bridge/ebt_ip6.h @@ -0,0 +1,39 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef __LINUX_BRIDGE_EBT_IP6_H +#define __LINUX_BRIDGE_EBT_IP6_H +#include +#include +#define EBT_IP6_SOURCE 0x01 +#define EBT_IP6_DEST 0x02 +#define EBT_IP6_TCLASS 0x04 +#define EBT_IP6_PROTO 0x08 +#define EBT_IP6_SPORT 0x10 +#define EBT_IP6_DPORT 0x20 +#define EBT_IP6_ICMP6 0x40 +#define EBT_IP6_MASK (EBT_IP6_SOURCE | EBT_IP6_DEST | EBT_IP6_TCLASS |\ + EBT_IP6_PROTO | EBT_IP6_SPORT | EBT_IP6_DPORT | \ + EBT_IP6_ICMP6) +#define EBT_IP6_MATCH "ip6" +struct ebt_ip6_info { + struct in6_addr saddr; + struct in6_addr daddr; + struct in6_addr smsk; + struct in6_addr dmsk; + __u8 tclass; + __u8 protocol; + __u8 bitmask; + __u8 invflags; + union { + __u16 sport[2]; + __u8 icmpv6_type[2]; + }; + union { + __u16 dport[2]; + __u8 icmpv6_code[2]; + }; +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/netfilter_bridge/ebt_limit.h b/linux-5.10/prebuilts/usr/include/linux/netfilter_bridge/ebt_limit.h new file mode 100644 index 0000000..b82252a --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/netfilter_bridge/ebt_limit.h @@ -0,0 +1,19 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef __LINUX_BRIDGE_EBT_LIMIT_H +#define __LINUX_BRIDGE_EBT_LIMIT_H +#include +#define EBT_LIMIT_MATCH "limit" +#define EBT_LIMIT_SCALE 10000 +struct ebt_limit_info { + __u32 avg; + __u32 burst; + + unsigned long prev; + __u32 credit; + __u32 credit_cap, cost; +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/netfilter_bridge/ebt_log.h b/linux-5.10/prebuilts/usr/include/linux/netfilter_bridge/ebt_log.h new file mode 100644 index 0000000..43643f7 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/netfilter_bridge/ebt_log.h @@ -0,0 +1,21 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef __LINUX_BRIDGE_EBT_LOG_H +#define __LINUX_BRIDGE_EBT_LOG_H +#include +#define EBT_LOG_IP 0x01 +#define EBT_LOG_ARP 0x02 +#define EBT_LOG_NFLOG 0x04 +#define EBT_LOG_IP6 0x08 +#define EBT_LOG_MASK (EBT_LOG_IP | EBT_LOG_ARP | EBT_LOG_IP6) +#define EBT_LOG_PREFIX_SIZE 30 +#define EBT_LOG_WATCHER "log" +struct ebt_log_info { + __u8 loglevel; + __u8 prefix[EBT_LOG_PREFIX_SIZE]; + __u32 bitmask; +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/netfilter_bridge/ebt_mark_m.h b/linux-5.10/prebuilts/usr/include/linux/netfilter_bridge/ebt_mark_m.h new file mode 100644 index 0000000..f369d14 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/netfilter_bridge/ebt_mark_m.h @@ -0,0 +1,18 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef __LINUX_BRIDGE_EBT_MARK_M_H +#define __LINUX_BRIDGE_EBT_MARK_M_H +#include +#define EBT_MARK_AND 0x01 +#define EBT_MARK_OR 0x02 +#define EBT_MARK_MASK (EBT_MARK_AND | EBT_MARK_OR) +struct ebt_mark_m_info { + unsigned long mark, mask; + __u8 invert; + __u8 bitmask; +}; +#define EBT_MARK_MATCH "mark_m" +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/netfilter_bridge/ebt_mark_t.h b/linux-5.10/prebuilts/usr/include/linux/netfilter_bridge/ebt_mark_t.h new file mode 100644 index 0000000..284e557 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/netfilter_bridge/ebt_mark_t.h @@ -0,0 +1,18 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef __LINUX_BRIDGE_EBT_MARK_T_H +#define __LINUX_BRIDGE_EBT_MARK_T_H +#define MARK_SET_VALUE (0xfffffff0) +#define MARK_OR_VALUE (0xffffffe0) +#define MARK_AND_VALUE (0xffffffd0) +#define MARK_XOR_VALUE (0xffffffc0) +struct ebt_mark_t_info { + unsigned long mark; + + int target; +}; +#define EBT_MARK_TARGET "mark" +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/netfilter_bridge/ebt_nat.h b/linux-5.10/prebuilts/usr/include/linux/netfilter_bridge/ebt_nat.h new file mode 100644 index 0000000..6ed0793 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/netfilter_bridge/ebt_nat.h @@ -0,0 +1,17 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef __LINUX_BRIDGE_EBT_NAT_H +#define __LINUX_BRIDGE_EBT_NAT_H +#include +#define NAT_ARP_BIT (0x00000010) +struct ebt_nat_info { + unsigned char mac[ETH_ALEN]; + + int target; +}; +#define EBT_SNAT_TARGET "snat" +#define EBT_DNAT_TARGET "dnat" +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/netfilter_bridge/ebt_nflog.h b/linux-5.10/prebuilts/usr/include/linux/netfilter_bridge/ebt_nflog.h new file mode 100644 index 0000000..019e444 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/netfilter_bridge/ebt_nflog.h @@ -0,0 +1,22 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef __LINUX_BRIDGE_EBT_NFLOG_H +#define __LINUX_BRIDGE_EBT_NFLOG_H +#include +#define EBT_NFLOG_MASK 0x0 +#define EBT_NFLOG_PREFIX_SIZE 64 +#define EBT_NFLOG_WATCHER "nflog" +#define EBT_NFLOG_DEFAULT_GROUP 0x1 +#define EBT_NFLOG_DEFAULT_THRESHOLD 1 +struct ebt_nflog_info { + __u32 len; + __u16 group; + __u16 threshold; + __u16 flags; + __u16 pad; + char prefix[EBT_NFLOG_PREFIX_SIZE]; +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/netfilter_bridge/ebt_pkttype.h b/linux-5.10/prebuilts/usr/include/linux/netfilter_bridge/ebt_pkttype.h new file mode 100644 index 0000000..8642b52 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/netfilter_bridge/ebt_pkttype.h @@ -0,0 +1,14 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef __LINUX_BRIDGE_EBT_PKTTYPE_H +#define __LINUX_BRIDGE_EBT_PKTTYPE_H +#include +struct ebt_pkttype_info { + __u8 pkt_type; + __u8 invert; +}; +#define EBT_PKTTYPE_MATCH "pkttype" +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/netfilter_bridge/ebt_redirect.h b/linux-5.10/prebuilts/usr/include/linux/netfilter_bridge/ebt_redirect.h new file mode 100644 index 0000000..d361b42 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/netfilter_bridge/ebt_redirect.h @@ -0,0 +1,13 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef __LINUX_BRIDGE_EBT_REDIRECT_H +#define __LINUX_BRIDGE_EBT_REDIRECT_H +struct ebt_redirect_info { + + int target; +}; +#define EBT_REDIRECT_TARGET "redirect" +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/netfilter_bridge/ebt_stp.h b/linux-5.10/prebuilts/usr/include/linux/netfilter_bridge/ebt_stp.h new file mode 100644 index 0000000..c8cbc66 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/netfilter_bridge/ebt_stp.h @@ -0,0 +1,43 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef __LINUX_BRIDGE_EBT_STP_H +#define __LINUX_BRIDGE_EBT_STP_H +#include +#define EBT_STP_TYPE 0x0001 +#define EBT_STP_FLAGS 0x0002 +#define EBT_STP_ROOTPRIO 0x0004 +#define EBT_STP_ROOTADDR 0x0008 +#define EBT_STP_ROOTCOST 0x0010 +#define EBT_STP_SENDERPRIO 0x0020 +#define EBT_STP_SENDERADDR 0x0040 +#define EBT_STP_PORT 0x0080 +#define EBT_STP_MSGAGE 0x0100 +#define EBT_STP_MAXAGE 0x0200 +#define EBT_STP_HELLOTIME 0x0400 +#define EBT_STP_FWDD 0x0800 +#define EBT_STP_MASK 0x0fff +#define EBT_STP_CONFIG_MASK 0x0ffe +#define EBT_STP_MATCH "stp" +struct ebt_stp_config_info { + __u8 flags; + __u16 root_priol, root_priou; + char root_addr[6], root_addrmsk[6]; + __u32 root_costl, root_costu; + __u16 sender_priol, sender_priou; + char sender_addr[6], sender_addrmsk[6]; + __u16 portl, portu; + __u16 msg_agel, msg_ageu; + __u16 max_agel, max_ageu; + __u16 hello_timel, hello_timeu; + __u16 forward_delayl, forward_delayu; +}; +struct ebt_stp_info { + __u8 type; + struct ebt_stp_config_info config; + __u16 bitmask; + __u16 invflags; +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/netfilter_bridge/ebt_vlan.h b/linux-5.10/prebuilts/usr/include/linux/netfilter_bridge/ebt_vlan.h new file mode 100644 index 0000000..6ed95c0 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/netfilter_bridge/ebt_vlan.h @@ -0,0 +1,21 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef __LINUX_BRIDGE_EBT_VLAN_H +#define __LINUX_BRIDGE_EBT_VLAN_H +#include +#define EBT_VLAN_ID 0x01 +#define EBT_VLAN_PRIO 0x02 +#define EBT_VLAN_ENCAP 0x04 +#define EBT_VLAN_MASK (EBT_VLAN_ID | EBT_VLAN_PRIO | EBT_VLAN_ENCAP) +#define EBT_VLAN_MATCH "vlan" +struct ebt_vlan_info { + __u16 id; + __u8 prio; + __be16 encap; + __u8 bitmask; + __u8 invflags; +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/netfilter_bridge/ebtables.h b/linux-5.10/prebuilts/usr/include/linux/netfilter_bridge/ebtables.h new file mode 100644 index 0000000..f0a222b --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/netfilter_bridge/ebtables.h @@ -0,0 +1,233 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI__LINUX_BRIDGE_EFF_H +#define _UAPI__LINUX_BRIDGE_EFF_H +#include +#include +#include +#define EBT_TABLE_MAXNAMELEN 32 +#define EBT_CHAIN_MAXNAMELEN EBT_TABLE_MAXNAMELEN +#define EBT_FUNCTION_MAXNAMELEN EBT_TABLE_MAXNAMELEN +#define EBT_EXTENSION_MAXNAMELEN 31 +#define EBT_ACCEPT -1 +#define EBT_DROP -2 +#define EBT_CONTINUE -3 +#define EBT_RETURN -4 +#define NUM_STANDARD_TARGETS 4 +#define EBT_VERDICT_BITS 0x0000000F +struct xt_match; +struct xt_target; +struct ebt_counter { + __u64 pcnt; + __u64 bcnt; +}; +struct ebt_replace { + char name[EBT_TABLE_MAXNAMELEN]; + unsigned int valid_hooks; + + unsigned int nentries; + + unsigned int entries_size; + + struct ebt_entries __user *hook_entry[NF_BR_NUMHOOKS]; + + unsigned int num_counters; + + struct ebt_counter __user *counters; + char __user *entries; +}; +struct ebt_replace_kernel { + char name[EBT_TABLE_MAXNAMELEN]; + unsigned int valid_hooks; + + unsigned int nentries; + + unsigned int entries_size; + + struct ebt_entries *hook_entry[NF_BR_NUMHOOKS]; + + unsigned int num_counters; + + struct ebt_counter *counters; + char *entries; +}; +struct ebt_entries { + + unsigned int distinguisher; + + char name[EBT_CHAIN_MAXNAMELEN]; + + unsigned int counter_offset; + + int policy; + + unsigned int nentries; + + char data[0] __attribute__ ((aligned (__alignof__(struct ebt_replace)))); +}; +#define EBT_ENTRY_OR_ENTRIES 0x01 +#define EBT_NOPROTO 0x02 +#define EBT_802_3 0x04 +#define EBT_SOURCEMAC 0x08 +#define EBT_DESTMAC 0x10 +#define EBT_F_MASK (EBT_NOPROTO | EBT_802_3 | EBT_SOURCEMAC | EBT_DESTMAC \ + | EBT_ENTRY_OR_ENTRIES) +#define EBT_IPROTO 0x01 +#define EBT_IIN 0x02 +#define EBT_IOUT 0x04 +#define EBT_ISOURCE 0x8 +#define EBT_IDEST 0x10 +#define EBT_ILOGICALIN 0x20 +#define EBT_ILOGICALOUT 0x40 +#define EBT_INV_MASK (EBT_IPROTO | EBT_IIN | EBT_IOUT | EBT_ILOGICALIN \ + | EBT_ILOGICALOUT | EBT_ISOURCE | EBT_IDEST) +struct ebt_entry_match { + union { + struct { + char name[EBT_EXTENSION_MAXNAMELEN]; + __u8 revision; + }; + struct xt_match *match; + } u; + + unsigned int match_size; + unsigned char data[0] __attribute__ ((aligned (__alignof__(struct ebt_replace)))); +}; +struct ebt_entry_watcher { + union { + struct { + char name[EBT_EXTENSION_MAXNAMELEN]; + __u8 revision; + }; + struct xt_target *watcher; + } u; + + unsigned int watcher_size; + unsigned char data[0] __attribute__ ((aligned (__alignof__(struct ebt_replace)))); +}; +struct ebt_entry_target { + union { + struct { + char name[EBT_EXTENSION_MAXNAMELEN]; + __u8 revision; + }; + struct xt_target *target; + } u; + + unsigned int target_size; + unsigned char data[0] __attribute__ ((aligned (__alignof__(struct ebt_replace)))); +}; +#define EBT_STANDARD_TARGET "standard" +struct ebt_standard_target { + struct ebt_entry_target target; + int verdict; +}; +struct ebt_entry { + + unsigned int bitmask; + unsigned int invflags; + __be16 ethproto; + + char in[IFNAMSIZ]; + + char logical_in[IFNAMSIZ]; + + char out[IFNAMSIZ]; + + char logical_out[IFNAMSIZ]; + unsigned char sourcemac[ETH_ALEN]; + unsigned char sourcemsk[ETH_ALEN]; + unsigned char destmac[ETH_ALEN]; + unsigned char destmsk[ETH_ALEN]; + + unsigned int watchers_offset; + + unsigned int target_offset; + + unsigned int next_offset; + unsigned char elems[0] __attribute__ ((aligned (__alignof__(struct ebt_replace)))); +}; +static __inline__ struct ebt_entry_target * +ebt_get_target(struct ebt_entry *e) +{ + return (struct ebt_entry_target *)((char *)e + e->target_offset); +} +#define EBT_BASE_CTL 128 +#define EBT_SO_SET_ENTRIES (EBT_BASE_CTL) +#define EBT_SO_SET_COUNTERS (EBT_SO_SET_ENTRIES+1) +#define EBT_SO_SET_MAX (EBT_SO_SET_COUNTERS+1) +#define EBT_SO_GET_INFO (EBT_BASE_CTL) +#define EBT_SO_GET_ENTRIES (EBT_SO_GET_INFO+1) +#define EBT_SO_GET_INIT_INFO (EBT_SO_GET_ENTRIES+1) +#define EBT_SO_GET_INIT_ENTRIES (EBT_SO_GET_INIT_INFO+1) +#define EBT_SO_GET_MAX (EBT_SO_GET_INIT_ENTRIES+1) +#define EBT_MATCH_ITERATE(e, fn, args...) \ +({ \ + unsigned int __i; \ + int __ret = 0; \ + struct ebt_entry_match *__match; \ + \ + for (__i = sizeof(struct ebt_entry); \ + __i < (e)->watchers_offset; \ + __i += __match->match_size + \ + sizeof(struct ebt_entry_match)) { \ + __match = (void *)(e) + __i; \ + \ + __ret = fn(__match , ## args); \ + if (__ret != 0) \ + break; \ + } \ + if (__ret == 0) { \ + if (__i != (e)->watchers_offset) \ + __ret = -EINVAL; \ + } \ + __ret; \ +}) +#define EBT_WATCHER_ITERATE(e, fn, args...) \ +({ \ + unsigned int __i; \ + int __ret = 0; \ + struct ebt_entry_watcher *__watcher; \ + \ + for (__i = e->watchers_offset; \ + __i < (e)->target_offset; \ + __i += __watcher->watcher_size + \ + sizeof(struct ebt_entry_watcher)) { \ + __watcher = (void *)(e) + __i; \ + \ + __ret = fn(__watcher , ## args); \ + if (__ret != 0) \ + break; \ + } \ + if (__ret == 0) { \ + if (__i != (e)->target_offset) \ + __ret = -EINVAL; \ + } \ + __ret; \ +}) +#define EBT_ENTRY_ITERATE(entries, size, fn, args...) \ +({ \ + unsigned int __i; \ + int __ret = 0; \ + struct ebt_entry *__entry; \ + \ + for (__i = 0; __i < (size);) { \ + __entry = (void *)(entries) + __i; \ + __ret = fn(__entry , ## args); \ + if (__ret != 0) \ + break; \ + if (__entry->bitmask != 0) \ + __i += __entry->next_offset; \ + else \ + __i += sizeof(struct ebt_entries); \ + } \ + if (__ret == 0) { \ + if (__i != (size)) \ + __ret = -EINVAL; \ + } \ + __ret; \ +}) +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/netfilter_decnet.h b/linux-5.10/prebuilts/usr/include/linux/netfilter_decnet.h new file mode 100644 index 0000000..251f72f --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/netfilter_decnet.h @@ -0,0 +1,48 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef __LINUX_DECNET_NETFILTER_H +#define __LINUX_DECNET_NETFILTER_H +#include +#ifndef __KERNEL__ +#include +#define NF_DN_NUMHOOKS 7 +#endif +#define NF_DN_PRE_ROUTING 0 +#define NF_DN_LOCAL_IN 1 +#define NF_DN_FORWARD 2 +#define NF_DN_LOCAL_OUT 3 +#define NF_DN_POST_ROUTING 4 +#define NF_DN_HELLO 5 +#define NF_DN_ROUTE 6 +enum nf_dn_hook_priorities { + NF_DN_PRI_FIRST = INT_MIN, + NF_DN_PRI_CONNTRACK = -200, + NF_DN_PRI_MANGLE = -150, + NF_DN_PRI_NAT_DST = -100, + NF_DN_PRI_FILTER = 0, + NF_DN_PRI_NAT_SRC = 100, + NF_DN_PRI_DNRTMSG = 200, + NF_DN_PRI_LAST = INT_MAX, +}; +struct nf_dn_rtmsg { + int nfdn_ifindex; +}; +#define NFDN_RTMSG(r) ((unsigned char *)(r) + NLMSG_ALIGN(sizeof(struct nf_dn_rtmsg))) +#ifndef __KERNEL__ +#define DNRMG_L1_GROUP 0x01 +#define DNRMG_L2_GROUP 0x02 +#endif +enum { + DNRNG_NLGRP_NONE, +#define DNRNG_NLGRP_NONE DNRNG_NLGRP_NONE + DNRNG_NLGRP_L1, +#define DNRNG_NLGRP_L1 DNRNG_NLGRP_L1 + DNRNG_NLGRP_L2, +#define DNRNG_NLGRP_L2 DNRNG_NLGRP_L2 + __DNRNG_NLGRP_MAX +}; +#define DNRNG_NLGRP_MAX (__DNRNG_NLGRP_MAX - 1) +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/netfilter_ipv4.h b/linux-5.10/prebuilts/usr/include/linux/netfilter_ipv4.h new file mode 100644 index 0000000..136b97a --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/netfilter_ipv4.h @@ -0,0 +1,36 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI__LINUX_IP_NETFILTER_H +#define _UAPI__LINUX_IP_NETFILTER_H +#include +#ifndef __KERNEL__ +#include +#define NF_IP_PRE_ROUTING 0 +#define NF_IP_LOCAL_IN 1 +#define NF_IP_FORWARD 2 +#define NF_IP_LOCAL_OUT 3 +#define NF_IP_POST_ROUTING 4 +#define NF_IP_NUMHOOKS 5 +#endif +enum nf_ip_hook_priorities { + NF_IP_PRI_FIRST = INT_MIN, + NF_IP_PRI_RAW_BEFORE_DEFRAG = -450, + NF_IP_PRI_CONNTRACK_DEFRAG = -400, + NF_IP_PRI_RAW = -300, + NF_IP_PRI_SELINUX_FIRST = -225, + NF_IP_PRI_CONNTRACK = -200, + NF_IP_PRI_MANGLE = -150, + NF_IP_PRI_NAT_DST = -100, + NF_IP_PRI_FILTER = 0, + NF_IP_PRI_SECURITY = 50, + NF_IP_PRI_NAT_SRC = 100, + NF_IP_PRI_SELINUX_LAST = 225, + NF_IP_PRI_CONNTRACK_HELPER = 300, + NF_IP_PRI_CONNTRACK_CONFIRM = INT_MAX, + NF_IP_PRI_LAST = INT_MAX, +}; +#define SO_ORIGINAL_DST 80 +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/netfilter_ipv4/ip_tables.h b/linux-5.10/prebuilts/usr/include/linux/netfilter_ipv4/ip_tables.h new file mode 100644 index 0000000..1dd3ed4 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/netfilter_ipv4/ip_tables.h @@ -0,0 +1,150 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI_IPTABLES_H +#define _UAPI_IPTABLES_H +#include +#include +#include +#include +#include +#ifndef __KERNEL__ +#define IPT_FUNCTION_MAXNAMELEN XT_FUNCTION_MAXNAMELEN +#define IPT_TABLE_MAXNAMELEN XT_TABLE_MAXNAMELEN +#define ipt_match xt_match +#define ipt_target xt_target +#define ipt_table xt_table +#define ipt_get_revision xt_get_revision +#define ipt_entry_match xt_entry_match +#define ipt_entry_target xt_entry_target +#define ipt_standard_target xt_standard_target +#define ipt_error_target xt_error_target +#define ipt_counters xt_counters +#define IPT_CONTINUE XT_CONTINUE +#define IPT_RETURN XT_RETURN +#include +#define ipt_udp xt_udp +#define ipt_tcp xt_tcp +#define IPT_TCP_INV_SRCPT XT_TCP_INV_SRCPT +#define IPT_TCP_INV_DSTPT XT_TCP_INV_DSTPT +#define IPT_TCP_INV_FLAGS XT_TCP_INV_FLAGS +#define IPT_TCP_INV_OPTION XT_TCP_INV_OPTION +#define IPT_TCP_INV_MASK XT_TCP_INV_MASK +#define IPT_UDP_INV_SRCPT XT_UDP_INV_SRCPT +#define IPT_UDP_INV_DSTPT XT_UDP_INV_DSTPT +#define IPT_UDP_INV_MASK XT_UDP_INV_MASK +#define ipt_counters_info xt_counters_info +#define IPT_STANDARD_TARGET XT_STANDARD_TARGET +#define IPT_ERROR_TARGET XT_ERROR_TARGET +#define IPT_MATCH_ITERATE(e, fn, args...) \ + XT_MATCH_ITERATE(struct ipt_entry, e, fn, ## args) +#define IPT_ENTRY_ITERATE(entries, size, fn, args...) \ + XT_ENTRY_ITERATE(struct ipt_entry, entries, size, fn, ## args) +#endif +struct ipt_ip { + + struct in_addr src, dst; + + struct in_addr smsk, dmsk; + char iniface[IFNAMSIZ], outiface[IFNAMSIZ]; + unsigned char iniface_mask[IFNAMSIZ], outiface_mask[IFNAMSIZ]; + + __u16 proto; + + __u8 flags; + + __u8 invflags; +}; +#define IPT_F_FRAG 0x01 +#define IPT_F_GOTO 0x02 +#define IPT_F_MASK 0x03 +#define IPT_INV_VIA_IN 0x01 +#define IPT_INV_VIA_OUT 0x02 +#define IPT_INV_TOS 0x04 +#define IPT_INV_SRCIP 0x08 +#define IPT_INV_DSTIP 0x10 +#define IPT_INV_FRAG 0x20 +#define IPT_INV_PROTO XT_INV_PROTO +#define IPT_INV_MASK 0x7F +struct ipt_entry { + struct ipt_ip ip; + + unsigned int nfcache; + + __u16 target_offset; + + __u16 next_offset; + + unsigned int comefrom; + + struct xt_counters counters; + + unsigned char elems[0]; +}; +#define IPT_BASE_CTL 64 +#define IPT_SO_SET_REPLACE (IPT_BASE_CTL) +#define IPT_SO_SET_ADD_COUNTERS (IPT_BASE_CTL + 1) +#define IPT_SO_SET_MAX IPT_SO_SET_ADD_COUNTERS +#define IPT_SO_GET_INFO (IPT_BASE_CTL) +#define IPT_SO_GET_ENTRIES (IPT_BASE_CTL + 1) +#define IPT_SO_GET_REVISION_MATCH (IPT_BASE_CTL + 2) +#define IPT_SO_GET_REVISION_TARGET (IPT_BASE_CTL + 3) +#define IPT_SO_GET_MAX IPT_SO_GET_REVISION_TARGET +struct ipt_icmp { + __u8 type; + __u8 code[2]; + __u8 invflags; +}; +#define IPT_ICMP_INV 0x01 +struct ipt_getinfo { + + char name[XT_TABLE_MAXNAMELEN]; + + + unsigned int valid_hooks; + + unsigned int hook_entry[NF_INET_NUMHOOKS]; + + unsigned int underflow[NF_INET_NUMHOOKS]; + + unsigned int num_entries; + + unsigned int size; +}; +struct ipt_replace { + + char name[XT_TABLE_MAXNAMELEN]; + + unsigned int valid_hooks; + + unsigned int num_entries; + + unsigned int size; + + unsigned int hook_entry[NF_INET_NUMHOOKS]; + + unsigned int underflow[NF_INET_NUMHOOKS]; + + + unsigned int num_counters; + + struct xt_counters __user *counters; + + struct ipt_entry entries[0]; +}; +struct ipt_get_entries { + + char name[XT_TABLE_MAXNAMELEN]; + + unsigned int size; + + struct ipt_entry entrytable[0]; +}; +static __inline__ struct xt_entry_target * +ipt_get_target(struct ipt_entry *e) +{ + return (struct xt_entry_target *)((char *)e + e->target_offset); +} +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/netfilter_ipv4/ipt_CLUSTERIP.h b/linux-5.10/prebuilts/usr/include/linux/netfilter_ipv4/ipt_CLUSTERIP.h new file mode 100644 index 0000000..24316fd --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/netfilter_ipv4/ipt_CLUSTERIP.h @@ -0,0 +1,31 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _IPT_CLUSTERIP_H_target +#define _IPT_CLUSTERIP_H_target +#include +#include +enum clusterip_hashmode { + CLUSTERIP_HASHMODE_SIP = 0, + CLUSTERIP_HASHMODE_SIP_SPT, + CLUSTERIP_HASHMODE_SIP_SPT_DPT, +}; +#define CLUSTERIP_HASHMODE_MAX CLUSTERIP_HASHMODE_SIP_SPT_DPT +#define CLUSTERIP_MAX_NODES 16 +#define CLUSTERIP_FLAG_NEW 0x00000001 +struct clusterip_config; +struct ipt_clusterip_tgt_info { + __u32 flags; + + __u8 clustermac[ETH_ALEN]; + __u16 num_total_nodes; + __u16 num_local_nodes; + __u16 local_nodes[CLUSTERIP_MAX_NODES]; + __u32 hash_mode; + __u32 hash_initval; + + struct clusterip_config *config; +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/netfilter_ipv4/ipt_ECN.h b/linux-5.10/prebuilts/usr/include/linux/netfilter_ipv4/ipt_ECN.h new file mode 100644 index 0000000..9749e17 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/netfilter_ipv4/ipt_ECN.h @@ -0,0 +1,24 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _IPT_ECN_TARGET_H +#define _IPT_ECN_TARGET_H +#include +#include +#define IPT_ECN_IP_MASK (~XT_DSCP_MASK) +#define IPT_ECN_OP_SET_IP 0x01 +#define IPT_ECN_OP_SET_ECE 0x10 +#define IPT_ECN_OP_SET_CWR 0x20 +#define IPT_ECN_OP_MASK 0xce +struct ipt_ECN_info { + __u8 operation; + __u8 ip_ect; + union { + struct { + __u8 ece:1, cwr:1; + } tcp; + } proto; +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/netfilter_ipv4/ipt_LOG.h b/linux-5.10/prebuilts/usr/include/linux/netfilter_ipv4/ipt_LOG.h new file mode 100644 index 0000000..c5a8107 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/netfilter_ipv4/ipt_LOG.h @@ -0,0 +1,20 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _IPT_LOG_H +#define _IPT_LOG_H +#define IPT_LOG_TCPSEQ 0x01 +#define IPT_LOG_TCPOPT 0x02 +#define IPT_LOG_IPOPT 0x04 +#define IPT_LOG_UID 0x08 +#define IPT_LOG_NFLOG 0x10 +#define IPT_LOG_MACDECODE 0x20 +#define IPT_LOG_MASK 0x2f +struct ipt_log_info { + unsigned char level; + unsigned char logflags; + char prefix[30]; +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/netfilter_ipv4/ipt_REJECT.h b/linux-5.10/prebuilts/usr/include/linux/netfilter_ipv4/ipt_REJECT.h new file mode 100644 index 0000000..0cb7a6d --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/netfilter_ipv4/ipt_REJECT.h @@ -0,0 +1,22 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _IPT_REJECT_H +#define _IPT_REJECT_H +enum ipt_reject_with { + IPT_ICMP_NET_UNREACHABLE, + IPT_ICMP_HOST_UNREACHABLE, + IPT_ICMP_PROT_UNREACHABLE, + IPT_ICMP_PORT_UNREACHABLE, + IPT_ICMP_ECHOREPLY, + IPT_ICMP_NET_PROHIBITED, + IPT_ICMP_HOST_PROHIBITED, + IPT_TCP_RESET, + IPT_ICMP_ADMIN_PROHIBITED +}; +struct ipt_reject_info { + enum ipt_reject_with with; +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/netfilter_ipv4/ipt_TTL.h b/linux-5.10/prebuilts/usr/include/linux/netfilter_ipv4/ipt_TTL.h new file mode 100644 index 0000000..0b0fba9 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/netfilter_ipv4/ipt_TTL.h @@ -0,0 +1,19 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _IPT_TTL_H +#define _IPT_TTL_H +#include +enum { + IPT_TTL_SET = 0, + IPT_TTL_INC, + IPT_TTL_DEC +}; +#define IPT_TTL_MAXMODE IPT_TTL_DEC +struct ipt_TTL_info { + __u8 mode; + __u8 ttl; +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/netfilter_ipv4/ipt_ah.h b/linux-5.10/prebuilts/usr/include/linux/netfilter_ipv4/ipt_ah.h new file mode 100644 index 0000000..c4ee6d1 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/netfilter_ipv4/ipt_ah.h @@ -0,0 +1,15 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _IPT_AH_H +#define _IPT_AH_H +#include +struct ipt_ah { + __u32 spis[2]; + __u8 invflags; +}; +#define IPT_AH_INV_SPI 0x01 +#define IPT_AH_INV_MASK 0x01 +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/netfilter_ipv4/ipt_ecn.h b/linux-5.10/prebuilts/usr/include/linux/netfilter_ipv4/ipt_ecn.h new file mode 100644 index 0000000..6b352d6 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/netfilter_ipv4/ipt_ecn.h @@ -0,0 +1,17 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _IPT_ECN_H +#define _IPT_ECN_H +#include +#define ipt_ecn_info xt_ecn_info +enum { + IPT_ECN_IP_MASK = XT_ECN_IP_MASK, + IPT_ECN_OP_MATCH_IP = XT_ECN_OP_MATCH_IP, + IPT_ECN_OP_MATCH_ECE = XT_ECN_OP_MATCH_ECE, + IPT_ECN_OP_MATCH_CWR = XT_ECN_OP_MATCH_CWR, + IPT_ECN_OP_MATCH_MASK = XT_ECN_OP_MATCH_MASK, +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/netfilter_ipv4/ipt_ttl.h b/linux-5.10/prebuilts/usr/include/linux/netfilter_ipv4/ipt_ttl.h new file mode 100644 index 0000000..21b9030 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/netfilter_ipv4/ipt_ttl.h @@ -0,0 +1,19 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _IPT_TTL_H +#define _IPT_TTL_H +#include +enum { + IPT_TTL_EQ = 0, + IPT_TTL_NE, + IPT_TTL_LT, + IPT_TTL_GT, +}; +struct ipt_ttl_info { + __u8 mode; + __u8 ttl; +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/netfilter_ipv6.h b/linux-5.10/prebuilts/usr/include/linux/netfilter_ipv6.h new file mode 100644 index 0000000..8c0f8ce --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/netfilter_ipv6.h @@ -0,0 +1,34 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI__LINUX_IP6_NETFILTER_H +#define _UAPI__LINUX_IP6_NETFILTER_H +#include +#ifndef __KERNEL__ +#include +#define NF_IP6_PRE_ROUTING 0 +#define NF_IP6_LOCAL_IN 1 +#define NF_IP6_FORWARD 2 +#define NF_IP6_LOCAL_OUT 3 +#define NF_IP6_POST_ROUTING 4 +#define NF_IP6_NUMHOOKS 5 +#endif +enum nf_ip6_hook_priorities { + NF_IP6_PRI_FIRST = INT_MIN, + NF_IP6_PRI_RAW_BEFORE_DEFRAG = -450, + NF_IP6_PRI_CONNTRACK_DEFRAG = -400, + NF_IP6_PRI_RAW = -300, + NF_IP6_PRI_SELINUX_FIRST = -225, + NF_IP6_PRI_CONNTRACK = -200, + NF_IP6_PRI_MANGLE = -150, + NF_IP6_PRI_NAT_DST = -100, + NF_IP6_PRI_FILTER = 0, + NF_IP6_PRI_SECURITY = 50, + NF_IP6_PRI_NAT_SRC = 100, + NF_IP6_PRI_SELINUX_LAST = 225, + NF_IP6_PRI_CONNTRACK_HELPER = 300, + NF_IP6_PRI_LAST = INT_MAX, +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/netfilter_ipv6/ip6_tables.h b/linux-5.10/prebuilts/usr/include/linux/netfilter_ipv6/ip6_tables.h new file mode 100644 index 0000000..3194fbe --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/netfilter_ipv6/ip6_tables.h @@ -0,0 +1,181 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI_IP6_TABLES_H +#define _UAPI_IP6_TABLES_H +#include +#include +#include +#include +#include +#ifndef __KERNEL__ +#define IP6T_FUNCTION_MAXNAMELEN XT_FUNCTION_MAXNAMELEN +#define IP6T_TABLE_MAXNAMELEN XT_TABLE_MAXNAMELEN +#define ip6t_match xt_match +#define ip6t_target xt_target +#define ip6t_table xt_table +#define ip6t_get_revision xt_get_revision +#define ip6t_entry_match xt_entry_match +#define ip6t_entry_target xt_entry_target +#define ip6t_standard_target xt_standard_target +#define ip6t_error_target xt_error_target +#define ip6t_counters xt_counters +#define IP6T_CONTINUE XT_CONTINUE +#define IP6T_RETURN XT_RETURN +#include +#define ip6t_tcp xt_tcp +#define ip6t_udp xt_udp +#define IP6T_TCP_INV_SRCPT XT_TCP_INV_SRCPT +#define IP6T_TCP_INV_DSTPT XT_TCP_INV_DSTPT +#define IP6T_TCP_INV_FLAGS XT_TCP_INV_FLAGS +#define IP6T_TCP_INV_OPTION XT_TCP_INV_OPTION +#define IP6T_TCP_INV_MASK XT_TCP_INV_MASK +#define IP6T_UDP_INV_SRCPT XT_UDP_INV_SRCPT +#define IP6T_UDP_INV_DSTPT XT_UDP_INV_DSTPT +#define IP6T_UDP_INV_MASK XT_UDP_INV_MASK +#define ip6t_counters_info xt_counters_info +#define IP6T_STANDARD_TARGET XT_STANDARD_TARGET +#define IP6T_ERROR_TARGET XT_ERROR_TARGET +#define IP6T_MATCH_ITERATE(e, fn, args...) \ + XT_MATCH_ITERATE(struct ip6t_entry, e, fn, ## args) +#define IP6T_ENTRY_ITERATE(entries, size, fn, args...) \ + XT_ENTRY_ITERATE(struct ip6t_entry, entries, size, fn, ## args) +#endif +struct ip6t_ip6 { + + struct in6_addr src, dst; + + struct in6_addr smsk, dmsk; + char iniface[IFNAMSIZ], outiface[IFNAMSIZ]; + unsigned char iniface_mask[IFNAMSIZ], outiface_mask[IFNAMSIZ]; + + __u16 proto; + + __u8 tos; + + __u8 flags; + + __u8 invflags; +}; +#define IP6T_F_PROTO 0x01 +#define IP6T_F_TOS 0x02 +#define IP6T_F_GOTO 0x04 +#define IP6T_F_MASK 0x07 +#define IP6T_INV_VIA_IN 0x01 +#define IP6T_INV_VIA_OUT 0x02 +#define IP6T_INV_TOS 0x04 +#define IP6T_INV_SRCIP 0x08 +#define IP6T_INV_DSTIP 0x10 +#define IP6T_INV_FRAG 0x20 +#define IP6T_INV_PROTO XT_INV_PROTO +#define IP6T_INV_MASK 0x7F +struct ip6t_entry { + struct ip6t_ip6 ipv6; + + unsigned int nfcache; + + __u16 target_offset; + + __u16 next_offset; + + unsigned int comefrom; + + struct xt_counters counters; + + unsigned char elems[0]; +}; +struct ip6t_standard { + struct ip6t_entry entry; + struct xt_standard_target target; +}; +struct ip6t_error { + struct ip6t_entry entry; + struct xt_error_target target; +}; +#define IP6T_ENTRY_INIT(__size) \ +{ \ + .target_offset = sizeof(struct ip6t_entry), \ + .next_offset = (__size), \ +} +#define IP6T_STANDARD_INIT(__verdict) \ +{ \ + .entry = IP6T_ENTRY_INIT(sizeof(struct ip6t_standard)), \ + .target = XT_TARGET_INIT(XT_STANDARD_TARGET, \ + sizeof(struct xt_standard_target)), \ + .target.verdict = -(__verdict) - 1, \ +} +#define IP6T_ERROR_INIT \ +{ \ + .entry = IP6T_ENTRY_INIT(sizeof(struct ip6t_error)), \ + .target = XT_TARGET_INIT(XT_ERROR_TARGET, \ + sizeof(struct xt_error_target)), \ + .target.errorname = "ERROR", \ +} +#define IP6T_BASE_CTL 64 +#define IP6T_SO_SET_REPLACE (IP6T_BASE_CTL) +#define IP6T_SO_SET_ADD_COUNTERS (IP6T_BASE_CTL + 1) +#define IP6T_SO_SET_MAX IP6T_SO_SET_ADD_COUNTERS +#define IP6T_SO_GET_INFO (IP6T_BASE_CTL) +#define IP6T_SO_GET_ENTRIES (IP6T_BASE_CTL + 1) +#define IP6T_SO_GET_REVISION_MATCH (IP6T_BASE_CTL + 4) +#define IP6T_SO_GET_REVISION_TARGET (IP6T_BASE_CTL + 5) +#define IP6T_SO_GET_MAX IP6T_SO_GET_REVISION_TARGET +#define IP6T_SO_ORIGINAL_DST 80 +struct ip6t_icmp { + __u8 type; + __u8 code[2]; + __u8 invflags; +}; +#define IP6T_ICMP_INV 0x01 +struct ip6t_getinfo { + + char name[XT_TABLE_MAXNAMELEN]; + + + unsigned int valid_hooks; + + unsigned int hook_entry[NF_INET_NUMHOOKS]; + + unsigned int underflow[NF_INET_NUMHOOKS]; + + unsigned int num_entries; + + unsigned int size; +}; +struct ip6t_replace { + + char name[XT_TABLE_MAXNAMELEN]; + + unsigned int valid_hooks; + + unsigned int num_entries; + + unsigned int size; + + unsigned int hook_entry[NF_INET_NUMHOOKS]; + + unsigned int underflow[NF_INET_NUMHOOKS]; + + + unsigned int num_counters; + + struct xt_counters __user *counters; + + struct ip6t_entry entries[0]; +}; +struct ip6t_get_entries { + + char name[XT_TABLE_MAXNAMELEN]; + + unsigned int size; + + struct ip6t_entry entrytable[0]; +}; +static __inline__ struct xt_entry_target * +ip6t_get_target(struct ip6t_entry *e) +{ + return (struct xt_entry_target *)((char *)e + e->target_offset); +} +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/netfilter_ipv6/ip6t_HL.h b/linux-5.10/prebuilts/usr/include/linux/netfilter_ipv6/ip6t_HL.h new file mode 100644 index 0000000..565990f --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/netfilter_ipv6/ip6t_HL.h @@ -0,0 +1,19 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _IP6T_HL_H +#define _IP6T_HL_H +#include +enum { + IP6T_HL_SET = 0, + IP6T_HL_INC, + IP6T_HL_DEC +}; +#define IP6T_HL_MAXMODE IP6T_HL_DEC +struct ip6t_HL_info { + __u8 mode; + __u8 hop_limit; +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/netfilter_ipv6/ip6t_LOG.h b/linux-5.10/prebuilts/usr/include/linux/netfilter_ipv6/ip6t_LOG.h new file mode 100644 index 0000000..d34a19b --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/netfilter_ipv6/ip6t_LOG.h @@ -0,0 +1,20 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _IP6T_LOG_H +#define _IP6T_LOG_H +#define IP6T_LOG_TCPSEQ 0x01 +#define IP6T_LOG_TCPOPT 0x02 +#define IP6T_LOG_IPOPT 0x04 +#define IP6T_LOG_UID 0x08 +#define IP6T_LOG_NFLOG 0x10 +#define IP6T_LOG_MACDECODE 0x20 +#define IP6T_LOG_MASK 0x2f +struct ip6t_log_info { + unsigned char level; + unsigned char logflags; + char prefix[30]; +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/netfilter_ipv6/ip6t_NPT.h b/linux-5.10/prebuilts/usr/include/linux/netfilter_ipv6/ip6t_NPT.h new file mode 100644 index 0000000..fd51504 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/netfilter_ipv6/ip6t_NPT.h @@ -0,0 +1,18 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef __NETFILTER_IP6T_NPT +#define __NETFILTER_IP6T_NPT +#include +#include +struct ip6t_npt_tginfo { + union nf_inet_addr src_pfx; + union nf_inet_addr dst_pfx; + __u8 src_pfx_len; + __u8 dst_pfx_len; + + __sum16 adjustment; +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/netfilter_ipv6/ip6t_REJECT.h b/linux-5.10/prebuilts/usr/include/linux/netfilter_ipv6/ip6t_REJECT.h new file mode 100644 index 0000000..2ec6437 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/netfilter_ipv6/ip6t_REJECT.h @@ -0,0 +1,23 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _IP6T_REJECT_H +#define _IP6T_REJECT_H +#include +enum ip6t_reject_with { + IP6T_ICMP6_NO_ROUTE, + IP6T_ICMP6_ADM_PROHIBITED, + IP6T_ICMP6_NOT_NEIGHBOUR, + IP6T_ICMP6_ADDR_UNREACH, + IP6T_ICMP6_PORT_UNREACH, + IP6T_ICMP6_ECHOREPLY, + IP6T_TCP_RESET, + IP6T_ICMP6_POLICY_FAIL, + IP6T_ICMP6_REJECT_ROUTE +}; +struct ip6t_reject_info { + __u32 with; +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/netfilter_ipv6/ip6t_ah.h b/linux-5.10/prebuilts/usr/include/linux/netfilter_ipv6/ip6t_ah.h new file mode 100644 index 0000000..9d7cda2 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/netfilter_ipv6/ip6t_ah.h @@ -0,0 +1,21 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _IP6T_AH_H +#define _IP6T_AH_H +#include +struct ip6t_ah { + __u32 spis[2]; + __u32 hdrlen; + __u8 hdrres; + __u8 invflags; +}; +#define IP6T_AH_SPI 0x01 +#define IP6T_AH_LEN 0x02 +#define IP6T_AH_RES 0x04 +#define IP6T_AH_INV_SPI 0x01 +#define IP6T_AH_INV_LEN 0x02 +#define IP6T_AH_INV_MASK 0x03 +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/netfilter_ipv6/ip6t_frag.h b/linux-5.10/prebuilts/usr/include/linux/netfilter_ipv6/ip6t_frag.h new file mode 100644 index 0000000..7126df4 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/netfilter_ipv6/ip6t_frag.h @@ -0,0 +1,24 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _IP6T_FRAG_H +#define _IP6T_FRAG_H +#include +struct ip6t_frag { + __u32 ids[2]; + __u32 hdrlen; + __u8 flags; + __u8 invflags; +}; +#define IP6T_FRAG_IDS 0x01 +#define IP6T_FRAG_LEN 0x02 +#define IP6T_FRAG_RES 0x04 +#define IP6T_FRAG_FST 0x08 +#define IP6T_FRAG_MF 0x10 +#define IP6T_FRAG_NMF 0x20 +#define IP6T_FRAG_INV_IDS 0x01 +#define IP6T_FRAG_INV_LEN 0x02 +#define IP6T_FRAG_INV_MASK 0x03 +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/netfilter_ipv6/ip6t_hl.h b/linux-5.10/prebuilts/usr/include/linux/netfilter_ipv6/ip6t_hl.h new file mode 100644 index 0000000..324c15a --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/netfilter_ipv6/ip6t_hl.h @@ -0,0 +1,19 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _IP6T_HL_H +#define _IP6T_HL_H +#include +enum { + IP6T_HL_EQ = 0, + IP6T_HL_NE, + IP6T_HL_LT, + IP6T_HL_GT, +}; +struct ip6t_hl_info { + __u8 mode; + __u8 hop_limit; +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/netfilter_ipv6/ip6t_ipv6header.h b/linux-5.10/prebuilts/usr/include/linux/netfilter_ipv6/ip6t_ipv6header.h new file mode 100644 index 0000000..7dae6c0 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/netfilter_ipv6/ip6t_ipv6header.h @@ -0,0 +1,22 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef __IPV6HEADER_H +#define __IPV6HEADER_H +#include +struct ip6t_ipv6header_info { + __u8 matchflags; + __u8 invflags; + __u8 modeflag; +}; +#define MASK_HOPOPTS 128 +#define MASK_DSTOPTS 64 +#define MASK_ROUTING 32 +#define MASK_FRAGMENT 16 +#define MASK_AH 8 +#define MASK_ESP 4 +#define MASK_NONE 2 +#define MASK_PROTO 1 +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/netfilter_ipv6/ip6t_mh.h b/linux-5.10/prebuilts/usr/include/linux/netfilter_ipv6/ip6t_mh.h new file mode 100644 index 0000000..7204869 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/netfilter_ipv6/ip6t_mh.h @@ -0,0 +1,15 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _IP6T_MH_H +#define _IP6T_MH_H +#include +struct ip6t_mh { + __u8 types[2]; + __u8 invflags; +}; +#define IP6T_MH_INV_TYPE 0x01 +#define IP6T_MH_INV_MASK 0x01 +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/netfilter_ipv6/ip6t_opts.h b/linux-5.10/prebuilts/usr/include/linux/netfilter_ipv6/ip6t_opts.h new file mode 100644 index 0000000..6ac2de2 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/netfilter_ipv6/ip6t_opts.h @@ -0,0 +1,22 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _IP6T_OPTS_H +#define _IP6T_OPTS_H +#include +#define IP6T_OPTS_OPTSNR 16 +struct ip6t_opts { + __u32 hdrlen; + __u8 flags; + __u8 invflags; + __u16 opts[IP6T_OPTS_OPTSNR]; + __u8 optsnr; +}; +#define IP6T_OPTS_LEN 0x01 +#define IP6T_OPTS_OPTS 0x02 +#define IP6T_OPTS_NSTRICT 0x04 +#define IP6T_OPTS_INV_LEN 0x01 +#define IP6T_OPTS_INV_MASK 0x01 +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/netfilter_ipv6/ip6t_rt.h b/linux-5.10/prebuilts/usr/include/linux/netfilter_ipv6/ip6t_rt.h new file mode 100644 index 0000000..9a08784 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/netfilter_ipv6/ip6t_rt.h @@ -0,0 +1,31 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _IP6T_RT_H +#define _IP6T_RT_H +#include +#include +#define IP6T_RT_HOPS 16 +struct ip6t_rt { + __u32 rt_type; + __u32 segsleft[2]; + __u32 hdrlen; + __u8 flags; + __u8 invflags; + struct in6_addr addrs[IP6T_RT_HOPS]; + __u8 addrnr; +}; +#define IP6T_RT_TYP 0x01 +#define IP6T_RT_SGS 0x02 +#define IP6T_RT_LEN 0x04 +#define IP6T_RT_RES 0x08 +#define IP6T_RT_FST_MASK 0x30 +#define IP6T_RT_FST 0x10 +#define IP6T_RT_FST_NSTRICT 0x20 +#define IP6T_RT_INV_TYP 0x01 +#define IP6T_RT_INV_SGS 0x02 +#define IP6T_RT_INV_LEN 0x04 +#define IP6T_RT_INV_MASK 0x07 +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/netfilter_ipv6/ip6t_srh.h b/linux-5.10/prebuilts/usr/include/linux/netfilter_ipv6/ip6t_srh.h new file mode 100644 index 0000000..a6f4eea --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/netfilter_ipv6/ip6t_srh.h @@ -0,0 +1,64 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _IP6T_SRH_H +#define _IP6T_SRH_H +#include +#include +#define IP6T_SRH_NEXTHDR 0x0001 +#define IP6T_SRH_LEN_EQ 0x0002 +#define IP6T_SRH_LEN_GT 0x0004 +#define IP6T_SRH_LEN_LT 0x0008 +#define IP6T_SRH_SEGS_EQ 0x0010 +#define IP6T_SRH_SEGS_GT 0x0020 +#define IP6T_SRH_SEGS_LT 0x0040 +#define IP6T_SRH_LAST_EQ 0x0080 +#define IP6T_SRH_LAST_GT 0x0100 +#define IP6T_SRH_LAST_LT 0x0200 +#define IP6T_SRH_TAG 0x0400 +#define IP6T_SRH_PSID 0x0800 +#define IP6T_SRH_NSID 0x1000 +#define IP6T_SRH_LSID 0x2000 +#define IP6T_SRH_MASK 0x3FFF +#define IP6T_SRH_INV_NEXTHDR 0x0001 +#define IP6T_SRH_INV_LEN_EQ 0x0002 +#define IP6T_SRH_INV_LEN_GT 0x0004 +#define IP6T_SRH_INV_LEN_LT 0x0008 +#define IP6T_SRH_INV_SEGS_EQ 0x0010 +#define IP6T_SRH_INV_SEGS_GT 0x0020 +#define IP6T_SRH_INV_SEGS_LT 0x0040 +#define IP6T_SRH_INV_LAST_EQ 0x0080 +#define IP6T_SRH_INV_LAST_GT 0x0100 +#define IP6T_SRH_INV_LAST_LT 0x0200 +#define IP6T_SRH_INV_TAG 0x0400 +#define IP6T_SRH_INV_PSID 0x0800 +#define IP6T_SRH_INV_NSID 0x1000 +#define IP6T_SRH_INV_LSID 0x2000 +#define IP6T_SRH_INV_MASK 0x3FFF +struct ip6t_srh { + __u8 next_hdr; + __u8 hdr_len; + __u8 segs_left; + __u8 last_entry; + __u16 tag; + __u16 mt_flags; + __u16 mt_invflags; +}; +struct ip6t_srh1 { + __u8 next_hdr; + __u8 hdr_len; + __u8 segs_left; + __u8 last_entry; + __u16 tag; + struct in6_addr psid_addr; + struct in6_addr nsid_addr; + struct in6_addr lsid_addr; + struct in6_addr psid_msk; + struct in6_addr nsid_msk; + struct in6_addr lsid_msk; + __u16 mt_flags; + __u16 mt_invflags; +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/netlink.h b/linux-5.10/prebuilts/usr/include/linux/netlink.h new file mode 100644 index 0000000..0dc113b --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/netlink.h @@ -0,0 +1,196 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI__LINUX_NETLINK_H +#define _UAPI__LINUX_NETLINK_H +#include +#include +#include +#define NETLINK_ROUTE 0 +#define NETLINK_UNUSED 1 +#define NETLINK_USERSOCK 2 +#define NETLINK_FIREWALL 3 +#define NETLINK_SOCK_DIAG 4 +#define NETLINK_NFLOG 5 +#define NETLINK_XFRM 6 +#define NETLINK_SELINUX 7 +#define NETLINK_ISCSI 8 +#define NETLINK_AUDIT 9 +#define NETLINK_FIB_LOOKUP 10 +#define NETLINK_CONNECTOR 11 +#define NETLINK_NETFILTER 12 +#define NETLINK_IP6_FW 13 +#define NETLINK_DNRTMSG 14 +#define NETLINK_KOBJECT_UEVENT 15 +#define NETLINK_GENERIC 16 +#define NETLINK_SCSITRANSPORT 18 +#define NETLINK_ECRYPTFS 19 +#define NETLINK_RDMA 20 +#define NETLINK_CRYPTO 21 +#define NETLINK_SMC 22 +#define NETLINK_INET_DIAG NETLINK_SOCK_DIAG +#define MAX_LINKS 32 +struct sockaddr_nl { + __kernel_sa_family_t nl_family; + unsigned short nl_pad; + __u32 nl_pid; + __u32 nl_groups; +}; +struct nlmsghdr { + __u32 nlmsg_len; + __u16 nlmsg_type; + __u16 nlmsg_flags; + __u32 nlmsg_seq; + __u32 nlmsg_pid; +}; +#define NLM_F_REQUEST 0x01 +#define NLM_F_MULTI 0x02 +#define NLM_F_ACK 0x04 +#define NLM_F_ECHO 0x08 +#define NLM_F_DUMP_INTR 0x10 +#define NLM_F_DUMP_FILTERED 0x20 +#define NLM_F_ROOT 0x100 +#define NLM_F_MATCH 0x200 +#define NLM_F_ATOMIC 0x400 +#define NLM_F_DUMP (NLM_F_ROOT|NLM_F_MATCH) +#define NLM_F_REPLACE 0x100 +#define NLM_F_EXCL 0x200 +#define NLM_F_CREATE 0x400 +#define NLM_F_APPEND 0x800 +#define NLM_F_NONREC 0x100 +#define NLM_F_CAPPED 0x100 +#define NLM_F_ACK_TLVS 0x200 +#define NLMSG_ALIGNTO 4U +#define NLMSG_ALIGN(len) ( ((len)+NLMSG_ALIGNTO-1) & ~(NLMSG_ALIGNTO-1) ) +#define NLMSG_HDRLEN ((int) NLMSG_ALIGN(sizeof(struct nlmsghdr))) +#define NLMSG_LENGTH(len) ((len) + NLMSG_HDRLEN) +#define NLMSG_SPACE(len) NLMSG_ALIGN(NLMSG_LENGTH(len)) +#define NLMSG_DATA(nlh) ((void*)(((char*)nlh) + NLMSG_LENGTH(0))) +#define NLMSG_NEXT(nlh,len) ((len) -= NLMSG_ALIGN((nlh)->nlmsg_len), \ + (struct nlmsghdr*)(((char*)(nlh)) + NLMSG_ALIGN((nlh)->nlmsg_len))) +#define NLMSG_OK(nlh,len) ((len) >= (int)sizeof(struct nlmsghdr) && \ + (nlh)->nlmsg_len >= sizeof(struct nlmsghdr) && \ + (nlh)->nlmsg_len <= (len)) +#define NLMSG_PAYLOAD(nlh,len) ((nlh)->nlmsg_len - NLMSG_SPACE((len))) +#define NLMSG_NOOP 0x1 +#define NLMSG_ERROR 0x2 +#define NLMSG_DONE 0x3 +#define NLMSG_OVERRUN 0x4 +#define NLMSG_MIN_TYPE 0x10 +struct nlmsgerr { + int error; + struct nlmsghdr msg; + + +}; +enum nlmsgerr_attrs { + NLMSGERR_ATTR_UNUSED, + NLMSGERR_ATTR_MSG, + NLMSGERR_ATTR_OFFS, + NLMSGERR_ATTR_COOKIE, + NLMSGERR_ATTR_POLICY, + __NLMSGERR_ATTR_MAX, + NLMSGERR_ATTR_MAX = __NLMSGERR_ATTR_MAX - 1 +}; +#define NETLINK_ADD_MEMBERSHIP 1 +#define NETLINK_DROP_MEMBERSHIP 2 +#define NETLINK_PKTINFO 3 +#define NETLINK_BROADCAST_ERROR 4 +#define NETLINK_NO_ENOBUFS 5 +#ifndef __KERNEL__ +#define NETLINK_RX_RING 6 +#define NETLINK_TX_RING 7 +#endif +#define NETLINK_LISTEN_ALL_NSID 8 +#define NETLINK_LIST_MEMBERSHIPS 9 +#define NETLINK_CAP_ACK 10 +#define NETLINK_EXT_ACK 11 +#define NETLINK_GET_STRICT_CHK 12 +struct nl_pktinfo { + __u32 group; +}; +struct nl_mmap_req { + unsigned int nm_block_size; + unsigned int nm_block_nr; + unsigned int nm_frame_size; + unsigned int nm_frame_nr; +}; +struct nl_mmap_hdr { + unsigned int nm_status; + unsigned int nm_len; + __u32 nm_group; + + __u32 nm_pid; + __u32 nm_uid; + __u32 nm_gid; +}; +#ifndef __KERNEL__ +enum nl_mmap_status { + NL_MMAP_STATUS_UNUSED, + NL_MMAP_STATUS_RESERVED, + NL_MMAP_STATUS_VALID, + NL_MMAP_STATUS_COPY, + NL_MMAP_STATUS_SKIP, +}; +#define NL_MMAP_MSG_ALIGNMENT NLMSG_ALIGNTO +#define NL_MMAP_MSG_ALIGN(sz) __ALIGN_KERNEL(sz, NL_MMAP_MSG_ALIGNMENT) +#define NL_MMAP_HDRLEN NL_MMAP_MSG_ALIGN(sizeof(struct nl_mmap_hdr)) +#endif +#define NET_MAJOR 36 +enum { + NETLINK_UNCONNECTED = 0, + NETLINK_CONNECTED, +}; +struct nlattr { + __u16 nla_len; + __u16 nla_type; +}; +#define NLA_F_NESTED (1 << 15) +#define NLA_F_NET_BYTEORDER (1 << 14) +#define NLA_TYPE_MASK ~(NLA_F_NESTED | NLA_F_NET_BYTEORDER) +#define NLA_ALIGNTO 4 +#define NLA_ALIGN(len) (((len) + NLA_ALIGNTO - 1) & ~(NLA_ALIGNTO - 1)) +#define NLA_HDRLEN ((int) NLA_ALIGN(sizeof(struct nlattr))) +struct nla_bitfield32 { + __u32 value; + __u32 selector; +}; +enum netlink_attribute_type { + NL_ATTR_TYPE_INVALID, + NL_ATTR_TYPE_FLAG, + NL_ATTR_TYPE_U8, + NL_ATTR_TYPE_U16, + NL_ATTR_TYPE_U32, + NL_ATTR_TYPE_U64, + NL_ATTR_TYPE_S8, + NL_ATTR_TYPE_S16, + NL_ATTR_TYPE_S32, + NL_ATTR_TYPE_S64, + NL_ATTR_TYPE_BINARY, + NL_ATTR_TYPE_STRING, + NL_ATTR_TYPE_NUL_STRING, + NL_ATTR_TYPE_NESTED, + NL_ATTR_TYPE_NESTED_ARRAY, + NL_ATTR_TYPE_BITFIELD32, +}; +enum netlink_policy_type_attr { + NL_POLICY_TYPE_ATTR_UNSPEC, + NL_POLICY_TYPE_ATTR_TYPE, + NL_POLICY_TYPE_ATTR_MIN_VALUE_S, + NL_POLICY_TYPE_ATTR_MAX_VALUE_S, + NL_POLICY_TYPE_ATTR_MIN_VALUE_U, + NL_POLICY_TYPE_ATTR_MAX_VALUE_U, + NL_POLICY_TYPE_ATTR_MIN_LENGTH, + NL_POLICY_TYPE_ATTR_MAX_LENGTH, + NL_POLICY_TYPE_ATTR_POLICY_IDX, + NL_POLICY_TYPE_ATTR_POLICY_MAXTYPE, + NL_POLICY_TYPE_ATTR_BITFIELD32_MASK, + NL_POLICY_TYPE_ATTR_PAD, + NL_POLICY_TYPE_ATTR_MASK, + + __NL_POLICY_TYPE_ATTR_MAX, + NL_POLICY_TYPE_ATTR_MAX = __NL_POLICY_TYPE_ATTR_MAX - 1 +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/netlink_diag.h b/linux-5.10/prebuilts/usr/include/linux/netlink_diag.h new file mode 100644 index 0000000..6185dcf --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/netlink_diag.h @@ -0,0 +1,57 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef __NETLINK_DIAG_H__ +#define __NETLINK_DIAG_H__ +#include +struct netlink_diag_req { + __u8 sdiag_family; + __u8 sdiag_protocol; + __u16 pad; + __u32 ndiag_ino; + __u32 ndiag_show; + __u32 ndiag_cookie[2]; +}; +struct netlink_diag_msg { + __u8 ndiag_family; + __u8 ndiag_type; + __u8 ndiag_protocol; + __u8 ndiag_state; + __u32 ndiag_portid; + __u32 ndiag_dst_portid; + __u32 ndiag_dst_group; + __u32 ndiag_ino; + __u32 ndiag_cookie[2]; +}; +struct netlink_diag_ring { + __u32 ndr_block_size; + __u32 ndr_block_nr; + __u32 ndr_frame_size; + __u32 ndr_frame_nr; +}; +enum { + + NETLINK_DIAG_MEMINFO, + NETLINK_DIAG_GROUPS, + NETLINK_DIAG_RX_RING, + NETLINK_DIAG_TX_RING, + NETLINK_DIAG_FLAGS, + __NETLINK_DIAG_MAX, +}; +#define NETLINK_DIAG_MAX (__NETLINK_DIAG_MAX - 1) +#define NDIAG_PROTO_ALL ((__u8) ~0) +#define NDIAG_SHOW_MEMINFO 0x00000001 +#define NDIAG_SHOW_GROUPS 0x00000002 +#ifndef __KERNEL__ +#define NDIAG_SHOW_RING_CFG 0x00000004 +#endif +#define NDIAG_SHOW_FLAGS 0x00000008 +#define NDIAG_FLAG_CB_RUNNING 0x00000001 +#define NDIAG_FLAG_PKTINFO 0x00000002 +#define NDIAG_FLAG_BROADCAST_ERROR 0x00000004 +#define NDIAG_FLAG_NO_ENOBUFS 0x00000008 +#define NDIAG_FLAG_LISTEN_ALL_NSID 0x00000010 +#define NDIAG_FLAG_CAP_ACK 0x00000020 +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/netrom.h b/linux-5.10/prebuilts/usr/include/linux/netrom.h new file mode 100644 index 0000000..c049d08 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/netrom.h @@ -0,0 +1,29 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef NETROM_KERNEL_H +#define NETROM_KERNEL_H +#include +#define NETROM_MTU 236 +#define NETROM_T1 1 +#define NETROM_T2 2 +#define NETROM_N2 3 +#define NETROM_T4 6 +#define NETROM_IDLE 7 +#define SIOCNRDECOBS (SIOCPROTOPRIVATE+2) +struct nr_route_struct { +#define NETROM_NEIGH 0 +#define NETROM_NODE 1 + int type; + ax25_address callsign; + char device[16]; + unsigned int quality; + char mnemonic[7]; + ax25_address neighbour; + unsigned int obs_count; + unsigned int ndigis; + ax25_address digipeaters[AX25_MAX_DIGIS]; +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/nexthop.h b/linux-5.10/prebuilts/usr/include/linux/nexthop.h new file mode 100644 index 0000000..9dd61fc --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/nexthop.h @@ -0,0 +1,47 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI_LINUX_NEXTHOP_H +#define _UAPI_LINUX_NEXTHOP_H +#include +struct nhmsg { + unsigned char nh_family; + unsigned char nh_scope; + unsigned char nh_protocol; + unsigned char resvd; + unsigned int nh_flags; +}; +struct nexthop_grp { + __u32 id; + __u8 weight; + __u8 resvd1; + __u16 resvd2; +}; +enum { + NEXTHOP_GRP_TYPE_MPATH, + __NEXTHOP_GRP_TYPE_MAX, +}; +#define NEXTHOP_GRP_TYPE_MAX (__NEXTHOP_GRP_TYPE_MAX - 1) +enum { + NHA_UNSPEC, + NHA_ID, + NHA_GROUP, + NHA_GROUP_TYPE, + + NHA_BLACKHOLE, + + NHA_OIF, + NHA_GATEWAY, + NHA_ENCAP_TYPE, + NHA_ENCAP, + + NHA_GROUPS, + NHA_MASTER, + NHA_FDB, + + __NHA_MAX, +}; +#define NHA_MAX (__NHA_MAX - 1) +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/nfc.h b/linux-5.10/prebuilts/usr/include/linux/nfc.h new file mode 100644 index 0000000..99b0014 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/nfc.h @@ -0,0 +1,162 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef __LINUX_NFC_H +#define __LINUX_NFC_H +#include +#include +#define NFC_GENL_NAME "nfc" +#define NFC_GENL_VERSION 1 +#define NFC_GENL_MCAST_EVENT_NAME "events" +enum nfc_commands { + NFC_CMD_UNSPEC, + NFC_CMD_GET_DEVICE, + NFC_CMD_DEV_UP, + NFC_CMD_DEV_DOWN, + NFC_CMD_DEP_LINK_UP, + NFC_CMD_DEP_LINK_DOWN, + NFC_CMD_START_POLL, + NFC_CMD_STOP_POLL, + NFC_CMD_GET_TARGET, + NFC_EVENT_TARGETS_FOUND, + NFC_EVENT_DEVICE_ADDED, + NFC_EVENT_DEVICE_REMOVED, + NFC_EVENT_TARGET_LOST, + NFC_EVENT_TM_ACTIVATED, + NFC_EVENT_TM_DEACTIVATED, + NFC_CMD_LLC_GET_PARAMS, + NFC_CMD_LLC_SET_PARAMS, + NFC_CMD_ENABLE_SE, + NFC_CMD_DISABLE_SE, + NFC_CMD_LLC_SDREQ, + NFC_EVENT_LLC_SDRES, + NFC_CMD_FW_DOWNLOAD, + NFC_EVENT_SE_ADDED, + NFC_EVENT_SE_REMOVED, + NFC_EVENT_SE_CONNECTIVITY, + NFC_EVENT_SE_TRANSACTION, + NFC_CMD_GET_SE, + NFC_CMD_SE_IO, + NFC_CMD_ACTIVATE_TARGET, + NFC_CMD_VENDOR, + NFC_CMD_DEACTIVATE_TARGET, + __NFC_CMD_AFTER_LAST +}; +#define NFC_CMD_MAX (__NFC_CMD_AFTER_LAST - 1) +enum nfc_attrs { + NFC_ATTR_UNSPEC, + NFC_ATTR_DEVICE_INDEX, + NFC_ATTR_DEVICE_NAME, + NFC_ATTR_PROTOCOLS, + NFC_ATTR_TARGET_INDEX, + NFC_ATTR_TARGET_SENS_RES, + NFC_ATTR_TARGET_SEL_RES, + NFC_ATTR_TARGET_NFCID1, + NFC_ATTR_TARGET_SENSB_RES, + NFC_ATTR_TARGET_SENSF_RES, + NFC_ATTR_COMM_MODE, + NFC_ATTR_RF_MODE, + NFC_ATTR_DEVICE_POWERED, + NFC_ATTR_IM_PROTOCOLS, + NFC_ATTR_TM_PROTOCOLS, + NFC_ATTR_LLC_PARAM_LTO, + NFC_ATTR_LLC_PARAM_RW, + NFC_ATTR_LLC_PARAM_MIUX, + NFC_ATTR_SE, + NFC_ATTR_LLC_SDP, + NFC_ATTR_FIRMWARE_NAME, + NFC_ATTR_SE_INDEX, + NFC_ATTR_SE_TYPE, + NFC_ATTR_SE_AID, + NFC_ATTR_FIRMWARE_DOWNLOAD_STATUS, + NFC_ATTR_SE_APDU, + NFC_ATTR_TARGET_ISO15693_DSFID, + NFC_ATTR_TARGET_ISO15693_UID, + NFC_ATTR_SE_PARAMS, + NFC_ATTR_VENDOR_ID, + NFC_ATTR_VENDOR_SUBCMD, + NFC_ATTR_VENDOR_DATA, + __NFC_ATTR_AFTER_LAST +}; +#define NFC_ATTR_MAX (__NFC_ATTR_AFTER_LAST - 1) +enum nfc_sdp_attr { + NFC_SDP_ATTR_UNSPEC, + NFC_SDP_ATTR_URI, + NFC_SDP_ATTR_SAP, + __NFC_SDP_ATTR_AFTER_LAST +}; +#define NFC_SDP_ATTR_MAX (__NFC_SDP_ATTR_AFTER_LAST - 1) +#define NFC_DEVICE_NAME_MAXSIZE 8 +#define NFC_NFCID1_MAXSIZE 10 +#define NFC_NFCID2_MAXSIZE 8 +#define NFC_NFCID3_MAXSIZE 10 +#define NFC_SENSB_RES_MAXSIZE 12 +#define NFC_SENSF_RES_MAXSIZE 18 +#define NFC_ATR_REQ_MAXSIZE 64 +#define NFC_ATR_RES_MAXSIZE 64 +#define NFC_ATR_REQ_GB_MAXSIZE 48 +#define NFC_ATR_RES_GB_MAXSIZE 47 +#define NFC_GB_MAXSIZE 48 +#define NFC_FIRMWARE_NAME_MAXSIZE 32 +#define NFC_ISO15693_UID_MAXSIZE 8 +#define NFC_PROTO_JEWEL 1 +#define NFC_PROTO_MIFARE 2 +#define NFC_PROTO_FELICA 3 +#define NFC_PROTO_ISO14443 4 +#define NFC_PROTO_NFC_DEP 5 +#define NFC_PROTO_ISO14443_B 6 +#define NFC_PROTO_ISO15693 7 +#define NFC_PROTO_MAX 8 +#define NFC_COMM_ACTIVE 0 +#define NFC_COMM_PASSIVE 1 +#define NFC_RF_INITIATOR 0 +#define NFC_RF_TARGET 1 +#define NFC_RF_NONE 2 +#define NFC_PROTO_JEWEL_MASK (1 << NFC_PROTO_JEWEL) +#define NFC_PROTO_MIFARE_MASK (1 << NFC_PROTO_MIFARE) +#define NFC_PROTO_FELICA_MASK (1 << NFC_PROTO_FELICA) +#define NFC_PROTO_ISO14443_MASK (1 << NFC_PROTO_ISO14443) +#define NFC_PROTO_NFC_DEP_MASK (1 << NFC_PROTO_NFC_DEP) +#define NFC_PROTO_ISO14443_B_MASK (1 << NFC_PROTO_ISO14443_B) +#define NFC_PROTO_ISO15693_MASK (1 << NFC_PROTO_ISO15693) +#define NFC_SE_UICC 0x1 +#define NFC_SE_EMBEDDED 0x2 +#define NFC_SE_DISABLED 0x0 +#define NFC_SE_ENABLED 0x1 +struct sockaddr_nfc { + sa_family_t sa_family; + __u32 dev_idx; + __u32 target_idx; + __u32 nfc_protocol; +}; +#define NFC_LLCP_MAX_SERVICE_NAME 63 +struct sockaddr_nfc_llcp { + sa_family_t sa_family; + __u32 dev_idx; + __u32 target_idx; + __u32 nfc_protocol; + __u8 dsap; + __u8 ssap; + char service_name[NFC_LLCP_MAX_SERVICE_NAME]; ; + size_t service_name_len; +}; +#define NFC_SOCKPROTO_RAW 0 +#define NFC_SOCKPROTO_LLCP 1 +#define NFC_SOCKPROTO_MAX 2 +#define NFC_HEADER_SIZE 1 +#define NFC_RAW_HEADER_SIZE 2 +#define NFC_DIRECTION_RX 0x00 +#define NFC_DIRECTION_TX 0x01 +#define RAW_PAYLOAD_LLCP 0 +#define RAW_PAYLOAD_NCI 1 +#define RAW_PAYLOAD_HCI 2 +#define RAW_PAYLOAD_DIGITAL 3 +#define RAW_PAYLOAD_PROPRIETARY 4 +#define NFC_LLCP_RW 0 +#define NFC_LLCP_MIUX 1 +#define NFC_LLCP_REMOTE_MIU 2 +#define NFC_LLCP_REMOTE_LTO 3 +#define NFC_LLCP_REMOTE_RW 4 +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/nfs.h b/linux-5.10/prebuilts/usr/include/linux/nfs.h new file mode 100644 index 0000000..4e2db6c --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/nfs.h @@ -0,0 +1,116 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI_LINUX_NFS_H +#define _UAPI_LINUX_NFS_H +#include +#define NFS_PROGRAM 100003 +#define NFS_PORT 2049 +#define NFS_RDMA_PORT 20049 +#define NFS_MAXDATA 8192 +#define NFS_MAXPATHLEN 1024 +#define NFS_MAXNAMLEN 255 +#define NFS_MAXGROUPS 16 +#define NFS_FHSIZE 32 +#define NFS_COOKIESIZE 4 +#define NFS_FIFO_DEV (-1) +#define NFSMODE_FMT 0170000 +#define NFSMODE_DIR 0040000 +#define NFSMODE_CHR 0020000 +#define NFSMODE_BLK 0060000 +#define NFSMODE_REG 0100000 +#define NFSMODE_LNK 0120000 +#define NFSMODE_SOCK 0140000 +#define NFSMODE_FIFO 0010000 +#define NFS_MNT_PROGRAM 100005 +#define NFS_MNT_VERSION 1 +#define NFS_MNT3_VERSION 3 +#define NFS_PIPE_DIRNAME "nfs" + enum nfs_stat { + NFS_OK = 0, + NFSERR_PERM = 1, + NFSERR_NOENT = 2, + NFSERR_IO = 5, + NFSERR_NXIO = 6, + NFSERR_EAGAIN = 11, + NFSERR_ACCES = 13, + NFSERR_EXIST = 17, + NFSERR_XDEV = 18, + NFSERR_NODEV = 19, + NFSERR_NOTDIR = 20, + NFSERR_ISDIR = 21, + NFSERR_INVAL = 22, + NFSERR_FBIG = 27, + NFSERR_NOSPC = 28, + NFSERR_ROFS = 30, + NFSERR_MLINK = 31, + NFSERR_OPNOTSUPP = 45, + NFSERR_NAMETOOLONG = 63, + NFSERR_NOTEMPTY = 66, + NFSERR_DQUOT = 69, + NFSERR_STALE = 70, + NFSERR_REMOTE = 71, + NFSERR_WFLUSH = 99, + NFSERR_BADHANDLE = 10001, + NFSERR_NOT_SYNC = 10002, + NFSERR_BAD_COOKIE = 10003, + NFSERR_NOTSUPP = 10004, + NFSERR_TOOSMALL = 10005, + NFSERR_SERVERFAULT = 10006, + NFSERR_BADTYPE = 10007, + NFSERR_JUKEBOX = 10008, + NFSERR_SAME = 10009, + NFSERR_DENIED = 10010, + NFSERR_EXPIRED = 10011, + NFSERR_LOCKED = 10012, + NFSERR_GRACE = 10013, + NFSERR_FHEXPIRED = 10014, + NFSERR_SHARE_DENIED = 10015, + NFSERR_WRONGSEC = 10016, + NFSERR_CLID_INUSE = 10017, + NFSERR_RESOURCE = 10018, + NFSERR_MOVED = 10019, + NFSERR_NOFILEHANDLE = 10020, + NFSERR_MINOR_VERS_MISMATCH = 10021, + NFSERR_STALE_CLIENTID = 10022, + NFSERR_STALE_STATEID = 10023, + NFSERR_OLD_STATEID = 10024, + NFSERR_BAD_STATEID = 10025, + NFSERR_BAD_SEQID = 10026, + NFSERR_NOT_SAME = 10027, + NFSERR_LOCK_RANGE = 10028, + NFSERR_SYMLINK = 10029, + NFSERR_RESTOREFH = 10030, + NFSERR_LEASE_MOVED = 10031, + NFSERR_ATTRNOTSUPP = 10032, + NFSERR_NO_GRACE = 10033, + NFSERR_RECLAIM_BAD = 10034, + NFSERR_RECLAIM_CONFLICT = 10035, + NFSERR_BAD_XDR = 10036, + NFSERR_LOCKS_HELD = 10037, + NFSERR_OPENMODE = 10038, + NFSERR_BADOWNER = 10039, + NFSERR_BADCHAR = 10040, + NFSERR_BADNAME = 10041, + NFSERR_BAD_RANGE = 10042, + NFSERR_LOCK_NOTSUPP = 10043, + NFSERR_OP_ILLEGAL = 10044, + NFSERR_DEADLOCK = 10045, + NFSERR_FILE_OPEN = 10046, + NFSERR_ADMIN_REVOKED = 10047, + NFSERR_CB_PATH_DOWN = 10048, +}; +enum nfs_ftype { + NFNON = 0, + NFREG = 1, + NFDIR = 2, + NFBLK = 3, + NFCHR = 4, + NFLNK = 5, + NFSOCK = 6, + NFBAD = 7, + NFFIFO = 8 +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/nfs2.h b/linux-5.10/prebuilts/usr/include/linux/nfs2.h new file mode 100644 index 0000000..31b5f8e --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/nfs2.h @@ -0,0 +1,57 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _LINUX_NFS2_H +#define _LINUX_NFS2_H +#define NFS2_PORT 2049 +#define NFS2_MAXDATA 8192 +#define NFS2_MAXPATHLEN 1024 +#define NFS2_MAXNAMLEN 255 +#define NFS2_MAXGROUPS 16 +#define NFS2_FHSIZE 32 +#define NFS2_COOKIESIZE 4 +#define NFS2_FIFO_DEV (-1) +#define NFS2MODE_FMT 0170000 +#define NFS2MODE_DIR 0040000 +#define NFS2MODE_CHR 0020000 +#define NFS2MODE_BLK 0060000 +#define NFS2MODE_REG 0100000 +#define NFS2MODE_LNK 0120000 +#define NFS2MODE_SOCK 0140000 +#define NFS2MODE_FIFO 0010000 +enum nfs2_ftype { + NF2NON = 0, + NF2REG = 1, + NF2DIR = 2, + NF2BLK = 3, + NF2CHR = 4, + NF2LNK = 5, + NF2SOCK = 6, + NF2BAD = 7, + NF2FIFO = 8 +}; +struct nfs2_fh { + char data[NFS2_FHSIZE]; +}; +#define NFS2_VERSION 2 +#define NFSPROC_NULL 0 +#define NFSPROC_GETATTR 1 +#define NFSPROC_SETATTR 2 +#define NFSPROC_ROOT 3 +#define NFSPROC_LOOKUP 4 +#define NFSPROC_READLINK 5 +#define NFSPROC_READ 6 +#define NFSPROC_WRITECACHE 7 +#define NFSPROC_WRITE 8 +#define NFSPROC_CREATE 9 +#define NFSPROC_REMOVE 10 +#define NFSPROC_RENAME 11 +#define NFSPROC_LINK 12 +#define NFSPROC_SYMLINK 13 +#define NFSPROC_MKDIR 14 +#define NFSPROC_RMDIR 15 +#define NFSPROC_READDIR 16 +#define NFSPROC_STATFS 17 +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/nfs3.h b/linux-5.10/prebuilts/usr/include/linux/nfs3.h new file mode 100644 index 0000000..8760cec --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/nfs3.h @@ -0,0 +1,86 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI_LINUX_NFS3_H +#define _UAPI_LINUX_NFS3_H +#define NFS3_PORT 2049 +#define NFS3_MAXDATA 32768 +#define NFS3_MAXPATHLEN PATH_MAX +#define NFS3_MAXNAMLEN NAME_MAX +#define NFS3_MAXGROUPS 16 +#define NFS3_FHSIZE 64 +#define NFS3_COOKIESIZE 4 +#define NFS3_CREATEVERFSIZE 8 +#define NFS3_COOKIEVERFSIZE 8 +#define NFS3_WRITEVERFSIZE 8 +#define NFS3_FIFO_DEV (-1) +#define NFS3MODE_FMT 0170000 +#define NFS3MODE_DIR 0040000 +#define NFS3MODE_CHR 0020000 +#define NFS3MODE_BLK 0060000 +#define NFS3MODE_REG 0100000 +#define NFS3MODE_LNK 0120000 +#define NFS3MODE_SOCK 0140000 +#define NFS3MODE_FIFO 0010000 +#define NFS3_ACCESS_READ 0x0001 +#define NFS3_ACCESS_LOOKUP 0x0002 +#define NFS3_ACCESS_MODIFY 0x0004 +#define NFS3_ACCESS_EXTEND 0x0008 +#define NFS3_ACCESS_DELETE 0x0010 +#define NFS3_ACCESS_EXECUTE 0x0020 +#define NFS3_ACCESS_FULL 0x003f +enum nfs3_createmode { + NFS3_CREATE_UNCHECKED = 0, + NFS3_CREATE_GUARDED = 1, + NFS3_CREATE_EXCLUSIVE = 2 +}; +#define NFS3_FSF_LINK 0x0001 +#define NFS3_FSF_SYMLINK 0x0002 +#define NFS3_FSF_HOMOGENEOUS 0x0008 +#define NFS3_FSF_CANSETTIME 0x0010 +#define NFS3_FSF_DEFAULT 0x001B +#define NFS3_FSF_BILLYBOY 0x0018 +#define NFS3_FSF_READONLY 0x0008 +enum nfs3_ftype { + NF3NON = 0, + NF3REG = 1, + NF3DIR = 2, + NF3BLK = 3, + NF3CHR = 4, + NF3LNK = 5, + NF3SOCK = 6, + NF3FIFO = 7, + NF3BAD = 8 +}; +struct nfs3_fh { + unsigned short size; + unsigned char data[NFS3_FHSIZE]; +}; +#define NFS3_VERSION 3 +#define NFS3PROC_NULL 0 +#define NFS3PROC_GETATTR 1 +#define NFS3PROC_SETATTR 2 +#define NFS3PROC_LOOKUP 3 +#define NFS3PROC_ACCESS 4 +#define NFS3PROC_READLINK 5 +#define NFS3PROC_READ 6 +#define NFS3PROC_WRITE 7 +#define NFS3PROC_CREATE 8 +#define NFS3PROC_MKDIR 9 +#define NFS3PROC_SYMLINK 10 +#define NFS3PROC_MKNOD 11 +#define NFS3PROC_REMOVE 12 +#define NFS3PROC_RMDIR 13 +#define NFS3PROC_RENAME 14 +#define NFS3PROC_LINK 15 +#define NFS3PROC_READDIR 16 +#define NFS3PROC_READDIRPLUS 17 +#define NFS3PROC_FSSTAT 18 +#define NFS3PROC_FSINFO 19 +#define NFS3PROC_PATHCONF 20 +#define NFS3PROC_COMMIT 21 +#define NFS_MNT3_VERSION 3 + +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/nfs4.h b/linux-5.10/prebuilts/usr/include/linux/nfs4.h new file mode 100644 index 0000000..828c48f --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/nfs4.h @@ -0,0 +1,134 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI_LINUX_NFS4_H +#define _UAPI_LINUX_NFS4_H +#include +#define NFS4_BITMAP_SIZE 3 +#define NFS4_VERIFIER_SIZE 8 +#define NFS4_STATEID_SEQID_SIZE 4 +#define NFS4_STATEID_OTHER_SIZE 12 +#define NFS4_STATEID_SIZE (NFS4_STATEID_SEQID_SIZE + NFS4_STATEID_OTHER_SIZE) +#define NFS4_FHSIZE 128 +#define NFS4_MAXPATHLEN PATH_MAX +#define NFS4_MAXNAMLEN NAME_MAX +#define NFS4_OPAQUE_LIMIT 1024 +#define NFS4_MAX_SESSIONID_LEN 16 +#define NFS4_ACCESS_READ 0x0001 +#define NFS4_ACCESS_LOOKUP 0x0002 +#define NFS4_ACCESS_MODIFY 0x0004 +#define NFS4_ACCESS_EXTEND 0x0008 +#define NFS4_ACCESS_DELETE 0x0010 +#define NFS4_ACCESS_EXECUTE 0x0020 +#define NFS4_ACCESS_XAREAD 0x0040 +#define NFS4_ACCESS_XAWRITE 0x0080 +#define NFS4_ACCESS_XALIST 0x0100 +#define NFS4_FH_PERSISTENT 0x0000 +#define NFS4_FH_NOEXPIRE_WITH_OPEN 0x0001 +#define NFS4_FH_VOLATILE_ANY 0x0002 +#define NFS4_FH_VOL_MIGRATION 0x0004 +#define NFS4_FH_VOL_RENAME 0x0008 +#define NFS4_OPEN_RESULT_CONFIRM 0x0002 +#define NFS4_OPEN_RESULT_LOCKTYPE_POSIX 0x0004 +#define NFS4_OPEN_RESULT_MAY_NOTIFY_LOCK 0x0020 +#define NFS4_SHARE_ACCESS_MASK 0x000F +#define NFS4_SHARE_ACCESS_READ 0x0001 +#define NFS4_SHARE_ACCESS_WRITE 0x0002 +#define NFS4_SHARE_ACCESS_BOTH 0x0003 +#define NFS4_SHARE_DENY_READ 0x0001 +#define NFS4_SHARE_DENY_WRITE 0x0002 +#define NFS4_SHARE_DENY_BOTH 0x0003 +#define NFS4_SHARE_WANT_MASK 0xFF00 +#define NFS4_SHARE_WANT_NO_PREFERENCE 0x0000 +#define NFS4_SHARE_WANT_READ_DELEG 0x0100 +#define NFS4_SHARE_WANT_WRITE_DELEG 0x0200 +#define NFS4_SHARE_WANT_ANY_DELEG 0x0300 +#define NFS4_SHARE_WANT_NO_DELEG 0x0400 +#define NFS4_SHARE_WANT_CANCEL 0x0500 +#define NFS4_SHARE_WHEN_MASK 0xF0000 +#define NFS4_SHARE_SIGNAL_DELEG_WHEN_RESRC_AVAIL 0x10000 +#define NFS4_SHARE_PUSH_DELEG_WHEN_UNCONTENDED 0x20000 +#define NFS4_CDFC4_FORE 0x1 +#define NFS4_CDFC4_BACK 0x2 +#define NFS4_CDFC4_BOTH 0x3 +#define NFS4_CDFC4_FORE_OR_BOTH 0x3 +#define NFS4_CDFC4_BACK_OR_BOTH 0x7 +#define NFS4_CDFS4_FORE 0x1 +#define NFS4_CDFS4_BACK 0x2 +#define NFS4_CDFS4_BOTH 0x3 +#define NFS4_SET_TO_SERVER_TIME 0 +#define NFS4_SET_TO_CLIENT_TIME 1 +#define NFS4_ACE_ACCESS_ALLOWED_ACE_TYPE 0 +#define NFS4_ACE_ACCESS_DENIED_ACE_TYPE 1 +#define NFS4_ACE_SYSTEM_AUDIT_ACE_TYPE 2 +#define NFS4_ACE_SYSTEM_ALARM_ACE_TYPE 3 +#define ACL4_SUPPORT_ALLOW_ACL 0x01 +#define ACL4_SUPPORT_DENY_ACL 0x02 +#define ACL4_SUPPORT_AUDIT_ACL 0x04 +#define ACL4_SUPPORT_ALARM_ACL 0x08 +#define NFS4_ACL_AUTO_INHERIT 0x00000001 +#define NFS4_ACL_PROTECTED 0x00000002 +#define NFS4_ACL_DEFAULTED 0x00000004 +#define NFS4_ACE_FILE_INHERIT_ACE 0x00000001 +#define NFS4_ACE_DIRECTORY_INHERIT_ACE 0x00000002 +#define NFS4_ACE_NO_PROPAGATE_INHERIT_ACE 0x00000004 +#define NFS4_ACE_INHERIT_ONLY_ACE 0x00000008 +#define NFS4_ACE_SUCCESSFUL_ACCESS_ACE_FLAG 0x00000010 +#define NFS4_ACE_FAILED_ACCESS_ACE_FLAG 0x00000020 +#define NFS4_ACE_IDENTIFIER_GROUP 0x00000040 +#define NFS4_ACE_INHERITED_ACE 0x00000080 +#define NFS4_ACE_READ_DATA 0x00000001 +#define NFS4_ACE_LIST_DIRECTORY 0x00000001 +#define NFS4_ACE_WRITE_DATA 0x00000002 +#define NFS4_ACE_ADD_FILE 0x00000002 +#define NFS4_ACE_APPEND_DATA 0x00000004 +#define NFS4_ACE_ADD_SUBDIRECTORY 0x00000004 +#define NFS4_ACE_READ_NAMED_ATTRS 0x00000008 +#define NFS4_ACE_WRITE_NAMED_ATTRS 0x00000010 +#define NFS4_ACE_EXECUTE 0x00000020 +#define NFS4_ACE_DELETE_CHILD 0x00000040 +#define NFS4_ACE_READ_ATTRIBUTES 0x00000080 +#define NFS4_ACE_WRITE_ATTRIBUTES 0x00000100 +#define NFS4_ACE_WRITE_RETENTION 0x00000200 +#define NFS4_ACE_WRITE_RETENTION_HOLD 0x00000400 +#define NFS4_ACE_DELETE 0x00010000 +#define NFS4_ACE_READ_ACL 0x00020000 +#define NFS4_ACE_WRITE_ACL 0x00040000 +#define NFS4_ACE_WRITE_OWNER 0x00080000 +#define NFS4_ACE_SYNCHRONIZE 0x00100000 +#define NFS4_ACE_GENERIC_READ 0x00120081 +#define NFS4_ACE_GENERIC_WRITE 0x00160106 +#define NFS4_ACE_GENERIC_EXECUTE 0x001200A0 +#define NFS4_ACE_MASK_ALL 0x001F01FF +#define EXCHGID4_FLAG_SUPP_MOVED_REFER 0x00000001 +#define EXCHGID4_FLAG_SUPP_MOVED_MIGR 0x00000002 +#define EXCHGID4_FLAG_BIND_PRINC_STATEID 0x00000100 +#define EXCHGID4_FLAG_USE_NON_PNFS 0x00010000 +#define EXCHGID4_FLAG_USE_PNFS_MDS 0x00020000 +#define EXCHGID4_FLAG_USE_PNFS_DS 0x00040000 +#define EXCHGID4_FLAG_MASK_PNFS 0x00070000 +#define EXCHGID4_FLAG_UPD_CONFIRMED_REC_A 0x40000000 +#define EXCHGID4_FLAG_CONFIRMED_R 0x80000000 +#define EXCHGID4_FLAG_SUPP_FENCE_OPS 0x00000004 +#define EXCHGID4_FLAG_MASK_A 0x40070103 +#define EXCHGID4_FLAG_MASK_R 0x80070103 +#define EXCHGID4_2_FLAG_MASK_R 0x80070107 +#define SEQ4_STATUS_CB_PATH_DOWN 0x00000001 +#define SEQ4_STATUS_CB_GSS_CONTEXTS_EXPIRING 0x00000002 +#define SEQ4_STATUS_CB_GSS_CONTEXTS_EXPIRED 0x00000004 +#define SEQ4_STATUS_EXPIRED_ALL_STATE_REVOKED 0x00000008 +#define SEQ4_STATUS_EXPIRED_SOME_STATE_REVOKED 0x00000010 +#define SEQ4_STATUS_ADMIN_STATE_REVOKED 0x00000020 +#define SEQ4_STATUS_RECALLABLE_STATE_REVOKED 0x00000040 +#define SEQ4_STATUS_LEASE_MOVED 0x00000080 +#define SEQ4_STATUS_RESTART_RECLAIM_NEEDED 0x00000100 +#define SEQ4_STATUS_CB_PATH_DOWN_SESSION 0x00000200 +#define SEQ4_STATUS_BACKCHANNEL_FAULT 0x00000400 +#define NFS4_SECINFO_STYLE4_CURRENT_FH 0 +#define NFS4_SECINFO_STYLE4_PARENT 1 +#define NFS4_MAX_UINT64 (~(__u64)0) +#define NFS4_MAX_OPS 8 +#define NFS4_MAX_BACK_CHANNEL_OPS 2 +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/nfs4_mount.h b/linux-5.10/prebuilts/usr/include/linux/nfs4_mount.h new file mode 100644 index 0000000..c1f724f --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/nfs4_mount.h @@ -0,0 +1,46 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _LINUX_NFS4_MOUNT_H +#define _LINUX_NFS4_MOUNT_H +#define NFS4_MOUNT_VERSION 1 +struct nfs_string { + unsigned int len; + const char __user * data; +}; +struct nfs4_mount_data { + int version; + int flags; + int rsize; + int wsize; + int timeo; + int retrans; + int acregmin; + int acregmax; + int acdirmin; + int acdirmax; + + struct nfs_string client_addr; + + struct nfs_string mnt_path; + + struct nfs_string hostname; + + unsigned int host_addrlen; + struct sockaddr __user * host_addr; + + int proto; + + int auth_flavourlen; + int __user *auth_flavours; +}; +#define NFS4_MOUNT_SOFT 0x0001 +#define NFS4_MOUNT_INTR 0x0002 +#define NFS4_MOUNT_NOCTO 0x0010 +#define NFS4_MOUNT_NOAC 0x0020 +#define NFS4_MOUNT_STRICTLOCK 0x1000 +#define NFS4_MOUNT_UNSHARED 0x8000 +#define NFS4_MOUNT_FLAGMASK 0x9033 +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/nfs_fs.h b/linux-5.10/prebuilts/usr/include/linux/nfs_fs.h new file mode 100644 index 0000000..cd7825a --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/nfs_fs.h @@ -0,0 +1,41 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI_LINUX_NFS_FS_H +#define _UAPI_LINUX_NFS_FS_H +#include +#define NFS_DEF_UDP_TIMEO (11) +#define NFS_DEF_UDP_RETRANS (3) +#define NFS_DEF_TCP_TIMEO (600) +#define NFS_DEF_TCP_RETRANS (2) +#define NFS_MAX_UDP_TIMEOUT (60*HZ) +#define NFS_MAX_TCP_TIMEOUT (600*HZ) +#define NFS_DEF_ACREGMIN (3) +#define NFS_DEF_ACREGMAX (60) +#define NFS_DEF_ACDIRMIN (30) +#define NFS_DEF_ACDIRMAX (60) +#define FLUSH_SYNC 1 +#define FLUSH_STABLE 4 +#define FLUSH_LOWPRI 8 +#define FLUSH_HIGHPRI 16 +#define FLUSH_COND_STABLE 32 +#define NFSDBG_VFS 0x0001 +#define NFSDBG_DIRCACHE 0x0002 +#define NFSDBG_LOOKUPCACHE 0x0004 +#define NFSDBG_PAGECACHE 0x0008 +#define NFSDBG_PROC 0x0010 +#define NFSDBG_XDR 0x0020 +#define NFSDBG_FILE 0x0040 +#define NFSDBG_ROOT 0x0080 +#define NFSDBG_CALLBACK 0x0100 +#define NFSDBG_CLIENT 0x0200 +#define NFSDBG_MOUNT 0x0400 +#define NFSDBG_FSCACHE 0x0800 +#define NFSDBG_PNFS 0x1000 +#define NFSDBG_PNFS_LD 0x2000 +#define NFSDBG_STATE 0x4000 +#define NFSDBG_XATTRCACHE 0x8000 +#define NFSDBG_ALL 0xFFFF +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/nfs_idmap.h b/linux-5.10/prebuilts/usr/include/linux/nfs_idmap.h new file mode 100644 index 0000000..f0901d3 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/nfs_idmap.h @@ -0,0 +1,25 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPINFS_IDMAP_H +#define _UAPINFS_IDMAP_H +#include +#define IDMAP_NAMESZ 128 +#define IDMAP_TYPE_USER 0 +#define IDMAP_TYPE_GROUP 1 +#define IDMAP_CONV_IDTONAME 0 +#define IDMAP_CONV_NAMETOID 1 +#define IDMAP_STATUS_INVALIDMSG 0x01 +#define IDMAP_STATUS_AGAIN 0x02 +#define IDMAP_STATUS_LOOKUPFAIL 0x04 +#define IDMAP_STATUS_SUCCESS 0x08 +struct idmap_msg { + __u8 im_type; + __u8 im_conv; + char im_name[IDMAP_NAMESZ]; + __u32 im_id; + __u8 im_status; +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/nfs_mount.h b/linux-5.10/prebuilts/usr/include/linux/nfs_mount.h new file mode 100644 index 0000000..3ceaa58 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/nfs_mount.h @@ -0,0 +1,52 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _LINUX_NFS_MOUNT_H +#define _LINUX_NFS_MOUNT_H +#include +#include +#include +#include +#define NFS_MOUNT_VERSION 6 +#define NFS_MAX_CONTEXT_LEN 256 +struct nfs_mount_data { + int version; + int fd; + struct nfs2_fh old_root; + int flags; + int rsize; + int wsize; + int timeo; + int retrans; + int acregmin; + int acregmax; + int acdirmin; + int acdirmax; + struct sockaddr_in addr; + char hostname[NFS_MAXNAMLEN + 1]; + int namlen; + unsigned int bsize; + struct nfs3_fh root; + int pseudoflavor; + char context[NFS_MAX_CONTEXT_LEN + 1]; +}; +#define NFS_MOUNT_SOFT 0x0001 +#define NFS_MOUNT_INTR 0x0002 +#define NFS_MOUNT_SECURE 0x0004 +#define NFS_MOUNT_POSIX 0x0008 +#define NFS_MOUNT_NOCTO 0x0010 +#define NFS_MOUNT_NOAC 0x0020 +#define NFS_MOUNT_TCP 0x0040 +#define NFS_MOUNT_VER3 0x0080 +#define NFS_MOUNT_KERBEROS 0x0100 +#define NFS_MOUNT_NONLM 0x0200 +#define NFS_MOUNT_BROKEN_SUID 0x0400 +#define NFS_MOUNT_NOACL 0x0800 +#define NFS_MOUNT_STRICTLOCK 0x1000 +#define NFS_MOUNT_SECFLAVOUR 0x2000 +#define NFS_MOUNT_NORDIRPLUS 0x4000 +#define NFS_MOUNT_UNSHARED 0x8000 +#define NFS_MOUNT_FLAGMASK 0xFFFF +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/nfsacl.h b/linux-5.10/prebuilts/usr/include/linux/nfsacl.h new file mode 100644 index 0000000..f41c9fb --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/nfsacl.h @@ -0,0 +1,23 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI__LINUX_NFSACL_H +#define _UAPI__LINUX_NFSACL_H +#define NFS_ACL_PROGRAM 100227 +#define ACLPROC2_NULL 0 +#define ACLPROC2_GETACL 1 +#define ACLPROC2_SETACL 2 +#define ACLPROC2_GETATTR 3 +#define ACLPROC2_ACCESS 4 +#define ACLPROC3_NULL 0 +#define ACLPROC3_GETACL 1 +#define ACLPROC3_SETACL 2 +#define NFS_ACL 0x0001 +#define NFS_ACLCNT 0x0002 +#define NFS_DFACL 0x0004 +#define NFS_DFACLCNT 0x0008 +#define NFS_ACL_MASK 0x000f +#define NFS_ACL_DEFAULT 0x1000 +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/nfsd/cld.h b/linux-5.10/prebuilts/usr/include/linux/nfsd/cld.h new file mode 100644 index 0000000..1316bb6 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/nfsd/cld.h @@ -0,0 +1,62 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _NFSD_CLD_H +#define _NFSD_CLD_H +#include +#define CLD_UPCALL_VERSION 2 +#define NFS4_OPAQUE_LIMIT 1024 +#ifndef SHA256_DIGEST_SIZE +#define SHA256_DIGEST_SIZE 32 +#endif +enum cld_command { + Cld_Create, + Cld_Remove, + Cld_Check, + Cld_GraceDone, + Cld_GraceStart, + Cld_GetVersion, +}; +struct cld_name { + __u16 cn_len; + unsigned char cn_id[NFS4_OPAQUE_LIMIT]; +} __attribute__((packed)); +struct cld_princhash { + __u8 cp_len; + unsigned char cp_data[SHA256_DIGEST_SIZE]; +} __attribute__((packed)); +struct cld_clntinfo { + struct cld_name cc_name; + struct cld_princhash cc_princhash; +} __attribute__((packed)); +struct cld_msg { + __u8 cm_vers; + __u8 cm_cmd; + __s16 cm_status; + __u32 cm_xid; + union { + __s64 cm_gracetime; + struct cld_name cm_name; + __u8 cm_version; + } __attribute__((packed)) cm_u; +} __attribute__((packed)); +struct cld_msg_v2 { + __u8 cm_vers; + __u8 cm_cmd; + __s16 cm_status; + __u32 cm_xid; + union { + struct cld_name cm_name; + __u8 cm_version; + struct cld_clntinfo cm_clntinfo; + } __attribute__((packed)) cm_u; +} __attribute__((packed)); +struct cld_msg_hdr { + __u8 cm_vers; + __u8 cm_cmd; + __s16 cm_status; + __u32 cm_xid; +} __attribute__((packed)); +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/nfsd/debug.h b/linux-5.10/prebuilts/usr/include/linux/nfsd/debug.h new file mode 100644 index 0000000..fe3f64c --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/nfsd/debug.h @@ -0,0 +1,22 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPILINUX_NFSD_DEBUG_H +#define _UAPILINUX_NFSD_DEBUG_H +#include +#define NFSDDBG_SOCK 0x0001 +#define NFSDDBG_FH 0x0002 +#define NFSDDBG_EXPORT 0x0004 +#define NFSDDBG_SVC 0x0008 +#define NFSDDBG_PROC 0x0010 +#define NFSDDBG_FILEOP 0x0020 +#define NFSDDBG_AUTH 0x0040 +#define NFSDDBG_REPCACHE 0x0080 +#define NFSDDBG_XDR 0x0100 +#define NFSDDBG_LOCKD 0x0200 +#define NFSDDBG_PNFS 0x0400 +#define NFSDDBG_ALL 0x7FFF +#define NFSDDBG_NOCHANGE 0xFFFF +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/nfsd/export.h b/linux-5.10/prebuilts/usr/include/linux/nfsd/export.h new file mode 100644 index 0000000..651a8c0 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/nfsd/export.h @@ -0,0 +1,33 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPINFSD_EXPORT_H +#define _UAPINFSD_EXPORT_H +# include +#define NFSCLNT_IDMAX 1024 +#define NFSCLNT_ADDRMAX 16 +#define NFSCLNT_KEYMAX 32 +#define NFSEXP_READONLY 0x0001 +#define NFSEXP_INSECURE_PORT 0x0002 +#define NFSEXP_ROOTSQUASH 0x0004 +#define NFSEXP_ALLSQUASH 0x0008 +#define NFSEXP_ASYNC 0x0010 +#define NFSEXP_GATHERED_WRITES 0x0020 +#define NFSEXP_NOREADDIRPLUS 0x0040 +#define NFSEXP_SECURITY_LABEL 0x0080 +#define NFSEXP_NOHIDE 0x0200 +#define NFSEXP_NOSUBTREECHECK 0x0400 +#define NFSEXP_NOAUTHNLM 0x0800 +#define NFSEXP_MSNFS 0x1000 +#define NFSEXP_FSID 0x2000 +#define NFSEXP_CROSSMOUNT 0x4000 +#define NFSEXP_NOACL 0x8000 +#define NFSEXP_V4ROOT 0x10000 +#define NFSEXP_PNFS 0x20000 +#define NFSEXP_ALLFLAGS 0x3FEFF +#define NFSEXP_SECINFO_FLAGS (NFSEXP_READONLY | NFSEXP_ROOTSQUASH \ + | NFSEXP_ALLSQUASH \ + | NFSEXP_INSECURE_PORT) +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/nfsd/nfsfh.h b/linux-5.10/prebuilts/usr/include/linux/nfsd/nfsfh.h new file mode 100644 index 0000000..ab433dc --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/nfsd/nfsfh.h @@ -0,0 +1,50 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI_LINUX_NFSD_FH_H +#define _UAPI_LINUX_NFSD_FH_H +#include +#include +#include +#include +#include +struct nfs_fhbase_old { + __u32 fb_dcookie; + __u32 fb_ino; + __u32 fb_dirino; + __u32 fb_dev; + __u32 fb_xdev; + __u32 fb_xino; + __u32 fb_generation; +}; +struct nfs_fhbase_new { + __u8 fb_version; + __u8 fb_auth_type; + __u8 fb_fsid_type; + __u8 fb_fileid_type; + __u32 fb_auth[1]; +}; +struct knfsd_fh { + unsigned int fh_size; + union { + struct nfs_fhbase_old fh_old; + __u32 fh_pad[NFS4_FHSIZE/4]; + struct nfs_fhbase_new fh_new; + } fh_base; +}; +#define ofh_dcookie fh_base.fh_old.fb_dcookie +#define ofh_ino fh_base.fh_old.fb_ino +#define ofh_dirino fh_base.fh_old.fb_dirino +#define ofh_dev fh_base.fh_old.fb_dev +#define ofh_xdev fh_base.fh_old.fb_xdev +#define ofh_xino fh_base.fh_old.fb_xino +#define ofh_generation fh_base.fh_old.fb_generation +#define fh_version fh_base.fh_new.fb_version +#define fh_fsid_type fh_base.fh_new.fb_fsid_type +#define fh_auth_type fh_base.fh_new.fb_auth_type +#define fh_fileid_type fh_base.fh_new.fb_fileid_type +#define fh_fsid fh_base.fh_new.fb_auth +#define fh_auth fh_base.fh_new.fb_auth +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/nfsd/stats.h b/linux-5.10/prebuilts/usr/include/linux/nfsd/stats.h new file mode 100644 index 0000000..6e918b0 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/nfsd/stats.h @@ -0,0 +1,10 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPILINUX_NFSD_STATS_H +#define _UAPILINUX_NFSD_STATS_H +#include +#define NFSD_USAGE_WRAP (HZ*1000000) +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/nilfs2_api.h b/linux-5.10/prebuilts/usr/include/linux/nilfs2_api.h new file mode 100644 index 0000000..4f87810 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/nilfs2_api.h @@ -0,0 +1,173 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _LINUX_NILFS2_API_H +#define _LINUX_NILFS2_API_H +#include +#include +struct nilfs_cpinfo { + __u32 ci_flags; + __u32 ci_pad; + __u64 ci_cno; + __u64 ci_create; + __u64 ci_nblk_inc; + __u64 ci_inodes_count; + __u64 ci_blocks_count; + __u64 ci_next; +}; +enum { + NILFS_CPINFO_SNAPSHOT, + NILFS_CPINFO_INVALID, + NILFS_CPINFO_SKETCH, + NILFS_CPINFO_MINOR, +}; +#define NILFS_CPINFO_FNS(flag, name) \ +static inline int \ +nilfs_cpinfo_##name(const struct nilfs_cpinfo *cpinfo) \ +{ \ + return !!(cpinfo->ci_flags & (1UL << NILFS_CPINFO_##flag)); \ +} +NILFS_CPINFO_FNS(SNAPSHOT, snapshot) +NILFS_CPINFO_FNS(INVALID, invalid) +NILFS_CPINFO_FNS(MINOR, minor) +struct nilfs_suinfo { + __u64 sui_lastmod; + __u32 sui_nblocks; + __u32 sui_flags; +}; +enum { + NILFS_SUINFO_ACTIVE, + NILFS_SUINFO_DIRTY, + NILFS_SUINFO_ERROR, +}; +#define NILFS_SUINFO_FNS(flag, name) \ +static inline int \ +nilfs_suinfo_##name(const struct nilfs_suinfo *si) \ +{ \ + return si->sui_flags & (1UL << NILFS_SUINFO_##flag); \ +} +NILFS_SUINFO_FNS(ACTIVE, active) +NILFS_SUINFO_FNS(DIRTY, dirty) +NILFS_SUINFO_FNS(ERROR, error) +static inline int nilfs_suinfo_clean(const struct nilfs_suinfo *si) +{ + return !si->sui_flags; +} +struct nilfs_suinfo_update { + __u64 sup_segnum; + __u32 sup_flags; + __u32 sup_reserved; + struct nilfs_suinfo sup_sui; +}; +enum { + NILFS_SUINFO_UPDATE_LASTMOD, + NILFS_SUINFO_UPDATE_NBLOCKS, + NILFS_SUINFO_UPDATE_FLAGS, + __NR_NILFS_SUINFO_UPDATE_FIELDS, +}; +#define NILFS_SUINFO_UPDATE_FNS(flag, name) \ +static inline void \ +nilfs_suinfo_update_set_##name(struct nilfs_suinfo_update *sup) \ +{ \ + sup->sup_flags |= 1UL << NILFS_SUINFO_UPDATE_##flag; \ +} \ +static inline void \ +nilfs_suinfo_update_clear_##name(struct nilfs_suinfo_update *sup) \ +{ \ + sup->sup_flags &= ~(1UL << NILFS_SUINFO_UPDATE_##flag); \ +} \ +static inline int \ +nilfs_suinfo_update_##name(const struct nilfs_suinfo_update *sup) \ +{ \ + return !!(sup->sup_flags & (1UL << NILFS_SUINFO_UPDATE_##flag));\ +} +NILFS_SUINFO_UPDATE_FNS(LASTMOD, lastmod) +NILFS_SUINFO_UPDATE_FNS(NBLOCKS, nblocks) +NILFS_SUINFO_UPDATE_FNS(FLAGS, flags) +enum { + NILFS_CHECKPOINT, + NILFS_SNAPSHOT, +}; +struct nilfs_cpmode { + __u64 cm_cno; + __u32 cm_mode; + __u32 cm_pad; +}; +struct nilfs_argv { + __u64 v_base; + __u32 v_nmembs; + __u16 v_size; + __u16 v_flags; + __u64 v_index; +}; +struct nilfs_period { + __u64 p_start; + __u64 p_end; +}; +struct nilfs_cpstat { + __u64 cs_cno; + __u64 cs_ncps; + __u64 cs_nsss; +}; +struct nilfs_sustat { + __u64 ss_nsegs; + __u64 ss_ncleansegs; + __u64 ss_ndirtysegs; + __u64 ss_ctime; + __u64 ss_nongc_ctime; + __u64 ss_prot_seq; +}; +struct nilfs_vinfo { + __u64 vi_vblocknr; + __u64 vi_start; + __u64 vi_end; + __u64 vi_blocknr; +}; +struct nilfs_vdesc { + __u64 vd_ino; + __u64 vd_cno; + __u64 vd_vblocknr; + struct nilfs_period vd_period; + __u64 vd_blocknr; + __u64 vd_offset; + __u32 vd_flags; + __u32 vd_pad; +}; +struct nilfs_bdesc { + __u64 bd_ino; + __u64 bd_oblocknr; + __u64 bd_blocknr; + __u64 bd_offset; + __u32 bd_level; + __u32 bd_pad; +}; +#define NILFS_IOCTL_IDENT 'n' +#define NILFS_IOCTL_CHANGE_CPMODE \ + _IOW(NILFS_IOCTL_IDENT, 0x80, struct nilfs_cpmode) +#define NILFS_IOCTL_DELETE_CHECKPOINT \ + _IOW(NILFS_IOCTL_IDENT, 0x81, __u64) +#define NILFS_IOCTL_GET_CPINFO \ + _IOR(NILFS_IOCTL_IDENT, 0x82, struct nilfs_argv) +#define NILFS_IOCTL_GET_CPSTAT \ + _IOR(NILFS_IOCTL_IDENT, 0x83, struct nilfs_cpstat) +#define NILFS_IOCTL_GET_SUINFO \ + _IOR(NILFS_IOCTL_IDENT, 0x84, struct nilfs_argv) +#define NILFS_IOCTL_GET_SUSTAT \ + _IOR(NILFS_IOCTL_IDENT, 0x85, struct nilfs_sustat) +#define NILFS_IOCTL_GET_VINFO \ + _IOWR(NILFS_IOCTL_IDENT, 0x86, struct nilfs_argv) +#define NILFS_IOCTL_GET_BDESCS \ + _IOWR(NILFS_IOCTL_IDENT, 0x87, struct nilfs_argv) +#define NILFS_IOCTL_CLEAN_SEGMENTS \ + _IOW(NILFS_IOCTL_IDENT, 0x88, struct nilfs_argv[5]) +#define NILFS_IOCTL_SYNC \ + _IOR(NILFS_IOCTL_IDENT, 0x8A, __u64) +#define NILFS_IOCTL_RESIZE \ + _IOW(NILFS_IOCTL_IDENT, 0x8B, __u64) +#define NILFS_IOCTL_SET_ALLOC_RANGE \ + _IOW(NILFS_IOCTL_IDENT, 0x8C, __u64[2]) +#define NILFS_IOCTL_SET_SUINFO \ + _IOW(NILFS_IOCTL_IDENT, 0x8D, struct nilfs_argv) +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/nilfs2_ondisk.h b/linux-5.10/prebuilts/usr/include/linux/nilfs2_ondisk.h new file mode 100644 index 0000000..2f6ffcb --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/nilfs2_ondisk.h @@ -0,0 +1,318 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _LINUX_NILFS2_ONDISK_H +#define _LINUX_NILFS2_ONDISK_H +#include +#include +#include +#define NILFS_INODE_BMAP_SIZE 7 +struct nilfs_inode { + __le64 i_blocks; + __le64 i_size; + __le64 i_ctime; + __le64 i_mtime; + __le32 i_ctime_nsec; + __le32 i_mtime_nsec; + __le32 i_uid; + __le32 i_gid; + __le16 i_mode; + __le16 i_links_count; + __le32 i_flags; + __le64 i_bmap[NILFS_INODE_BMAP_SIZE]; +#define i_device_code i_bmap[0] + __le64 i_xattr; + __le32 i_generation; + __le32 i_pad; +}; +#define NILFS_MIN_INODE_SIZE 128 +struct nilfs_super_root { + __le32 sr_sum; + __le16 sr_bytes; + __le16 sr_flags; + __le64 sr_nongc_ctime; + struct nilfs_inode sr_dat; + struct nilfs_inode sr_cpfile; + struct nilfs_inode sr_sufile; +}; +#define NILFS_SR_MDT_OFFSET(inode_size, i) \ + ((unsigned long)&((struct nilfs_super_root *)0)->sr_dat + \ + (inode_size) * (i)) +#define NILFS_SR_DAT_OFFSET(inode_size) NILFS_SR_MDT_OFFSET(inode_size, 0) +#define NILFS_SR_CPFILE_OFFSET(inode_size) NILFS_SR_MDT_OFFSET(inode_size, 1) +#define NILFS_SR_SUFILE_OFFSET(inode_size) NILFS_SR_MDT_OFFSET(inode_size, 2) +#define NILFS_SR_BYTES(inode_size) NILFS_SR_MDT_OFFSET(inode_size, 3) +#define NILFS_DFL_MAX_MNT_COUNT 50 +#define NILFS_VALID_FS 0x0001 +#define NILFS_ERROR_FS 0x0002 +#define NILFS_RESIZE_FS 0x0004 +#define NILFS_MOUNT_ERROR_MODE 0x0070 +#define NILFS_MOUNT_ERRORS_CONT 0x0010 +#define NILFS_MOUNT_ERRORS_RO 0x0020 +#define NILFS_MOUNT_ERRORS_PANIC 0x0040 +#define NILFS_MOUNT_BARRIER 0x1000 +#define NILFS_MOUNT_STRICT_ORDER 0x2000 +#define NILFS_MOUNT_NORECOVERY 0x4000 +#define NILFS_MOUNT_DISCARD 0x8000 +struct nilfs_super_block { + __le16 s_minor_rev_level; + __le16 s_magic; + __le16 s_bytes; + __le16 s_flags; + __le32 s_crc_seed; + __le32 s_log_block_size; + __le64 s_nsegments; + __le64 s_first_data_block; + __le32 s_r_segments_percentage; + __le64 s_last_cno; + __le64 s_last_seq; + __le64 s_ctime; + __le64 s_wtime; + __le16 s_max_mnt_count; + __le16 s_state; + __le16 s_errors; + __le64 s_lastcheck; + __le32 s_creator_os; + __le16 s_def_resuid; + __le16 s_def_resgid; + __le32 s_first_ino; + __le16 s_dat_entry_size; + __le16 s_checkpoint_size; + __le16 s_segment_usage_size; + __le32 s_c_block_max; + __le64 s_feature_compat_ro; + __le64 s_feature_incompat; + __u32 s_reserved[186]; +}; +#define NILFS_OS_LINUX 0 +#define NILFS_CURRENT_REV 2 +#define NILFS_MINOR_REV 0 +#define NILFS_MIN_SUPP_REV 2 +#define NILFS_FEATURE_COMPAT_RO_BLOCK_COUNT 0x00000001ULL +#define NILFS_FEATURE_COMPAT_SUPP 0ULL +#define NILFS_FEATURE_COMPAT_RO_SUPP NILFS_FEATURE_COMPAT_RO_BLOCK_COUNT +#define NILFS_FEATURE_INCOMPAT_SUPP 0ULL +#define NILFS_SB_BYTES \ + ((long)&((struct nilfs_super_block *)0)->s_reserved) +#define NILFS_ROOT_INO 2 +#define NILFS_DAT_INO 3 +#define NILFS_CPFILE_INO 4 +#define NILFS_SUFILE_INO 5 +#define NILFS_IFILE_INO 6 +#define NILFS_ATIME_INO 7 +#define NILFS_XATTR_INO 8 +#define NILFS_SKETCH_INO 10 +#define NILFS_USER_INO 11 +#define NILFS_SB_OFFSET_BYTES 1024 +#define NILFS_SEG_MIN_BLOCKS 16 +#define NILFS_PSEG_MIN_BLOCKS 2 +#define NILFS_MIN_NRSVSEGS 8 +#define NILFS_ROOT_METADATA_FILE(ino) \ + ((ino) >= NILFS_DAT_INO && (ino) <= NILFS_SUFILE_INO) +#define NILFS_SB2_OFFSET_BYTES(devsize) ((((devsize) >> 12) - 1) << 12) +#define NILFS_LINK_MAX 32000 +#define NILFS_NAME_LEN 255 +#define NILFS_MIN_BLOCK_SIZE 1024 +#define NILFS_MAX_BLOCK_SIZE 65536 +struct nilfs_dir_entry { + __le64 inode; + __le16 rec_len; + __u8 name_len; + __u8 file_type; + char name[NILFS_NAME_LEN]; + char pad; +}; +enum { + NILFS_FT_UNKNOWN, + NILFS_FT_REG_FILE, + NILFS_FT_DIR, + NILFS_FT_CHRDEV, + NILFS_FT_BLKDEV, + NILFS_FT_FIFO, + NILFS_FT_SOCK, + NILFS_FT_SYMLINK, + NILFS_FT_MAX +}; +#define NILFS_DIR_PAD 8 +#define NILFS_DIR_ROUND (NILFS_DIR_PAD - 1) +#define NILFS_DIR_REC_LEN(name_len) (((name_len) + 12 + NILFS_DIR_ROUND) & \ + ~NILFS_DIR_ROUND) +#define NILFS_MAX_REC_LEN ((1 << 16) - 1) +struct nilfs_finfo { + __le64 fi_ino; + __le64 fi_cno; + __le32 fi_nblocks; + __le32 fi_ndatablk; +}; +struct nilfs_binfo_v { + __le64 bi_vblocknr; + __le64 bi_blkoff; +}; +struct nilfs_binfo_dat { + __le64 bi_blkoff; + __u8 bi_level; + __u8 bi_pad[7]; +}; +union nilfs_binfo { + struct nilfs_binfo_v bi_v; + struct nilfs_binfo_dat bi_dat; +}; +struct nilfs_segment_summary { + __le32 ss_datasum; + __le32 ss_sumsum; + __le32 ss_magic; + __le16 ss_bytes; + __le16 ss_flags; + __le64 ss_seq; + __le64 ss_create; + __le64 ss_next; + __le32 ss_nblocks; + __le32 ss_nfinfo; + __le32 ss_sumbytes; + __le32 ss_pad; + __le64 ss_cno; + +}; +#define NILFS_SEGSUM_MAGIC 0x1eaffa11 +#define NILFS_SS_LOGBGN 0x0001 +#define NILFS_SS_LOGEND 0x0002 +#define NILFS_SS_SR 0x0004 +#define NILFS_SS_SYNDT 0x0008 +#define NILFS_SS_GC 0x0010 +struct nilfs_btree_node { + __u8 bn_flags; + __u8 bn_level; + __le16 bn_nchildren; + __le32 bn_pad; +}; +#define NILFS_BTREE_NODE_ROOT 0x01 +#define NILFS_BTREE_LEVEL_DATA 0 +#define NILFS_BTREE_LEVEL_NODE_MIN (NILFS_BTREE_LEVEL_DATA + 1) +#define NILFS_BTREE_LEVEL_MAX 14 +struct nilfs_direct_node { + __u8 dn_flags; + __u8 pad[7]; +}; +struct nilfs_palloc_group_desc { + __le32 pg_nfrees; +}; +struct nilfs_dat_entry { + __le64 de_blocknr; + __le64 de_start; + __le64 de_end; + __le64 de_rsv; +}; +#define NILFS_MIN_DAT_ENTRY_SIZE 32 +struct nilfs_snapshot_list { + __le64 ssl_next; + __le64 ssl_prev; +}; +struct nilfs_checkpoint { + __le32 cp_flags; + __le32 cp_checkpoints_count; + struct nilfs_snapshot_list cp_snapshot_list; + __le64 cp_cno; + __le64 cp_create; + __le64 cp_nblk_inc; + __le64 cp_inodes_count; + __le64 cp_blocks_count; + + struct nilfs_inode cp_ifile_inode; +}; +#define NILFS_MIN_CHECKPOINT_SIZE (64 + NILFS_MIN_INODE_SIZE) +enum { + NILFS_CHECKPOINT_SNAPSHOT, + NILFS_CHECKPOINT_INVALID, + NILFS_CHECKPOINT_SKETCH, + NILFS_CHECKPOINT_MINOR, +}; +#define NILFS_CHECKPOINT_FNS(flag, name) \ +static inline void \ +nilfs_checkpoint_set_##name(struct nilfs_checkpoint *cp) \ +{ \ + cp->cp_flags = __cpu_to_le32(__le32_to_cpu(cp->cp_flags) | \ + (1UL << NILFS_CHECKPOINT_##flag)); \ +} \ +static inline void \ +nilfs_checkpoint_clear_##name(struct nilfs_checkpoint *cp) \ +{ \ + cp->cp_flags = __cpu_to_le32(__le32_to_cpu(cp->cp_flags) & \ + ~(1UL << NILFS_CHECKPOINT_##flag)); \ +} \ +static inline int \ +nilfs_checkpoint_##name(const struct nilfs_checkpoint *cp) \ +{ \ + return !!(__le32_to_cpu(cp->cp_flags) & \ + (1UL << NILFS_CHECKPOINT_##flag)); \ +} +NILFS_CHECKPOINT_FNS(SNAPSHOT, snapshot) +NILFS_CHECKPOINT_FNS(INVALID, invalid) +NILFS_CHECKPOINT_FNS(MINOR, minor) +struct nilfs_cpfile_header { + __le64 ch_ncheckpoints; + __le64 ch_nsnapshots; + struct nilfs_snapshot_list ch_snapshot_list; +}; +#define NILFS_CPFILE_FIRST_CHECKPOINT_OFFSET \ + ((sizeof(struct nilfs_cpfile_header) + \ + sizeof(struct nilfs_checkpoint) - 1) / \ + sizeof(struct nilfs_checkpoint)) +struct nilfs_segment_usage { + __le64 su_lastmod; + __le32 su_nblocks; + __le32 su_flags; +}; +#define NILFS_MIN_SEGMENT_USAGE_SIZE 16 +enum { + NILFS_SEGMENT_USAGE_ACTIVE, + NILFS_SEGMENT_USAGE_DIRTY, + NILFS_SEGMENT_USAGE_ERROR, +}; +#define NILFS_SEGMENT_USAGE_FNS(flag, name) \ +static inline void \ +nilfs_segment_usage_set_##name(struct nilfs_segment_usage *su) \ +{ \ + su->su_flags = __cpu_to_le32(__le32_to_cpu(su->su_flags) | \ + (1UL << NILFS_SEGMENT_USAGE_##flag));\ +} \ +static inline void \ +nilfs_segment_usage_clear_##name(struct nilfs_segment_usage *su) \ +{ \ + su->su_flags = \ + __cpu_to_le32(__le32_to_cpu(su->su_flags) & \ + ~(1UL << NILFS_SEGMENT_USAGE_##flag)); \ +} \ +static inline int \ +nilfs_segment_usage_##name(const struct nilfs_segment_usage *su) \ +{ \ + return !!(__le32_to_cpu(su->su_flags) & \ + (1UL << NILFS_SEGMENT_USAGE_##flag)); \ +} +NILFS_SEGMENT_USAGE_FNS(ACTIVE, active) +NILFS_SEGMENT_USAGE_FNS(DIRTY, dirty) +NILFS_SEGMENT_USAGE_FNS(ERROR, error) +static inline void +nilfs_segment_usage_set_clean(struct nilfs_segment_usage *su) +{ + su->su_lastmod = __cpu_to_le64(0); + su->su_nblocks = __cpu_to_le32(0); + su->su_flags = __cpu_to_le32(0); +} +static inline int +nilfs_segment_usage_clean(const struct nilfs_segment_usage *su) +{ + return !__le32_to_cpu(su->su_flags); +} +struct nilfs_sufile_header { + __le64 sh_ncleansegs; + __le64 sh_ndirtysegs; + __le64 sh_last_alloc; + +}; +#define NILFS_SUFILE_FIRST_SEGMENT_USAGE_OFFSET \ + ((sizeof(struct nilfs_sufile_header) + \ + sizeof(struct nilfs_segment_usage) - 1) / \ + sizeof(struct nilfs_segment_usage)) +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/nitro_enclaves.h b/linux-5.10/prebuilts/usr/include/linux/nitro_enclaves.h new file mode 100644 index 0000000..c5544d6 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/nitro_enclaves.h @@ -0,0 +1,54 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI_LINUX_NITRO_ENCLAVES_H_ +#define _UAPI_LINUX_NITRO_ENCLAVES_H_ +#include +#define NE_CREATE_VM _IOR(0xAE, 0x20, __u64) +#define NE_ADD_VCPU _IOWR(0xAE, 0x21, __u32) +#define NE_GET_IMAGE_LOAD_INFO _IOWR(0xAE, 0x22, struct ne_image_load_info) +#define NE_SET_USER_MEMORY_REGION _IOW(0xAE, 0x23, struct ne_user_memory_region) +#define NE_START_ENCLAVE _IOWR(0xAE, 0x24, struct ne_enclave_start_info) +#define NE_ERR_VCPU_ALREADY_USED (256) +#define NE_ERR_VCPU_NOT_IN_CPU_POOL (257) +#define NE_ERR_VCPU_INVALID_CPU_CORE (258) +#define NE_ERR_INVALID_MEM_REGION_SIZE (259) +#define NE_ERR_INVALID_MEM_REGION_ADDR (260) +#define NE_ERR_UNALIGNED_MEM_REGION_ADDR (261) +#define NE_ERR_MEM_REGION_ALREADY_USED (262) +#define NE_ERR_MEM_NOT_HUGE_PAGE (263) +#define NE_ERR_MEM_DIFFERENT_NUMA_NODE (264) +#define NE_ERR_MEM_MAX_REGIONS (265) +#define NE_ERR_NO_MEM_REGIONS_ADDED (266) +#define NE_ERR_NO_VCPUS_ADDED (267) +#define NE_ERR_ENCLAVE_MEM_MIN_SIZE (268) +#define NE_ERR_FULL_CORES_NOT_USED (269) +#define NE_ERR_NOT_IN_INIT_STATE (270) +#define NE_ERR_INVALID_VCPU (271) +#define NE_ERR_NO_CPUS_AVAIL_IN_POOL (272) +#define NE_ERR_INVALID_PAGE_SIZE (273) +#define NE_ERR_INVALID_FLAG_VALUE (274) +#define NE_ERR_INVALID_ENCLAVE_CID (275) +#define NE_EIF_IMAGE (0x01) +#define NE_IMAGE_LOAD_MAX_FLAG_VAL (0x02) +struct ne_image_load_info { + __u64 flags; + __u64 memory_offset; +}; +#define NE_DEFAULT_MEMORY_REGION (0x00) +#define NE_MEMORY_REGION_MAX_FLAG_VAL (0x01) +struct ne_user_memory_region { + __u64 flags; + __u64 memory_size; + __u64 userspace_addr; +}; +#define NE_ENCLAVE_PRODUCTION_MODE (0x00) +#define NE_ENCLAVE_DEBUG_MODE (0x01) +#define NE_ENCLAVE_START_MAX_FLAG_VAL (0x02) +struct ne_enclave_start_info { + __u64 flags; + __u64 enclave_cid; +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/nl80211.h b/linux-5.10/prebuilts/usr/include/linux/nl80211.h new file mode 100644 index 0000000..fcfe150 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/nl80211.h @@ -0,0 +1,1852 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef __LINUX_NL80211_H +#define __LINUX_NL80211_H +#include +#define NL80211_GENL_NAME "nl80211" +#define NL80211_MULTICAST_GROUP_CONFIG "config" +#define NL80211_MULTICAST_GROUP_SCAN "scan" +#define NL80211_MULTICAST_GROUP_REG "regulatory" +#define NL80211_MULTICAST_GROUP_MLME "mlme" +#define NL80211_MULTICAST_GROUP_VENDOR "vendor" +#define NL80211_MULTICAST_GROUP_NAN "nan" +#define NL80211_MULTICAST_GROUP_TESTMODE "testmode" +#define NL80211_EDMG_BW_CONFIG_MIN 4 +#define NL80211_EDMG_BW_CONFIG_MAX 15 +#define NL80211_EDMG_CHANNELS_MIN 1 +#define NL80211_EDMG_CHANNELS_MAX 0x3c +enum nl80211_commands { + NL80211_CMD_UNSPEC, + NL80211_CMD_GET_WIPHY, + NL80211_CMD_SET_WIPHY, + NL80211_CMD_NEW_WIPHY, + NL80211_CMD_DEL_WIPHY, + NL80211_CMD_GET_INTERFACE, + NL80211_CMD_SET_INTERFACE, + NL80211_CMD_NEW_INTERFACE, + NL80211_CMD_DEL_INTERFACE, + NL80211_CMD_GET_KEY, + NL80211_CMD_SET_KEY, + NL80211_CMD_NEW_KEY, + NL80211_CMD_DEL_KEY, + NL80211_CMD_GET_BEACON, + NL80211_CMD_SET_BEACON, + NL80211_CMD_START_AP, + NL80211_CMD_NEW_BEACON = NL80211_CMD_START_AP, + NL80211_CMD_STOP_AP, + NL80211_CMD_DEL_BEACON = NL80211_CMD_STOP_AP, + NL80211_CMD_GET_STATION, + NL80211_CMD_SET_STATION, + NL80211_CMD_NEW_STATION, + NL80211_CMD_DEL_STATION, + NL80211_CMD_GET_MPATH, + NL80211_CMD_SET_MPATH, + NL80211_CMD_NEW_MPATH, + NL80211_CMD_DEL_MPATH, + NL80211_CMD_SET_BSS, + NL80211_CMD_SET_REG, + NL80211_CMD_REQ_SET_REG, + NL80211_CMD_GET_MESH_CONFIG, + NL80211_CMD_SET_MESH_CONFIG, + NL80211_CMD_SET_MGMT_EXTRA_IE , + NL80211_CMD_GET_REG, + NL80211_CMD_GET_SCAN, + NL80211_CMD_TRIGGER_SCAN, + NL80211_CMD_NEW_SCAN_RESULTS, + NL80211_CMD_SCAN_ABORTED, + NL80211_CMD_REG_CHANGE, + NL80211_CMD_AUTHENTICATE, + NL80211_CMD_ASSOCIATE, + NL80211_CMD_DEAUTHENTICATE, + NL80211_CMD_DISASSOCIATE, + NL80211_CMD_MICHAEL_MIC_FAILURE, + NL80211_CMD_REG_BEACON_HINT, + NL80211_CMD_JOIN_IBSS, + NL80211_CMD_LEAVE_IBSS, + NL80211_CMD_TESTMODE, + NL80211_CMD_CONNECT, + NL80211_CMD_ROAM, + NL80211_CMD_DISCONNECT, + NL80211_CMD_SET_WIPHY_NETNS, + NL80211_CMD_GET_SURVEY, + NL80211_CMD_NEW_SURVEY_RESULTS, + NL80211_CMD_SET_PMKSA, + NL80211_CMD_DEL_PMKSA, + NL80211_CMD_FLUSH_PMKSA, + NL80211_CMD_REMAIN_ON_CHANNEL, + NL80211_CMD_CANCEL_REMAIN_ON_CHANNEL, + NL80211_CMD_SET_TX_BITRATE_MASK, + NL80211_CMD_REGISTER_FRAME, + NL80211_CMD_REGISTER_ACTION = NL80211_CMD_REGISTER_FRAME, + NL80211_CMD_FRAME, + NL80211_CMD_ACTION = NL80211_CMD_FRAME, + NL80211_CMD_FRAME_TX_STATUS, + NL80211_CMD_ACTION_TX_STATUS = NL80211_CMD_FRAME_TX_STATUS, + NL80211_CMD_SET_POWER_SAVE, + NL80211_CMD_GET_POWER_SAVE, + NL80211_CMD_SET_CQM, + NL80211_CMD_NOTIFY_CQM, + NL80211_CMD_SET_CHANNEL, + NL80211_CMD_SET_WDS_PEER, + NL80211_CMD_FRAME_WAIT_CANCEL, + NL80211_CMD_JOIN_MESH, + NL80211_CMD_LEAVE_MESH, + NL80211_CMD_UNPROT_DEAUTHENTICATE, + NL80211_CMD_UNPROT_DISASSOCIATE, + NL80211_CMD_NEW_PEER_CANDIDATE, + NL80211_CMD_GET_WOWLAN, + NL80211_CMD_SET_WOWLAN, + NL80211_CMD_START_SCHED_SCAN, + NL80211_CMD_STOP_SCHED_SCAN, + NL80211_CMD_SCHED_SCAN_RESULTS, + NL80211_CMD_SCHED_SCAN_STOPPED, + NL80211_CMD_SET_REKEY_OFFLOAD, + NL80211_CMD_PMKSA_CANDIDATE, + NL80211_CMD_TDLS_OPER, + NL80211_CMD_TDLS_MGMT, + NL80211_CMD_UNEXPECTED_FRAME, + NL80211_CMD_PROBE_CLIENT, + NL80211_CMD_REGISTER_BEACONS, + NL80211_CMD_UNEXPECTED_4ADDR_FRAME, + NL80211_CMD_SET_NOACK_MAP, + NL80211_CMD_CH_SWITCH_NOTIFY, + NL80211_CMD_START_P2P_DEVICE, + NL80211_CMD_STOP_P2P_DEVICE, + NL80211_CMD_CONN_FAILED, + NL80211_CMD_SET_MCAST_RATE, + NL80211_CMD_SET_MAC_ACL, + NL80211_CMD_RADAR_DETECT, + NL80211_CMD_GET_PROTOCOL_FEATURES, + NL80211_CMD_UPDATE_FT_IES, + NL80211_CMD_FT_EVENT, + NL80211_CMD_CRIT_PROTOCOL_START, + NL80211_CMD_CRIT_PROTOCOL_STOP, + NL80211_CMD_GET_COALESCE, + NL80211_CMD_SET_COALESCE, + NL80211_CMD_CHANNEL_SWITCH, + NL80211_CMD_VENDOR, + NL80211_CMD_SET_QOS_MAP, + NL80211_CMD_ADD_TX_TS, + NL80211_CMD_DEL_TX_TS, + NL80211_CMD_GET_MPP, + NL80211_CMD_JOIN_OCB, + NL80211_CMD_LEAVE_OCB, + NL80211_CMD_CH_SWITCH_STARTED_NOTIFY, + NL80211_CMD_TDLS_CHANNEL_SWITCH, + NL80211_CMD_TDLS_CANCEL_CHANNEL_SWITCH, + NL80211_CMD_WIPHY_REG_CHANGE, + NL80211_CMD_ABORT_SCAN, + NL80211_CMD_START_NAN, + NL80211_CMD_STOP_NAN, + NL80211_CMD_ADD_NAN_FUNCTION, + NL80211_CMD_DEL_NAN_FUNCTION, + NL80211_CMD_CHANGE_NAN_CONFIG, + NL80211_CMD_NAN_MATCH, + NL80211_CMD_SET_MULTICAST_TO_UNICAST, + NL80211_CMD_UPDATE_CONNECT_PARAMS, + NL80211_CMD_SET_PMK, + NL80211_CMD_DEL_PMK, + NL80211_CMD_PORT_AUTHORIZED, + NL80211_CMD_RELOAD_REGDB, + NL80211_CMD_EXTERNAL_AUTH, + NL80211_CMD_STA_OPMODE_CHANGED, + NL80211_CMD_CONTROL_PORT_FRAME, + NL80211_CMD_GET_FTM_RESPONDER_STATS, + NL80211_CMD_PEER_MEASUREMENT_START, + NL80211_CMD_PEER_MEASUREMENT_RESULT, + NL80211_CMD_PEER_MEASUREMENT_COMPLETE, + NL80211_CMD_NOTIFY_RADAR, + NL80211_CMD_UPDATE_OWE_INFO, + NL80211_CMD_PROBE_MESH_LINK, + NL80211_CMD_SET_TID_CONFIG, + NL80211_CMD_UNPROT_BEACON, + NL80211_CMD_CONTROL_PORT_FRAME_TX_STATUS, + + + __NL80211_CMD_AFTER_LAST, + NL80211_CMD_MAX = __NL80211_CMD_AFTER_LAST - 1 +}; +#define NL80211_CMD_SET_BSS NL80211_CMD_SET_BSS +#define NL80211_CMD_SET_MGMT_EXTRA_IE NL80211_CMD_SET_MGMT_EXTRA_IE +#define NL80211_CMD_REG_CHANGE NL80211_CMD_REG_CHANGE +#define NL80211_CMD_AUTHENTICATE NL80211_CMD_AUTHENTICATE +#define NL80211_CMD_ASSOCIATE NL80211_CMD_ASSOCIATE +#define NL80211_CMD_DEAUTHENTICATE NL80211_CMD_DEAUTHENTICATE +#define NL80211_CMD_DISASSOCIATE NL80211_CMD_DISASSOCIATE +#define NL80211_CMD_REG_BEACON_HINT NL80211_CMD_REG_BEACON_HINT +#define NL80211_ATTR_FEATURE_FLAGS NL80211_ATTR_FEATURE_FLAGS +#define NL80211_CMD_GET_MESH_PARAMS NL80211_CMD_GET_MESH_CONFIG +#define NL80211_CMD_SET_MESH_PARAMS NL80211_CMD_SET_MESH_CONFIG +#define NL80211_MESH_SETUP_VENDOR_PATH_SEL_IE NL80211_MESH_SETUP_IE +enum nl80211_attrs { + NL80211_ATTR_UNSPEC, + NL80211_ATTR_WIPHY, + NL80211_ATTR_WIPHY_NAME, + NL80211_ATTR_IFINDEX, + NL80211_ATTR_IFNAME, + NL80211_ATTR_IFTYPE, + NL80211_ATTR_MAC, + NL80211_ATTR_KEY_DATA, + NL80211_ATTR_KEY_IDX, + NL80211_ATTR_KEY_CIPHER, + NL80211_ATTR_KEY_SEQ, + NL80211_ATTR_KEY_DEFAULT, + NL80211_ATTR_BEACON_INTERVAL, + NL80211_ATTR_DTIM_PERIOD, + NL80211_ATTR_BEACON_HEAD, + NL80211_ATTR_BEACON_TAIL, + NL80211_ATTR_STA_AID, + NL80211_ATTR_STA_FLAGS, + NL80211_ATTR_STA_LISTEN_INTERVAL, + NL80211_ATTR_STA_SUPPORTED_RATES, + NL80211_ATTR_STA_VLAN, + NL80211_ATTR_STA_INFO, + NL80211_ATTR_WIPHY_BANDS, + NL80211_ATTR_MNTR_FLAGS, + NL80211_ATTR_MESH_ID, + NL80211_ATTR_STA_PLINK_ACTION, + NL80211_ATTR_MPATH_NEXT_HOP, + NL80211_ATTR_MPATH_INFO, + NL80211_ATTR_BSS_CTS_PROT, + NL80211_ATTR_BSS_SHORT_PREAMBLE, + NL80211_ATTR_BSS_SHORT_SLOT_TIME, + NL80211_ATTR_HT_CAPABILITY, + NL80211_ATTR_SUPPORTED_IFTYPES, + NL80211_ATTR_REG_ALPHA2, + NL80211_ATTR_REG_RULES, + NL80211_ATTR_MESH_CONFIG, + NL80211_ATTR_BSS_BASIC_RATES, + NL80211_ATTR_WIPHY_TXQ_PARAMS, + NL80211_ATTR_WIPHY_FREQ, + NL80211_ATTR_WIPHY_CHANNEL_TYPE, + NL80211_ATTR_KEY_DEFAULT_MGMT, + NL80211_ATTR_MGMT_SUBTYPE, + NL80211_ATTR_IE, + NL80211_ATTR_MAX_NUM_SCAN_SSIDS, + NL80211_ATTR_SCAN_FREQUENCIES, + NL80211_ATTR_SCAN_SSIDS, + NL80211_ATTR_GENERATION, + NL80211_ATTR_BSS, + NL80211_ATTR_REG_INITIATOR, + NL80211_ATTR_REG_TYPE, + NL80211_ATTR_SUPPORTED_COMMANDS, + NL80211_ATTR_FRAME, + NL80211_ATTR_SSID, + NL80211_ATTR_AUTH_TYPE, + NL80211_ATTR_REASON_CODE, + NL80211_ATTR_KEY_TYPE, + NL80211_ATTR_MAX_SCAN_IE_LEN, + NL80211_ATTR_CIPHER_SUITES, + NL80211_ATTR_FREQ_BEFORE, + NL80211_ATTR_FREQ_AFTER, + NL80211_ATTR_FREQ_FIXED, + NL80211_ATTR_WIPHY_RETRY_SHORT, + NL80211_ATTR_WIPHY_RETRY_LONG, + NL80211_ATTR_WIPHY_FRAG_THRESHOLD, + NL80211_ATTR_WIPHY_RTS_THRESHOLD, + NL80211_ATTR_TIMED_OUT, + NL80211_ATTR_USE_MFP, + NL80211_ATTR_STA_FLAGS2, + NL80211_ATTR_CONTROL_PORT, + NL80211_ATTR_TESTDATA, + NL80211_ATTR_PRIVACY, + NL80211_ATTR_DISCONNECTED_BY_AP, + NL80211_ATTR_STATUS_CODE, + NL80211_ATTR_CIPHER_SUITES_PAIRWISE, + NL80211_ATTR_CIPHER_SUITE_GROUP, + NL80211_ATTR_WPA_VERSIONS, + NL80211_ATTR_AKM_SUITES, + NL80211_ATTR_REQ_IE, + NL80211_ATTR_RESP_IE, + NL80211_ATTR_PREV_BSSID, + NL80211_ATTR_KEY, + NL80211_ATTR_KEYS, + NL80211_ATTR_PID, + NL80211_ATTR_4ADDR, + NL80211_ATTR_SURVEY_INFO, + NL80211_ATTR_PMKID, + NL80211_ATTR_MAX_NUM_PMKIDS, + NL80211_ATTR_DURATION, + NL80211_ATTR_COOKIE, + NL80211_ATTR_WIPHY_COVERAGE_CLASS, + NL80211_ATTR_TX_RATES, + NL80211_ATTR_FRAME_MATCH, + NL80211_ATTR_ACK, + NL80211_ATTR_PS_STATE, + NL80211_ATTR_CQM, + NL80211_ATTR_LOCAL_STATE_CHANGE, + NL80211_ATTR_AP_ISOLATE, + NL80211_ATTR_WIPHY_TX_POWER_SETTING, + NL80211_ATTR_WIPHY_TX_POWER_LEVEL, + NL80211_ATTR_TX_FRAME_TYPES, + NL80211_ATTR_RX_FRAME_TYPES, + NL80211_ATTR_FRAME_TYPE, + NL80211_ATTR_CONTROL_PORT_ETHERTYPE, + NL80211_ATTR_CONTROL_PORT_NO_ENCRYPT, + NL80211_ATTR_SUPPORT_IBSS_RSN, + NL80211_ATTR_WIPHY_ANTENNA_TX, + NL80211_ATTR_WIPHY_ANTENNA_RX, + NL80211_ATTR_MCAST_RATE, + NL80211_ATTR_OFFCHANNEL_TX_OK, + NL80211_ATTR_BSS_HT_OPMODE, + NL80211_ATTR_KEY_DEFAULT_TYPES, + NL80211_ATTR_MAX_REMAIN_ON_CHANNEL_DURATION, + NL80211_ATTR_MESH_SETUP, + NL80211_ATTR_WIPHY_ANTENNA_AVAIL_TX, + NL80211_ATTR_WIPHY_ANTENNA_AVAIL_RX, + NL80211_ATTR_SUPPORT_MESH_AUTH, + NL80211_ATTR_STA_PLINK_STATE, + NL80211_ATTR_WOWLAN_TRIGGERS, + NL80211_ATTR_WOWLAN_TRIGGERS_SUPPORTED, + NL80211_ATTR_SCHED_SCAN_INTERVAL, + NL80211_ATTR_INTERFACE_COMBINATIONS, + NL80211_ATTR_SOFTWARE_IFTYPES, + NL80211_ATTR_REKEY_DATA, + NL80211_ATTR_MAX_NUM_SCHED_SCAN_SSIDS, + NL80211_ATTR_MAX_SCHED_SCAN_IE_LEN, + NL80211_ATTR_SCAN_SUPP_RATES, + NL80211_ATTR_HIDDEN_SSID, + NL80211_ATTR_IE_PROBE_RESP, + NL80211_ATTR_IE_ASSOC_RESP, + NL80211_ATTR_STA_WME, + NL80211_ATTR_SUPPORT_AP_UAPSD, + NL80211_ATTR_ROAM_SUPPORT, + NL80211_ATTR_SCHED_SCAN_MATCH, + NL80211_ATTR_MAX_MATCH_SETS, + NL80211_ATTR_PMKSA_CANDIDATE, + NL80211_ATTR_TX_NO_CCK_RATE, + NL80211_ATTR_TDLS_ACTION, + NL80211_ATTR_TDLS_DIALOG_TOKEN, + NL80211_ATTR_TDLS_OPERATION, + NL80211_ATTR_TDLS_SUPPORT, + NL80211_ATTR_TDLS_EXTERNAL_SETUP, + NL80211_ATTR_DEVICE_AP_SME, + NL80211_ATTR_DONT_WAIT_FOR_ACK, + NL80211_ATTR_FEATURE_FLAGS, + NL80211_ATTR_PROBE_RESP_OFFLOAD, + NL80211_ATTR_PROBE_RESP, + NL80211_ATTR_DFS_REGION, + NL80211_ATTR_DISABLE_HT, + NL80211_ATTR_HT_CAPABILITY_MASK, + NL80211_ATTR_NOACK_MAP, + NL80211_ATTR_INACTIVITY_TIMEOUT, + NL80211_ATTR_RX_SIGNAL_DBM, + NL80211_ATTR_BG_SCAN_PERIOD, + NL80211_ATTR_WDEV, + NL80211_ATTR_USER_REG_HINT_TYPE, + NL80211_ATTR_CONN_FAILED_REASON, + NL80211_ATTR_AUTH_DATA, + NL80211_ATTR_VHT_CAPABILITY, + NL80211_ATTR_SCAN_FLAGS, + NL80211_ATTR_CHANNEL_WIDTH, + NL80211_ATTR_CENTER_FREQ1, + NL80211_ATTR_CENTER_FREQ2, + NL80211_ATTR_P2P_CTWINDOW, + NL80211_ATTR_P2P_OPPPS, + NL80211_ATTR_LOCAL_MESH_POWER_MODE, + NL80211_ATTR_ACL_POLICY, + NL80211_ATTR_MAC_ADDRS, + NL80211_ATTR_MAC_ACL_MAX, + NL80211_ATTR_RADAR_EVENT, + NL80211_ATTR_EXT_CAPA, + NL80211_ATTR_EXT_CAPA_MASK, + NL80211_ATTR_STA_CAPABILITY, + NL80211_ATTR_STA_EXT_CAPABILITY, + NL80211_ATTR_PROTOCOL_FEATURES, + NL80211_ATTR_SPLIT_WIPHY_DUMP, + NL80211_ATTR_DISABLE_VHT, + NL80211_ATTR_VHT_CAPABILITY_MASK, + NL80211_ATTR_MDID, + NL80211_ATTR_IE_RIC, + NL80211_ATTR_CRIT_PROT_ID, + NL80211_ATTR_MAX_CRIT_PROT_DURATION, + NL80211_ATTR_PEER_AID, + NL80211_ATTR_COALESCE_RULE, + NL80211_ATTR_CH_SWITCH_COUNT, + NL80211_ATTR_CH_SWITCH_BLOCK_TX, + NL80211_ATTR_CSA_IES, + NL80211_ATTR_CNTDWN_OFFS_BEACON, + NL80211_ATTR_CNTDWN_OFFS_PRESP, + NL80211_ATTR_RXMGMT_FLAGS, + NL80211_ATTR_STA_SUPPORTED_CHANNELS, + NL80211_ATTR_STA_SUPPORTED_OPER_CLASSES, + NL80211_ATTR_HANDLE_DFS, + NL80211_ATTR_SUPPORT_5_MHZ, + NL80211_ATTR_SUPPORT_10_MHZ, + NL80211_ATTR_OPMODE_NOTIF, + NL80211_ATTR_VENDOR_ID, + NL80211_ATTR_VENDOR_SUBCMD, + NL80211_ATTR_VENDOR_DATA, + NL80211_ATTR_VENDOR_EVENTS, + NL80211_ATTR_QOS_MAP, + NL80211_ATTR_MAC_HINT, + NL80211_ATTR_WIPHY_FREQ_HINT, + NL80211_ATTR_MAX_AP_ASSOC_STA, + NL80211_ATTR_TDLS_PEER_CAPABILITY, + NL80211_ATTR_SOCKET_OWNER, + NL80211_ATTR_CSA_C_OFFSETS_TX, + NL80211_ATTR_MAX_CSA_COUNTERS, + NL80211_ATTR_TDLS_INITIATOR, + NL80211_ATTR_USE_RRM, + NL80211_ATTR_WIPHY_DYN_ACK, + NL80211_ATTR_TSID, + NL80211_ATTR_USER_PRIO, + NL80211_ATTR_ADMITTED_TIME, + NL80211_ATTR_SMPS_MODE, + NL80211_ATTR_OPER_CLASS, + NL80211_ATTR_MAC_MASK, + NL80211_ATTR_WIPHY_SELF_MANAGED_REG, + NL80211_ATTR_EXT_FEATURES, + NL80211_ATTR_SURVEY_RADIO_STATS, + NL80211_ATTR_NETNS_FD, + NL80211_ATTR_SCHED_SCAN_DELAY, + NL80211_ATTR_REG_INDOOR, + NL80211_ATTR_MAX_NUM_SCHED_SCAN_PLANS, + NL80211_ATTR_MAX_SCAN_PLAN_INTERVAL, + NL80211_ATTR_MAX_SCAN_PLAN_ITERATIONS, + NL80211_ATTR_SCHED_SCAN_PLANS, + NL80211_ATTR_PBSS, + NL80211_ATTR_BSS_SELECT, + NL80211_ATTR_STA_SUPPORT_P2P_PS, + NL80211_ATTR_PAD, + NL80211_ATTR_IFTYPE_EXT_CAPA, + NL80211_ATTR_MU_MIMO_GROUP_DATA, + NL80211_ATTR_MU_MIMO_FOLLOW_MAC_ADDR, + NL80211_ATTR_SCAN_START_TIME_TSF, + NL80211_ATTR_SCAN_START_TIME_TSF_BSSID, + NL80211_ATTR_MEASUREMENT_DURATION, + NL80211_ATTR_MEASUREMENT_DURATION_MANDATORY, + NL80211_ATTR_MESH_PEER_AID, + NL80211_ATTR_NAN_MASTER_PREF, + NL80211_ATTR_BANDS, + NL80211_ATTR_NAN_FUNC, + NL80211_ATTR_NAN_MATCH, + NL80211_ATTR_FILS_KEK, + NL80211_ATTR_FILS_NONCES, + NL80211_ATTR_MULTICAST_TO_UNICAST_ENABLED, + NL80211_ATTR_BSSID, + NL80211_ATTR_SCHED_SCAN_RELATIVE_RSSI, + NL80211_ATTR_SCHED_SCAN_RSSI_ADJUST, + NL80211_ATTR_TIMEOUT_REASON, + NL80211_ATTR_FILS_ERP_USERNAME, + NL80211_ATTR_FILS_ERP_REALM, + NL80211_ATTR_FILS_ERP_NEXT_SEQ_NUM, + NL80211_ATTR_FILS_ERP_RRK, + NL80211_ATTR_FILS_CACHE_ID, + NL80211_ATTR_PMK, + NL80211_ATTR_SCHED_SCAN_MULTI, + NL80211_ATTR_SCHED_SCAN_MAX_REQS, + NL80211_ATTR_WANT_1X_4WAY_HS, + NL80211_ATTR_PMKR0_NAME, + NL80211_ATTR_PORT_AUTHORIZED, + NL80211_ATTR_EXTERNAL_AUTH_ACTION, + NL80211_ATTR_EXTERNAL_AUTH_SUPPORT, + NL80211_ATTR_NSS, + NL80211_ATTR_ACK_SIGNAL, + NL80211_ATTR_CONTROL_PORT_OVER_NL80211, + NL80211_ATTR_TXQ_STATS, + NL80211_ATTR_TXQ_LIMIT, + NL80211_ATTR_TXQ_MEMORY_LIMIT, + NL80211_ATTR_TXQ_QUANTUM, + NL80211_ATTR_HE_CAPABILITY, + NL80211_ATTR_FTM_RESPONDER, + NL80211_ATTR_FTM_RESPONDER_STATS, + NL80211_ATTR_TIMEOUT, + NL80211_ATTR_PEER_MEASUREMENTS, + NL80211_ATTR_AIRTIME_WEIGHT, + NL80211_ATTR_STA_TX_POWER_SETTING, + NL80211_ATTR_STA_TX_POWER, + NL80211_ATTR_SAE_PASSWORD, + NL80211_ATTR_TWT_RESPONDER, + NL80211_ATTR_HE_OBSS_PD, + NL80211_ATTR_WIPHY_EDMG_CHANNELS, + NL80211_ATTR_WIPHY_EDMG_BW_CONFIG, + NL80211_ATTR_VLAN_ID, + NL80211_ATTR_HE_BSS_COLOR, + NL80211_ATTR_IFTYPE_AKM_SUITES, + NL80211_ATTR_TID_CONFIG, + NL80211_ATTR_CONTROL_PORT_NO_PREAUTH, + NL80211_ATTR_PMK_LIFETIME, + NL80211_ATTR_PMK_REAUTH_THRESHOLD, + NL80211_ATTR_RECEIVE_MULTICAST, + NL80211_ATTR_WIPHY_FREQ_OFFSET, + NL80211_ATTR_CENTER_FREQ1_OFFSET, + NL80211_ATTR_SCAN_FREQ_KHZ, + NL80211_ATTR_HE_6GHZ_CAPABILITY, + NL80211_ATTR_FILS_DISCOVERY, + NL80211_ATTR_UNSOL_BCAST_PROBE_RESP, + NL80211_ATTR_S1G_CAPABILITY, + NL80211_ATTR_S1G_CAPABILITY_MASK, + + __NL80211_ATTR_AFTER_LAST, + NUM_NL80211_ATTR = __NL80211_ATTR_AFTER_LAST, + NL80211_ATTR_MAX = __NL80211_ATTR_AFTER_LAST - 1 +}; +#define NL80211_ATTR_SCAN_GENERATION NL80211_ATTR_GENERATION +#define NL80211_ATTR_MESH_PARAMS NL80211_ATTR_MESH_CONFIG +#define NL80211_ATTR_IFACE_SOCKET_OWNER NL80211_ATTR_SOCKET_OWNER +#define NL80211_ATTR_SAE_DATA NL80211_ATTR_AUTH_DATA +#define NL80211_ATTR_CSA_C_OFF_BEACON NL80211_ATTR_CNTDWN_OFFS_BEACON +#define NL80211_ATTR_CSA_C_OFF_PRESP NL80211_ATTR_CNTDWN_OFFS_PRESP +#define NL80211_CMD_CONNECT NL80211_CMD_CONNECT +#define NL80211_ATTR_HT_CAPABILITY NL80211_ATTR_HT_CAPABILITY +#define NL80211_ATTR_BSS_BASIC_RATES NL80211_ATTR_BSS_BASIC_RATES +#define NL80211_ATTR_WIPHY_TXQ_PARAMS NL80211_ATTR_WIPHY_TXQ_PARAMS +#define NL80211_ATTR_WIPHY_FREQ NL80211_ATTR_WIPHY_FREQ +#define NL80211_ATTR_WIPHY_CHANNEL_TYPE NL80211_ATTR_WIPHY_CHANNEL_TYPE +#define NL80211_ATTR_MGMT_SUBTYPE NL80211_ATTR_MGMT_SUBTYPE +#define NL80211_ATTR_IE NL80211_ATTR_IE +#define NL80211_ATTR_REG_INITIATOR NL80211_ATTR_REG_INITIATOR +#define NL80211_ATTR_REG_TYPE NL80211_ATTR_REG_TYPE +#define NL80211_ATTR_FRAME NL80211_ATTR_FRAME +#define NL80211_ATTR_SSID NL80211_ATTR_SSID +#define NL80211_ATTR_AUTH_TYPE NL80211_ATTR_AUTH_TYPE +#define NL80211_ATTR_REASON_CODE NL80211_ATTR_REASON_CODE +#define NL80211_ATTR_CIPHER_SUITES_PAIRWISE NL80211_ATTR_CIPHER_SUITES_PAIRWISE +#define NL80211_ATTR_CIPHER_SUITE_GROUP NL80211_ATTR_CIPHER_SUITE_GROUP +#define NL80211_ATTR_WPA_VERSIONS NL80211_ATTR_WPA_VERSIONS +#define NL80211_ATTR_AKM_SUITES NL80211_ATTR_AKM_SUITES +#define NL80211_ATTR_KEY NL80211_ATTR_KEY +#define NL80211_ATTR_KEYS NL80211_ATTR_KEYS +#define NL80211_ATTR_FEATURE_FLAGS NL80211_ATTR_FEATURE_FLAGS +#define NL80211_WIPHY_NAME_MAXLEN 64 +#define NL80211_MAX_SUPP_RATES 32 +#define NL80211_MAX_SUPP_HT_RATES 77 +#define NL80211_MAX_SUPP_REG_RULES 128 +#define NL80211_TKIP_DATA_OFFSET_ENCR_KEY 0 +#define NL80211_TKIP_DATA_OFFSET_TX_MIC_KEY 16 +#define NL80211_TKIP_DATA_OFFSET_RX_MIC_KEY 24 +#define NL80211_HT_CAPABILITY_LEN 26 +#define NL80211_VHT_CAPABILITY_LEN 12 +#define NL80211_HE_MIN_CAPABILITY_LEN 16 +#define NL80211_HE_MAX_CAPABILITY_LEN 54 +#define NL80211_MAX_NR_CIPHER_SUITES 5 +#define NL80211_MAX_NR_AKM_SUITES 2 +#define NL80211_MIN_REMAIN_ON_CHANNEL_TIME 10 +#define NL80211_SCAN_RSSI_THOLD_OFF -300 +#define NL80211_CQM_TXE_MAX_INTVL 1800 +enum nl80211_iftype { + NL80211_IFTYPE_UNSPECIFIED, + NL80211_IFTYPE_ADHOC, + NL80211_IFTYPE_STATION, + NL80211_IFTYPE_AP, + NL80211_IFTYPE_AP_VLAN, + NL80211_IFTYPE_WDS, + NL80211_IFTYPE_MONITOR, + NL80211_IFTYPE_MESH_POINT, + NL80211_IFTYPE_P2P_CLIENT, + NL80211_IFTYPE_P2P_GO, + NL80211_IFTYPE_P2P_DEVICE, + NL80211_IFTYPE_OCB, + NL80211_IFTYPE_NAN, + + NUM_NL80211_IFTYPES, + NL80211_IFTYPE_MAX = NUM_NL80211_IFTYPES - 1 +}; +enum nl80211_sta_flags { + __NL80211_STA_FLAG_INVALID, + NL80211_STA_FLAG_AUTHORIZED, + NL80211_STA_FLAG_SHORT_PREAMBLE, + NL80211_STA_FLAG_WME, + NL80211_STA_FLAG_MFP, + NL80211_STA_FLAG_AUTHENTICATED, + NL80211_STA_FLAG_TDLS_PEER, + NL80211_STA_FLAG_ASSOCIATED, + + __NL80211_STA_FLAG_AFTER_LAST, + NL80211_STA_FLAG_MAX = __NL80211_STA_FLAG_AFTER_LAST - 1 +}; +enum nl80211_sta_p2p_ps_status { + NL80211_P2P_PS_UNSUPPORTED = 0, + NL80211_P2P_PS_SUPPORTED, + NUM_NL80211_P2P_PS_STATUS, +}; +#define NL80211_STA_FLAG_MAX_OLD_API NL80211_STA_FLAG_TDLS_PEER +struct nl80211_sta_flag_update { + __u32 mask; + __u32 set; +} __attribute__((packed)); +enum nl80211_he_gi { + NL80211_RATE_INFO_HE_GI_0_8, + NL80211_RATE_INFO_HE_GI_1_6, + NL80211_RATE_INFO_HE_GI_3_2, +}; +enum nl80211_he_ltf { + NL80211_RATE_INFO_HE_1XLTF, + NL80211_RATE_INFO_HE_2XLTF, + NL80211_RATE_INFO_HE_4XLTF, +}; +enum nl80211_he_ru_alloc { + NL80211_RATE_INFO_HE_RU_ALLOC_26, + NL80211_RATE_INFO_HE_RU_ALLOC_52, + NL80211_RATE_INFO_HE_RU_ALLOC_106, + NL80211_RATE_INFO_HE_RU_ALLOC_242, + NL80211_RATE_INFO_HE_RU_ALLOC_484, + NL80211_RATE_INFO_HE_RU_ALLOC_996, + NL80211_RATE_INFO_HE_RU_ALLOC_2x996, +}; +enum nl80211_rate_info { + __NL80211_RATE_INFO_INVALID, + NL80211_RATE_INFO_BITRATE, + NL80211_RATE_INFO_MCS, + NL80211_RATE_INFO_40_MHZ_WIDTH, + NL80211_RATE_INFO_SHORT_GI, + NL80211_RATE_INFO_BITRATE32, + NL80211_RATE_INFO_VHT_MCS, + NL80211_RATE_INFO_VHT_NSS, + NL80211_RATE_INFO_80_MHZ_WIDTH, + NL80211_RATE_INFO_80P80_MHZ_WIDTH, + NL80211_RATE_INFO_160_MHZ_WIDTH, + NL80211_RATE_INFO_10_MHZ_WIDTH, + NL80211_RATE_INFO_5_MHZ_WIDTH, + NL80211_RATE_INFO_HE_MCS, + NL80211_RATE_INFO_HE_NSS, + NL80211_RATE_INFO_HE_GI, + NL80211_RATE_INFO_HE_DCM, + NL80211_RATE_INFO_HE_RU_ALLOC, + + __NL80211_RATE_INFO_AFTER_LAST, + NL80211_RATE_INFO_MAX = __NL80211_RATE_INFO_AFTER_LAST - 1 +}; +enum nl80211_sta_bss_param { + __NL80211_STA_BSS_PARAM_INVALID, + NL80211_STA_BSS_PARAM_CTS_PROT, + NL80211_STA_BSS_PARAM_SHORT_PREAMBLE, + NL80211_STA_BSS_PARAM_SHORT_SLOT_TIME, + NL80211_STA_BSS_PARAM_DTIM_PERIOD, + NL80211_STA_BSS_PARAM_BEACON_INTERVAL, + + __NL80211_STA_BSS_PARAM_AFTER_LAST, + NL80211_STA_BSS_PARAM_MAX = __NL80211_STA_BSS_PARAM_AFTER_LAST - 1 +}; +enum nl80211_sta_info { + __NL80211_STA_INFO_INVALID, + NL80211_STA_INFO_INACTIVE_TIME, + NL80211_STA_INFO_RX_BYTES, + NL80211_STA_INFO_TX_BYTES, + NL80211_STA_INFO_LLID, + NL80211_STA_INFO_PLID, + NL80211_STA_INFO_PLINK_STATE, + NL80211_STA_INFO_SIGNAL, + NL80211_STA_INFO_TX_BITRATE, + NL80211_STA_INFO_RX_PACKETS, + NL80211_STA_INFO_TX_PACKETS, + NL80211_STA_INFO_TX_RETRIES, + NL80211_STA_INFO_TX_FAILED, + NL80211_STA_INFO_SIGNAL_AVG, + NL80211_STA_INFO_RX_BITRATE, + NL80211_STA_INFO_BSS_PARAM, + NL80211_STA_INFO_CONNECTED_TIME, + NL80211_STA_INFO_STA_FLAGS, + NL80211_STA_INFO_BEACON_LOSS, + NL80211_STA_INFO_T_OFFSET, + NL80211_STA_INFO_LOCAL_PM, + NL80211_STA_INFO_PEER_PM, + NL80211_STA_INFO_NONPEER_PM, + NL80211_STA_INFO_RX_BYTES64, + NL80211_STA_INFO_TX_BYTES64, + NL80211_STA_INFO_CHAIN_SIGNAL, + NL80211_STA_INFO_CHAIN_SIGNAL_AVG, + NL80211_STA_INFO_EXPECTED_THROUGHPUT, + NL80211_STA_INFO_RX_DROP_MISC, + NL80211_STA_INFO_BEACON_RX, + NL80211_STA_INFO_BEACON_SIGNAL_AVG, + NL80211_STA_INFO_TID_STATS, + NL80211_STA_INFO_RX_DURATION, + NL80211_STA_INFO_PAD, + NL80211_STA_INFO_ACK_SIGNAL, + NL80211_STA_INFO_ACK_SIGNAL_AVG, + NL80211_STA_INFO_RX_MPDUS, + NL80211_STA_INFO_FCS_ERROR_COUNT, + NL80211_STA_INFO_CONNECTED_TO_GATE, + NL80211_STA_INFO_TX_DURATION, + NL80211_STA_INFO_AIRTIME_WEIGHT, + NL80211_STA_INFO_AIRTIME_LINK_METRIC, + NL80211_STA_INFO_ASSOC_AT_BOOTTIME, + NL80211_STA_INFO_CONNECTED_TO_AS, + + __NL80211_STA_INFO_AFTER_LAST, + NL80211_STA_INFO_MAX = __NL80211_STA_INFO_AFTER_LAST - 1 +}; +#define NL80211_STA_INFO_DATA_ACK_SIGNAL_AVG NL80211_STA_INFO_ACK_SIGNAL_AVG +enum nl80211_tid_stats { + __NL80211_TID_STATS_INVALID, + NL80211_TID_STATS_RX_MSDU, + NL80211_TID_STATS_TX_MSDU, + NL80211_TID_STATS_TX_MSDU_RETRIES, + NL80211_TID_STATS_TX_MSDU_FAILED, + NL80211_TID_STATS_PAD, + NL80211_TID_STATS_TXQ_STATS, + + NUM_NL80211_TID_STATS, + NL80211_TID_STATS_MAX = NUM_NL80211_TID_STATS - 1 +}; +enum nl80211_txq_stats { + __NL80211_TXQ_STATS_INVALID, + NL80211_TXQ_STATS_BACKLOG_BYTES, + NL80211_TXQ_STATS_BACKLOG_PACKETS, + NL80211_TXQ_STATS_FLOWS, + NL80211_TXQ_STATS_DROPS, + NL80211_TXQ_STATS_ECN_MARKS, + NL80211_TXQ_STATS_OVERLIMIT, + NL80211_TXQ_STATS_OVERMEMORY, + NL80211_TXQ_STATS_COLLISIONS, + NL80211_TXQ_STATS_TX_BYTES, + NL80211_TXQ_STATS_TX_PACKETS, + NL80211_TXQ_STATS_MAX_FLOWS, + + NUM_NL80211_TXQ_STATS, + NL80211_TXQ_STATS_MAX = NUM_NL80211_TXQ_STATS - 1 +}; +enum nl80211_mpath_flags { + NL80211_MPATH_FLAG_ACTIVE = 1<<0, + NL80211_MPATH_FLAG_RESOLVING = 1<<1, + NL80211_MPATH_FLAG_SN_VALID = 1<<2, + NL80211_MPATH_FLAG_FIXED = 1<<3, + NL80211_MPATH_FLAG_RESOLVED = 1<<4, +}; +enum nl80211_mpath_info { + __NL80211_MPATH_INFO_INVALID, + NL80211_MPATH_INFO_FRAME_QLEN, + NL80211_MPATH_INFO_SN, + NL80211_MPATH_INFO_METRIC, + NL80211_MPATH_INFO_EXPTIME, + NL80211_MPATH_INFO_FLAGS, + NL80211_MPATH_INFO_DISCOVERY_TIMEOUT, + NL80211_MPATH_INFO_DISCOVERY_RETRIES, + NL80211_MPATH_INFO_HOP_COUNT, + NL80211_MPATH_INFO_PATH_CHANGE, + + __NL80211_MPATH_INFO_AFTER_LAST, + NL80211_MPATH_INFO_MAX = __NL80211_MPATH_INFO_AFTER_LAST - 1 +}; +enum nl80211_band_iftype_attr { + __NL80211_BAND_IFTYPE_ATTR_INVALID, + NL80211_BAND_IFTYPE_ATTR_IFTYPES, + NL80211_BAND_IFTYPE_ATTR_HE_CAP_MAC, + NL80211_BAND_IFTYPE_ATTR_HE_CAP_PHY, + NL80211_BAND_IFTYPE_ATTR_HE_CAP_MCS_SET, + NL80211_BAND_IFTYPE_ATTR_HE_CAP_PPE, + NL80211_BAND_IFTYPE_ATTR_HE_6GHZ_CAPA, + + __NL80211_BAND_IFTYPE_ATTR_AFTER_LAST, + NL80211_BAND_IFTYPE_ATTR_MAX = __NL80211_BAND_IFTYPE_ATTR_AFTER_LAST - 1 +}; +enum nl80211_band_attr { + __NL80211_BAND_ATTR_INVALID, + NL80211_BAND_ATTR_FREQS, + NL80211_BAND_ATTR_RATES, + NL80211_BAND_ATTR_HT_MCS_SET, + NL80211_BAND_ATTR_HT_CAPA, + NL80211_BAND_ATTR_HT_AMPDU_FACTOR, + NL80211_BAND_ATTR_HT_AMPDU_DENSITY, + NL80211_BAND_ATTR_VHT_MCS_SET, + NL80211_BAND_ATTR_VHT_CAPA, + NL80211_BAND_ATTR_IFTYPE_DATA, + NL80211_BAND_ATTR_EDMG_CHANNELS, + NL80211_BAND_ATTR_EDMG_BW_CONFIG, + + __NL80211_BAND_ATTR_AFTER_LAST, + NL80211_BAND_ATTR_MAX = __NL80211_BAND_ATTR_AFTER_LAST - 1 +}; +#define NL80211_BAND_ATTR_HT_CAPA NL80211_BAND_ATTR_HT_CAPA +enum nl80211_wmm_rule { + __NL80211_WMMR_INVALID, + NL80211_WMMR_CW_MIN, + NL80211_WMMR_CW_MAX, + NL80211_WMMR_AIFSN, + NL80211_WMMR_TXOP, + + __NL80211_WMMR_LAST, + NL80211_WMMR_MAX = __NL80211_WMMR_LAST - 1 +}; +enum nl80211_frequency_attr { + __NL80211_FREQUENCY_ATTR_INVALID, + NL80211_FREQUENCY_ATTR_FREQ, + NL80211_FREQUENCY_ATTR_DISABLED, + NL80211_FREQUENCY_ATTR_NO_IR, + __NL80211_FREQUENCY_ATTR_NO_IBSS, + NL80211_FREQUENCY_ATTR_RADAR, + NL80211_FREQUENCY_ATTR_MAX_TX_POWER, + NL80211_FREQUENCY_ATTR_DFS_STATE, + NL80211_FREQUENCY_ATTR_DFS_TIME, + NL80211_FREQUENCY_ATTR_NO_HT40_MINUS, + NL80211_FREQUENCY_ATTR_NO_HT40_PLUS, + NL80211_FREQUENCY_ATTR_NO_80MHZ, + NL80211_FREQUENCY_ATTR_NO_160MHZ, + NL80211_FREQUENCY_ATTR_DFS_CAC_TIME, + NL80211_FREQUENCY_ATTR_INDOOR_ONLY, + NL80211_FREQUENCY_ATTR_IR_CONCURRENT, + NL80211_FREQUENCY_ATTR_NO_20MHZ, + NL80211_FREQUENCY_ATTR_NO_10MHZ, + NL80211_FREQUENCY_ATTR_WMM, + NL80211_FREQUENCY_ATTR_NO_HE, + NL80211_FREQUENCY_ATTR_OFFSET, + NL80211_FREQUENCY_ATTR_1MHZ, + NL80211_FREQUENCY_ATTR_2MHZ, + NL80211_FREQUENCY_ATTR_4MHZ, + NL80211_FREQUENCY_ATTR_8MHZ, + NL80211_FREQUENCY_ATTR_16MHZ, + + __NL80211_FREQUENCY_ATTR_AFTER_LAST, + NL80211_FREQUENCY_ATTR_MAX = __NL80211_FREQUENCY_ATTR_AFTER_LAST - 1 +}; +#define NL80211_FREQUENCY_ATTR_MAX_TX_POWER NL80211_FREQUENCY_ATTR_MAX_TX_POWER +#define NL80211_FREQUENCY_ATTR_PASSIVE_SCAN NL80211_FREQUENCY_ATTR_NO_IR +#define NL80211_FREQUENCY_ATTR_NO_IBSS NL80211_FREQUENCY_ATTR_NO_IR +#define NL80211_FREQUENCY_ATTR_NO_IR NL80211_FREQUENCY_ATTR_NO_IR +#define NL80211_FREQUENCY_ATTR_GO_CONCURRENT \ + NL80211_FREQUENCY_ATTR_IR_CONCURRENT +enum nl80211_bitrate_attr { + __NL80211_BITRATE_ATTR_INVALID, + NL80211_BITRATE_ATTR_RATE, + NL80211_BITRATE_ATTR_2GHZ_SHORTPREAMBLE, + + __NL80211_BITRATE_ATTR_AFTER_LAST, + NL80211_BITRATE_ATTR_MAX = __NL80211_BITRATE_ATTR_AFTER_LAST - 1 +}; +enum nl80211_reg_initiator { + NL80211_REGDOM_SET_BY_CORE, + NL80211_REGDOM_SET_BY_USER, + NL80211_REGDOM_SET_BY_DRIVER, + NL80211_REGDOM_SET_BY_COUNTRY_IE, +}; +enum nl80211_reg_type { + NL80211_REGDOM_TYPE_COUNTRY, + NL80211_REGDOM_TYPE_WORLD, + NL80211_REGDOM_TYPE_CUSTOM_WORLD, + NL80211_REGDOM_TYPE_INTERSECTION, +}; +enum nl80211_reg_rule_attr { + __NL80211_REG_RULE_ATTR_INVALID, + NL80211_ATTR_REG_RULE_FLAGS, + NL80211_ATTR_FREQ_RANGE_START, + NL80211_ATTR_FREQ_RANGE_END, + NL80211_ATTR_FREQ_RANGE_MAX_BW, + NL80211_ATTR_POWER_RULE_MAX_ANT_GAIN, + NL80211_ATTR_POWER_RULE_MAX_EIRP, + NL80211_ATTR_DFS_CAC_TIME, + + __NL80211_REG_RULE_ATTR_AFTER_LAST, + NL80211_REG_RULE_ATTR_MAX = __NL80211_REG_RULE_ATTR_AFTER_LAST - 1 +}; +enum nl80211_sched_scan_match_attr { + __NL80211_SCHED_SCAN_MATCH_ATTR_INVALID, + NL80211_SCHED_SCAN_MATCH_ATTR_SSID, + NL80211_SCHED_SCAN_MATCH_ATTR_RSSI, + NL80211_SCHED_SCAN_MATCH_ATTR_RELATIVE_RSSI, + NL80211_SCHED_SCAN_MATCH_ATTR_RSSI_ADJUST, + NL80211_SCHED_SCAN_MATCH_ATTR_BSSID, + NL80211_SCHED_SCAN_MATCH_PER_BAND_RSSI, + + __NL80211_SCHED_SCAN_MATCH_ATTR_AFTER_LAST, + NL80211_SCHED_SCAN_MATCH_ATTR_MAX = + __NL80211_SCHED_SCAN_MATCH_ATTR_AFTER_LAST - 1 +}; +#define NL80211_ATTR_SCHED_SCAN_MATCH_SSID NL80211_SCHED_SCAN_MATCH_ATTR_SSID +enum nl80211_reg_rule_flags { + NL80211_RRF_NO_OFDM = 1<<0, + NL80211_RRF_NO_CCK = 1<<1, + NL80211_RRF_NO_INDOOR = 1<<2, + NL80211_RRF_NO_OUTDOOR = 1<<3, + NL80211_RRF_DFS = 1<<4, + NL80211_RRF_PTP_ONLY = 1<<5, + NL80211_RRF_PTMP_ONLY = 1<<6, + NL80211_RRF_NO_IR = 1<<7, + __NL80211_RRF_NO_IBSS = 1<<8, + NL80211_RRF_AUTO_BW = 1<<11, + NL80211_RRF_IR_CONCURRENT = 1<<12, + NL80211_RRF_NO_HT40MINUS = 1<<13, + NL80211_RRF_NO_HT40PLUS = 1<<14, + NL80211_RRF_NO_80MHZ = 1<<15, + NL80211_RRF_NO_160MHZ = 1<<16, + NL80211_RRF_NO_HE = 1<<17, +}; +#define NL80211_RRF_PASSIVE_SCAN NL80211_RRF_NO_IR +#define NL80211_RRF_NO_IBSS NL80211_RRF_NO_IR +#define NL80211_RRF_NO_IR NL80211_RRF_NO_IR +#define NL80211_RRF_NO_HT40 (NL80211_RRF_NO_HT40MINUS |\ + NL80211_RRF_NO_HT40PLUS) +#define NL80211_RRF_GO_CONCURRENT NL80211_RRF_IR_CONCURRENT +#define NL80211_RRF_NO_IR_ALL (NL80211_RRF_NO_IR | __NL80211_RRF_NO_IBSS) +enum nl80211_dfs_regions { + NL80211_DFS_UNSET = 0, + NL80211_DFS_FCC = 1, + NL80211_DFS_ETSI = 2, + NL80211_DFS_JP = 3, +}; +enum nl80211_user_reg_hint_type { + NL80211_USER_REG_HINT_USER = 0, + NL80211_USER_REG_HINT_CELL_BASE = 1, + NL80211_USER_REG_HINT_INDOOR = 2, +}; +enum nl80211_survey_info { + __NL80211_SURVEY_INFO_INVALID, + NL80211_SURVEY_INFO_FREQUENCY, + NL80211_SURVEY_INFO_NOISE, + NL80211_SURVEY_INFO_IN_USE, + NL80211_SURVEY_INFO_TIME, + NL80211_SURVEY_INFO_TIME_BUSY, + NL80211_SURVEY_INFO_TIME_EXT_BUSY, + NL80211_SURVEY_INFO_TIME_RX, + NL80211_SURVEY_INFO_TIME_TX, + NL80211_SURVEY_INFO_TIME_SCAN, + NL80211_SURVEY_INFO_PAD, + NL80211_SURVEY_INFO_TIME_BSS_RX, + NL80211_SURVEY_INFO_FREQUENCY_OFFSET, + + __NL80211_SURVEY_INFO_AFTER_LAST, + NL80211_SURVEY_INFO_MAX = __NL80211_SURVEY_INFO_AFTER_LAST - 1 +}; +#define NL80211_SURVEY_INFO_CHANNEL_TIME NL80211_SURVEY_INFO_TIME +#define NL80211_SURVEY_INFO_CHANNEL_TIME_BUSY NL80211_SURVEY_INFO_TIME_BUSY +#define NL80211_SURVEY_INFO_CHANNEL_TIME_EXT_BUSY NL80211_SURVEY_INFO_TIME_EXT_BUSY +#define NL80211_SURVEY_INFO_CHANNEL_TIME_RX NL80211_SURVEY_INFO_TIME_RX +#define NL80211_SURVEY_INFO_CHANNEL_TIME_TX NL80211_SURVEY_INFO_TIME_TX +enum nl80211_mntr_flags { + __NL80211_MNTR_FLAG_INVALID, + NL80211_MNTR_FLAG_FCSFAIL, + NL80211_MNTR_FLAG_PLCPFAIL, + NL80211_MNTR_FLAG_CONTROL, + NL80211_MNTR_FLAG_OTHER_BSS, + NL80211_MNTR_FLAG_COOK_FRAMES, + NL80211_MNTR_FLAG_ACTIVE, + + __NL80211_MNTR_FLAG_AFTER_LAST, + NL80211_MNTR_FLAG_MAX = __NL80211_MNTR_FLAG_AFTER_LAST - 1 +}; +enum nl80211_mesh_power_mode { + NL80211_MESH_POWER_UNKNOWN, + NL80211_MESH_POWER_ACTIVE, + NL80211_MESH_POWER_LIGHT_SLEEP, + NL80211_MESH_POWER_DEEP_SLEEP, + __NL80211_MESH_POWER_AFTER_LAST, + NL80211_MESH_POWER_MAX = __NL80211_MESH_POWER_AFTER_LAST - 1 +}; +enum nl80211_meshconf_params { + __NL80211_MESHCONF_INVALID, + NL80211_MESHCONF_RETRY_TIMEOUT, + NL80211_MESHCONF_CONFIRM_TIMEOUT, + NL80211_MESHCONF_HOLDING_TIMEOUT, + NL80211_MESHCONF_MAX_PEER_LINKS, + NL80211_MESHCONF_MAX_RETRIES, + NL80211_MESHCONF_TTL, + NL80211_MESHCONF_AUTO_OPEN_PLINKS, + NL80211_MESHCONF_HWMP_MAX_PREQ_RETRIES, + NL80211_MESHCONF_PATH_REFRESH_TIME, + NL80211_MESHCONF_MIN_DISCOVERY_TIMEOUT, + NL80211_MESHCONF_HWMP_ACTIVE_PATH_TIMEOUT, + NL80211_MESHCONF_HWMP_PREQ_MIN_INTERVAL, + NL80211_MESHCONF_HWMP_NET_DIAM_TRVS_TIME, + NL80211_MESHCONF_HWMP_ROOTMODE, + NL80211_MESHCONF_ELEMENT_TTL, + NL80211_MESHCONF_HWMP_RANN_INTERVAL, + NL80211_MESHCONF_GATE_ANNOUNCEMENTS, + NL80211_MESHCONF_HWMP_PERR_MIN_INTERVAL, + NL80211_MESHCONF_FORWARDING, + NL80211_MESHCONF_RSSI_THRESHOLD, + NL80211_MESHCONF_SYNC_OFFSET_MAX_NEIGHBOR, + NL80211_MESHCONF_HT_OPMODE, + NL80211_MESHCONF_HWMP_PATH_TO_ROOT_TIMEOUT, + NL80211_MESHCONF_HWMP_ROOT_INTERVAL, + NL80211_MESHCONF_HWMP_CONFIRMATION_INTERVAL, + NL80211_MESHCONF_POWER_MODE, + NL80211_MESHCONF_AWAKE_WINDOW, + NL80211_MESHCONF_PLINK_TIMEOUT, + NL80211_MESHCONF_CONNECTED_TO_GATE, + NL80211_MESHCONF_NOLEARN, + NL80211_MESHCONF_CONNECTED_TO_AS, + + __NL80211_MESHCONF_ATTR_AFTER_LAST, + NL80211_MESHCONF_ATTR_MAX = __NL80211_MESHCONF_ATTR_AFTER_LAST - 1 +}; +enum nl80211_mesh_setup_params { + __NL80211_MESH_SETUP_INVALID, + NL80211_MESH_SETUP_ENABLE_VENDOR_PATH_SEL, + NL80211_MESH_SETUP_ENABLE_VENDOR_METRIC, + NL80211_MESH_SETUP_IE, + NL80211_MESH_SETUP_USERSPACE_AUTH, + NL80211_MESH_SETUP_USERSPACE_AMPE, + NL80211_MESH_SETUP_ENABLE_VENDOR_SYNC, + NL80211_MESH_SETUP_USERSPACE_MPM, + NL80211_MESH_SETUP_AUTH_PROTOCOL, + + __NL80211_MESH_SETUP_ATTR_AFTER_LAST, + NL80211_MESH_SETUP_ATTR_MAX = __NL80211_MESH_SETUP_ATTR_AFTER_LAST - 1 +}; +enum nl80211_txq_attr { + __NL80211_TXQ_ATTR_INVALID, + NL80211_TXQ_ATTR_AC, + NL80211_TXQ_ATTR_TXOP, + NL80211_TXQ_ATTR_CWMIN, + NL80211_TXQ_ATTR_CWMAX, + NL80211_TXQ_ATTR_AIFS, + + __NL80211_TXQ_ATTR_AFTER_LAST, + NL80211_TXQ_ATTR_MAX = __NL80211_TXQ_ATTR_AFTER_LAST - 1 +}; +enum nl80211_ac { + NL80211_AC_VO, + NL80211_AC_VI, + NL80211_AC_BE, + NL80211_AC_BK, + NL80211_NUM_ACS +}; +#define NL80211_TXQ_ATTR_QUEUE NL80211_TXQ_ATTR_AC +#define NL80211_TXQ_Q_VO NL80211_AC_VO +#define NL80211_TXQ_Q_VI NL80211_AC_VI +#define NL80211_TXQ_Q_BE NL80211_AC_BE +#define NL80211_TXQ_Q_BK NL80211_AC_BK +enum nl80211_channel_type { + NL80211_CHAN_NO_HT, + NL80211_CHAN_HT20, + NL80211_CHAN_HT40MINUS, + NL80211_CHAN_HT40PLUS +}; +enum nl80211_key_mode { + NL80211_KEY_RX_TX, + NL80211_KEY_NO_TX, + NL80211_KEY_SET_TX +}; +enum nl80211_chan_width { + NL80211_CHAN_WIDTH_20_NOHT, + NL80211_CHAN_WIDTH_20, + NL80211_CHAN_WIDTH_40, + NL80211_CHAN_WIDTH_80, + NL80211_CHAN_WIDTH_80P80, + NL80211_CHAN_WIDTH_160, + NL80211_CHAN_WIDTH_5, + NL80211_CHAN_WIDTH_10, + NL80211_CHAN_WIDTH_1, + NL80211_CHAN_WIDTH_2, + NL80211_CHAN_WIDTH_4, + NL80211_CHAN_WIDTH_8, + NL80211_CHAN_WIDTH_16, +}; +enum nl80211_bss_scan_width { + NL80211_BSS_CHAN_WIDTH_20, + NL80211_BSS_CHAN_WIDTH_10, + NL80211_BSS_CHAN_WIDTH_5, + NL80211_BSS_CHAN_WIDTH_1, + NL80211_BSS_CHAN_WIDTH_2, +}; +enum nl80211_bss { + __NL80211_BSS_INVALID, + NL80211_BSS_BSSID, + NL80211_BSS_FREQUENCY, + NL80211_BSS_TSF, + NL80211_BSS_BEACON_INTERVAL, + NL80211_BSS_CAPABILITY, + NL80211_BSS_INFORMATION_ELEMENTS, + NL80211_BSS_SIGNAL_MBM, + NL80211_BSS_SIGNAL_UNSPEC, + NL80211_BSS_STATUS, + NL80211_BSS_SEEN_MS_AGO, + NL80211_BSS_BEACON_IES, + NL80211_BSS_CHAN_WIDTH, + NL80211_BSS_BEACON_TSF, + NL80211_BSS_PRESP_DATA, + NL80211_BSS_LAST_SEEN_BOOTTIME, + NL80211_BSS_PAD, + NL80211_BSS_PARENT_TSF, + NL80211_BSS_PARENT_BSSID, + NL80211_BSS_CHAIN_SIGNAL, + NL80211_BSS_FREQUENCY_OFFSET, + + __NL80211_BSS_AFTER_LAST, + NL80211_BSS_MAX = __NL80211_BSS_AFTER_LAST - 1 +}; +enum nl80211_bss_status { + NL80211_BSS_STATUS_AUTHENTICATED, + NL80211_BSS_STATUS_ASSOCIATED, + NL80211_BSS_STATUS_IBSS_JOINED, +}; +enum nl80211_auth_type { + NL80211_AUTHTYPE_OPEN_SYSTEM, + NL80211_AUTHTYPE_SHARED_KEY, + NL80211_AUTHTYPE_FT, + NL80211_AUTHTYPE_NETWORK_EAP, + NL80211_AUTHTYPE_SAE, + NL80211_AUTHTYPE_FILS_SK, + NL80211_AUTHTYPE_FILS_SK_PFS, + NL80211_AUTHTYPE_FILS_PK, + + __NL80211_AUTHTYPE_NUM, + NL80211_AUTHTYPE_MAX = __NL80211_AUTHTYPE_NUM - 1, + NL80211_AUTHTYPE_AUTOMATIC +}; +enum nl80211_key_type { + NL80211_KEYTYPE_GROUP, + NL80211_KEYTYPE_PAIRWISE, + NL80211_KEYTYPE_PEERKEY, + NUM_NL80211_KEYTYPES +}; +enum nl80211_mfp { + NL80211_MFP_NO, + NL80211_MFP_REQUIRED, + NL80211_MFP_OPTIONAL, +}; +enum nl80211_wpa_versions { + NL80211_WPA_VERSION_1 = 1 << 0, + NL80211_WPA_VERSION_2 = 1 << 1, + NL80211_WPA_VERSION_3 = 1 << 2, +}; +enum nl80211_key_default_types { + __NL80211_KEY_DEFAULT_TYPE_INVALID, + NL80211_KEY_DEFAULT_TYPE_UNICAST, + NL80211_KEY_DEFAULT_TYPE_MULTICAST, + NUM_NL80211_KEY_DEFAULT_TYPES +}; +enum nl80211_key_attributes { + __NL80211_KEY_INVALID, + NL80211_KEY_DATA, + NL80211_KEY_IDX, + NL80211_KEY_CIPHER, + NL80211_KEY_SEQ, + NL80211_KEY_DEFAULT, + NL80211_KEY_DEFAULT_MGMT, + NL80211_KEY_TYPE, + NL80211_KEY_DEFAULT_TYPES, + NL80211_KEY_MODE, + NL80211_KEY_DEFAULT_BEACON, + + __NL80211_KEY_AFTER_LAST, + NL80211_KEY_MAX = __NL80211_KEY_AFTER_LAST - 1 +}; +enum nl80211_tx_rate_attributes { + __NL80211_TXRATE_INVALID, + NL80211_TXRATE_LEGACY, + NL80211_TXRATE_HT, + NL80211_TXRATE_VHT, + NL80211_TXRATE_GI, + NL80211_TXRATE_HE, + NL80211_TXRATE_HE_GI, + NL80211_TXRATE_HE_LTF, + + __NL80211_TXRATE_AFTER_LAST, + NL80211_TXRATE_MAX = __NL80211_TXRATE_AFTER_LAST - 1 +}; +#define NL80211_TXRATE_MCS NL80211_TXRATE_HT +#define NL80211_VHT_NSS_MAX 8 +struct nl80211_txrate_vht { + __u16 mcs[NL80211_VHT_NSS_MAX]; +}; +#define NL80211_HE_NSS_MAX 8 +struct nl80211_txrate_he { + __u16 mcs[NL80211_HE_NSS_MAX]; +}; +enum nl80211_txrate_gi { + NL80211_TXRATE_DEFAULT_GI, + NL80211_TXRATE_FORCE_SGI, + NL80211_TXRATE_FORCE_LGI, +}; +enum nl80211_band { + NL80211_BAND_2GHZ, + NL80211_BAND_5GHZ, + NL80211_BAND_60GHZ, + NL80211_BAND_6GHZ, + NL80211_BAND_S1GHZ, + NUM_NL80211_BANDS, +}; +enum nl80211_ps_state { + NL80211_PS_DISABLED, + NL80211_PS_ENABLED, +}; +enum nl80211_attr_cqm { + __NL80211_ATTR_CQM_INVALID, + NL80211_ATTR_CQM_RSSI_THOLD, + NL80211_ATTR_CQM_RSSI_HYST, + NL80211_ATTR_CQM_RSSI_THRESHOLD_EVENT, + NL80211_ATTR_CQM_PKT_LOSS_EVENT, + NL80211_ATTR_CQM_TXE_RATE, + NL80211_ATTR_CQM_TXE_PKTS, + NL80211_ATTR_CQM_TXE_INTVL, + NL80211_ATTR_CQM_BEACON_LOSS_EVENT, + NL80211_ATTR_CQM_RSSI_LEVEL, + + __NL80211_ATTR_CQM_AFTER_LAST, + NL80211_ATTR_CQM_MAX = __NL80211_ATTR_CQM_AFTER_LAST - 1 +}; +enum nl80211_cqm_rssi_threshold_event { + NL80211_CQM_RSSI_THRESHOLD_EVENT_LOW, + NL80211_CQM_RSSI_THRESHOLD_EVENT_HIGH, + NL80211_CQM_RSSI_BEACON_LOSS_EVENT, +}; +enum nl80211_tx_power_setting { + NL80211_TX_POWER_AUTOMATIC, + NL80211_TX_POWER_LIMITED, + NL80211_TX_POWER_FIXED, +}; +enum nl80211_tid_config { + NL80211_TID_CONFIG_ENABLE, + NL80211_TID_CONFIG_DISABLE, +}; +enum nl80211_tx_rate_setting { + NL80211_TX_RATE_AUTOMATIC, + NL80211_TX_RATE_LIMITED, + NL80211_TX_RATE_FIXED, +}; +enum nl80211_tid_config_attr { + __NL80211_TID_CONFIG_ATTR_INVALID, + NL80211_TID_CONFIG_ATTR_PAD, + NL80211_TID_CONFIG_ATTR_VIF_SUPP, + NL80211_TID_CONFIG_ATTR_PEER_SUPP, + NL80211_TID_CONFIG_ATTR_OVERRIDE, + NL80211_TID_CONFIG_ATTR_TIDS, + NL80211_TID_CONFIG_ATTR_NOACK, + NL80211_TID_CONFIG_ATTR_RETRY_SHORT, + NL80211_TID_CONFIG_ATTR_RETRY_LONG, + NL80211_TID_CONFIG_ATTR_AMPDU_CTRL, + NL80211_TID_CONFIG_ATTR_RTSCTS_CTRL, + NL80211_TID_CONFIG_ATTR_AMSDU_CTRL, + NL80211_TID_CONFIG_ATTR_TX_RATE_TYPE, + NL80211_TID_CONFIG_ATTR_TX_RATE, + + __NL80211_TID_CONFIG_ATTR_AFTER_LAST, + NL80211_TID_CONFIG_ATTR_MAX = __NL80211_TID_CONFIG_ATTR_AFTER_LAST - 1 +}; +enum nl80211_packet_pattern_attr { + __NL80211_PKTPAT_INVALID, + NL80211_PKTPAT_MASK, + NL80211_PKTPAT_PATTERN, + NL80211_PKTPAT_OFFSET, + NUM_NL80211_PKTPAT, + MAX_NL80211_PKTPAT = NUM_NL80211_PKTPAT - 1, +}; +struct nl80211_pattern_support { + __u32 max_patterns; + __u32 min_pattern_len; + __u32 max_pattern_len; + __u32 max_pkt_offset; +} __attribute__((packed)); +#define __NL80211_WOWLAN_PKTPAT_INVALID __NL80211_PKTPAT_INVALID +#define NL80211_WOWLAN_PKTPAT_MASK NL80211_PKTPAT_MASK +#define NL80211_WOWLAN_PKTPAT_PATTERN NL80211_PKTPAT_PATTERN +#define NL80211_WOWLAN_PKTPAT_OFFSET NL80211_PKTPAT_OFFSET +#define NUM_NL80211_WOWLAN_PKTPAT NUM_NL80211_PKTPAT +#define MAX_NL80211_WOWLAN_PKTPAT MAX_NL80211_PKTPAT +#define nl80211_wowlan_pattern_support nl80211_pattern_support +enum nl80211_wowlan_triggers { + __NL80211_WOWLAN_TRIG_INVALID, + NL80211_WOWLAN_TRIG_ANY, + NL80211_WOWLAN_TRIG_DISCONNECT, + NL80211_WOWLAN_TRIG_MAGIC_PKT, + NL80211_WOWLAN_TRIG_PKT_PATTERN, + NL80211_WOWLAN_TRIG_GTK_REKEY_SUPPORTED, + NL80211_WOWLAN_TRIG_GTK_REKEY_FAILURE, + NL80211_WOWLAN_TRIG_EAP_IDENT_REQUEST, + NL80211_WOWLAN_TRIG_4WAY_HANDSHAKE, + NL80211_WOWLAN_TRIG_RFKILL_RELEASE, + NL80211_WOWLAN_TRIG_WAKEUP_PKT_80211, + NL80211_WOWLAN_TRIG_WAKEUP_PKT_80211_LEN, + NL80211_WOWLAN_TRIG_WAKEUP_PKT_8023, + NL80211_WOWLAN_TRIG_WAKEUP_PKT_8023_LEN, + NL80211_WOWLAN_TRIG_TCP_CONNECTION, + NL80211_WOWLAN_TRIG_WAKEUP_TCP_MATCH, + NL80211_WOWLAN_TRIG_WAKEUP_TCP_CONNLOST, + NL80211_WOWLAN_TRIG_WAKEUP_TCP_NOMORETOKENS, + NL80211_WOWLAN_TRIG_NET_DETECT, + NL80211_WOWLAN_TRIG_NET_DETECT_RESULTS, + + NUM_NL80211_WOWLAN_TRIG, + MAX_NL80211_WOWLAN_TRIG = NUM_NL80211_WOWLAN_TRIG - 1 +}; +struct nl80211_wowlan_tcp_data_seq { + __u32 start, offset, len; +}; +struct nl80211_wowlan_tcp_data_token { + __u32 offset, len; + __u8 token_stream[]; +}; +struct nl80211_wowlan_tcp_data_token_feature { + __u32 min_len, max_len, bufsize; +}; +enum nl80211_wowlan_tcp_attrs { + __NL80211_WOWLAN_TCP_INVALID, + NL80211_WOWLAN_TCP_SRC_IPV4, + NL80211_WOWLAN_TCP_DST_IPV4, + NL80211_WOWLAN_TCP_DST_MAC, + NL80211_WOWLAN_TCP_SRC_PORT, + NL80211_WOWLAN_TCP_DST_PORT, + NL80211_WOWLAN_TCP_DATA_PAYLOAD, + NL80211_WOWLAN_TCP_DATA_PAYLOAD_SEQ, + NL80211_WOWLAN_TCP_DATA_PAYLOAD_TOKEN, + NL80211_WOWLAN_TCP_DATA_INTERVAL, + NL80211_WOWLAN_TCP_WAKE_PAYLOAD, + NL80211_WOWLAN_TCP_WAKE_MASK, + + NUM_NL80211_WOWLAN_TCP, + MAX_NL80211_WOWLAN_TCP = NUM_NL80211_WOWLAN_TCP - 1 +}; +struct nl80211_coalesce_rule_support { + __u32 max_rules; + struct nl80211_pattern_support pat; + __u32 max_delay; +} __attribute__((packed)); +enum nl80211_attr_coalesce_rule { + __NL80211_COALESCE_RULE_INVALID, + NL80211_ATTR_COALESCE_RULE_DELAY, + NL80211_ATTR_COALESCE_RULE_CONDITION, + NL80211_ATTR_COALESCE_RULE_PKT_PATTERN, + + NUM_NL80211_ATTR_COALESCE_RULE, + NL80211_ATTR_COALESCE_RULE_MAX = NUM_NL80211_ATTR_COALESCE_RULE - 1 +}; +enum nl80211_coalesce_condition { + NL80211_COALESCE_CONDITION_MATCH, + NL80211_COALESCE_CONDITION_NO_MATCH +}; +enum nl80211_iface_limit_attrs { + NL80211_IFACE_LIMIT_UNSPEC, + NL80211_IFACE_LIMIT_MAX, + NL80211_IFACE_LIMIT_TYPES, + + NUM_NL80211_IFACE_LIMIT, + MAX_NL80211_IFACE_LIMIT = NUM_NL80211_IFACE_LIMIT - 1 +}; +enum nl80211_if_combination_attrs { + NL80211_IFACE_COMB_UNSPEC, + NL80211_IFACE_COMB_LIMITS, + NL80211_IFACE_COMB_MAXNUM, + NL80211_IFACE_COMB_STA_AP_BI_MATCH, + NL80211_IFACE_COMB_NUM_CHANNELS, + NL80211_IFACE_COMB_RADAR_DETECT_WIDTHS, + NL80211_IFACE_COMB_RADAR_DETECT_REGIONS, + NL80211_IFACE_COMB_BI_MIN_GCD, + + NUM_NL80211_IFACE_COMB, + MAX_NL80211_IFACE_COMB = NUM_NL80211_IFACE_COMB - 1 +}; +enum nl80211_plink_state { + NL80211_PLINK_LISTEN, + NL80211_PLINK_OPN_SNT, + NL80211_PLINK_OPN_RCVD, + NL80211_PLINK_CNF_RCVD, + NL80211_PLINK_ESTAB, + NL80211_PLINK_HOLDING, + NL80211_PLINK_BLOCKED, + + NUM_NL80211_PLINK_STATES, + MAX_NL80211_PLINK_STATES = NUM_NL80211_PLINK_STATES - 1 +}; +enum plink_actions { + NL80211_PLINK_ACTION_NO_ACTION, + NL80211_PLINK_ACTION_OPEN, + NL80211_PLINK_ACTION_BLOCK, + NUM_NL80211_PLINK_ACTIONS, +}; +#define NL80211_KCK_LEN 16 +#define NL80211_KEK_LEN 16 +#define NL80211_KCK_EXT_LEN 24 +#define NL80211_KEK_EXT_LEN 32 +#define NL80211_REPLAY_CTR_LEN 8 +enum nl80211_rekey_data { + __NL80211_REKEY_DATA_INVALID, + NL80211_REKEY_DATA_KEK, + NL80211_REKEY_DATA_KCK, + NL80211_REKEY_DATA_REPLAY_CTR, + NL80211_REKEY_DATA_AKM, + + NUM_NL80211_REKEY_DATA, + MAX_NL80211_REKEY_DATA = NUM_NL80211_REKEY_DATA - 1 +}; +enum nl80211_hidden_ssid { + NL80211_HIDDEN_SSID_NOT_IN_USE, + NL80211_HIDDEN_SSID_ZERO_LEN, + NL80211_HIDDEN_SSID_ZERO_CONTENTS +}; +enum nl80211_sta_wme_attr { + __NL80211_STA_WME_INVALID, + NL80211_STA_WME_UAPSD_QUEUES, + NL80211_STA_WME_MAX_SP, + + __NL80211_STA_WME_AFTER_LAST, + NL80211_STA_WME_MAX = __NL80211_STA_WME_AFTER_LAST - 1 +}; +enum nl80211_pmksa_candidate_attr { + __NL80211_PMKSA_CANDIDATE_INVALID, + NL80211_PMKSA_CANDIDATE_INDEX, + NL80211_PMKSA_CANDIDATE_BSSID, + NL80211_PMKSA_CANDIDATE_PREAUTH, + + NUM_NL80211_PMKSA_CANDIDATE, + MAX_NL80211_PMKSA_CANDIDATE = NUM_NL80211_PMKSA_CANDIDATE - 1 +}; +enum nl80211_tdls_operation { + NL80211_TDLS_DISCOVERY_REQ, + NL80211_TDLS_SETUP, + NL80211_TDLS_TEARDOWN, + NL80211_TDLS_ENABLE_LINK, + NL80211_TDLS_DISABLE_LINK, +}; +enum nl80211_feature_flags { + NL80211_FEATURE_SK_TX_STATUS = 1 << 0, + NL80211_FEATURE_HT_IBSS = 1 << 1, + NL80211_FEATURE_INACTIVITY_TIMER = 1 << 2, + NL80211_FEATURE_CELL_BASE_REG_HINTS = 1 << 3, + NL80211_FEATURE_P2P_DEVICE_NEEDS_CHANNEL = 1 << 4, + NL80211_FEATURE_SAE = 1 << 5, + NL80211_FEATURE_LOW_PRIORITY_SCAN = 1 << 6, + NL80211_FEATURE_SCAN_FLUSH = 1 << 7, + NL80211_FEATURE_AP_SCAN = 1 << 8, + NL80211_FEATURE_VIF_TXPOWER = 1 << 9, + NL80211_FEATURE_NEED_OBSS_SCAN = 1 << 10, + NL80211_FEATURE_P2P_GO_CTWIN = 1 << 11, + NL80211_FEATURE_P2P_GO_OPPPS = 1 << 12, + + NL80211_FEATURE_ADVERTISE_CHAN_LIMITS = 1 << 14, + NL80211_FEATURE_FULL_AP_CLIENT_STATE = 1 << 15, + NL80211_FEATURE_USERSPACE_MPM = 1 << 16, + NL80211_FEATURE_ACTIVE_MONITOR = 1 << 17, + NL80211_FEATURE_AP_MODE_CHAN_WIDTH_CHANGE = 1 << 18, + NL80211_FEATURE_DS_PARAM_SET_IE_IN_PROBES = 1 << 19, + NL80211_FEATURE_WFA_TPC_IE_IN_PROBES = 1 << 20, + NL80211_FEATURE_QUIET = 1 << 21, + NL80211_FEATURE_TX_POWER_INSERTION = 1 << 22, + NL80211_FEATURE_ACKTO_ESTIMATION = 1 << 23, + NL80211_FEATURE_STATIC_SMPS = 1 << 24, + NL80211_FEATURE_DYNAMIC_SMPS = 1 << 25, + NL80211_FEATURE_SUPPORTS_WMM_ADMISSION = 1 << 26, + NL80211_FEATURE_MAC_ON_CREATE = 1 << 27, + NL80211_FEATURE_TDLS_CHANNEL_SWITCH = 1 << 28, + NL80211_FEATURE_SCAN_RANDOM_MAC_ADDR = 1 << 29, + NL80211_FEATURE_SCHED_SCAN_RANDOM_MAC_ADDR = 1 << 30, + NL80211_FEATURE_ND_RANDOM_MAC_ADDR = 1U << 31, +}; +enum nl80211_ext_feature_index { + NL80211_EXT_FEATURE_VHT_IBSS, + NL80211_EXT_FEATURE_RRM, + NL80211_EXT_FEATURE_MU_MIMO_AIR_SNIFFER, + NL80211_EXT_FEATURE_SCAN_START_TIME, + NL80211_EXT_FEATURE_BSS_PARENT_TSF, + NL80211_EXT_FEATURE_SET_SCAN_DWELL, + NL80211_EXT_FEATURE_BEACON_RATE_LEGACY, + NL80211_EXT_FEATURE_BEACON_RATE_HT, + NL80211_EXT_FEATURE_BEACON_RATE_VHT, + NL80211_EXT_FEATURE_FILS_STA, + NL80211_EXT_FEATURE_MGMT_TX_RANDOM_TA, + NL80211_EXT_FEATURE_MGMT_TX_RANDOM_TA_CONNECTED, + NL80211_EXT_FEATURE_SCHED_SCAN_RELATIVE_RSSI, + NL80211_EXT_FEATURE_CQM_RSSI_LIST, + NL80211_EXT_FEATURE_FILS_SK_OFFLOAD, + NL80211_EXT_FEATURE_4WAY_HANDSHAKE_STA_PSK, + NL80211_EXT_FEATURE_4WAY_HANDSHAKE_STA_1X, + NL80211_EXT_FEATURE_FILS_MAX_CHANNEL_TIME, + NL80211_EXT_FEATURE_ACCEPT_BCAST_PROBE_RESP, + NL80211_EXT_FEATURE_OCE_PROBE_REQ_HIGH_TX_RATE, + NL80211_EXT_FEATURE_OCE_PROBE_REQ_DEFERRAL_SUPPRESSION, + NL80211_EXT_FEATURE_MFP_OPTIONAL, + NL80211_EXT_FEATURE_LOW_SPAN_SCAN, + NL80211_EXT_FEATURE_LOW_POWER_SCAN, + NL80211_EXT_FEATURE_HIGH_ACCURACY_SCAN, + NL80211_EXT_FEATURE_DFS_OFFLOAD, + NL80211_EXT_FEATURE_CONTROL_PORT_OVER_NL80211, + NL80211_EXT_FEATURE_ACK_SIGNAL_SUPPORT, + + NL80211_EXT_FEATURE_DATA_ACK_SIGNAL_SUPPORT = NL80211_EXT_FEATURE_ACK_SIGNAL_SUPPORT, + NL80211_EXT_FEATURE_TXQS, + NL80211_EXT_FEATURE_SCAN_RANDOM_SN, + NL80211_EXT_FEATURE_SCAN_MIN_PREQ_CONTENT, + NL80211_EXT_FEATURE_CAN_REPLACE_PTK0, + NL80211_EXT_FEATURE_ENABLE_FTM_RESPONDER, + NL80211_EXT_FEATURE_AIRTIME_FAIRNESS, + NL80211_EXT_FEATURE_AP_PMKSA_CACHING, + NL80211_EXT_FEATURE_SCHED_SCAN_BAND_SPECIFIC_RSSI_THOLD, + NL80211_EXT_FEATURE_EXT_KEY_ID, + NL80211_EXT_FEATURE_STA_TX_PWR, + NL80211_EXT_FEATURE_SAE_OFFLOAD, + NL80211_EXT_FEATURE_VLAN_OFFLOAD, + NL80211_EXT_FEATURE_AQL, + NL80211_EXT_FEATURE_BEACON_PROTECTION, + NL80211_EXT_FEATURE_CONTROL_PORT_NO_PREAUTH, + NL80211_EXT_FEATURE_PROTECTED_TWT, + NL80211_EXT_FEATURE_DEL_IBSS_STA, + NL80211_EXT_FEATURE_MULTICAST_REGISTRATIONS, + NL80211_EXT_FEATURE_BEACON_PROTECTION_CLIENT, + NL80211_EXT_FEATURE_SCAN_FREQ_KHZ, + NL80211_EXT_FEATURE_CONTROL_PORT_OVER_NL80211_TX_STATUS, + NL80211_EXT_FEATURE_OPERATING_CHANNEL_VALIDATION, + NL80211_EXT_FEATURE_4WAY_HANDSHAKE_AP_PSK, + NL80211_EXT_FEATURE_SAE_OFFLOAD_AP, + NL80211_EXT_FEATURE_FILS_DISCOVERY, + NL80211_EXT_FEATURE_UNSOL_BCAST_PROBE_RESP, + + NUM_NL80211_EXT_FEATURES, + MAX_NL80211_EXT_FEATURES = NUM_NL80211_EXT_FEATURES - 1 +}; +enum nl80211_probe_resp_offload_support_attr { + NL80211_PROBE_RESP_OFFLOAD_SUPPORT_WPS = 1<<0, + NL80211_PROBE_RESP_OFFLOAD_SUPPORT_WPS2 = 1<<1, + NL80211_PROBE_RESP_OFFLOAD_SUPPORT_P2P = 1<<2, + NL80211_PROBE_RESP_OFFLOAD_SUPPORT_80211U = 1<<3, +}; +enum nl80211_connect_failed_reason { + NL80211_CONN_FAIL_MAX_CLIENTS, + NL80211_CONN_FAIL_BLOCKED_CLIENT, +}; +enum nl80211_timeout_reason { + NL80211_TIMEOUT_UNSPECIFIED, + NL80211_TIMEOUT_SCAN, + NL80211_TIMEOUT_AUTH, + NL80211_TIMEOUT_ASSOC, +}; +enum nl80211_scan_flags { + NL80211_SCAN_FLAG_LOW_PRIORITY = 1<<0, + NL80211_SCAN_FLAG_FLUSH = 1<<1, + NL80211_SCAN_FLAG_AP = 1<<2, + NL80211_SCAN_FLAG_RANDOM_ADDR = 1<<3, + NL80211_SCAN_FLAG_FILS_MAX_CHANNEL_TIME = 1<<4, + NL80211_SCAN_FLAG_ACCEPT_BCAST_PROBE_RESP = 1<<5, + NL80211_SCAN_FLAG_OCE_PROBE_REQ_HIGH_TX_RATE = 1<<6, + NL80211_SCAN_FLAG_OCE_PROBE_REQ_DEFERRAL_SUPPRESSION = 1<<7, + NL80211_SCAN_FLAG_LOW_SPAN = 1<<8, + NL80211_SCAN_FLAG_LOW_POWER = 1<<9, + NL80211_SCAN_FLAG_HIGH_ACCURACY = 1<<10, + NL80211_SCAN_FLAG_RANDOM_SN = 1<<11, + NL80211_SCAN_FLAG_MIN_PREQ_CONTENT = 1<<12, + NL80211_SCAN_FLAG_FREQ_KHZ = 1<<13, + NL80211_SCAN_FLAG_COLOCATED_6GHZ = 1<<14, +}; +enum nl80211_acl_policy { + NL80211_ACL_POLICY_ACCEPT_UNLESS_LISTED, + NL80211_ACL_POLICY_DENY_UNLESS_LISTED, +}; +enum nl80211_smps_mode { + NL80211_SMPS_OFF, + NL80211_SMPS_STATIC, + NL80211_SMPS_DYNAMIC, + __NL80211_SMPS_AFTER_LAST, + NL80211_SMPS_MAX = __NL80211_SMPS_AFTER_LAST - 1 +}; +enum nl80211_radar_event { + NL80211_RADAR_DETECTED, + NL80211_RADAR_CAC_FINISHED, + NL80211_RADAR_CAC_ABORTED, + NL80211_RADAR_NOP_FINISHED, + NL80211_RADAR_PRE_CAC_EXPIRED, + NL80211_RADAR_CAC_STARTED, +}; +enum nl80211_dfs_state { + NL80211_DFS_USABLE, + NL80211_DFS_UNAVAILABLE, + NL80211_DFS_AVAILABLE, +}; +enum nl80211_protocol_features { + NL80211_PROTOCOL_FEATURE_SPLIT_WIPHY_DUMP = 1 << 0, +}; +enum nl80211_crit_proto_id { + NL80211_CRIT_PROTO_UNSPEC, + NL80211_CRIT_PROTO_DHCP, + NL80211_CRIT_PROTO_EAPOL, + NL80211_CRIT_PROTO_APIPA, + + NUM_NL80211_CRIT_PROTO +}; +#define NL80211_CRIT_PROTO_MAX_DURATION 5000 +enum nl80211_rxmgmt_flags { + NL80211_RXMGMT_FLAG_ANSWERED = 1 << 0, + NL80211_RXMGMT_FLAG_EXTERNAL_AUTH = 1 << 1, +}; +#define NL80211_VENDOR_ID_IS_LINUX 0x80000000 +struct nl80211_vendor_cmd_info { + __u32 vendor_id; + __u32 subcmd; +}; +enum nl80211_tdls_peer_capability { + NL80211_TDLS_PEER_HT = 1<<0, + NL80211_TDLS_PEER_VHT = 1<<1, + NL80211_TDLS_PEER_WMM = 1<<2, +}; +enum nl80211_sched_scan_plan { + __NL80211_SCHED_SCAN_PLAN_INVALID, + NL80211_SCHED_SCAN_PLAN_INTERVAL, + NL80211_SCHED_SCAN_PLAN_ITERATIONS, + + __NL80211_SCHED_SCAN_PLAN_AFTER_LAST, + NL80211_SCHED_SCAN_PLAN_MAX = + __NL80211_SCHED_SCAN_PLAN_AFTER_LAST - 1 +}; +struct nl80211_bss_select_rssi_adjust { + __u8 band; + __s8 delta; +} __attribute__((packed)); +enum nl80211_bss_select_attr { + __NL80211_BSS_SELECT_ATTR_INVALID, + NL80211_BSS_SELECT_ATTR_RSSI, + NL80211_BSS_SELECT_ATTR_BAND_PREF, + NL80211_BSS_SELECT_ATTR_RSSI_ADJUST, + + __NL80211_BSS_SELECT_ATTR_AFTER_LAST, + NL80211_BSS_SELECT_ATTR_MAX = __NL80211_BSS_SELECT_ATTR_AFTER_LAST - 1 +}; +enum nl80211_nan_function_type { + NL80211_NAN_FUNC_PUBLISH, + NL80211_NAN_FUNC_SUBSCRIBE, + NL80211_NAN_FUNC_FOLLOW_UP, + + __NL80211_NAN_FUNC_TYPE_AFTER_LAST, + NL80211_NAN_FUNC_MAX_TYPE = __NL80211_NAN_FUNC_TYPE_AFTER_LAST - 1, +}; +enum nl80211_nan_publish_type { + NL80211_NAN_SOLICITED_PUBLISH = 1 << 0, + NL80211_NAN_UNSOLICITED_PUBLISH = 1 << 1, +}; +enum nl80211_nan_func_term_reason { + NL80211_NAN_FUNC_TERM_REASON_USER_REQUEST, + NL80211_NAN_FUNC_TERM_REASON_TTL_EXPIRED, + NL80211_NAN_FUNC_TERM_REASON_ERROR, +}; +#define NL80211_NAN_FUNC_SERVICE_ID_LEN 6 +#define NL80211_NAN_FUNC_SERVICE_SPEC_INFO_MAX_LEN 0xff +#define NL80211_NAN_FUNC_SRF_MAX_LEN 0xff +enum nl80211_nan_func_attributes { + __NL80211_NAN_FUNC_INVALID, + NL80211_NAN_FUNC_TYPE, + NL80211_NAN_FUNC_SERVICE_ID, + NL80211_NAN_FUNC_PUBLISH_TYPE, + NL80211_NAN_FUNC_PUBLISH_BCAST, + NL80211_NAN_FUNC_SUBSCRIBE_ACTIVE, + NL80211_NAN_FUNC_FOLLOW_UP_ID, + NL80211_NAN_FUNC_FOLLOW_UP_REQ_ID, + NL80211_NAN_FUNC_FOLLOW_UP_DEST, + NL80211_NAN_FUNC_CLOSE_RANGE, + NL80211_NAN_FUNC_TTL, + NL80211_NAN_FUNC_SERVICE_INFO, + NL80211_NAN_FUNC_SRF, + NL80211_NAN_FUNC_RX_MATCH_FILTER, + NL80211_NAN_FUNC_TX_MATCH_FILTER, + NL80211_NAN_FUNC_INSTANCE_ID, + NL80211_NAN_FUNC_TERM_REASON, + + NUM_NL80211_NAN_FUNC_ATTR, + NL80211_NAN_FUNC_ATTR_MAX = NUM_NL80211_NAN_FUNC_ATTR - 1 +}; +enum nl80211_nan_srf_attributes { + __NL80211_NAN_SRF_INVALID, + NL80211_NAN_SRF_INCLUDE, + NL80211_NAN_SRF_BF, + NL80211_NAN_SRF_BF_IDX, + NL80211_NAN_SRF_MAC_ADDRS, + + NUM_NL80211_NAN_SRF_ATTR, + NL80211_NAN_SRF_ATTR_MAX = NUM_NL80211_NAN_SRF_ATTR - 1, +}; +enum nl80211_nan_match_attributes { + __NL80211_NAN_MATCH_INVALID, + NL80211_NAN_MATCH_FUNC_LOCAL, + NL80211_NAN_MATCH_FUNC_PEER, + + NUM_NL80211_NAN_MATCH_ATTR, + NL80211_NAN_MATCH_ATTR_MAX = NUM_NL80211_NAN_MATCH_ATTR - 1 +}; +enum nl80211_external_auth_action { + NL80211_EXTERNAL_AUTH_START, + NL80211_EXTERNAL_AUTH_ABORT, +}; +enum nl80211_ftm_responder_attributes { + __NL80211_FTM_RESP_ATTR_INVALID, + NL80211_FTM_RESP_ATTR_ENABLED, + NL80211_FTM_RESP_ATTR_LCI, + NL80211_FTM_RESP_ATTR_CIVICLOC, + + __NL80211_FTM_RESP_ATTR_LAST, + NL80211_FTM_RESP_ATTR_MAX = __NL80211_FTM_RESP_ATTR_LAST - 1, +}; +enum nl80211_ftm_responder_stats { + __NL80211_FTM_STATS_INVALID, + NL80211_FTM_STATS_SUCCESS_NUM, + NL80211_FTM_STATS_PARTIAL_NUM, + NL80211_FTM_STATS_FAILED_NUM, + NL80211_FTM_STATS_ASAP_NUM, + NL80211_FTM_STATS_NON_ASAP_NUM, + NL80211_FTM_STATS_TOTAL_DURATION_MSEC, + NL80211_FTM_STATS_UNKNOWN_TRIGGERS_NUM, + NL80211_FTM_STATS_RESCHEDULE_REQUESTS_NUM, + NL80211_FTM_STATS_OUT_OF_WINDOW_TRIGGERS_NUM, + NL80211_FTM_STATS_PAD, + + __NL80211_FTM_STATS_AFTER_LAST, + NL80211_FTM_STATS_MAX = __NL80211_FTM_STATS_AFTER_LAST - 1 +}; +enum nl80211_preamble { + NL80211_PREAMBLE_LEGACY, + NL80211_PREAMBLE_HT, + NL80211_PREAMBLE_VHT, + NL80211_PREAMBLE_DMG, + NL80211_PREAMBLE_HE, +}; +enum nl80211_peer_measurement_type { + NL80211_PMSR_TYPE_INVALID, + NL80211_PMSR_TYPE_FTM, + NUM_NL80211_PMSR_TYPES, + NL80211_PMSR_TYPE_MAX = NUM_NL80211_PMSR_TYPES - 1 +}; +enum nl80211_peer_measurement_status { + NL80211_PMSR_STATUS_SUCCESS, + NL80211_PMSR_STATUS_REFUSED, + NL80211_PMSR_STATUS_TIMEOUT, + NL80211_PMSR_STATUS_FAILURE, +}; +enum nl80211_peer_measurement_req { + __NL80211_PMSR_REQ_ATTR_INVALID, + NL80211_PMSR_REQ_ATTR_DATA, + NL80211_PMSR_REQ_ATTR_GET_AP_TSF, + + NUM_NL80211_PMSR_REQ_ATTRS, + NL80211_PMSR_REQ_ATTR_MAX = NUM_NL80211_PMSR_REQ_ATTRS - 1 +}; +enum nl80211_peer_measurement_resp { + __NL80211_PMSR_RESP_ATTR_INVALID, + NL80211_PMSR_RESP_ATTR_DATA, + NL80211_PMSR_RESP_ATTR_STATUS, + NL80211_PMSR_RESP_ATTR_HOST_TIME, + NL80211_PMSR_RESP_ATTR_AP_TSF, + NL80211_PMSR_RESP_ATTR_FINAL, + NL80211_PMSR_RESP_ATTR_PAD, + + NUM_NL80211_PMSR_RESP_ATTRS, + NL80211_PMSR_RESP_ATTR_MAX = NUM_NL80211_PMSR_RESP_ATTRS - 1 +}; +enum nl80211_peer_measurement_peer_attrs { + __NL80211_PMSR_PEER_ATTR_INVALID, + NL80211_PMSR_PEER_ATTR_ADDR, + NL80211_PMSR_PEER_ATTR_CHAN, + NL80211_PMSR_PEER_ATTR_REQ, + NL80211_PMSR_PEER_ATTR_RESP, + + NUM_NL80211_PMSR_PEER_ATTRS, + NL80211_PMSR_PEER_ATTR_MAX = NUM_NL80211_PMSR_PEER_ATTRS - 1, +}; +enum nl80211_peer_measurement_attrs { + __NL80211_PMSR_ATTR_INVALID, + NL80211_PMSR_ATTR_MAX_PEERS, + NL80211_PMSR_ATTR_REPORT_AP_TSF, + NL80211_PMSR_ATTR_RANDOMIZE_MAC_ADDR, + NL80211_PMSR_ATTR_TYPE_CAPA, + NL80211_PMSR_ATTR_PEERS, + + NUM_NL80211_PMSR_ATTR, + NL80211_PMSR_ATTR_MAX = NUM_NL80211_PMSR_ATTR - 1 +}; +enum nl80211_peer_measurement_ftm_capa { + __NL80211_PMSR_FTM_CAPA_ATTR_INVALID, + NL80211_PMSR_FTM_CAPA_ATTR_ASAP, + NL80211_PMSR_FTM_CAPA_ATTR_NON_ASAP, + NL80211_PMSR_FTM_CAPA_ATTR_REQ_LCI, + NL80211_PMSR_FTM_CAPA_ATTR_REQ_CIVICLOC, + NL80211_PMSR_FTM_CAPA_ATTR_PREAMBLES, + NL80211_PMSR_FTM_CAPA_ATTR_BANDWIDTHS, + NL80211_PMSR_FTM_CAPA_ATTR_MAX_BURSTS_EXPONENT, + NL80211_PMSR_FTM_CAPA_ATTR_MAX_FTMS_PER_BURST, + NL80211_PMSR_FTM_CAPA_ATTR_TRIGGER_BASED, + NL80211_PMSR_FTM_CAPA_ATTR_NON_TRIGGER_BASED, + + NUM_NL80211_PMSR_FTM_CAPA_ATTR, + NL80211_PMSR_FTM_CAPA_ATTR_MAX = NUM_NL80211_PMSR_FTM_CAPA_ATTR - 1 +}; +enum nl80211_peer_measurement_ftm_req { + __NL80211_PMSR_FTM_REQ_ATTR_INVALID, + NL80211_PMSR_FTM_REQ_ATTR_ASAP, + NL80211_PMSR_FTM_REQ_ATTR_PREAMBLE, + NL80211_PMSR_FTM_REQ_ATTR_NUM_BURSTS_EXP, + NL80211_PMSR_FTM_REQ_ATTR_BURST_PERIOD, + NL80211_PMSR_FTM_REQ_ATTR_BURST_DURATION, + NL80211_PMSR_FTM_REQ_ATTR_FTMS_PER_BURST, + NL80211_PMSR_FTM_REQ_ATTR_NUM_FTMR_RETRIES, + NL80211_PMSR_FTM_REQ_ATTR_REQUEST_LCI, + NL80211_PMSR_FTM_REQ_ATTR_REQUEST_CIVICLOC, + NL80211_PMSR_FTM_REQ_ATTR_TRIGGER_BASED, + NL80211_PMSR_FTM_REQ_ATTR_NON_TRIGGER_BASED, + + NUM_NL80211_PMSR_FTM_REQ_ATTR, + NL80211_PMSR_FTM_REQ_ATTR_MAX = NUM_NL80211_PMSR_FTM_REQ_ATTR - 1 +}; +enum nl80211_peer_measurement_ftm_failure_reasons { + NL80211_PMSR_FTM_FAILURE_UNSPECIFIED, + NL80211_PMSR_FTM_FAILURE_NO_RESPONSE, + NL80211_PMSR_FTM_FAILURE_REJECTED, + NL80211_PMSR_FTM_FAILURE_WRONG_CHANNEL, + NL80211_PMSR_FTM_FAILURE_PEER_NOT_CAPABLE, + NL80211_PMSR_FTM_FAILURE_INVALID_TIMESTAMP, + NL80211_PMSR_FTM_FAILURE_PEER_BUSY, + NL80211_PMSR_FTM_FAILURE_BAD_CHANGED_PARAMS, +}; +enum nl80211_peer_measurement_ftm_resp { + __NL80211_PMSR_FTM_RESP_ATTR_INVALID, + NL80211_PMSR_FTM_RESP_ATTR_FAIL_REASON, + NL80211_PMSR_FTM_RESP_ATTR_BURST_INDEX, + NL80211_PMSR_FTM_RESP_ATTR_NUM_FTMR_ATTEMPTS, + NL80211_PMSR_FTM_RESP_ATTR_NUM_FTMR_SUCCESSES, + NL80211_PMSR_FTM_RESP_ATTR_BUSY_RETRY_TIME, + NL80211_PMSR_FTM_RESP_ATTR_NUM_BURSTS_EXP, + NL80211_PMSR_FTM_RESP_ATTR_BURST_DURATION, + NL80211_PMSR_FTM_RESP_ATTR_FTMS_PER_BURST, + NL80211_PMSR_FTM_RESP_ATTR_RSSI_AVG, + NL80211_PMSR_FTM_RESP_ATTR_RSSI_SPREAD, + NL80211_PMSR_FTM_RESP_ATTR_TX_RATE, + NL80211_PMSR_FTM_RESP_ATTR_RX_RATE, + NL80211_PMSR_FTM_RESP_ATTR_RTT_AVG, + NL80211_PMSR_FTM_RESP_ATTR_RTT_VARIANCE, + NL80211_PMSR_FTM_RESP_ATTR_RTT_SPREAD, + NL80211_PMSR_FTM_RESP_ATTR_DIST_AVG, + NL80211_PMSR_FTM_RESP_ATTR_DIST_VARIANCE, + NL80211_PMSR_FTM_RESP_ATTR_DIST_SPREAD, + NL80211_PMSR_FTM_RESP_ATTR_LCI, + NL80211_PMSR_FTM_RESP_ATTR_CIVICLOC, + NL80211_PMSR_FTM_RESP_ATTR_PAD, + + NUM_NL80211_PMSR_FTM_RESP_ATTR, + NL80211_PMSR_FTM_RESP_ATTR_MAX = NUM_NL80211_PMSR_FTM_RESP_ATTR - 1 +}; +enum nl80211_obss_pd_attributes { + __NL80211_HE_OBSS_PD_ATTR_INVALID, + NL80211_HE_OBSS_PD_ATTR_MIN_OFFSET, + NL80211_HE_OBSS_PD_ATTR_MAX_OFFSET, + NL80211_HE_OBSS_PD_ATTR_NON_SRG_MAX_OFFSET, + NL80211_HE_OBSS_PD_ATTR_BSS_COLOR_BITMAP, + NL80211_HE_OBSS_PD_ATTR_PARTIAL_BSSID_BITMAP, + NL80211_HE_OBSS_PD_ATTR_SR_CTRL, + + __NL80211_HE_OBSS_PD_ATTR_LAST, + NL80211_HE_OBSS_PD_ATTR_MAX = __NL80211_HE_OBSS_PD_ATTR_LAST - 1, +}; +enum nl80211_bss_color_attributes { + __NL80211_HE_BSS_COLOR_ATTR_INVALID, + NL80211_HE_BSS_COLOR_ATTR_COLOR, + NL80211_HE_BSS_COLOR_ATTR_DISABLED, + NL80211_HE_BSS_COLOR_ATTR_PARTIAL, + + __NL80211_HE_BSS_COLOR_ATTR_LAST, + NL80211_HE_BSS_COLOR_ATTR_MAX = __NL80211_HE_BSS_COLOR_ATTR_LAST - 1, +}; +enum nl80211_iftype_akm_attributes { + __NL80211_IFTYPE_AKM_ATTR_INVALID, + NL80211_IFTYPE_AKM_ATTR_IFTYPES, + NL80211_IFTYPE_AKM_ATTR_SUITES, + + __NL80211_IFTYPE_AKM_ATTR_LAST, + NL80211_IFTYPE_AKM_ATTR_MAX = __NL80211_IFTYPE_AKM_ATTR_LAST - 1, +}; +enum nl80211_fils_discovery_attributes { + __NL80211_FILS_DISCOVERY_ATTR_INVALID, + NL80211_FILS_DISCOVERY_ATTR_INT_MIN, + NL80211_FILS_DISCOVERY_ATTR_INT_MAX, + NL80211_FILS_DISCOVERY_ATTR_TMPL, + + __NL80211_FILS_DISCOVERY_ATTR_LAST, + NL80211_FILS_DISCOVERY_ATTR_MAX = __NL80211_FILS_DISCOVERY_ATTR_LAST - 1 +}; +#define NL80211_FILS_DISCOVERY_TMPL_MIN_LEN 42 +enum nl80211_unsol_bcast_probe_resp_attributes { + __NL80211_UNSOL_BCAST_PROBE_RESP_ATTR_INVALID, + NL80211_UNSOL_BCAST_PROBE_RESP_ATTR_INT, + NL80211_UNSOL_BCAST_PROBE_RESP_ATTR_TMPL, + + __NL80211_UNSOL_BCAST_PROBE_RESP_ATTR_LAST, + NL80211_UNSOL_BCAST_PROBE_RESP_ATTR_MAX = + __NL80211_UNSOL_BCAST_PROBE_RESP_ATTR_LAST - 1 +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/nsfs.h b/linux-5.10/prebuilts/usr/include/linux/nsfs.h new file mode 100644 index 0000000..18e70df --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/nsfs.h @@ -0,0 +1,14 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef __LINUX_NSFS_H +#define __LINUX_NSFS_H +#include +#define NSIO 0xb7 +#define NS_GET_USERNS _IO(NSIO, 0x1) +#define NS_GET_PARENT _IO(NSIO, 0x2) +#define NS_GET_NSTYPE _IO(NSIO, 0x3) +#define NS_GET_OWNER_UID _IO(NSIO, 0x4) +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/nubus.h b/linux-5.10/prebuilts/usr/include/linux/nubus.h new file mode 100644 index 0000000..0ead000 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/nubus.h @@ -0,0 +1,154 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPILINUX_NUBUS_H +#define _UAPILINUX_NUBUS_H +#include +enum nubus_category { + NUBUS_CAT_BOARD = 0x0001, + NUBUS_CAT_DISPLAY = 0x0003, + NUBUS_CAT_NETWORK = 0x0004, + NUBUS_CAT_COMMUNICATIONS = 0x0006, + NUBUS_CAT_FONT = 0x0009, + NUBUS_CAT_CPU = 0x000A, + + NUBUS_CAT_DUODOCK = 0x0020 +}; +enum nubus_type_network { + NUBUS_TYPE_ETHERNET = 0x0001, + NUBUS_TYPE_RS232 = 0x0002 +}; +enum nubus_type_display { + NUBUS_TYPE_VIDEO = 0x0001 +}; +enum nubus_type_cpu { + NUBUS_TYPE_68020 = 0x0003, + NUBUS_TYPE_68030 = 0x0004, + NUBUS_TYPE_68040 = 0x0005 +}; +enum nubus_drsw { + + NUBUS_DRSW_APPLE = 0x0001, + NUBUS_DRSW_APPLE_HIRES = 0x0013, + + + NUBUS_DRSW_3COM = 0x0000, + NUBUS_DRSW_CABLETRON = 0x0001, + NUBUS_DRSW_SONIC_LC = 0x0001, + NUBUS_DRSW_KINETICS = 0x0103, + NUBUS_DRSW_ASANTE = 0x0104, + NUBUS_DRSW_TECHWORKS = 0x0109, + NUBUS_DRSW_DAYNA = 0x010b, + NUBUS_DRSW_FARALLON = 0x010c, + NUBUS_DRSW_APPLE_SN = 0x010f, + NUBUS_DRSW_DAYNA2 = 0x0115, + NUBUS_DRSW_FOCUS = 0x011a, + NUBUS_DRSW_ASANTE_CS = 0x011d, + NUBUS_DRSW_DAYNA_LC = 0x011e, + + NUBUS_DRSW_NONE = 0x0000, +}; +enum nubus_drhw { + + NUBUS_DRHW_APPLE_TFB = 0x0001, + NUBUS_DRHW_APPLE_WVC = 0x0006, + NUBUS_DRHW_SIGMA_CLRMAX = 0x0007, + NUBUS_DRHW_APPLE_SE30 = 0x0009, + NUBUS_DRHW_APPLE_HRVC = 0x0013, + NUBUS_DRHW_APPLE_MVC = 0x0014, + NUBUS_DRHW_APPLE_PVC = 0x0017, + NUBUS_DRHW_APPLE_RBV1 = 0x0018, + NUBUS_DRHW_APPLE_MDC = 0x0019, + NUBUS_DRHW_APPLE_VSC = 0x0020, + NUBUS_DRHW_APPLE_SONORA = 0x0022, + NUBUS_DRHW_APPLE_JET = 0x0029, + NUBUS_DRHW_APPLE_24AC = 0x002b, + NUBUS_DRHW_APPLE_VALKYRIE = 0x002e, + NUBUS_DRHW_SMAC_GFX = 0x0105, + NUBUS_DRHW_RASTER_CB264 = 0x013B, + NUBUS_DRHW_MICRON_XCEED = 0x0146, + NUBUS_DRHW_RDIUS_GSC = 0x0153, + NUBUS_DRHW_SMAC_SPEC8 = 0x017B, + NUBUS_DRHW_SMAC_SPEC24 = 0x017C, + NUBUS_DRHW_RASTER_CB364 = 0x026F, + NUBUS_DRHW_RDIUS_DCGX = 0x027C, + NUBUS_DRHW_RDIUS_PC8 = 0x0291, + NUBUS_DRHW_LAPIS_PCS8 = 0x0292, + NUBUS_DRHW_RASTER_24XLI = 0x02A0, + NUBUS_DRHW_RASTER_PBPGT = 0x02A5, + NUBUS_DRHW_EMACH_FSX = 0x02AE, + NUBUS_DRHW_RASTER_24XLTV = 0x02B7, + NUBUS_DRHW_SMAC_THUND24 = 0x02CB, + NUBUS_DRHW_SMAC_THUNDLGHT = 0x03D9, + NUBUS_DRHW_RDIUS_PC24XP = 0x0406, + NUBUS_DRHW_RDIUS_PC24X = 0x040A, + NUBUS_DRHW_RDIUS_PC8XJ = 0x040B, + + + NUBUS_DRHW_INTERLAN = 0x0100, + NUBUS_DRHW_SMC9194 = 0x0101, + NUBUS_DRHW_KINETICS = 0x0106, + NUBUS_DRHW_CABLETRON = 0x0109, + NUBUS_DRHW_ASANTE_LC = 0x010f, + NUBUS_DRHW_SONIC = 0x0110, + NUBUS_DRHW_TECHWORKS = 0x0112, + NUBUS_DRHW_APPLE_SONIC_NB = 0x0118, + NUBUS_DRHW_APPLE_SONIC_LC = 0x0119, + NUBUS_DRHW_FOCUS = 0x011c, + NUBUS_DRHW_SONNET = 0x011d, +}; +enum nubus_res_id { + NUBUS_RESID_TYPE = 0x0001, + NUBUS_RESID_NAME = 0x0002, + NUBUS_RESID_ICON = 0x0003, + NUBUS_RESID_DRVRDIR = 0x0004, + NUBUS_RESID_LOADREC = 0x0005, + NUBUS_RESID_BOOTREC = 0x0006, + NUBUS_RESID_FLAGS = 0x0007, + NUBUS_RESID_HWDEVID = 0x0008, + NUBUS_RESID_MINOR_BASEOS = 0x000a, + NUBUS_RESID_MINOR_LENGTH = 0x000b, + NUBUS_RESID_MAJOR_BASEOS = 0x000c, + NUBUS_RESID_MAJOR_LENGTH = 0x000d, + NUBUS_RESID_CICN = 0x000f, + NUBUS_RESID_ICL8 = 0x0010, + NUBUS_RESID_ICL4 = 0x0011, +}; +enum nubus_board_res_id { + NUBUS_RESID_BOARDID = 0x0020, + NUBUS_RESID_PRAMINITDATA = 0x0021, + NUBUS_RESID_PRIMARYINIT = 0x0022, + NUBUS_RESID_TIMEOUTCONST = 0x0023, + NUBUS_RESID_VENDORINFO = 0x0024, + NUBUS_RESID_BOARDFLAGS = 0x0025, + NUBUS_RESID_SECONDINIT = 0x0026, + + NUBUS_RESID_VIDNAMES = 0x0041, + NUBUS_RESID_VIDMODES = 0x007e +}; +enum nubus_vendor_res_id { + NUBUS_RESID_VEND_ID = 0x0001, + NUBUS_RESID_VEND_SERIAL = 0x0002, + NUBUS_RESID_VEND_REV = 0x0003, + NUBUS_RESID_VEND_PART = 0x0004, + NUBUS_RESID_VEND_DATE = 0x0005 +}; +enum nubus_net_res_id { + NUBUS_RESID_MAC_ADDRESS = 0x0080 +}; +enum nubus_cpu_res_id { + NUBUS_RESID_MEMINFO = 0x0081, + NUBUS_RESID_ROMINFO = 0x0082 +}; +enum nubus_display_res_id { + NUBUS_RESID_GAMMADIR = 0x0040, + NUBUS_RESID_FIRSTMODE = 0x0080, + NUBUS_RESID_SECONDMODE = 0x0081, + NUBUS_RESID_THIRDMODE = 0x0082, + NUBUS_RESID_FOURTHMODE = 0x0083, + NUBUS_RESID_FIFTHMODE = 0x0084, + NUBUS_RESID_SIXTHMODE = 0x0085 +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/nvme_ioctl.h b/linux-5.10/prebuilts/usr/include/linux/nvme_ioctl.h new file mode 100644 index 0000000..a2eff6f --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/nvme_ioctl.h @@ -0,0 +1,74 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI_LINUX_NVME_IOCTL_H +#define _UAPI_LINUX_NVME_IOCTL_H +#include +struct nvme_user_io { + __u8 opcode; + __u8 flags; + __u16 control; + __u16 nblocks; + __u16 rsvd; + __u64 metadata; + __u64 addr; + __u64 slba; + __u32 dsmgmt; + __u32 reftag; + __u16 apptag; + __u16 appmask; +}; +struct nvme_passthru_cmd { + __u8 opcode; + __u8 flags; + __u16 rsvd1; + __u32 nsid; + __u32 cdw2; + __u32 cdw3; + __u64 metadata; + __u64 addr; + __u32 metadata_len; + __u32 data_len; + __u32 cdw10; + __u32 cdw11; + __u32 cdw12; + __u32 cdw13; + __u32 cdw14; + __u32 cdw15; + __u32 timeout_ms; + __u32 result; +}; +struct nvme_passthru_cmd64 { + __u8 opcode; + __u8 flags; + __u16 rsvd1; + __u32 nsid; + __u32 cdw2; + __u32 cdw3; + __u64 metadata; + __u64 addr; + __u32 metadata_len; + __u32 data_len; + __u32 cdw10; + __u32 cdw11; + __u32 cdw12; + __u32 cdw13; + __u32 cdw14; + __u32 cdw15; + __u32 timeout_ms; + __u32 rsvd2; + __u64 result; +}; +#define nvme_admin_cmd nvme_passthru_cmd +#define NVME_IOCTL_ID _IO('N', 0x40) +#define NVME_IOCTL_ADMIN_CMD _IOWR('N', 0x41, struct nvme_admin_cmd) +#define NVME_IOCTL_SUBMIT_IO _IOW('N', 0x42, struct nvme_user_io) +#define NVME_IOCTL_IO_CMD _IOWR('N', 0x43, struct nvme_passthru_cmd) +#define NVME_IOCTL_RESET _IO('N', 0x44) +#define NVME_IOCTL_SUBSYS_RESET _IO('N', 0x45) +#define NVME_IOCTL_RESCAN _IO('N', 0x46) +#define NVME_IOCTL_ADMIN64_CMD _IOWR('N', 0x47, struct nvme_passthru_cmd64) +#define NVME_IOCTL_IO64_CMD _IOWR('N', 0x48, struct nvme_passthru_cmd64) +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/nvram.h b/linux-5.10/prebuilts/usr/include/linux/nvram.h new file mode 100644 index 0000000..7f7ee0e --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/nvram.h @@ -0,0 +1,13 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI_LINUX_NVRAM_H +#define _UAPI_LINUX_NVRAM_H +#include +#define NVRAM_INIT _IO('p', 0x40) +#define NVRAM_SETCKS _IO('p', 0x41) +#define NVRAM_FIRST_BYTE 14 +#define NVRAM_OFFSET(x) ((x)-NVRAM_FIRST_BYTE) +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/omap3isp.h b/linux-5.10/prebuilts/usr/include/linux/omap3isp.h new file mode 100644 index 0000000..4c40104 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/omap3isp.h @@ -0,0 +1,360 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef OMAP3_ISP_USER_H +#define OMAP3_ISP_USER_H +#include +#include +#define VIDIOC_OMAP3ISP_CCDC_CFG \ + _IOWR('V', BASE_VIDIOC_PRIVATE + 1, struct omap3isp_ccdc_update_config) +#define VIDIOC_OMAP3ISP_PRV_CFG \ + _IOWR('V', BASE_VIDIOC_PRIVATE + 2, struct omap3isp_prev_update_config) +#define VIDIOC_OMAP3ISP_AEWB_CFG \ + _IOWR('V', BASE_VIDIOC_PRIVATE + 3, struct omap3isp_h3a_aewb_config) +#define VIDIOC_OMAP3ISP_HIST_CFG \ + _IOWR('V', BASE_VIDIOC_PRIVATE + 4, struct omap3isp_hist_config) +#define VIDIOC_OMAP3ISP_AF_CFG \ + _IOWR('V', BASE_VIDIOC_PRIVATE + 5, struct omap3isp_h3a_af_config) +#define VIDIOC_OMAP3ISP_STAT_REQ \ + _IOWR('V', BASE_VIDIOC_PRIVATE + 6, struct omap3isp_stat_data) +#define VIDIOC_OMAP3ISP_STAT_REQ_TIME32 \ + _IOWR('V', BASE_VIDIOC_PRIVATE + 6, struct omap3isp_stat_data_time32) +#define VIDIOC_OMAP3ISP_STAT_EN \ + _IOWR('V', BASE_VIDIOC_PRIVATE + 7, unsigned long) +#define V4L2_EVENT_OMAP3ISP_CLASS (V4L2_EVENT_PRIVATE_START | 0x100) +#define V4L2_EVENT_OMAP3ISP_AEWB (V4L2_EVENT_OMAP3ISP_CLASS | 0x1) +#define V4L2_EVENT_OMAP3ISP_AF (V4L2_EVENT_OMAP3ISP_CLASS | 0x2) +#define V4L2_EVENT_OMAP3ISP_HIST (V4L2_EVENT_OMAP3ISP_CLASS | 0x3) +struct omap3isp_stat_event_status { + __u32 frame_number; + __u16 config_counter; + __u8 buf_err; +}; +#define OMAP3ISP_AEWB_MAX_SATURATION_LIM 1023 +#define OMAP3ISP_AEWB_MIN_WIN_H 2 +#define OMAP3ISP_AEWB_MAX_WIN_H 256 +#define OMAP3ISP_AEWB_MIN_WIN_W 6 +#define OMAP3ISP_AEWB_MAX_WIN_W 256 +#define OMAP3ISP_AEWB_MIN_WINVC 1 +#define OMAP3ISP_AEWB_MIN_WINHC 1 +#define OMAP3ISP_AEWB_MAX_WINVC 128 +#define OMAP3ISP_AEWB_MAX_WINHC 36 +#define OMAP3ISP_AEWB_MAX_WINSTART 4095 +#define OMAP3ISP_AEWB_MIN_SUB_INC 2 +#define OMAP3ISP_AEWB_MAX_SUB_INC 32 +#define OMAP3ISP_AEWB_MAX_BUF_SIZE 83600 +#define OMAP3ISP_AF_IIRSH_MIN 0 +#define OMAP3ISP_AF_IIRSH_MAX 4095 +#define OMAP3ISP_AF_PAXEL_HORIZONTAL_COUNT_MIN 1 +#define OMAP3ISP_AF_PAXEL_HORIZONTAL_COUNT_MAX 36 +#define OMAP3ISP_AF_PAXEL_VERTICAL_COUNT_MIN 1 +#define OMAP3ISP_AF_PAXEL_VERTICAL_COUNT_MAX 128 +#define OMAP3ISP_AF_PAXEL_INCREMENT_MIN 2 +#define OMAP3ISP_AF_PAXEL_INCREMENT_MAX 32 +#define OMAP3ISP_AF_PAXEL_HEIGHT_MIN 2 +#define OMAP3ISP_AF_PAXEL_HEIGHT_MAX 256 +#define OMAP3ISP_AF_PAXEL_WIDTH_MIN 16 +#define OMAP3ISP_AF_PAXEL_WIDTH_MAX 256 +#define OMAP3ISP_AF_PAXEL_HZSTART_MIN 1 +#define OMAP3ISP_AF_PAXEL_HZSTART_MAX 4095 +#define OMAP3ISP_AF_PAXEL_VTSTART_MIN 0 +#define OMAP3ISP_AF_PAXEL_VTSTART_MAX 4095 +#define OMAP3ISP_AF_THRESHOLD_MAX 255 +#define OMAP3ISP_AF_COEF_MAX 4095 +#define OMAP3ISP_AF_PAXEL_SIZE 48 +#define OMAP3ISP_AF_MAX_BUF_SIZE 221184 +struct omap3isp_h3a_aewb_config { + + __u32 buf_size; + __u16 config_counter; + + __u16 saturation_limit; + __u16 win_height; + __u16 win_width; + __u16 ver_win_count; + __u16 hor_win_count; + __u16 ver_win_start; + __u16 hor_win_start; + __u16 blk_ver_win_start; + __u16 blk_win_height; + __u16 subsample_ver_inc; + __u16 subsample_hor_inc; + __u8 alaw_enable; +}; +struct omap3isp_stat_data { +#ifdef __KERNEL__ + struct { + __s64 tv_sec; + __s64 tv_usec; + } ts; +#else + struct timeval ts; +#endif + void __user *buf; + __u32 buf_size; + __u16 frame_number; + __u16 cur_frame; + __u16 config_counter; +}; +#ifdef __KERNEL__ +struct omap3isp_stat_data_time32 { + struct { + __s32 tv_sec; + __s32 tv_usec; + } ts; + __u32 buf; + __u32 buf_size; + __u16 frame_number; + __u16 cur_frame; + __u16 config_counter; +}; +#endif +#define OMAP3ISP_HIST_BINS_32 0 +#define OMAP3ISP_HIST_BINS_64 1 +#define OMAP3ISP_HIST_BINS_128 2 +#define OMAP3ISP_HIST_BINS_256 3 +#define OMAP3ISP_HIST_MEM_SIZE_BINS(n) ((1 << ((n)+5))*4*4) +#define OMAP3ISP_HIST_MEM_SIZE 1024 +#define OMAP3ISP_HIST_MIN_REGIONS 1 +#define OMAP3ISP_HIST_MAX_REGIONS 4 +#define OMAP3ISP_HIST_MAX_WB_GAIN 255 +#define OMAP3ISP_HIST_MIN_WB_GAIN 0 +#define OMAP3ISP_HIST_MAX_BIT_WIDTH 14 +#define OMAP3ISP_HIST_MIN_BIT_WIDTH 8 +#define OMAP3ISP_HIST_MAX_WG 4 +#define OMAP3ISP_HIST_MAX_BUF_SIZE 4096 +#define OMAP3ISP_HIST_SOURCE_CCDC 0 +#define OMAP3ISP_HIST_SOURCE_MEM 1 +#define OMAP3ISP_HIST_CFA_BAYER 0 +#define OMAP3ISP_HIST_CFA_FOVEONX3 1 +struct omap3isp_hist_region { + __u16 h_start; + __u16 h_end; + __u16 v_start; + __u16 v_end; +}; +struct omap3isp_hist_config { + + __u32 buf_size; + __u16 config_counter; + __u8 num_acc_frames; + __u16 hist_bins; + __u8 cfa; + __u8 wg[OMAP3ISP_HIST_MAX_WG]; + __u8 num_regions; + struct omap3isp_hist_region region[OMAP3ISP_HIST_MAX_REGIONS]; +}; +#define OMAP3ISP_AF_NUM_COEF 11 +enum omap3isp_h3a_af_fvmode { + OMAP3ISP_AF_MODE_SUMMED = 0, + OMAP3ISP_AF_MODE_PEAK = 1 +}; +enum omap3isp_h3a_af_rgbpos { + OMAP3ISP_AF_GR_GB_BAYER = 0, + OMAP3ISP_AF_RG_GB_BAYER = 1, + OMAP3ISP_AF_GR_BG_BAYER = 2, + OMAP3ISP_AF_RG_BG_BAYER = 3, + OMAP3ISP_AF_GG_RB_CUSTOM = 4, + OMAP3ISP_AF_RB_GG_CUSTOM = 5 +}; +struct omap3isp_h3a_af_hmf { + __u8 enable; + __u8 threshold; +}; +struct omap3isp_h3a_af_iir { + __u16 h_start; + __u16 coeff_set0[OMAP3ISP_AF_NUM_COEF]; + __u16 coeff_set1[OMAP3ISP_AF_NUM_COEF]; +}; +struct omap3isp_h3a_af_paxel { + __u16 h_start; + __u16 v_start; + __u8 width; + __u8 height; + __u8 h_cnt; + __u8 v_cnt; + __u8 line_inc; +}; +struct omap3isp_h3a_af_config { + + __u32 buf_size; + __u16 config_counter; + struct omap3isp_h3a_af_hmf hmf; + struct omap3isp_h3a_af_iir iir; + struct omap3isp_h3a_af_paxel paxel; + enum omap3isp_h3a_af_rgbpos rgb_pos; + enum omap3isp_h3a_af_fvmode fvmode; + __u8 alaw_enable; +}; +#define OMAP3ISP_CCDC_ALAW (1 << 0) +#define OMAP3ISP_CCDC_LPF (1 << 1) +#define OMAP3ISP_CCDC_BLCLAMP (1 << 2) +#define OMAP3ISP_CCDC_BCOMP (1 << 3) +#define OMAP3ISP_CCDC_FPC (1 << 4) +#define OMAP3ISP_CCDC_CULL (1 << 5) +#define OMAP3ISP_CCDC_CONFIG_LSC (1 << 7) +#define OMAP3ISP_CCDC_TBL_LSC (1 << 8) +#define OMAP3ISP_RGB_MAX 3 +enum omap3isp_alaw_ipwidth { + OMAP3ISP_ALAW_BIT12_3 = 0x3, + OMAP3ISP_ALAW_BIT11_2 = 0x4, + OMAP3ISP_ALAW_BIT10_1 = 0x5, + OMAP3ISP_ALAW_BIT9_0 = 0x6 +}; +struct omap3isp_ccdc_lsc_config { + __u16 offset; + __u8 gain_mode_n; + __u8 gain_mode_m; + __u8 gain_format; + __u16 fmtsph; + __u16 fmtlnh; + __u16 fmtslv; + __u16 fmtlnv; + __u8 initial_x; + __u8 initial_y; + __u32 size; +}; +struct omap3isp_ccdc_bclamp { + __u8 obgain; + __u8 obstpixel; + __u8 oblines; + __u8 oblen; + __u16 dcsubval; +}; +struct omap3isp_ccdc_fpc { + __u16 fpnum; + __u32 fpcaddr; +}; +struct omap3isp_ccdc_blcomp { + __u8 b_mg; + __u8 gb_g; + __u8 gr_cy; + __u8 r_ye; +}; +struct omap3isp_ccdc_culling { + __u8 v_pattern; + __u16 h_odd; + __u16 h_even; +}; +struct omap3isp_ccdc_update_config { + __u16 update; + __u16 flag; + enum omap3isp_alaw_ipwidth alawip; + struct omap3isp_ccdc_bclamp __user *bclamp; + struct omap3isp_ccdc_blcomp __user *blcomp; + struct omap3isp_ccdc_fpc __user *fpc; + struct omap3isp_ccdc_lsc_config __user *lsc_cfg; + struct omap3isp_ccdc_culling __user *cull; + __u8 __user *lsc; +}; +#define OMAP3ISP_PREV_LUMAENH (1 << 0) +#define OMAP3ISP_PREV_INVALAW (1 << 1) +#define OMAP3ISP_PREV_HRZ_MED (1 << 2) +#define OMAP3ISP_PREV_CFA (1 << 3) +#define OMAP3ISP_PREV_CHROMA_SUPP (1 << 4) +#define OMAP3ISP_PREV_WB (1 << 5) +#define OMAP3ISP_PREV_BLKADJ (1 << 6) +#define OMAP3ISP_PREV_RGB2RGB (1 << 7) +#define OMAP3ISP_PREV_COLOR_CONV (1 << 8) +#define OMAP3ISP_PREV_YC_LIMIT (1 << 9) +#define OMAP3ISP_PREV_DEFECT_COR (1 << 10) +#define OMAP3ISP_PREV_DRK_FRM_CAPTURE (1 << 12) +#define OMAP3ISP_PREV_DRK_FRM_SUBTRACT (1 << 13) +#define OMAP3ISP_PREV_LENS_SHADING (1 << 14) +#define OMAP3ISP_PREV_NF (1 << 15) +#define OMAP3ISP_PREV_GAMMA (1 << 16) +#define OMAP3ISP_PREV_NF_TBL_SIZE 64 +#define OMAP3ISP_PREV_CFA_TBL_SIZE 576 +#define OMAP3ISP_PREV_CFA_BLK_SIZE (OMAP3ISP_PREV_CFA_TBL_SIZE / 4) +#define OMAP3ISP_PREV_GAMMA_TBL_SIZE 1024 +#define OMAP3ISP_PREV_YENH_TBL_SIZE 128 +#define OMAP3ISP_PREV_DETECT_CORRECT_CHANNELS 4 +struct omap3isp_prev_hmed { + __u8 odddist; + __u8 evendist; + __u8 thres; +}; +enum omap3isp_cfa_fmt { + OMAP3ISP_CFAFMT_BAYER, + OMAP3ISP_CFAFMT_SONYVGA, + OMAP3ISP_CFAFMT_RGBFOVEON, + OMAP3ISP_CFAFMT_DNSPL, + OMAP3ISP_CFAFMT_HONEYCOMB, + OMAP3ISP_CFAFMT_RRGGBBFOVEON +}; +struct omap3isp_prev_cfa { + enum omap3isp_cfa_fmt format; + __u8 gradthrs_vert; + __u8 gradthrs_horz; + __u32 table[4][OMAP3ISP_PREV_CFA_BLK_SIZE]; +}; +struct omap3isp_prev_csup { + __u8 gain; + __u8 thres; + __u8 hypf_en; +}; +struct omap3isp_prev_wbal { + __u16 dgain; + __u8 coef3; + __u8 coef2; + __u8 coef1; + __u8 coef0; +}; +struct omap3isp_prev_blkadj { + + __u8 red; + + __u8 green; + + __u8 blue; +}; +struct omap3isp_prev_rgbtorgb { + __u16 matrix[OMAP3ISP_RGB_MAX][OMAP3ISP_RGB_MAX]; + __u16 offset[OMAP3ISP_RGB_MAX]; +}; +struct omap3isp_prev_csc { + __u16 matrix[OMAP3ISP_RGB_MAX][OMAP3ISP_RGB_MAX]; + __s16 offset[OMAP3ISP_RGB_MAX]; +}; +struct omap3isp_prev_yclimit { + __u8 minC; + __u8 maxC; + __u8 minY; + __u8 maxY; +}; +struct omap3isp_prev_dcor { + __u8 couplet_mode_en; + __u32 detect_correct[OMAP3ISP_PREV_DETECT_CORRECT_CHANNELS]; +}; +struct omap3isp_prev_nf { + __u8 spread; + __u32 table[OMAP3ISP_PREV_NF_TBL_SIZE]; +}; +struct omap3isp_prev_gtables { + __u32 red[OMAP3ISP_PREV_GAMMA_TBL_SIZE]; + __u32 green[OMAP3ISP_PREV_GAMMA_TBL_SIZE]; + __u32 blue[OMAP3ISP_PREV_GAMMA_TBL_SIZE]; +}; +struct omap3isp_prev_luma { + __u32 table[OMAP3ISP_PREV_YENH_TBL_SIZE]; +}; +struct omap3isp_prev_update_config { + __u32 update; + __u32 flag; + __u32 shading_shift; + struct omap3isp_prev_luma __user *luma; + struct omap3isp_prev_hmed __user *hmed; + struct omap3isp_prev_cfa __user *cfa; + struct omap3isp_prev_csup __user *csup; + struct omap3isp_prev_wbal __user *wbal; + struct omap3isp_prev_blkadj __user *blkadj; + struct omap3isp_prev_rgbtorgb __user *rgb2rgb; + struct omap3isp_prev_csc __user *csc; + struct omap3isp_prev_yclimit __user *yclimit; + struct omap3isp_prev_dcor __user *dcor; + struct omap3isp_prev_nf __user *nf; + struct omap3isp_prev_gtables __user *gamma; +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/omapfb.h b/linux-5.10/prebuilts/usr/include/linux/omapfb.h new file mode 100644 index 0000000..ac2e77d --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/omapfb.h @@ -0,0 +1,174 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI__LINUX_OMAPFB_H__ +#define _UAPI__LINUX_OMAPFB_H__ +#include +#include +#include +#define OMAP_IOW(num, dtype) _IOW('O', num, dtype) +#define OMAP_IOR(num, dtype) _IOR('O', num, dtype) +#define OMAP_IOWR(num, dtype) _IOWR('O', num, dtype) +#define OMAP_IO(num) _IO('O', num) +#define OMAPFB_MIRROR OMAP_IOW(31, int) +#define OMAPFB_SYNC_GFX OMAP_IO(37) +#define OMAPFB_VSYNC OMAP_IO(38) +#define OMAPFB_SET_UPDATE_MODE OMAP_IOW(40, int) +#define OMAPFB_GET_CAPS OMAP_IOR(42, struct omapfb_caps) +#define OMAPFB_GET_UPDATE_MODE OMAP_IOW(43, int) +#define OMAPFB_LCD_TEST OMAP_IOW(45, int) +#define OMAPFB_CTRL_TEST OMAP_IOW(46, int) +#define OMAPFB_UPDATE_WINDOW_OLD OMAP_IOW(47, struct omapfb_update_window_old) +#define OMAPFB_SET_COLOR_KEY OMAP_IOW(50, struct omapfb_color_key) +#define OMAPFB_GET_COLOR_KEY OMAP_IOW(51, struct omapfb_color_key) +#define OMAPFB_SETUP_PLANE OMAP_IOW(52, struct omapfb_plane_info) +#define OMAPFB_QUERY_PLANE OMAP_IOW(53, struct omapfb_plane_info) +#define OMAPFB_UPDATE_WINDOW OMAP_IOW(54, struct omapfb_update_window) +#define OMAPFB_SETUP_MEM OMAP_IOW(55, struct omapfb_mem_info) +#define OMAPFB_QUERY_MEM OMAP_IOW(56, struct omapfb_mem_info) +#define OMAPFB_WAITFORVSYNC OMAP_IO(57) +#define OMAPFB_MEMORY_READ OMAP_IOR(58, struct omapfb_memory_read) +#define OMAPFB_GET_OVERLAY_COLORMODE OMAP_IOR(59, struct omapfb_ovl_colormode) +#define OMAPFB_WAITFORGO OMAP_IO(60) +#define OMAPFB_GET_VRAM_INFO OMAP_IOR(61, struct omapfb_vram_info) +#define OMAPFB_SET_TEARSYNC OMAP_IOW(62, struct omapfb_tearsync_info) +#define OMAPFB_GET_DISPLAY_INFO OMAP_IOR(63, struct omapfb_display_info) +#define OMAPFB_CAPS_GENERIC_MASK 0x00000fff +#define OMAPFB_CAPS_LCDC_MASK 0x00fff000 +#define OMAPFB_CAPS_PANEL_MASK 0xff000000 +#define OMAPFB_CAPS_MANUAL_UPDATE 0x00001000 +#define OMAPFB_CAPS_TEARSYNC 0x00002000 +#define OMAPFB_CAPS_PLANE_RELOCATE_MEM 0x00004000 +#define OMAPFB_CAPS_PLANE_SCALE 0x00008000 +#define OMAPFB_CAPS_WINDOW_PIXEL_DOUBLE 0x00010000 +#define OMAPFB_CAPS_WINDOW_SCALE 0x00020000 +#define OMAPFB_CAPS_WINDOW_OVERLAY 0x00040000 +#define OMAPFB_CAPS_WINDOW_ROTATE 0x00080000 +#define OMAPFB_CAPS_SET_BACKLIGHT 0x01000000 +#define OMAPFB_FORMAT_MASK 0x00ff +#define OMAPFB_FORMAT_FLAG_DOUBLE 0x0100 +#define OMAPFB_FORMAT_FLAG_TEARSYNC 0x0200 +#define OMAPFB_FORMAT_FLAG_FORCE_VSYNC 0x0400 +#define OMAPFB_FORMAT_FLAG_ENABLE_OVERLAY 0x0800 +#define OMAPFB_FORMAT_FLAG_DISABLE_OVERLAY 0x1000 +#define OMAPFB_MEMTYPE_SDRAM 0 +#define OMAPFB_MEMTYPE_SRAM 1 +#define OMAPFB_MEMTYPE_MAX 1 +#define OMAPFB_MEM_IDX_ENABLED 0x80 +#define OMAPFB_MEM_IDX_MASK 0x7f +enum omapfb_color_format { + OMAPFB_COLOR_RGB565 = 0, + OMAPFB_COLOR_YUV422, + OMAPFB_COLOR_YUV420, + OMAPFB_COLOR_CLUT_8BPP, + OMAPFB_COLOR_CLUT_4BPP, + OMAPFB_COLOR_CLUT_2BPP, + OMAPFB_COLOR_CLUT_1BPP, + OMAPFB_COLOR_RGB444, + OMAPFB_COLOR_YUY422, + OMAPFB_COLOR_ARGB16, + OMAPFB_COLOR_RGB24U, + OMAPFB_COLOR_RGB24P, + OMAPFB_COLOR_ARGB32, + OMAPFB_COLOR_RGBA32, + OMAPFB_COLOR_RGBX32, +}; +struct omapfb_update_window { + __u32 x, y; + __u32 width, height; + __u32 format; + __u32 out_x, out_y; + __u32 out_width, out_height; + __u32 reserved[8]; +}; +struct omapfb_update_window_old { + __u32 x, y; + __u32 width, height; + __u32 format; +}; +enum omapfb_plane { + OMAPFB_PLANE_GFX = 0, + OMAPFB_PLANE_VID1, + OMAPFB_PLANE_VID2, +}; +enum omapfb_channel_out { + OMAPFB_CHANNEL_OUT_LCD = 0, + OMAPFB_CHANNEL_OUT_DIGIT, +}; +struct omapfb_plane_info { + __u32 pos_x; + __u32 pos_y; + __u8 enabled; + __u8 channel_out; + __u8 mirror; + __u8 mem_idx; + __u32 out_width; + __u32 out_height; + __u32 reserved2[12]; +}; +struct omapfb_mem_info { + __u32 size; + __u8 type; + __u8 reserved[3]; +}; +struct omapfb_caps { + __u32 ctrl; + __u32 plane_color; + __u32 wnd_color; +}; +enum omapfb_color_key_type { + OMAPFB_COLOR_KEY_DISABLED = 0, + OMAPFB_COLOR_KEY_GFX_DST, + OMAPFB_COLOR_KEY_VID_SRC, +}; +struct omapfb_color_key { + __u8 channel_out; + __u32 background; + __u32 trans_key; + __u8 key_type; +}; +enum omapfb_update_mode { + OMAPFB_UPDATE_DISABLED = 0, + OMAPFB_AUTO_UPDATE, + OMAPFB_MANUAL_UPDATE +}; +struct omapfb_memory_read { + __u16 x; + __u16 y; + __u16 w; + __u16 h; + size_t buffer_size; + void __user *buffer; +}; +struct omapfb_ovl_colormode { + __u8 overlay_idx; + __u8 mode_idx; + __u32 bits_per_pixel; + __u32 nonstd; + struct fb_bitfield red; + struct fb_bitfield green; + struct fb_bitfield blue; + struct fb_bitfield transp; +}; +struct omapfb_vram_info { + __u32 total; + __u32 free; + __u32 largest_free_block; + __u32 reserved[5]; +}; +struct omapfb_tearsync_info { + __u8 enabled; + __u8 reserved1[3]; + __u16 line; + __u16 reserved2; +}; +struct omapfb_display_info { + __u16 xres; + __u16 yres; + __u32 width; + __u32 height; + __u32 reserved[5]; +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/oom.h b/linux-5.10/prebuilts/usr/include/linux/oom.h new file mode 100644 index 0000000..b050989 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/oom.h @@ -0,0 +1,13 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI__INCLUDE_LINUX_OOM_H +#define _UAPI__INCLUDE_LINUX_OOM_H +#define OOM_SCORE_ADJ_MIN (-1000) +#define OOM_SCORE_ADJ_MAX 1000 +#define OOM_DISABLE (-17) +#define OOM_ADJUST_MIN (-16) +#define OOM_ADJUST_MAX 15 +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/openat2.h b/linux-5.10/prebuilts/usr/include/linux/openat2.h new file mode 100644 index 0000000..3c22e0c --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/openat2.h @@ -0,0 +1,19 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI_LINUX_OPENAT2_H +#define _UAPI_LINUX_OPENAT2_H +#include +struct open_how { + __u64 flags; + __u64 mode; + __u64 resolve; +}; +#define RESOLVE_NO_XDEV 0x01 +#define RESOLVE_NO_MAGICLINKS 0x02 +#define RESOLVE_NO_SYMLINKS 0x04 +#define RESOLVE_BENEATH 0x08 +#define RESOLVE_IN_ROOT 0x10 +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/openvswitch.h b/linux-5.10/prebuilts/usr/include/linux/openvswitch.h new file mode 100644 index 0000000..125c04c --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/openvswitch.h @@ -0,0 +1,536 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI__LINUX_OPENVSWITCH_H +#define _UAPI__LINUX_OPENVSWITCH_H 1 +#include +#include +struct ovs_header { + int dp_ifindex; +}; +#define OVS_DATAPATH_FAMILY "ovs_datapath" +#define OVS_DATAPATH_MCGROUP "ovs_datapath" +#define OVS_DATAPATH_VERSION 2 +#define OVS_DP_VER_FEATURES 2 +enum ovs_datapath_cmd { + OVS_DP_CMD_UNSPEC, + OVS_DP_CMD_NEW, + OVS_DP_CMD_DEL, + OVS_DP_CMD_GET, + OVS_DP_CMD_SET +}; +enum ovs_datapath_attr { + OVS_DP_ATTR_UNSPEC, + OVS_DP_ATTR_NAME, + OVS_DP_ATTR_UPCALL_PID, + OVS_DP_ATTR_STATS, + OVS_DP_ATTR_MEGAFLOW_STATS, + OVS_DP_ATTR_USER_FEATURES, + OVS_DP_ATTR_PAD, + OVS_DP_ATTR_MASKS_CACHE_SIZE, + __OVS_DP_ATTR_MAX +}; +#define OVS_DP_ATTR_MAX (__OVS_DP_ATTR_MAX - 1) +struct ovs_dp_stats { + __u64 n_hit; + __u64 n_missed; + __u64 n_lost; + __u64 n_flows; +}; +struct ovs_dp_megaflow_stats { + __u64 n_mask_hit; + __u32 n_masks; + __u32 pad0; + __u64 n_cache_hit; + __u64 pad1; +}; +struct ovs_vport_stats { + __u64 rx_packets; + __u64 tx_packets; + __u64 rx_bytes; + __u64 tx_bytes; + __u64 rx_errors; + __u64 tx_errors; + __u64 rx_dropped; + __u64 tx_dropped; +}; +#define OVS_DP_F_UNALIGNED (1 << 0) +#define OVS_DP_F_VPORT_PIDS (1 << 1) +#define OVS_DP_F_TC_RECIRC_SHARING (1 << 2) +#define OVSP_LOCAL ((__u32)0) +#define OVS_PACKET_FAMILY "ovs_packet" +#define OVS_PACKET_VERSION 0x1 +enum ovs_packet_cmd { + OVS_PACKET_CMD_UNSPEC, + + OVS_PACKET_CMD_MISS, + OVS_PACKET_CMD_ACTION, + + OVS_PACKET_CMD_EXECUTE +}; +enum ovs_packet_attr { + OVS_PACKET_ATTR_UNSPEC, + OVS_PACKET_ATTR_PACKET, + OVS_PACKET_ATTR_KEY, + OVS_PACKET_ATTR_ACTIONS, + OVS_PACKET_ATTR_USERDATA, + OVS_PACKET_ATTR_EGRESS_TUN_KEY, + OVS_PACKET_ATTR_UNUSED1, + OVS_PACKET_ATTR_UNUSED2, + OVS_PACKET_ATTR_PROBE, + OVS_PACKET_ATTR_MRU, + OVS_PACKET_ATTR_LEN, + OVS_PACKET_ATTR_HASH, + __OVS_PACKET_ATTR_MAX +}; +#define OVS_PACKET_ATTR_MAX (__OVS_PACKET_ATTR_MAX - 1) +#define OVS_VPORT_FAMILY "ovs_vport" +#define OVS_VPORT_MCGROUP "ovs_vport" +#define OVS_VPORT_VERSION 0x1 +enum ovs_vport_cmd { + OVS_VPORT_CMD_UNSPEC, + OVS_VPORT_CMD_NEW, + OVS_VPORT_CMD_DEL, + OVS_VPORT_CMD_GET, + OVS_VPORT_CMD_SET +}; +enum ovs_vport_type { + OVS_VPORT_TYPE_UNSPEC, + OVS_VPORT_TYPE_NETDEV, + OVS_VPORT_TYPE_INTERNAL, + OVS_VPORT_TYPE_GRE, + OVS_VPORT_TYPE_VXLAN, + OVS_VPORT_TYPE_GENEVE, + __OVS_VPORT_TYPE_MAX +}; +#define OVS_VPORT_TYPE_MAX (__OVS_VPORT_TYPE_MAX - 1) +enum ovs_vport_attr { + OVS_VPORT_ATTR_UNSPEC, + OVS_VPORT_ATTR_PORT_NO, + OVS_VPORT_ATTR_TYPE, + OVS_VPORT_ATTR_NAME, + OVS_VPORT_ATTR_OPTIONS, + OVS_VPORT_ATTR_UPCALL_PID, + + OVS_VPORT_ATTR_STATS, + OVS_VPORT_ATTR_PAD, + OVS_VPORT_ATTR_IFINDEX, + OVS_VPORT_ATTR_NETNSID, + __OVS_VPORT_ATTR_MAX +}; +#define OVS_VPORT_ATTR_MAX (__OVS_VPORT_ATTR_MAX - 1) +enum { + OVS_VXLAN_EXT_UNSPEC, + OVS_VXLAN_EXT_GBP, + __OVS_VXLAN_EXT_MAX, +}; +#define OVS_VXLAN_EXT_MAX (__OVS_VXLAN_EXT_MAX - 1) +enum { + OVS_TUNNEL_ATTR_UNSPEC, + OVS_TUNNEL_ATTR_DST_PORT, + OVS_TUNNEL_ATTR_EXTENSION, + __OVS_TUNNEL_ATTR_MAX +}; +#define OVS_TUNNEL_ATTR_MAX (__OVS_TUNNEL_ATTR_MAX - 1) +#define OVS_FLOW_FAMILY "ovs_flow" +#define OVS_FLOW_MCGROUP "ovs_flow" +#define OVS_FLOW_VERSION 0x1 +enum ovs_flow_cmd { + OVS_FLOW_CMD_UNSPEC, + OVS_FLOW_CMD_NEW, + OVS_FLOW_CMD_DEL, + OVS_FLOW_CMD_GET, + OVS_FLOW_CMD_SET +}; +struct ovs_flow_stats { + __u64 n_packets; + __u64 n_bytes; +}; +enum ovs_key_attr { + OVS_KEY_ATTR_UNSPEC, + OVS_KEY_ATTR_ENCAP, + OVS_KEY_ATTR_PRIORITY, + OVS_KEY_ATTR_IN_PORT, + OVS_KEY_ATTR_ETHERNET, + OVS_KEY_ATTR_VLAN, + OVS_KEY_ATTR_ETHERTYPE, + OVS_KEY_ATTR_IPV4, + OVS_KEY_ATTR_IPV6, + OVS_KEY_ATTR_TCP, + OVS_KEY_ATTR_UDP, + OVS_KEY_ATTR_ICMP, + OVS_KEY_ATTR_ICMPV6, + OVS_KEY_ATTR_ARP, + OVS_KEY_ATTR_ND, + OVS_KEY_ATTR_SKB_MARK, + OVS_KEY_ATTR_TUNNEL, + OVS_KEY_ATTR_SCTP, + OVS_KEY_ATTR_TCP_FLAGS, + OVS_KEY_ATTR_DP_HASH, + OVS_KEY_ATTR_RECIRC_ID, + OVS_KEY_ATTR_MPLS, + OVS_KEY_ATTR_CT_STATE, + OVS_KEY_ATTR_CT_ZONE, + OVS_KEY_ATTR_CT_MARK, + OVS_KEY_ATTR_CT_LABELS, + OVS_KEY_ATTR_CT_ORIG_TUPLE_IPV4, + OVS_KEY_ATTR_CT_ORIG_TUPLE_IPV6, + OVS_KEY_ATTR_NSH, +#ifdef __KERNEL__ + OVS_KEY_ATTR_TUNNEL_INFO, +#endif + __OVS_KEY_ATTR_MAX +}; +#define OVS_KEY_ATTR_MAX (__OVS_KEY_ATTR_MAX - 1) +enum ovs_tunnel_key_attr { + + OVS_TUNNEL_KEY_ATTR_ID, + OVS_TUNNEL_KEY_ATTR_IPV4_SRC, + OVS_TUNNEL_KEY_ATTR_IPV4_DST, + OVS_TUNNEL_KEY_ATTR_TOS, + OVS_TUNNEL_KEY_ATTR_TTL, + OVS_TUNNEL_KEY_ATTR_DONT_FRAGMENT, + OVS_TUNNEL_KEY_ATTR_CSUM, + OVS_TUNNEL_KEY_ATTR_OAM, + OVS_TUNNEL_KEY_ATTR_GENEVE_OPTS, + OVS_TUNNEL_KEY_ATTR_TP_SRC, + OVS_TUNNEL_KEY_ATTR_TP_DST, + OVS_TUNNEL_KEY_ATTR_VXLAN_OPTS, + OVS_TUNNEL_KEY_ATTR_IPV6_SRC, + OVS_TUNNEL_KEY_ATTR_IPV6_DST, + OVS_TUNNEL_KEY_ATTR_PAD, + OVS_TUNNEL_KEY_ATTR_ERSPAN_OPTS, + OVS_TUNNEL_KEY_ATTR_IPV4_INFO_BRIDGE, + __OVS_TUNNEL_KEY_ATTR_MAX +}; +#define OVS_TUNNEL_KEY_ATTR_MAX (__OVS_TUNNEL_KEY_ATTR_MAX - 1) +enum ovs_frag_type { + OVS_FRAG_TYPE_NONE, + OVS_FRAG_TYPE_FIRST, + OVS_FRAG_TYPE_LATER, + __OVS_FRAG_TYPE_MAX +}; +#define OVS_FRAG_TYPE_MAX (__OVS_FRAG_TYPE_MAX - 1) +struct ovs_key_ethernet { + __u8 eth_src[ETH_ALEN]; + __u8 eth_dst[ETH_ALEN]; +}; +struct ovs_key_mpls { + __be32 mpls_lse; +}; +struct ovs_key_ipv4 { + __be32 ipv4_src; + __be32 ipv4_dst; + __u8 ipv4_proto; + __u8 ipv4_tos; + __u8 ipv4_ttl; + __u8 ipv4_frag; +}; +struct ovs_key_ipv6 { + __be32 ipv6_src[4]; + __be32 ipv6_dst[4]; + __be32 ipv6_label; + __u8 ipv6_proto; + __u8 ipv6_tclass; + __u8 ipv6_hlimit; + __u8 ipv6_frag; +}; +struct ovs_key_tcp { + __be16 tcp_src; + __be16 tcp_dst; +}; +struct ovs_key_udp { + __be16 udp_src; + __be16 udp_dst; +}; +struct ovs_key_sctp { + __be16 sctp_src; + __be16 sctp_dst; +}; +struct ovs_key_icmp { + __u8 icmp_type; + __u8 icmp_code; +}; +struct ovs_key_icmpv6 { + __u8 icmpv6_type; + __u8 icmpv6_code; +}; +struct ovs_key_arp { + __be32 arp_sip; + __be32 arp_tip; + __be16 arp_op; + __u8 arp_sha[ETH_ALEN]; + __u8 arp_tha[ETH_ALEN]; +}; +struct ovs_key_nd { + __be32 nd_target[4]; + __u8 nd_sll[ETH_ALEN]; + __u8 nd_tll[ETH_ALEN]; +}; +#define OVS_CT_LABELS_LEN_32 4 +#define OVS_CT_LABELS_LEN (OVS_CT_LABELS_LEN_32 * sizeof(__u32)) +struct ovs_key_ct_labels { + union { + __u8 ct_labels[OVS_CT_LABELS_LEN]; + __u32 ct_labels_32[OVS_CT_LABELS_LEN_32]; + }; +}; +#define OVS_CS_F_NEW 0x01 +#define OVS_CS_F_ESTABLISHED 0x02 +#define OVS_CS_F_RELATED 0x04 +#define OVS_CS_F_REPLY_DIR 0x08 +#define OVS_CS_F_INVALID 0x10 +#define OVS_CS_F_TRACKED 0x20 +#define OVS_CS_F_SRC_NAT 0x40 +#define OVS_CS_F_DST_NAT 0x80 +#define OVS_CS_F_NAT_MASK (OVS_CS_F_SRC_NAT | OVS_CS_F_DST_NAT) +struct ovs_key_ct_tuple_ipv4 { + __be32 ipv4_src; + __be32 ipv4_dst; + __be16 src_port; + __be16 dst_port; + __u8 ipv4_proto; +}; +struct ovs_key_ct_tuple_ipv6 { + __be32 ipv6_src[4]; + __be32 ipv6_dst[4]; + __be16 src_port; + __be16 dst_port; + __u8 ipv6_proto; +}; +enum ovs_nsh_key_attr { + OVS_NSH_KEY_ATTR_UNSPEC, + OVS_NSH_KEY_ATTR_BASE, + OVS_NSH_KEY_ATTR_MD1, + OVS_NSH_KEY_ATTR_MD2, + __OVS_NSH_KEY_ATTR_MAX +}; +#define OVS_NSH_KEY_ATTR_MAX (__OVS_NSH_KEY_ATTR_MAX - 1) +struct ovs_nsh_key_base { + __u8 flags; + __u8 ttl; + __u8 mdtype; + __u8 np; + __be32 path_hdr; +}; +#define NSH_MD1_CONTEXT_SIZE 4 +struct ovs_nsh_key_md1 { + __be32 context[NSH_MD1_CONTEXT_SIZE]; +}; +enum ovs_flow_attr { + OVS_FLOW_ATTR_UNSPEC, + OVS_FLOW_ATTR_KEY, + OVS_FLOW_ATTR_ACTIONS, + OVS_FLOW_ATTR_STATS, + OVS_FLOW_ATTR_TCP_FLAGS, + OVS_FLOW_ATTR_USED, + OVS_FLOW_ATTR_CLEAR, + OVS_FLOW_ATTR_MASK, + OVS_FLOW_ATTR_PROBE, + OVS_FLOW_ATTR_UFID, + OVS_FLOW_ATTR_UFID_FLAGS, + OVS_FLOW_ATTR_PAD, + __OVS_FLOW_ATTR_MAX +}; +#define OVS_FLOW_ATTR_MAX (__OVS_FLOW_ATTR_MAX - 1) +#define OVS_UFID_F_OMIT_KEY (1 << 0) +#define OVS_UFID_F_OMIT_MASK (1 << 1) +#define OVS_UFID_F_OMIT_ACTIONS (1 << 2) +enum ovs_sample_attr { + OVS_SAMPLE_ATTR_UNSPEC, + OVS_SAMPLE_ATTR_PROBABILITY, + OVS_SAMPLE_ATTR_ACTIONS, + __OVS_SAMPLE_ATTR_MAX, +#ifdef __KERNEL__ + OVS_SAMPLE_ATTR_ARG +#endif +}; +#define OVS_SAMPLE_ATTR_MAX (__OVS_SAMPLE_ATTR_MAX - 1) +#ifdef __KERNEL__ +struct sample_arg { + bool exec; + u32 probability; +}; +#endif +enum ovs_userspace_attr { + OVS_USERSPACE_ATTR_UNSPEC, + OVS_USERSPACE_ATTR_PID, + OVS_USERSPACE_ATTR_USERDATA, + OVS_USERSPACE_ATTR_EGRESS_TUN_PORT, + OVS_USERSPACE_ATTR_ACTIONS, + __OVS_USERSPACE_ATTR_MAX +}; +#define OVS_USERSPACE_ATTR_MAX (__OVS_USERSPACE_ATTR_MAX - 1) +struct ovs_action_trunc { + __u32 max_len; +}; +struct ovs_action_push_mpls { + __be32 mpls_lse; + __be16 mpls_ethertype; +}; +struct ovs_action_add_mpls { + __be32 mpls_lse; + __be16 mpls_ethertype; + __u16 tun_flags; +}; +#define OVS_MPLS_L3_TUNNEL_FLAG_MASK (1 << 0) +struct ovs_action_push_vlan { + __be16 vlan_tpid; + __be16 vlan_tci; +}; +enum ovs_hash_alg { + OVS_HASH_ALG_L4, +}; +struct ovs_action_hash { + __u32 hash_alg; + __u32 hash_basis; +}; +enum ovs_ct_attr { + OVS_CT_ATTR_UNSPEC, + OVS_CT_ATTR_COMMIT, + OVS_CT_ATTR_ZONE, + OVS_CT_ATTR_MARK, + OVS_CT_ATTR_LABELS, + OVS_CT_ATTR_HELPER, + OVS_CT_ATTR_NAT, + OVS_CT_ATTR_FORCE_COMMIT, + OVS_CT_ATTR_EVENTMASK, + OVS_CT_ATTR_TIMEOUT, + __OVS_CT_ATTR_MAX +}; +#define OVS_CT_ATTR_MAX (__OVS_CT_ATTR_MAX - 1) +enum ovs_nat_attr { + OVS_NAT_ATTR_UNSPEC, + OVS_NAT_ATTR_SRC, + OVS_NAT_ATTR_DST, + OVS_NAT_ATTR_IP_MIN, + OVS_NAT_ATTR_IP_MAX, + OVS_NAT_ATTR_PROTO_MIN, + OVS_NAT_ATTR_PROTO_MAX, + OVS_NAT_ATTR_PERSISTENT, + OVS_NAT_ATTR_PROTO_HASH, + OVS_NAT_ATTR_PROTO_RANDOM, + __OVS_NAT_ATTR_MAX, +}; +#define OVS_NAT_ATTR_MAX (__OVS_NAT_ATTR_MAX - 1) +struct ovs_action_push_eth { + struct ovs_key_ethernet addresses; +}; +enum ovs_check_pkt_len_attr { + OVS_CHECK_PKT_LEN_ATTR_UNSPEC, + OVS_CHECK_PKT_LEN_ATTR_PKT_LEN, + OVS_CHECK_PKT_LEN_ATTR_ACTIONS_IF_GREATER, + OVS_CHECK_PKT_LEN_ATTR_ACTIONS_IF_LESS_EQUAL, + __OVS_CHECK_PKT_LEN_ATTR_MAX, +#ifdef __KERNEL__ + OVS_CHECK_PKT_LEN_ATTR_ARG +#endif +}; +#define OVS_CHECK_PKT_LEN_ATTR_MAX (__OVS_CHECK_PKT_LEN_ATTR_MAX - 1) +#ifdef __KERNEL__ +struct check_pkt_len_arg { + u16 pkt_len; + bool exec_for_greater; + bool exec_for_lesser_equal; +}; +#endif +enum ovs_action_attr { + OVS_ACTION_ATTR_UNSPEC, + OVS_ACTION_ATTR_OUTPUT, + OVS_ACTION_ATTR_USERSPACE, + OVS_ACTION_ATTR_SET, + OVS_ACTION_ATTR_PUSH_VLAN, + OVS_ACTION_ATTR_POP_VLAN, + OVS_ACTION_ATTR_SAMPLE, + OVS_ACTION_ATTR_RECIRC, + OVS_ACTION_ATTR_HASH, + OVS_ACTION_ATTR_PUSH_MPLS, + OVS_ACTION_ATTR_POP_MPLS, + OVS_ACTION_ATTR_SET_MASKED, + OVS_ACTION_ATTR_CT, + OVS_ACTION_ATTR_TRUNC, + OVS_ACTION_ATTR_PUSH_ETH, + OVS_ACTION_ATTR_POP_ETH, + OVS_ACTION_ATTR_CT_CLEAR, + OVS_ACTION_ATTR_PUSH_NSH, + OVS_ACTION_ATTR_POP_NSH, + OVS_ACTION_ATTR_METER, + OVS_ACTION_ATTR_CLONE, + OVS_ACTION_ATTR_CHECK_PKT_LEN, + OVS_ACTION_ATTR_ADD_MPLS, + OVS_ACTION_ATTR_DEC_TTL, + __OVS_ACTION_ATTR_MAX, +#ifdef __KERNEL__ + OVS_ACTION_ATTR_SET_TO_MASKED, +#endif +}; +#define OVS_ACTION_ATTR_MAX (__OVS_ACTION_ATTR_MAX - 1) +#define OVS_METER_FAMILY "ovs_meter" +#define OVS_METER_MCGROUP "ovs_meter" +#define OVS_METER_VERSION 0x1 +enum ovs_meter_cmd { + OVS_METER_CMD_UNSPEC, + OVS_METER_CMD_FEATURES, + OVS_METER_CMD_SET, + OVS_METER_CMD_DEL, + OVS_METER_CMD_GET +}; +enum ovs_meter_attr { + OVS_METER_ATTR_UNSPEC, + OVS_METER_ATTR_ID, + OVS_METER_ATTR_KBPS, + OVS_METER_ATTR_STATS, + OVS_METER_ATTR_BANDS, + OVS_METER_ATTR_USED, + OVS_METER_ATTR_CLEAR, + OVS_METER_ATTR_MAX_METERS, + OVS_METER_ATTR_MAX_BANDS, + OVS_METER_ATTR_PAD, + __OVS_METER_ATTR_MAX +}; +#define OVS_METER_ATTR_MAX (__OVS_METER_ATTR_MAX - 1) +enum ovs_band_attr { + OVS_BAND_ATTR_UNSPEC, + OVS_BAND_ATTR_TYPE, + OVS_BAND_ATTR_RATE, + OVS_BAND_ATTR_BURST, + OVS_BAND_ATTR_STATS, + __OVS_BAND_ATTR_MAX +}; +#define OVS_BAND_ATTR_MAX (__OVS_BAND_ATTR_MAX - 1) +enum ovs_meter_band_type { + OVS_METER_BAND_TYPE_UNSPEC, + OVS_METER_BAND_TYPE_DROP, + __OVS_METER_BAND_TYPE_MAX +}; +#define OVS_METER_BAND_TYPE_MAX (__OVS_METER_BAND_TYPE_MAX - 1) +#define OVS_CT_LIMIT_FAMILY "ovs_ct_limit" +#define OVS_CT_LIMIT_MCGROUP "ovs_ct_limit" +#define OVS_CT_LIMIT_VERSION 0x1 +enum ovs_ct_limit_cmd { + OVS_CT_LIMIT_CMD_UNSPEC, + OVS_CT_LIMIT_CMD_SET, + OVS_CT_LIMIT_CMD_DEL, + OVS_CT_LIMIT_CMD_GET +}; +enum ovs_ct_limit_attr { + OVS_CT_LIMIT_ATTR_UNSPEC, + OVS_CT_LIMIT_ATTR_ZONE_LIMIT, + __OVS_CT_LIMIT_ATTR_MAX +}; +#define OVS_CT_LIMIT_ATTR_MAX (__OVS_CT_LIMIT_ATTR_MAX - 1) +#define OVS_ZONE_LIMIT_DEFAULT_ZONE -1 +struct ovs_zone_limit { + int zone_id; + __u32 limit; + __u32 count; +}; +enum ovs_dec_ttl_attr { + OVS_DEC_TTL_ATTR_UNSPEC, + OVS_DEC_TTL_ATTR_ACTION, + __OVS_DEC_TTL_ATTR_MAX +}; +#define OVS_DEC_TTL_ATTR_MAX (__OVS_DEC_TTL_ATTR_MAX - 1) +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/packet_diag.h b/linux-5.10/prebuilts/usr/include/linux/packet_diag.h new file mode 100644 index 0000000..a181631 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/packet_diag.h @@ -0,0 +1,72 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef __PACKET_DIAG_H__ +#define __PACKET_DIAG_H__ +#include +struct packet_diag_req { + __u8 sdiag_family; + __u8 sdiag_protocol; + __u16 pad; + __u32 pdiag_ino; + __u32 pdiag_show; + __u32 pdiag_cookie[2]; +}; +#define PACKET_SHOW_INFO 0x00000001 +#define PACKET_SHOW_MCLIST 0x00000002 +#define PACKET_SHOW_RING_CFG 0x00000004 +#define PACKET_SHOW_FANOUT 0x00000008 +#define PACKET_SHOW_MEMINFO 0x00000010 +#define PACKET_SHOW_FILTER 0x00000020 +struct packet_diag_msg { + __u8 pdiag_family; + __u8 pdiag_type; + __u16 pdiag_num; + __u32 pdiag_ino; + __u32 pdiag_cookie[2]; +}; +enum { + + PACKET_DIAG_INFO, + PACKET_DIAG_MCLIST, + PACKET_DIAG_RX_RING, + PACKET_DIAG_TX_RING, + PACKET_DIAG_FANOUT, + PACKET_DIAG_UID, + PACKET_DIAG_MEMINFO, + PACKET_DIAG_FILTER, + __PACKET_DIAG_MAX, +}; +#define PACKET_DIAG_MAX (__PACKET_DIAG_MAX - 1) +struct packet_diag_info { + __u32 pdi_index; + __u32 pdi_version; + __u32 pdi_reserve; + __u32 pdi_copy_thresh; + __u32 pdi_tstamp; + __u32 pdi_flags; +#define PDI_RUNNING 0x1 +#define PDI_AUXDATA 0x2 +#define PDI_ORIGDEV 0x4 +#define PDI_VNETHDR 0x8 +#define PDI_LOSS 0x10 +}; +struct packet_diag_mclist { + __u32 pdmc_index; + __u32 pdmc_count; + __u16 pdmc_type; + __u16 pdmc_alen; + __u8 pdmc_addr[32]; +}; +struct packet_diag_ring { + __u32 pdr_block_size; + __u32 pdr_block_nr; + __u32 pdr_frame_size; + __u32 pdr_frame_nr; + __u32 pdr_retire_tmo; + __u32 pdr_sizeof_priv; + __u32 pdr_features; +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/param.h b/linux-5.10/prebuilts/usr/include/linux/param.h new file mode 100644 index 0000000..799b7cc --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/param.h @@ -0,0 +1,9 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _LINUX_PARAM_H +#define _LINUX_PARAM_H +#include +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/parport.h b/linux-5.10/prebuilts/usr/include/linux/parport.h new file mode 100644 index 0000000..c842d83 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/parport.h @@ -0,0 +1,65 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI_PARPORT_H_ +#define _UAPI_PARPORT_H_ +#define PARPORT_MAX 16 +#define PARPORT_IRQ_NONE -1 +#define PARPORT_DMA_NONE -1 +#define PARPORT_IRQ_AUTO -2 +#define PARPORT_DMA_AUTO -2 +#define PARPORT_DMA_NOFIFO -3 +#define PARPORT_DISABLE -2 +#define PARPORT_IRQ_PROBEONLY -3 +#define PARPORT_IOHI_AUTO -1 +#define PARPORT_CONTROL_STROBE 0x1 +#define PARPORT_CONTROL_AUTOFD 0x2 +#define PARPORT_CONTROL_INIT 0x4 +#define PARPORT_CONTROL_SELECT 0x8 +#define PARPORT_STATUS_ERROR 0x8 +#define PARPORT_STATUS_SELECT 0x10 +#define PARPORT_STATUS_PAPEROUT 0x20 +#define PARPORT_STATUS_ACK 0x40 +#define PARPORT_STATUS_BUSY 0x80 +typedef enum { + PARPORT_CLASS_LEGACY = 0, + PARPORT_CLASS_PRINTER, + PARPORT_CLASS_MODEM, + PARPORT_CLASS_NET, + PARPORT_CLASS_HDC, + PARPORT_CLASS_PCMCIA, + PARPORT_CLASS_MEDIA, + PARPORT_CLASS_FDC, + PARPORT_CLASS_PORTS, + PARPORT_CLASS_SCANNER, + PARPORT_CLASS_DIGCAM, + PARPORT_CLASS_OTHER, + PARPORT_CLASS_UNSPEC, + PARPORT_CLASS_SCSIADAPTER +} parport_device_class; +#define PARPORT_MODE_PCSPP (1<<0) +#define PARPORT_MODE_TRISTATE (1<<1) +#define PARPORT_MODE_EPP (1<<2) +#define PARPORT_MODE_ECP (1<<3) +#define PARPORT_MODE_COMPAT (1<<4) +#define PARPORT_MODE_DMA (1<<5) +#define PARPORT_MODE_SAFEININT (1<<6) +#define IEEE1284_MODE_NIBBLE 0 +#define IEEE1284_MODE_BYTE (1<<0) +#define IEEE1284_MODE_COMPAT (1<<8) +#define IEEE1284_MODE_BECP (1<<9) +#define IEEE1284_MODE_ECP (1<<4) +#define IEEE1284_MODE_ECPRLE (IEEE1284_MODE_ECP | (1<<5)) +#define IEEE1284_MODE_ECPSWE (1<<10) +#define IEEE1284_MODE_EPP (1<<6) +#define IEEE1284_MODE_EPPSL (1<<11) +#define IEEE1284_MODE_EPPSWE (1<<12) +#define IEEE1284_DEVICEID (1<<2) +#define IEEE1284_EXT_LINK (1<<14) +#define IEEE1284_ADDR (1<<13) +#define IEEE1284_DATA 0 +#define PARPORT_EPP_FAST (1<<0) +#define PARPORT_W91284PIC (1<<1) +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/patchkey.h b/linux-5.10/prebuilts/usr/include/linux/patchkey.h new file mode 100644 index 0000000..f9354ff --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/patchkey.h @@ -0,0 +1,25 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _LINUX_PATCHKEY_H_INDIRECT +#error "patchkey.h included directly" +#endif +#ifndef _UAPI_LINUX_PATCHKEY_H +#define _UAPI_LINUX_PATCHKEY_H +#ifndef __KERNEL__ +# include +#endif +#if !defined(__KERNEL__) +#if defined(__BYTE_ORDER) +# if __BYTE_ORDER == __BIG_ENDIAN +# define _PATCHKEY(id) (0xfd00|id) +# elif __BYTE_ORDER == __LITTLE_ENDIAN +# define _PATCHKEY(id) ((id<<8)|0x00fd) +# else +# error "could not determine byte order" +# endif +#endif +#endif +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/pci.h b/linux-5.10/prebuilts/usr/include/linux/pci.h new file mode 100644 index 0000000..e0c512f --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/pci.h @@ -0,0 +1,17 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPILINUX_PCI_H +#define _UAPILINUX_PCI_H +#include +#define PCI_DEVFN(slot, func) ((((slot) & 0x1f) << 3) | ((func) & 0x07)) +#define PCI_SLOT(devfn) (((devfn) >> 3) & 0x1f) +#define PCI_FUNC(devfn) ((devfn) & 0x07) +#define PCIIOC_BASE ('P' << 24 | 'C' << 16 | 'I' << 8) +#define PCIIOC_CONTROLLER (PCIIOC_BASE | 0x00) +#define PCIIOC_MMAP_IS_IO (PCIIOC_BASE | 0x01) +#define PCIIOC_MMAP_IS_MEM (PCIIOC_BASE | 0x02) +#define PCIIOC_WRITE_COMBINE (PCIIOC_BASE | 0x03) +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/pci_regs.h b/linux-5.10/prebuilts/usr/include/linux/pci_regs.h new file mode 100644 index 0000000..8b8ba90 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/pci_regs.h @@ -0,0 +1,909 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef LINUX_PCI_REGS_H +#define LINUX_PCI_REGS_H +#define PCI_CFG_SPACE_SIZE 256 +#define PCI_CFG_SPACE_EXP_SIZE 4096 +#define PCI_STD_HEADER_SIZEOF 64 +#define PCI_STD_NUM_BARS 6 +#define PCI_VENDOR_ID 0x00 +#define PCI_DEVICE_ID 0x02 +#define PCI_COMMAND 0x04 +#define PCI_COMMAND_IO 0x1 +#define PCI_COMMAND_MEMORY 0x2 +#define PCI_COMMAND_MASTER 0x4 +#define PCI_COMMAND_SPECIAL 0x8 +#define PCI_COMMAND_INVALIDATE 0x10 +#define PCI_COMMAND_VGA_PALETTE 0x20 +#define PCI_COMMAND_PARITY 0x40 +#define PCI_COMMAND_WAIT 0x80 +#define PCI_COMMAND_SERR 0x100 +#define PCI_COMMAND_FAST_BACK 0x200 +#define PCI_COMMAND_INTX_DISABLE 0x400 +#define PCI_STATUS 0x06 +#define PCI_STATUS_IMM_READY 0x01 +#define PCI_STATUS_INTERRUPT 0x08 +#define PCI_STATUS_CAP_LIST 0x10 +#define PCI_STATUS_66MHZ 0x20 +#define PCI_STATUS_UDF 0x40 +#define PCI_STATUS_FAST_BACK 0x80 +#define PCI_STATUS_PARITY 0x100 +#define PCI_STATUS_DEVSEL_MASK 0x600 +#define PCI_STATUS_DEVSEL_FAST 0x000 +#define PCI_STATUS_DEVSEL_MEDIUM 0x200 +#define PCI_STATUS_DEVSEL_SLOW 0x400 +#define PCI_STATUS_SIG_TARGET_ABORT 0x800 +#define PCI_STATUS_REC_TARGET_ABORT 0x1000 +#define PCI_STATUS_REC_MASTER_ABORT 0x2000 +#define PCI_STATUS_SIG_SYSTEM_ERROR 0x4000 +#define PCI_STATUS_DETECTED_PARITY 0x8000 +#define PCI_CLASS_REVISION 0x08 +#define PCI_REVISION_ID 0x08 +#define PCI_CLASS_PROG 0x09 +#define PCI_CLASS_DEVICE 0x0a +#define PCI_CACHE_LINE_SIZE 0x0c +#define PCI_LATENCY_TIMER 0x0d +#define PCI_HEADER_TYPE 0x0e +#define PCI_HEADER_TYPE_MASK 0x7f +#define PCI_HEADER_TYPE_NORMAL 0 +#define PCI_HEADER_TYPE_BRIDGE 1 +#define PCI_HEADER_TYPE_CARDBUS 2 +#define PCI_BIST 0x0f +#define PCI_BIST_CODE_MASK 0x0f +#define PCI_BIST_START 0x40 +#define PCI_BIST_CAPABLE 0x80 +#define PCI_BASE_ADDRESS_0 0x10 +#define PCI_BASE_ADDRESS_1 0x14 +#define PCI_BASE_ADDRESS_2 0x18 +#define PCI_BASE_ADDRESS_3 0x1c +#define PCI_BASE_ADDRESS_4 0x20 +#define PCI_BASE_ADDRESS_5 0x24 +#define PCI_BASE_ADDRESS_SPACE 0x01 +#define PCI_BASE_ADDRESS_SPACE_IO 0x01 +#define PCI_BASE_ADDRESS_SPACE_MEMORY 0x00 +#define PCI_BASE_ADDRESS_MEM_TYPE_MASK 0x06 +#define PCI_BASE_ADDRESS_MEM_TYPE_32 0x00 +#define PCI_BASE_ADDRESS_MEM_TYPE_1M 0x02 +#define PCI_BASE_ADDRESS_MEM_TYPE_64 0x04 +#define PCI_BASE_ADDRESS_MEM_PREFETCH 0x08 +#define PCI_BASE_ADDRESS_MEM_MASK (~0x0fUL) +#define PCI_BASE_ADDRESS_IO_MASK (~0x03UL) +#define PCI_CARDBUS_CIS 0x28 +#define PCI_SUBSYSTEM_VENDOR_ID 0x2c +#define PCI_SUBSYSTEM_ID 0x2e +#define PCI_ROM_ADDRESS 0x30 +#define PCI_ROM_ADDRESS_ENABLE 0x01 +#define PCI_ROM_ADDRESS_MASK (~0x7ffU) +#define PCI_CAPABILITY_LIST 0x34 +#define PCI_INTERRUPT_LINE 0x3c +#define PCI_INTERRUPT_PIN 0x3d +#define PCI_MIN_GNT 0x3e +#define PCI_MAX_LAT 0x3f +#define PCI_PRIMARY_BUS 0x18 +#define PCI_SECONDARY_BUS 0x19 +#define PCI_SUBORDINATE_BUS 0x1a +#define PCI_SEC_LATENCY_TIMER 0x1b +#define PCI_IO_BASE 0x1c +#define PCI_IO_LIMIT 0x1d +#define PCI_IO_RANGE_TYPE_MASK 0x0fUL +#define PCI_IO_RANGE_TYPE_16 0x00 +#define PCI_IO_RANGE_TYPE_32 0x01 +#define PCI_IO_RANGE_MASK (~0x0fUL) +#define PCI_IO_1K_RANGE_MASK (~0x03UL) +#define PCI_SEC_STATUS 0x1e +#define PCI_MEMORY_BASE 0x20 +#define PCI_MEMORY_LIMIT 0x22 +#define PCI_MEMORY_RANGE_TYPE_MASK 0x0fUL +#define PCI_MEMORY_RANGE_MASK (~0x0fUL) +#define PCI_PREF_MEMORY_BASE 0x24 +#define PCI_PREF_MEMORY_LIMIT 0x26 +#define PCI_PREF_RANGE_TYPE_MASK 0x0fUL +#define PCI_PREF_RANGE_TYPE_32 0x00 +#define PCI_PREF_RANGE_TYPE_64 0x01 +#define PCI_PREF_RANGE_MASK (~0x0fUL) +#define PCI_PREF_BASE_UPPER32 0x28 +#define PCI_PREF_LIMIT_UPPER32 0x2c +#define PCI_IO_BASE_UPPER16 0x30 +#define PCI_IO_LIMIT_UPPER16 0x32 +#define PCI_ROM_ADDRESS1 0x38 +#define PCI_BRIDGE_CONTROL 0x3e +#define PCI_BRIDGE_CTL_PARITY 0x01 +#define PCI_BRIDGE_CTL_SERR 0x02 +#define PCI_BRIDGE_CTL_ISA 0x04 +#define PCI_BRIDGE_CTL_VGA 0x08 +#define PCI_BRIDGE_CTL_MASTER_ABORT 0x20 +#define PCI_BRIDGE_CTL_BUS_RESET 0x40 +#define PCI_BRIDGE_CTL_FAST_BACK 0x80 +#define PCI_CB_CAPABILITY_LIST 0x14 +#define PCI_CB_SEC_STATUS 0x16 +#define PCI_CB_PRIMARY_BUS 0x18 +#define PCI_CB_CARD_BUS 0x19 +#define PCI_CB_SUBORDINATE_BUS 0x1a +#define PCI_CB_LATENCY_TIMER 0x1b +#define PCI_CB_MEMORY_BASE_0 0x1c +#define PCI_CB_MEMORY_LIMIT_0 0x20 +#define PCI_CB_MEMORY_BASE_1 0x24 +#define PCI_CB_MEMORY_LIMIT_1 0x28 +#define PCI_CB_IO_BASE_0 0x2c +#define PCI_CB_IO_BASE_0_HI 0x2e +#define PCI_CB_IO_LIMIT_0 0x30 +#define PCI_CB_IO_LIMIT_0_HI 0x32 +#define PCI_CB_IO_BASE_1 0x34 +#define PCI_CB_IO_BASE_1_HI 0x36 +#define PCI_CB_IO_LIMIT_1 0x38 +#define PCI_CB_IO_LIMIT_1_HI 0x3a +#define PCI_CB_IO_RANGE_MASK (~0x03UL) +#define PCI_CB_BRIDGE_CONTROL 0x3e +#define PCI_CB_BRIDGE_CTL_PARITY 0x01 +#define PCI_CB_BRIDGE_CTL_SERR 0x02 +#define PCI_CB_BRIDGE_CTL_ISA 0x04 +#define PCI_CB_BRIDGE_CTL_VGA 0x08 +#define PCI_CB_BRIDGE_CTL_MASTER_ABORT 0x20 +#define PCI_CB_BRIDGE_CTL_CB_RESET 0x40 +#define PCI_CB_BRIDGE_CTL_16BIT_INT 0x80 +#define PCI_CB_BRIDGE_CTL_PREFETCH_MEM0 0x100 +#define PCI_CB_BRIDGE_CTL_PREFETCH_MEM1 0x200 +#define PCI_CB_BRIDGE_CTL_POST_WRITES 0x400 +#define PCI_CB_SUBSYSTEM_VENDOR_ID 0x40 +#define PCI_CB_SUBSYSTEM_ID 0x42 +#define PCI_CB_LEGACY_MODE_BASE 0x44 +#define PCI_CAP_LIST_ID 0 +#define PCI_CAP_ID_PM 0x01 +#define PCI_CAP_ID_AGP 0x02 +#define PCI_CAP_ID_VPD 0x03 +#define PCI_CAP_ID_SLOTID 0x04 +#define PCI_CAP_ID_MSI 0x05 +#define PCI_CAP_ID_CHSWP 0x06 +#define PCI_CAP_ID_PCIX 0x07 +#define PCI_CAP_ID_HT 0x08 +#define PCI_CAP_ID_VNDR 0x09 +#define PCI_CAP_ID_DBG 0x0A +#define PCI_CAP_ID_CCRC 0x0B +#define PCI_CAP_ID_SHPC 0x0C +#define PCI_CAP_ID_SSVID 0x0D +#define PCI_CAP_ID_AGP3 0x0E +#define PCI_CAP_ID_SECDEV 0x0F +#define PCI_CAP_ID_EXP 0x10 +#define PCI_CAP_ID_MSIX 0x11 +#define PCI_CAP_ID_SATA 0x12 +#define PCI_CAP_ID_AF 0x13 +#define PCI_CAP_ID_EA 0x14 +#define PCI_CAP_ID_MAX PCI_CAP_ID_EA +#define PCI_CAP_LIST_NEXT 1 +#define PCI_CAP_FLAGS 2 +#define PCI_CAP_SIZEOF 4 +#define PCI_PM_PMC 2 +#define PCI_PM_CAP_VER_MASK 0x0007 +#define PCI_PM_CAP_PME_CLOCK 0x0008 +#define PCI_PM_CAP_RESERVED 0x0010 +#define PCI_PM_CAP_DSI 0x0020 +#define PCI_PM_CAP_AUX_POWER 0x01C0 +#define PCI_PM_CAP_D1 0x0200 +#define PCI_PM_CAP_D2 0x0400 +#define PCI_PM_CAP_PME 0x0800 +#define PCI_PM_CAP_PME_MASK 0xF800 +#define PCI_PM_CAP_PME_D0 0x0800 +#define PCI_PM_CAP_PME_D1 0x1000 +#define PCI_PM_CAP_PME_D2 0x2000 +#define PCI_PM_CAP_PME_D3hot 0x4000 +#define PCI_PM_CAP_PME_D3cold 0x8000 +#define PCI_PM_CAP_PME_SHIFT 11 +#define PCI_PM_CTRL 4 +#define PCI_PM_CTRL_STATE_MASK 0x0003 +#define PCI_PM_CTRL_NO_SOFT_RESET 0x0008 +#define PCI_PM_CTRL_PME_ENABLE 0x0100 +#define PCI_PM_CTRL_DATA_SEL_MASK 0x1e00 +#define PCI_PM_CTRL_DATA_SCALE_MASK 0x6000 +#define PCI_PM_CTRL_PME_STATUS 0x8000 +#define PCI_PM_PPB_EXTENSIONS 6 +#define PCI_PM_PPB_B2_B3 0x40 +#define PCI_PM_BPCC_ENABLE 0x80 +#define PCI_PM_DATA_REGISTER 7 +#define PCI_PM_SIZEOF 8 +#define PCI_AGP_VERSION 2 +#define PCI_AGP_RFU 3 +#define PCI_AGP_STATUS 4 +#define PCI_AGP_STATUS_RQ_MASK 0xff000000 +#define PCI_AGP_STATUS_SBA 0x0200 +#define PCI_AGP_STATUS_64BIT 0x0020 +#define PCI_AGP_STATUS_FW 0x0010 +#define PCI_AGP_STATUS_RATE4 0x0004 +#define PCI_AGP_STATUS_RATE2 0x0002 +#define PCI_AGP_STATUS_RATE1 0x0001 +#define PCI_AGP_COMMAND 8 +#define PCI_AGP_COMMAND_RQ_MASK 0xff000000 +#define PCI_AGP_COMMAND_SBA 0x0200 +#define PCI_AGP_COMMAND_AGP 0x0100 +#define PCI_AGP_COMMAND_64BIT 0x0020 +#define PCI_AGP_COMMAND_FW 0x0010 +#define PCI_AGP_COMMAND_RATE4 0x0004 +#define PCI_AGP_COMMAND_RATE2 0x0002 +#define PCI_AGP_COMMAND_RATE1 0x0001 +#define PCI_AGP_SIZEOF 12 +#define PCI_VPD_ADDR 2 +#define PCI_VPD_ADDR_MASK 0x7fff +#define PCI_VPD_ADDR_F 0x8000 +#define PCI_VPD_DATA 4 +#define PCI_CAP_VPD_SIZEOF 8 +#define PCI_SID_ESR 2 +#define PCI_SID_ESR_NSLOTS 0x1f +#define PCI_SID_ESR_FIC 0x20 +#define PCI_SID_CHASSIS_NR 3 +#define PCI_MSI_FLAGS 2 +#define PCI_MSI_FLAGS_ENABLE 0x0001 +#define PCI_MSI_FLAGS_QMASK 0x000e +#define PCI_MSI_FLAGS_QSIZE 0x0070 +#define PCI_MSI_FLAGS_64BIT 0x0080 +#define PCI_MSI_FLAGS_MASKBIT 0x0100 +#define PCI_MSI_RFU 3 +#define PCI_MSI_ADDRESS_LO 4 +#define PCI_MSI_ADDRESS_HI 8 +#define PCI_MSI_DATA_32 8 +#define PCI_MSI_MASK_32 12 +#define PCI_MSI_PENDING_32 16 +#define PCI_MSI_DATA_64 12 +#define PCI_MSI_MASK_64 16 +#define PCI_MSI_PENDING_64 20 +#define PCI_MSIX_FLAGS 2 +#define PCI_MSIX_FLAGS_QSIZE 0x07FF +#define PCI_MSIX_FLAGS_MASKALL 0x4000 +#define PCI_MSIX_FLAGS_ENABLE 0x8000 +#define PCI_MSIX_TABLE 4 +#define PCI_MSIX_TABLE_BIR 0x00000007 +#define PCI_MSIX_TABLE_OFFSET 0xfffffff8 +#define PCI_MSIX_PBA 8 +#define PCI_MSIX_PBA_BIR 0x00000007 +#define PCI_MSIX_PBA_OFFSET 0xfffffff8 +#define PCI_MSIX_FLAGS_BIRMASK PCI_MSIX_PBA_BIR +#define PCI_CAP_MSIX_SIZEOF 12 +#define PCI_MSIX_ENTRY_SIZE 16 +#define PCI_MSIX_ENTRY_LOWER_ADDR 0 +#define PCI_MSIX_ENTRY_UPPER_ADDR 4 +#define PCI_MSIX_ENTRY_DATA 8 +#define PCI_MSIX_ENTRY_VECTOR_CTRL 12 +#define PCI_MSIX_ENTRY_CTRL_MASKBIT 0x00000001 +#define PCI_CHSWP_CSR 2 +#define PCI_CHSWP_DHA 0x01 +#define PCI_CHSWP_EIM 0x02 +#define PCI_CHSWP_PIE 0x04 +#define PCI_CHSWP_LOO 0x08 +#define PCI_CHSWP_PI 0x30 +#define PCI_CHSWP_EXT 0x40 +#define PCI_CHSWP_INS 0x80 +#define PCI_AF_LENGTH 2 +#define PCI_AF_CAP 3 +#define PCI_AF_CAP_TP 0x01 +#define PCI_AF_CAP_FLR 0x02 +#define PCI_AF_CTRL 4 +#define PCI_AF_CTRL_FLR 0x01 +#define PCI_AF_STATUS 5 +#define PCI_AF_STATUS_TP 0x01 +#define PCI_CAP_AF_SIZEOF 6 +#define PCI_EA_NUM_ENT 2 +#define PCI_EA_NUM_ENT_MASK 0x3f +#define PCI_EA_FIRST_ENT 4 +#define PCI_EA_FIRST_ENT_BRIDGE 8 +#define PCI_EA_ES 0x00000007 +#define PCI_EA_BEI 0x000000f0 +#define PCI_EA_SEC_BUS_MASK 0xff +#define PCI_EA_SUB_BUS_MASK 0xff00 +#define PCI_EA_SUB_BUS_SHIFT 8 +#define PCI_EA_BEI_BAR0 0 +#define PCI_EA_BEI_BAR5 5 +#define PCI_EA_BEI_BRIDGE 6 +#define PCI_EA_BEI_ENI 7 +#define PCI_EA_BEI_ROM 8 +#define PCI_EA_BEI_VF_BAR0 9 +#define PCI_EA_BEI_VF_BAR5 14 +#define PCI_EA_BEI_RESERVED 15 +#define PCI_EA_PP 0x0000ff00 +#define PCI_EA_SP 0x00ff0000 +#define PCI_EA_P_MEM 0x00 +#define PCI_EA_P_MEM_PREFETCH 0x01 +#define PCI_EA_P_IO 0x02 +#define PCI_EA_P_VF_MEM_PREFETCH 0x03 +#define PCI_EA_P_VF_MEM 0x04 +#define PCI_EA_P_BRIDGE_MEM 0x05 +#define PCI_EA_P_BRIDGE_MEM_PREFETCH 0x06 +#define PCI_EA_P_BRIDGE_IO 0x07 +#define PCI_EA_P_MEM_RESERVED 0xfd +#define PCI_EA_P_IO_RESERVED 0xfe +#define PCI_EA_P_UNAVAILABLE 0xff +#define PCI_EA_WRITABLE 0x40000000 +#define PCI_EA_ENABLE 0x80000000 +#define PCI_EA_BASE 4 +#define PCI_EA_MAX_OFFSET 8 +#define PCI_EA_IS_64 0x00000002 +#define PCI_EA_FIELD_MASK 0xfffffffc +#define PCI_X_CMD 2 +#define PCI_X_CMD_DPERR_E 0x0001 +#define PCI_X_CMD_ERO 0x0002 +#define PCI_X_CMD_READ_512 0x0000 +#define PCI_X_CMD_READ_1K 0x0004 +#define PCI_X_CMD_READ_2K 0x0008 +#define PCI_X_CMD_READ_4K 0x000c +#define PCI_X_CMD_MAX_READ 0x000c + +#define PCI_X_CMD_SPLIT_1 0x0000 +#define PCI_X_CMD_SPLIT_2 0x0010 +#define PCI_X_CMD_SPLIT_3 0x0020 +#define PCI_X_CMD_SPLIT_4 0x0030 +#define PCI_X_CMD_SPLIT_8 0x0040 +#define PCI_X_CMD_SPLIT_12 0x0050 +#define PCI_X_CMD_SPLIT_16 0x0060 +#define PCI_X_CMD_SPLIT_32 0x0070 +#define PCI_X_CMD_MAX_SPLIT 0x0070 +#define PCI_X_CMD_VERSION(x) (((x) >> 12) & 3) +#define PCI_X_STATUS 4 +#define PCI_X_STATUS_DEVFN 0x000000ff +#define PCI_X_STATUS_BUS 0x0000ff00 +#define PCI_X_STATUS_64BIT 0x00010000 +#define PCI_X_STATUS_133MHZ 0x00020000 +#define PCI_X_STATUS_SPL_DISC 0x00040000 +#define PCI_X_STATUS_UNX_SPL 0x00080000 +#define PCI_X_STATUS_COMPLEX 0x00100000 +#define PCI_X_STATUS_MAX_READ 0x00600000 +#define PCI_X_STATUS_MAX_SPLIT 0x03800000 +#define PCI_X_STATUS_MAX_CUM 0x1c000000 +#define PCI_X_STATUS_SPL_ERR 0x20000000 +#define PCI_X_STATUS_266MHZ 0x40000000 +#define PCI_X_STATUS_533MHZ 0x80000000 +#define PCI_X_ECC_CSR 8 +#define PCI_CAP_PCIX_SIZEOF_V0 8 +#define PCI_CAP_PCIX_SIZEOF_V1 24 +#define PCI_CAP_PCIX_SIZEOF_V2 PCI_CAP_PCIX_SIZEOF_V1 +#define PCI_X_BRIDGE_SSTATUS 2 +#define PCI_X_SSTATUS_64BIT 0x0001 +#define PCI_X_SSTATUS_133MHZ 0x0002 +#define PCI_X_SSTATUS_FREQ 0x03c0 +#define PCI_X_SSTATUS_VERS 0x3000 +#define PCI_X_SSTATUS_V1 0x1000 +#define PCI_X_SSTATUS_V2 0x2000 +#define PCI_X_SSTATUS_266MHZ 0x4000 +#define PCI_X_SSTATUS_533MHZ 0x8000 +#define PCI_X_BRIDGE_STATUS 4 +#define PCI_SSVID_VENDOR_ID 4 +#define PCI_SSVID_DEVICE_ID 6 +#define PCI_EXP_FLAGS 2 +#define PCI_EXP_FLAGS_VERS 0x000f +#define PCI_EXP_FLAGS_TYPE 0x00f0 +#define PCI_EXP_TYPE_ENDPOINT 0x0 +#define PCI_EXP_TYPE_LEG_END 0x1 +#define PCI_EXP_TYPE_ROOT_PORT 0x4 +#define PCI_EXP_TYPE_UPSTREAM 0x5 +#define PCI_EXP_TYPE_DOWNSTREAM 0x6 +#define PCI_EXP_TYPE_PCI_BRIDGE 0x7 +#define PCI_EXP_TYPE_PCIE_BRIDGE 0x8 +#define PCI_EXP_TYPE_RC_END 0x9 +#define PCI_EXP_TYPE_RC_EC 0xa +#define PCI_EXP_FLAGS_SLOT 0x0100 +#define PCI_EXP_FLAGS_IRQ 0x3e00 +#define PCI_EXP_DEVCAP 4 +#define PCI_EXP_DEVCAP_PAYLOAD 0x00000007 +#define PCI_EXP_DEVCAP_PHANTOM 0x00000018 +#define PCI_EXP_DEVCAP_EXT_TAG 0x00000020 +#define PCI_EXP_DEVCAP_L0S 0x000001c0 +#define PCI_EXP_DEVCAP_L1 0x00000e00 +#define PCI_EXP_DEVCAP_ATN_BUT 0x00001000 +#define PCI_EXP_DEVCAP_ATN_IND 0x00002000 +#define PCI_EXP_DEVCAP_PWR_IND 0x00004000 +#define PCI_EXP_DEVCAP_RBER 0x00008000 +#define PCI_EXP_DEVCAP_PWR_VAL 0x03fc0000 +#define PCI_EXP_DEVCAP_PWR_SCL 0x0c000000 +#define PCI_EXP_DEVCAP_FLR 0x10000000 +#define PCI_EXP_DEVCTL 8 +#define PCI_EXP_DEVCTL_CERE 0x0001 +#define PCI_EXP_DEVCTL_NFERE 0x0002 +#define PCI_EXP_DEVCTL_FERE 0x0004 +#define PCI_EXP_DEVCTL_URRE 0x0008 +#define PCI_EXP_DEVCTL_RELAX_EN 0x0010 +#define PCI_EXP_DEVCTL_PAYLOAD 0x00e0 +#define PCI_EXP_DEVCTL_EXT_TAG 0x0100 +#define PCI_EXP_DEVCTL_PHANTOM 0x0200 +#define PCI_EXP_DEVCTL_AUX_PME 0x0400 +#define PCI_EXP_DEVCTL_NOSNOOP_EN 0x0800 +#define PCI_EXP_DEVCTL_READRQ 0x7000 +#define PCI_EXP_DEVCTL_READRQ_128B 0x0000 +#define PCI_EXP_DEVCTL_READRQ_256B 0x1000 +#define PCI_EXP_DEVCTL_READRQ_512B 0x2000 +#define PCI_EXP_DEVCTL_READRQ_1024B 0x3000 +#define PCI_EXP_DEVCTL_READRQ_2048B 0x4000 +#define PCI_EXP_DEVCTL_READRQ_4096B 0x5000 +#define PCI_EXP_DEVCTL_BCR_FLR 0x8000 +#define PCI_EXP_DEVSTA 10 +#define PCI_EXP_DEVSTA_CED 0x0001 +#define PCI_EXP_DEVSTA_NFED 0x0002 +#define PCI_EXP_DEVSTA_FED 0x0004 +#define PCI_EXP_DEVSTA_URD 0x0008 +#define PCI_EXP_DEVSTA_AUXPD 0x0010 +#define PCI_EXP_DEVSTA_TRPND 0x0020 +#define PCI_CAP_EXP_RC_ENDPOINT_SIZEOF_V1 12 +#define PCI_EXP_LNKCAP 12 +#define PCI_EXP_LNKCAP_SLS 0x0000000f +#define PCI_EXP_LNKCAP_SLS_2_5GB 0x00000001 +#define PCI_EXP_LNKCAP_SLS_5_0GB 0x00000002 +#define PCI_EXP_LNKCAP_SLS_8_0GB 0x00000003 +#define PCI_EXP_LNKCAP_SLS_16_0GB 0x00000004 +#define PCI_EXP_LNKCAP_SLS_32_0GB 0x00000005 +#define PCI_EXP_LNKCAP_MLW 0x000003f0 +#define PCI_EXP_LNKCAP_ASPMS 0x00000c00 +#define PCI_EXP_LNKCAP_ASPM_L0S 0x00000400 +#define PCI_EXP_LNKCAP_ASPM_L1 0x00000800 +#define PCI_EXP_LNKCAP_L0SEL 0x00007000 +#define PCI_EXP_LNKCAP_L1EL 0x00038000 +#define PCI_EXP_LNKCAP_CLKPM 0x00040000 +#define PCI_EXP_LNKCAP_SDERC 0x00080000 +#define PCI_EXP_LNKCAP_DLLLARC 0x00100000 +#define PCI_EXP_LNKCAP_LBNC 0x00200000 +#define PCI_EXP_LNKCAP_PN 0xff000000 +#define PCI_EXP_LNKCTL 16 +#define PCI_EXP_LNKCTL_ASPMC 0x0003 +#define PCI_EXP_LNKCTL_ASPM_L0S 0x0001 +#define PCI_EXP_LNKCTL_ASPM_L1 0x0002 +#define PCI_EXP_LNKCTL_RCB 0x0008 +#define PCI_EXP_LNKCTL_LD 0x0010 +#define PCI_EXP_LNKCTL_RL 0x0020 +#define PCI_EXP_LNKCTL_CCC 0x0040 +#define PCI_EXP_LNKCTL_ES 0x0080 +#define PCI_EXP_LNKCTL_CLKREQ_EN 0x0100 +#define PCI_EXP_LNKCTL_HAWD 0x0200 +#define PCI_EXP_LNKCTL_LBMIE 0x0400 +#define PCI_EXP_LNKCTL_LABIE 0x0800 +#define PCI_EXP_LNKSTA 18 +#define PCI_EXP_LNKSTA_CLS 0x000f +#define PCI_EXP_LNKSTA_CLS_2_5GB 0x0001 +#define PCI_EXP_LNKSTA_CLS_5_0GB 0x0002 +#define PCI_EXP_LNKSTA_CLS_8_0GB 0x0003 +#define PCI_EXP_LNKSTA_CLS_16_0GB 0x0004 +#define PCI_EXP_LNKSTA_CLS_32_0GB 0x0005 +#define PCI_EXP_LNKSTA_NLW 0x03f0 +#define PCI_EXP_LNKSTA_NLW_X1 0x0010 +#define PCI_EXP_LNKSTA_NLW_X2 0x0020 +#define PCI_EXP_LNKSTA_NLW_X4 0x0040 +#define PCI_EXP_LNKSTA_NLW_X8 0x0080 +#define PCI_EXP_LNKSTA_NLW_SHIFT 4 +#define PCI_EXP_LNKSTA_LT 0x0800 +#define PCI_EXP_LNKSTA_SLC 0x1000 +#define PCI_EXP_LNKSTA_DLLLA 0x2000 +#define PCI_EXP_LNKSTA_LBMS 0x4000 +#define PCI_EXP_LNKSTA_LABS 0x8000 +#define PCI_CAP_EXP_ENDPOINT_SIZEOF_V1 20 +#define PCI_EXP_SLTCAP 20 +#define PCI_EXP_SLTCAP_ABP 0x00000001 +#define PCI_EXP_SLTCAP_PCP 0x00000002 +#define PCI_EXP_SLTCAP_MRLSP 0x00000004 +#define PCI_EXP_SLTCAP_AIP 0x00000008 +#define PCI_EXP_SLTCAP_PIP 0x00000010 +#define PCI_EXP_SLTCAP_HPS 0x00000020 +#define PCI_EXP_SLTCAP_HPC 0x00000040 +#define PCI_EXP_SLTCAP_SPLV 0x00007f80 +#define PCI_EXP_SLTCAP_SPLS 0x00018000 +#define PCI_EXP_SLTCAP_EIP 0x00020000 +#define PCI_EXP_SLTCAP_NCCS 0x00040000 +#define PCI_EXP_SLTCAP_PSN 0xfff80000 +#define PCI_EXP_SLTCTL 24 +#define PCI_EXP_SLTCTL_ABPE 0x0001 +#define PCI_EXP_SLTCTL_PFDE 0x0002 +#define PCI_EXP_SLTCTL_MRLSCE 0x0004 +#define PCI_EXP_SLTCTL_PDCE 0x0008 +#define PCI_EXP_SLTCTL_CCIE 0x0010 +#define PCI_EXP_SLTCTL_HPIE 0x0020 +#define PCI_EXP_SLTCTL_AIC 0x00c0 +#define PCI_EXP_SLTCTL_ATTN_IND_SHIFT 6 +#define PCI_EXP_SLTCTL_ATTN_IND_ON 0x0040 +#define PCI_EXP_SLTCTL_ATTN_IND_BLINK 0x0080 +#define PCI_EXP_SLTCTL_ATTN_IND_OFF 0x00c0 +#define PCI_EXP_SLTCTL_PIC 0x0300 +#define PCI_EXP_SLTCTL_PWR_IND_ON 0x0100 +#define PCI_EXP_SLTCTL_PWR_IND_BLINK 0x0200 +#define PCI_EXP_SLTCTL_PWR_IND_OFF 0x0300 +#define PCI_EXP_SLTCTL_PCC 0x0400 +#define PCI_EXP_SLTCTL_PWR_ON 0x0000 +#define PCI_EXP_SLTCTL_PWR_OFF 0x0400 +#define PCI_EXP_SLTCTL_EIC 0x0800 +#define PCI_EXP_SLTCTL_DLLSCE 0x1000 +#define PCI_EXP_SLTCTL_IBPD_DISABLE 0x4000 +#define PCI_EXP_SLTSTA 26 +#define PCI_EXP_SLTSTA_ABP 0x0001 +#define PCI_EXP_SLTSTA_PFD 0x0002 +#define PCI_EXP_SLTSTA_MRLSC 0x0004 +#define PCI_EXP_SLTSTA_PDC 0x0008 +#define PCI_EXP_SLTSTA_CC 0x0010 +#define PCI_EXP_SLTSTA_MRLSS 0x0020 +#define PCI_EXP_SLTSTA_PDS 0x0040 +#define PCI_EXP_SLTSTA_EIS 0x0080 +#define PCI_EXP_SLTSTA_DLLSC 0x0100 +#define PCI_EXP_RTCTL 28 +#define PCI_EXP_RTCTL_SECEE 0x0001 +#define PCI_EXP_RTCTL_SENFEE 0x0002 +#define PCI_EXP_RTCTL_SEFEE 0x0004 +#define PCI_EXP_RTCTL_PMEIE 0x0008 +#define PCI_EXP_RTCTL_CRSSVE 0x0010 +#define PCI_EXP_RTCAP 30 +#define PCI_EXP_RTCAP_CRSVIS 0x0001 +#define PCI_EXP_RTSTA 32 +#define PCI_EXP_RTSTA_PME 0x00010000 +#define PCI_EXP_RTSTA_PENDING 0x00020000 +#define PCI_EXP_DEVCAP2 36 +#define PCI_EXP_DEVCAP2_COMP_TMOUT_DIS 0x00000010 +#define PCI_EXP_DEVCAP2_ARI 0x00000020 +#define PCI_EXP_DEVCAP2_ATOMIC_ROUTE 0x00000040 +#define PCI_EXP_DEVCAP2_ATOMIC_COMP32 0x00000080 +#define PCI_EXP_DEVCAP2_ATOMIC_COMP64 0x00000100 +#define PCI_EXP_DEVCAP2_ATOMIC_COMP128 0x00000200 +#define PCI_EXP_DEVCAP2_LTR 0x00000800 +#define PCI_EXP_DEVCAP2_OBFF_MASK 0x000c0000 +#define PCI_EXP_DEVCAP2_OBFF_MSG 0x00040000 +#define PCI_EXP_DEVCAP2_OBFF_WAKE 0x00080000 +#define PCI_EXP_DEVCAP2_EE_PREFIX 0x00200000 +#define PCI_EXP_DEVCTL2 40 +#define PCI_EXP_DEVCTL2_COMP_TIMEOUT 0x000f +#define PCI_EXP_DEVCTL2_COMP_TMOUT_DIS 0x0010 +#define PCI_EXP_DEVCTL2_ARI 0x0020 +#define PCI_EXP_DEVCTL2_ATOMIC_REQ 0x0040 +#define PCI_EXP_DEVCTL2_ATOMIC_EGRESS_BLOCK 0x0080 +#define PCI_EXP_DEVCTL2_IDO_REQ_EN 0x0100 +#define PCI_EXP_DEVCTL2_IDO_CMP_EN 0x0200 +#define PCI_EXP_DEVCTL2_LTR_EN 0x0400 +#define PCI_EXP_DEVCTL2_OBFF_MSGA_EN 0x2000 +#define PCI_EXP_DEVCTL2_OBFF_MSGB_EN 0x4000 +#define PCI_EXP_DEVCTL2_OBFF_WAKE_EN 0x6000 +#define PCI_EXP_DEVSTA2 42 +#define PCI_CAP_EXP_RC_ENDPOINT_SIZEOF_V2 44 +#define PCI_EXP_LNKCAP2 44 +#define PCI_EXP_LNKCAP2_SLS_2_5GB 0x00000002 +#define PCI_EXP_LNKCAP2_SLS_5_0GB 0x00000004 +#define PCI_EXP_LNKCAP2_SLS_8_0GB 0x00000008 +#define PCI_EXP_LNKCAP2_SLS_16_0GB 0x00000010 +#define PCI_EXP_LNKCAP2_SLS_32_0GB 0x00000020 +#define PCI_EXP_LNKCAP2_CROSSLINK 0x00000100 +#define PCI_EXP_LNKCTL2 48 +#define PCI_EXP_LNKCTL2_TLS 0x000f +#define PCI_EXP_LNKCTL2_TLS_2_5GT 0x0001 +#define PCI_EXP_LNKCTL2_TLS_5_0GT 0x0002 +#define PCI_EXP_LNKCTL2_TLS_8_0GT 0x0003 +#define PCI_EXP_LNKCTL2_TLS_16_0GT 0x0004 +#define PCI_EXP_LNKCTL2_TLS_32_0GT 0x0005 +#define PCI_EXP_LNKCTL2_ENTER_COMP 0x0010 +#define PCI_EXP_LNKCTL2_TX_MARGIN 0x0380 +#define PCI_EXP_LNKCTL2_HASD 0x0020 +#define PCI_EXP_LNKSTA2 50 +#define PCI_CAP_EXP_ENDPOINT_SIZEOF_V2 52 +#define PCI_EXP_SLTCAP2 52 +#define PCI_EXP_SLTCAP2_IBPD 0x00000001 +#define PCI_EXP_SLTCTL2 56 +#define PCI_EXP_SLTSTA2 58 +#define PCI_EXT_CAP_ID(header) (header & 0x0000ffff) +#define PCI_EXT_CAP_VER(header) ((header >> 16) & 0xf) +#define PCI_EXT_CAP_NEXT(header) ((header >> 20) & 0xffc) +#define PCI_EXT_CAP_ID_ERR 0x01 +#define PCI_EXT_CAP_ID_VC 0x02 +#define PCI_EXT_CAP_ID_DSN 0x03 +#define PCI_EXT_CAP_ID_PWR 0x04 +#define PCI_EXT_CAP_ID_RCLD 0x05 +#define PCI_EXT_CAP_ID_RCILC 0x06 +#define PCI_EXT_CAP_ID_RCEC 0x07 +#define PCI_EXT_CAP_ID_MFVC 0x08 +#define PCI_EXT_CAP_ID_VC9 0x09 +#define PCI_EXT_CAP_ID_RCRB 0x0A +#define PCI_EXT_CAP_ID_VNDR 0x0B +#define PCI_EXT_CAP_ID_CAC 0x0C +#define PCI_EXT_CAP_ID_ACS 0x0D +#define PCI_EXT_CAP_ID_ARI 0x0E +#define PCI_EXT_CAP_ID_ATS 0x0F +#define PCI_EXT_CAP_ID_SRIOV 0x10 +#define PCI_EXT_CAP_ID_MRIOV 0x11 +#define PCI_EXT_CAP_ID_MCAST 0x12 +#define PCI_EXT_CAP_ID_PRI 0x13 +#define PCI_EXT_CAP_ID_AMD_XXX 0x14 +#define PCI_EXT_CAP_ID_REBAR 0x15 +#define PCI_EXT_CAP_ID_DPA 0x16 +#define PCI_EXT_CAP_ID_TPH 0x17 +#define PCI_EXT_CAP_ID_LTR 0x18 +#define PCI_EXT_CAP_ID_SECPCI 0x19 +#define PCI_EXT_CAP_ID_PMUX 0x1A +#define PCI_EXT_CAP_ID_PASID 0x1B +#define PCI_EXT_CAP_ID_DPC 0x1D +#define PCI_EXT_CAP_ID_L1SS 0x1E +#define PCI_EXT_CAP_ID_PTM 0x1F +#define PCI_EXT_CAP_ID_DLF 0x25 +#define PCI_EXT_CAP_ID_PL_16GT 0x26 +#define PCI_EXT_CAP_ID_MAX PCI_EXT_CAP_ID_PL_16GT +#define PCI_EXT_CAP_DSN_SIZEOF 12 +#define PCI_EXT_CAP_MCAST_ENDPOINT_SIZEOF 40 +#define PCI_ERR_UNCOR_STATUS 4 +#define PCI_ERR_UNC_UND 0x00000001 +#define PCI_ERR_UNC_DLP 0x00000010 +#define PCI_ERR_UNC_SURPDN 0x00000020 +#define PCI_ERR_UNC_POISON_TLP 0x00001000 +#define PCI_ERR_UNC_FCP 0x00002000 +#define PCI_ERR_UNC_COMP_TIME 0x00004000 +#define PCI_ERR_UNC_COMP_ABORT 0x00008000 +#define PCI_ERR_UNC_UNX_COMP 0x00010000 +#define PCI_ERR_UNC_RX_OVER 0x00020000 +#define PCI_ERR_UNC_MALF_TLP 0x00040000 +#define PCI_ERR_UNC_ECRC 0x00080000 +#define PCI_ERR_UNC_UNSUP 0x00100000 +#define PCI_ERR_UNC_ACSV 0x00200000 +#define PCI_ERR_UNC_INTN 0x00400000 +#define PCI_ERR_UNC_MCBTLP 0x00800000 +#define PCI_ERR_UNC_ATOMEG 0x01000000 +#define PCI_ERR_UNC_TLPPRE 0x02000000 +#define PCI_ERR_UNCOR_MASK 8 + +#define PCI_ERR_UNCOR_SEVER 12 + +#define PCI_ERR_COR_STATUS 16 +#define PCI_ERR_COR_RCVR 0x00000001 +#define PCI_ERR_COR_BAD_TLP 0x00000040 +#define PCI_ERR_COR_BAD_DLLP 0x00000080 +#define PCI_ERR_COR_REP_ROLL 0x00000100 +#define PCI_ERR_COR_REP_TIMER 0x00001000 +#define PCI_ERR_COR_ADV_NFAT 0x00002000 +#define PCI_ERR_COR_INTERNAL 0x00004000 +#define PCI_ERR_COR_LOG_OVER 0x00008000 +#define PCI_ERR_COR_MASK 20 + +#define PCI_ERR_CAP 24 +#define PCI_ERR_CAP_FEP(x) ((x) & 31) +#define PCI_ERR_CAP_ECRC_GENC 0x00000020 +#define PCI_ERR_CAP_ECRC_GENE 0x00000040 +#define PCI_ERR_CAP_ECRC_CHKC 0x00000080 +#define PCI_ERR_CAP_ECRC_CHKE 0x00000100 +#define PCI_ERR_HEADER_LOG 28 +#define PCI_ERR_ROOT_COMMAND 44 +#define PCI_ERR_ROOT_CMD_COR_EN 0x00000001 +#define PCI_ERR_ROOT_CMD_NONFATAL_EN 0x00000002 +#define PCI_ERR_ROOT_CMD_FATAL_EN 0x00000004 +#define PCI_ERR_ROOT_STATUS 48 +#define PCI_ERR_ROOT_COR_RCV 0x00000001 +#define PCI_ERR_ROOT_MULTI_COR_RCV 0x00000002 +#define PCI_ERR_ROOT_UNCOR_RCV 0x00000004 +#define PCI_ERR_ROOT_MULTI_UNCOR_RCV 0x00000008 +#define PCI_ERR_ROOT_FIRST_FATAL 0x00000010 +#define PCI_ERR_ROOT_NONFATAL_RCV 0x00000020 +#define PCI_ERR_ROOT_FATAL_RCV 0x00000040 +#define PCI_ERR_ROOT_AER_IRQ 0xf8000000 +#define PCI_ERR_ROOT_ERR_SRC 52 +#define PCI_VC_PORT_CAP1 4 +#define PCI_VC_CAP1_EVCC 0x00000007 +#define PCI_VC_CAP1_LPEVCC 0x00000070 +#define PCI_VC_CAP1_ARB_SIZE 0x00000c00 +#define PCI_VC_PORT_CAP2 8 +#define PCI_VC_CAP2_32_PHASE 0x00000002 +#define PCI_VC_CAP2_64_PHASE 0x00000004 +#define PCI_VC_CAP2_128_PHASE 0x00000008 +#define PCI_VC_CAP2_ARB_OFF 0xff000000 +#define PCI_VC_PORT_CTRL 12 +#define PCI_VC_PORT_CTRL_LOAD_TABLE 0x00000001 +#define PCI_VC_PORT_STATUS 14 +#define PCI_VC_PORT_STATUS_TABLE 0x00000001 +#define PCI_VC_RES_CAP 16 +#define PCI_VC_RES_CAP_32_PHASE 0x00000002 +#define PCI_VC_RES_CAP_64_PHASE 0x00000004 +#define PCI_VC_RES_CAP_128_PHASE 0x00000008 +#define PCI_VC_RES_CAP_128_PHASE_TB 0x00000010 +#define PCI_VC_RES_CAP_256_PHASE 0x00000020 +#define PCI_VC_RES_CAP_ARB_OFF 0xff000000 +#define PCI_VC_RES_CTRL 20 +#define PCI_VC_RES_CTRL_LOAD_TABLE 0x00010000 +#define PCI_VC_RES_CTRL_ARB_SELECT 0x000e0000 +#define PCI_VC_RES_CTRL_ID 0x07000000 +#define PCI_VC_RES_CTRL_ENABLE 0x80000000 +#define PCI_VC_RES_STATUS 26 +#define PCI_VC_RES_STATUS_TABLE 0x00000001 +#define PCI_VC_RES_STATUS_NEGO 0x00000002 +#define PCI_CAP_VC_BASE_SIZEOF 0x10 +#define PCI_CAP_VC_PER_VC_SIZEOF 0x0C +#define PCI_PWR_DSR 4 +#define PCI_PWR_DATA 8 +#define PCI_PWR_DATA_BASE(x) ((x) & 0xff) +#define PCI_PWR_DATA_SCALE(x) (((x) >> 8) & 3) +#define PCI_PWR_DATA_PM_SUB(x) (((x) >> 10) & 7) +#define PCI_PWR_DATA_PM_STATE(x) (((x) >> 13) & 3) +#define PCI_PWR_DATA_TYPE(x) (((x) >> 15) & 7) +#define PCI_PWR_DATA_RAIL(x) (((x) >> 18) & 7) +#define PCI_PWR_CAP 12 +#define PCI_PWR_CAP_BUDGET(x) ((x) & 1) +#define PCI_EXT_CAP_PWR_SIZEOF 16 +#define PCI_VNDR_HEADER 4 +#define PCI_VNDR_HEADER_ID(x) ((x) & 0xffff) +#define PCI_VNDR_HEADER_REV(x) (((x) >> 16) & 0xf) +#define PCI_VNDR_HEADER_LEN(x) (((x) >> 20) & 0xfff) +#define HT_3BIT_CAP_MASK 0xE0 +#define HT_CAPTYPE_SLAVE 0x00 +#define HT_CAPTYPE_HOST 0x20 +#define HT_5BIT_CAP_MASK 0xF8 +#define HT_CAPTYPE_IRQ 0x80 +#define HT_CAPTYPE_REMAPPING_40 0xA0 +#define HT_CAPTYPE_REMAPPING_64 0xA2 +#define HT_CAPTYPE_UNITID_CLUMP 0x90 +#define HT_CAPTYPE_EXTCONF 0x98 +#define HT_CAPTYPE_MSI_MAPPING 0xA8 +#define HT_MSI_FLAGS 0x02 +#define HT_MSI_FLAGS_ENABLE 0x1 +#define HT_MSI_FLAGS_FIXED 0x2 +#define HT_MSI_FIXED_ADDR 0x00000000FEE00000ULL +#define HT_MSI_ADDR_LO 0x04 +#define HT_MSI_ADDR_LO_MASK 0xFFF00000 +#define HT_MSI_ADDR_HI 0x08 +#define HT_CAPTYPE_DIRECT_ROUTE 0xB0 +#define HT_CAPTYPE_VCSET 0xB8 +#define HT_CAPTYPE_ERROR_RETRY 0xC0 +#define HT_CAPTYPE_GEN3 0xD0 +#define HT_CAPTYPE_PM 0xE0 +#define HT_CAP_SIZEOF_LONG 28 +#define HT_CAP_SIZEOF_SHORT 24 +#define PCI_ARI_CAP 0x04 +#define PCI_ARI_CAP_MFVC 0x0001 +#define PCI_ARI_CAP_ACS 0x0002 +#define PCI_ARI_CAP_NFN(x) (((x) >> 8) & 0xff) +#define PCI_ARI_CTRL 0x06 +#define PCI_ARI_CTRL_MFVC 0x0001 +#define PCI_ARI_CTRL_ACS 0x0002 +#define PCI_ARI_CTRL_FG(x) (((x) >> 4) & 7) +#define PCI_EXT_CAP_ARI_SIZEOF 8 +#define PCI_ATS_CAP 0x04 +#define PCI_ATS_CAP_QDEP(x) ((x) & 0x1f) +#define PCI_ATS_MAX_QDEP 32 +#define PCI_ATS_CAP_PAGE_ALIGNED 0x0020 +#define PCI_ATS_CTRL 0x06 +#define PCI_ATS_CTRL_ENABLE 0x8000 +#define PCI_ATS_CTRL_STU(x) ((x) & 0x1f) +#define PCI_ATS_MIN_STU 12 +#define PCI_EXT_CAP_ATS_SIZEOF 8 +#define PCI_PRI_CTRL 0x04 +#define PCI_PRI_CTRL_ENABLE 0x0001 +#define PCI_PRI_CTRL_RESET 0x0002 +#define PCI_PRI_STATUS 0x06 +#define PCI_PRI_STATUS_RF 0x0001 +#define PCI_PRI_STATUS_UPRGI 0x0002 +#define PCI_PRI_STATUS_STOPPED 0x0100 +#define PCI_PRI_STATUS_PASID 0x8000 +#define PCI_PRI_MAX_REQ 0x08 +#define PCI_PRI_ALLOC_REQ 0x0c +#define PCI_EXT_CAP_PRI_SIZEOF 16 +#define PCI_PASID_CAP 0x04 +#define PCI_PASID_CAP_EXEC 0x02 +#define PCI_PASID_CAP_PRIV 0x04 +#define PCI_PASID_CTRL 0x06 +#define PCI_PASID_CTRL_ENABLE 0x01 +#define PCI_PASID_CTRL_EXEC 0x02 +#define PCI_PASID_CTRL_PRIV 0x04 +#define PCI_EXT_CAP_PASID_SIZEOF 8 +#define PCI_SRIOV_CAP 0x04 +#define PCI_SRIOV_CAP_VFM 0x00000001 +#define PCI_SRIOV_CAP_INTR(x) ((x) >> 21) +#define PCI_SRIOV_CTRL 0x08 +#define PCI_SRIOV_CTRL_VFE 0x0001 +#define PCI_SRIOV_CTRL_VFM 0x0002 +#define PCI_SRIOV_CTRL_INTR 0x0004 +#define PCI_SRIOV_CTRL_MSE 0x0008 +#define PCI_SRIOV_CTRL_ARI 0x0010 +#define PCI_SRIOV_STATUS 0x0a +#define PCI_SRIOV_STATUS_VFM 0x0001 +#define PCI_SRIOV_INITIAL_VF 0x0c +#define PCI_SRIOV_TOTAL_VF 0x0e +#define PCI_SRIOV_NUM_VF 0x10 +#define PCI_SRIOV_FUNC_LINK 0x12 +#define PCI_SRIOV_VF_OFFSET 0x14 +#define PCI_SRIOV_VF_STRIDE 0x16 +#define PCI_SRIOV_VF_DID 0x1a +#define PCI_SRIOV_SUP_PGSIZE 0x1c +#define PCI_SRIOV_SYS_PGSIZE 0x20 +#define PCI_SRIOV_BAR 0x24 +#define PCI_SRIOV_NUM_BARS 6 +#define PCI_SRIOV_VFM 0x3c +#define PCI_SRIOV_VFM_BIR(x) ((x) & 7) +#define PCI_SRIOV_VFM_OFFSET(x) ((x) & ~7) +#define PCI_SRIOV_VFM_UA 0x0 +#define PCI_SRIOV_VFM_MI 0x1 +#define PCI_SRIOV_VFM_MO 0x2 +#define PCI_SRIOV_VFM_AV 0x3 +#define PCI_EXT_CAP_SRIOV_SIZEOF 64 +#define PCI_LTR_MAX_SNOOP_LAT 0x4 +#define PCI_LTR_MAX_NOSNOOP_LAT 0x6 +#define PCI_LTR_VALUE_MASK 0x000003ff +#define PCI_LTR_SCALE_MASK 0x00001c00 +#define PCI_LTR_SCALE_SHIFT 10 +#define PCI_EXT_CAP_LTR_SIZEOF 8 +#define PCI_ACS_CAP 0x04 +#define PCI_ACS_SV 0x0001 +#define PCI_ACS_TB 0x0002 +#define PCI_ACS_RR 0x0004 +#define PCI_ACS_CR 0x0008 +#define PCI_ACS_UF 0x0010 +#define PCI_ACS_EC 0x0020 +#define PCI_ACS_DT 0x0040 +#define PCI_ACS_EGRESS_BITS 0x05 +#define PCI_ACS_CTRL 0x06 +#define PCI_ACS_EGRESS_CTL_V 0x08 +#define PCI_VSEC_HDR 4 +#define PCI_VSEC_HDR_LEN_SHIFT 20 +#define PCI_SATA_REGS 4 +#define PCI_SATA_REGS_MASK 0xF +#define PCI_SATA_REGS_INLINE 0xF +#define PCI_SATA_SIZEOF_SHORT 8 +#define PCI_SATA_SIZEOF_LONG 16 +#define PCI_REBAR_CAP 4 +#define PCI_REBAR_CAP_SIZES 0x00FFFFF0 +#define PCI_REBAR_CTRL 8 +#define PCI_REBAR_CTRL_BAR_IDX 0x00000007 +#define PCI_REBAR_CTRL_NBAR_MASK 0x000000E0 +#define PCI_REBAR_CTRL_NBAR_SHIFT 5 +#define PCI_REBAR_CTRL_BAR_SIZE 0x00001F00 +#define PCI_REBAR_CTRL_BAR_SHIFT 8 +#define PCI_DPA_CAP 4 +#define PCI_DPA_CAP_SUBSTATE_MASK 0x1F +#define PCI_DPA_BASE_SIZEOF 16 +#define PCI_TPH_CAP 4 +#define PCI_TPH_CAP_LOC_MASK 0x600 +#define PCI_TPH_LOC_NONE 0x000 +#define PCI_TPH_LOC_CAP 0x200 +#define PCI_TPH_LOC_MSIX 0x400 +#define PCI_TPH_CAP_ST_MASK 0x07FF0000 +#define PCI_TPH_CAP_ST_SHIFT 16 +#define PCI_TPH_BASE_SIZEOF 12 +#define PCI_EXP_DPC_CAP 4 +#define PCI_EXP_DPC_IRQ 0x001F +#define PCI_EXP_DPC_CAP_RP_EXT 0x0020 +#define PCI_EXP_DPC_CAP_POISONED_TLP 0x0040 +#define PCI_EXP_DPC_CAP_SW_TRIGGER 0x0080 +#define PCI_EXP_DPC_RP_PIO_LOG_SIZE 0x0F00 +#define PCI_EXP_DPC_CAP_DL_ACTIVE 0x1000 +#define PCI_EXP_DPC_CTL 6 +#define PCI_EXP_DPC_CTL_EN_FATAL 0x0001 +#define PCI_EXP_DPC_CTL_EN_NONFATAL 0x0002 +#define PCI_EXP_DPC_CTL_INT_EN 0x0008 +#define PCI_EXP_DPC_STATUS 8 +#define PCI_EXP_DPC_STATUS_TRIGGER 0x0001 +#define PCI_EXP_DPC_STATUS_TRIGGER_RSN 0x0006 +#define PCI_EXP_DPC_STATUS_INTERRUPT 0x0008 +#define PCI_EXP_DPC_RP_BUSY 0x0010 +#define PCI_EXP_DPC_STATUS_TRIGGER_RSN_EXT 0x0060 +#define PCI_EXP_DPC_SOURCE_ID 10 +#define PCI_EXP_DPC_RP_PIO_STATUS 0x0C +#define PCI_EXP_DPC_RP_PIO_MASK 0x10 +#define PCI_EXP_DPC_RP_PIO_SEVERITY 0x14 +#define PCI_EXP_DPC_RP_PIO_SYSERROR 0x18 +#define PCI_EXP_DPC_RP_PIO_EXCEPTION 0x1C +#define PCI_EXP_DPC_RP_PIO_HEADER_LOG 0x20 +#define PCI_EXP_DPC_RP_PIO_IMPSPEC_LOG 0x30 +#define PCI_EXP_DPC_RP_PIO_TLPPREFIX_LOG 0x34 +#define PCI_PTM_CAP 0x04 +#define PCI_PTM_CAP_REQ 0x00000001 +#define PCI_PTM_CAP_ROOT 0x00000004 +#define PCI_PTM_GRANULARITY_MASK 0x0000FF00 +#define PCI_PTM_CTRL 0x08 +#define PCI_PTM_CTRL_ENABLE 0x00000001 +#define PCI_PTM_CTRL_ROOT 0x00000002 +#define PCI_L1SS_CAP 0x04 +#define PCI_L1SS_CAP_PCIPM_L1_2 0x00000001 +#define PCI_L1SS_CAP_PCIPM_L1_1 0x00000002 +#define PCI_L1SS_CAP_ASPM_L1_2 0x00000004 +#define PCI_L1SS_CAP_ASPM_L1_1 0x00000008 +#define PCI_L1SS_CAP_L1_PM_SS 0x00000010 +#define PCI_L1SS_CAP_CM_RESTORE_TIME 0x0000ff00 +#define PCI_L1SS_CAP_P_PWR_ON_SCALE 0x00030000 +#define PCI_L1SS_CAP_P_PWR_ON_VALUE 0x00f80000 +#define PCI_L1SS_CTL1 0x08 +#define PCI_L1SS_CTL1_PCIPM_L1_2 0x00000001 +#define PCI_L1SS_CTL1_PCIPM_L1_1 0x00000002 +#define PCI_L1SS_CTL1_ASPM_L1_2 0x00000004 +#define PCI_L1SS_CTL1_ASPM_L1_1 0x00000008 +#define PCI_L1SS_CTL1_L1_2_MASK 0x00000005 +#define PCI_L1SS_CTL1_L1SS_MASK 0x0000000f +#define PCI_L1SS_CTL1_CM_RESTORE_TIME 0x0000ff00 +#define PCI_L1SS_CTL1_LTR_L12_TH_VALUE 0x03ff0000 +#define PCI_L1SS_CTL1_LTR_L12_TH_SCALE 0xe0000000 +#define PCI_L1SS_CTL2 0x0c +#define PCI_DLF_CAP 0x04 +#define PCI_DLF_EXCHANGE_ENABLE 0x80000000 +#define PCI_PL_16GT_LE_CTRL 0x20 +#define PCI_PL_16GT_LE_CTRL_DSP_TX_PRESET_MASK 0x0000000F +#define PCI_PL_16GT_LE_CTRL_USP_TX_PRESET_MASK 0x000000F0 +#define PCI_PL_16GT_LE_CTRL_USP_TX_PRESET_SHIFT 4 +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/pcitest.h b/linux-5.10/prebuilts/usr/include/linux/pcitest.h new file mode 100644 index 0000000..f789d3f --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/pcitest.h @@ -0,0 +1,23 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef __UAPI_LINUX_PCITEST_H +#define __UAPI_LINUX_PCITEST_H +#define PCITEST_BAR _IO('P', 0x1) +#define PCITEST_LEGACY_IRQ _IO('P', 0x2) +#define PCITEST_MSI _IOW('P', 0x3, int) +#define PCITEST_WRITE _IOW('P', 0x4, unsigned long) +#define PCITEST_READ _IOW('P', 0x5, unsigned long) +#define PCITEST_COPY _IOW('P', 0x6, unsigned long) +#define PCITEST_MSIX _IOW('P', 0x7, int) +#define PCITEST_SET_IRQTYPE _IOW('P', 0x8, int) +#define PCITEST_GET_IRQTYPE _IO('P', 0x9) +#define PCITEST_CLEAR_IRQ _IO('P', 0x10) +#define PCITEST_FLAGS_USE_DMA 0x00000001 +struct pci_endpoint_test_xfer_param { + unsigned long size; + unsigned char flags; +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/perf_event.h b/linux-5.10/prebuilts/usr/include/linux/perf_event.h new file mode 100644 index 0000000..9291ba5 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/perf_event.h @@ -0,0 +1,548 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI_LINUX_PERF_EVENT_H +#define _UAPI_LINUX_PERF_EVENT_H +#include +#include +#include +enum perf_type_id { + PERF_TYPE_HARDWARE = 0, + PERF_TYPE_SOFTWARE = 1, + PERF_TYPE_TRACEPOINT = 2, + PERF_TYPE_HW_CACHE = 3, + PERF_TYPE_RAW = 4, + PERF_TYPE_BREAKPOINT = 5, + PERF_TYPE_MAX, +}; +enum perf_hw_id { + + PERF_COUNT_HW_CPU_CYCLES = 0, + PERF_COUNT_HW_INSTRUCTIONS = 1, + PERF_COUNT_HW_CACHE_REFERENCES = 2, + PERF_COUNT_HW_CACHE_MISSES = 3, + PERF_COUNT_HW_BRANCH_INSTRUCTIONS = 4, + PERF_COUNT_HW_BRANCH_MISSES = 5, + PERF_COUNT_HW_BUS_CYCLES = 6, + PERF_COUNT_HW_STALLED_CYCLES_FRONTEND = 7, + PERF_COUNT_HW_STALLED_CYCLES_BACKEND = 8, + PERF_COUNT_HW_REF_CPU_CYCLES = 9, + PERF_COUNT_HW_MAX, +}; +enum perf_hw_cache_id { + PERF_COUNT_HW_CACHE_L1D = 0, + PERF_COUNT_HW_CACHE_L1I = 1, + PERF_COUNT_HW_CACHE_LL = 2, + PERF_COUNT_HW_CACHE_DTLB = 3, + PERF_COUNT_HW_CACHE_ITLB = 4, + PERF_COUNT_HW_CACHE_BPU = 5, + PERF_COUNT_HW_CACHE_NODE = 6, + PERF_COUNT_HW_CACHE_MAX, +}; +enum perf_hw_cache_op_id { + PERF_COUNT_HW_CACHE_OP_READ = 0, + PERF_COUNT_HW_CACHE_OP_WRITE = 1, + PERF_COUNT_HW_CACHE_OP_PREFETCH = 2, + PERF_COUNT_HW_CACHE_OP_MAX, +}; +enum perf_hw_cache_op_result_id { + PERF_COUNT_HW_CACHE_RESULT_ACCESS = 0, + PERF_COUNT_HW_CACHE_RESULT_MISS = 1, + PERF_COUNT_HW_CACHE_RESULT_MAX, +}; +enum perf_sw_ids { + PERF_COUNT_SW_CPU_CLOCK = 0, + PERF_COUNT_SW_TASK_CLOCK = 1, + PERF_COUNT_SW_PAGE_FAULTS = 2, + PERF_COUNT_SW_CONTEXT_SWITCHES = 3, + PERF_COUNT_SW_CPU_MIGRATIONS = 4, + PERF_COUNT_SW_PAGE_FAULTS_MIN = 5, + PERF_COUNT_SW_PAGE_FAULTS_MAJ = 6, + PERF_COUNT_SW_ALIGNMENT_FAULTS = 7, + PERF_COUNT_SW_EMULATION_FAULTS = 8, + PERF_COUNT_SW_DUMMY = 9, + PERF_COUNT_SW_BPF_OUTPUT = 10, + PERF_COUNT_SW_MAX, +}; +enum perf_event_sample_format { + PERF_SAMPLE_IP = 1U << 0, + PERF_SAMPLE_TID = 1U << 1, + PERF_SAMPLE_TIME = 1U << 2, + PERF_SAMPLE_ADDR = 1U << 3, + PERF_SAMPLE_READ = 1U << 4, + PERF_SAMPLE_CALLCHAIN = 1U << 5, + PERF_SAMPLE_ID = 1U << 6, + PERF_SAMPLE_CPU = 1U << 7, + PERF_SAMPLE_PERIOD = 1U << 8, + PERF_SAMPLE_STREAM_ID = 1U << 9, + PERF_SAMPLE_RAW = 1U << 10, + PERF_SAMPLE_BRANCH_STACK = 1U << 11, + PERF_SAMPLE_REGS_USER = 1U << 12, + PERF_SAMPLE_STACK_USER = 1U << 13, + PERF_SAMPLE_WEIGHT = 1U << 14, + PERF_SAMPLE_DATA_SRC = 1U << 15, + PERF_SAMPLE_IDENTIFIER = 1U << 16, + PERF_SAMPLE_TRANSACTION = 1U << 17, + PERF_SAMPLE_REGS_INTR = 1U << 18, + PERF_SAMPLE_PHYS_ADDR = 1U << 19, + PERF_SAMPLE_AUX = 1U << 20, + PERF_SAMPLE_CGROUP = 1U << 21, + PERF_SAMPLE_MAX = 1U << 22, + __PERF_SAMPLE_CALLCHAIN_EARLY = 1ULL << 63, +}; +enum perf_branch_sample_type_shift { + PERF_SAMPLE_BRANCH_USER_SHIFT = 0, + PERF_SAMPLE_BRANCH_KERNEL_SHIFT = 1, + PERF_SAMPLE_BRANCH_HV_SHIFT = 2, + PERF_SAMPLE_BRANCH_ANY_SHIFT = 3, + PERF_SAMPLE_BRANCH_ANY_CALL_SHIFT = 4, + PERF_SAMPLE_BRANCH_ANY_RETURN_SHIFT = 5, + PERF_SAMPLE_BRANCH_IND_CALL_SHIFT = 6, + PERF_SAMPLE_BRANCH_ABORT_TX_SHIFT = 7, + PERF_SAMPLE_BRANCH_IN_TX_SHIFT = 8, + PERF_SAMPLE_BRANCH_NO_TX_SHIFT = 9, + PERF_SAMPLE_BRANCH_COND_SHIFT = 10, + PERF_SAMPLE_BRANCH_CALL_STACK_SHIFT = 11, + PERF_SAMPLE_BRANCH_IND_JUMP_SHIFT = 12, + PERF_SAMPLE_BRANCH_CALL_SHIFT = 13, + PERF_SAMPLE_BRANCH_NO_FLAGS_SHIFT = 14, + PERF_SAMPLE_BRANCH_NO_CYCLES_SHIFT = 15, + PERF_SAMPLE_BRANCH_TYPE_SAVE_SHIFT = 16, + PERF_SAMPLE_BRANCH_HW_INDEX_SHIFT = 17, + PERF_SAMPLE_BRANCH_MAX_SHIFT +}; +enum perf_branch_sample_type { + PERF_SAMPLE_BRANCH_USER = 1U << PERF_SAMPLE_BRANCH_USER_SHIFT, + PERF_SAMPLE_BRANCH_KERNEL = 1U << PERF_SAMPLE_BRANCH_KERNEL_SHIFT, + PERF_SAMPLE_BRANCH_HV = 1U << PERF_SAMPLE_BRANCH_HV_SHIFT, + PERF_SAMPLE_BRANCH_ANY = 1U << PERF_SAMPLE_BRANCH_ANY_SHIFT, + PERF_SAMPLE_BRANCH_ANY_CALL = 1U << PERF_SAMPLE_BRANCH_ANY_CALL_SHIFT, + PERF_SAMPLE_BRANCH_ANY_RETURN = 1U << PERF_SAMPLE_BRANCH_ANY_RETURN_SHIFT, + PERF_SAMPLE_BRANCH_IND_CALL = 1U << PERF_SAMPLE_BRANCH_IND_CALL_SHIFT, + PERF_SAMPLE_BRANCH_ABORT_TX = 1U << PERF_SAMPLE_BRANCH_ABORT_TX_SHIFT, + PERF_SAMPLE_BRANCH_IN_TX = 1U << PERF_SAMPLE_BRANCH_IN_TX_SHIFT, + PERF_SAMPLE_BRANCH_NO_TX = 1U << PERF_SAMPLE_BRANCH_NO_TX_SHIFT, + PERF_SAMPLE_BRANCH_COND = 1U << PERF_SAMPLE_BRANCH_COND_SHIFT, + PERF_SAMPLE_BRANCH_CALL_STACK = 1U << PERF_SAMPLE_BRANCH_CALL_STACK_SHIFT, + PERF_SAMPLE_BRANCH_IND_JUMP = 1U << PERF_SAMPLE_BRANCH_IND_JUMP_SHIFT, + PERF_SAMPLE_BRANCH_CALL = 1U << PERF_SAMPLE_BRANCH_CALL_SHIFT, + PERF_SAMPLE_BRANCH_NO_FLAGS = 1U << PERF_SAMPLE_BRANCH_NO_FLAGS_SHIFT, + PERF_SAMPLE_BRANCH_NO_CYCLES = 1U << PERF_SAMPLE_BRANCH_NO_CYCLES_SHIFT, + PERF_SAMPLE_BRANCH_TYPE_SAVE = + 1U << PERF_SAMPLE_BRANCH_TYPE_SAVE_SHIFT, + PERF_SAMPLE_BRANCH_HW_INDEX = 1U << PERF_SAMPLE_BRANCH_HW_INDEX_SHIFT, + PERF_SAMPLE_BRANCH_MAX = 1U << PERF_SAMPLE_BRANCH_MAX_SHIFT, +}; +enum { + PERF_BR_UNKNOWN = 0, + PERF_BR_COND = 1, + PERF_BR_UNCOND = 2, + PERF_BR_IND = 3, + PERF_BR_CALL = 4, + PERF_BR_IND_CALL = 5, + PERF_BR_RET = 6, + PERF_BR_SYSCALL = 7, + PERF_BR_SYSRET = 8, + PERF_BR_COND_CALL = 9, + PERF_BR_COND_RET = 10, + PERF_BR_MAX, +}; +#define PERF_SAMPLE_BRANCH_PLM_ALL \ + (PERF_SAMPLE_BRANCH_USER|\ + PERF_SAMPLE_BRANCH_KERNEL|\ + PERF_SAMPLE_BRANCH_HV) +enum perf_sample_regs_abi { + PERF_SAMPLE_REGS_ABI_NONE = 0, + PERF_SAMPLE_REGS_ABI_32 = 1, + PERF_SAMPLE_REGS_ABI_64 = 2, +}; +enum { + PERF_TXN_ELISION = (1 << 0), + PERF_TXN_TRANSACTION = (1 << 1), + PERF_TXN_SYNC = (1 << 2), + PERF_TXN_ASYNC = (1 << 3), + PERF_TXN_RETRY = (1 << 4), + PERF_TXN_CONFLICT = (1 << 5), + PERF_TXN_CAPACITY_WRITE = (1 << 6), + PERF_TXN_CAPACITY_READ = (1 << 7), + PERF_TXN_MAX = (1 << 8), + + PERF_TXN_ABORT_MASK = (0xffffffffULL << 32), + PERF_TXN_ABORT_SHIFT = 32, +}; +enum perf_event_read_format { + PERF_FORMAT_TOTAL_TIME_ENABLED = 1U << 0, + PERF_FORMAT_TOTAL_TIME_RUNNING = 1U << 1, + PERF_FORMAT_ID = 1U << 2, + PERF_FORMAT_GROUP = 1U << 3, + PERF_FORMAT_MAX = 1U << 4, +}; +#define PERF_ATTR_SIZE_VER0 64 +#define PERF_ATTR_SIZE_VER1 72 +#define PERF_ATTR_SIZE_VER2 80 +#define PERF_ATTR_SIZE_VER3 96 + +#define PERF_ATTR_SIZE_VER4 104 +#define PERF_ATTR_SIZE_VER5 112 +#define PERF_ATTR_SIZE_VER6 120 +struct perf_event_attr { + + __u32 type; + + __u32 size; + + __u64 config; + union { + __u64 sample_period; + __u64 sample_freq; + }; + __u64 sample_type; + __u64 read_format; + __u64 disabled : 1, + inherit : 1, + pinned : 1, + exclusive : 1, + exclude_user : 1, + exclude_kernel : 1, + exclude_hv : 1, + exclude_idle : 1, + mmap : 1, + comm : 1, + freq : 1, + inherit_stat : 1, + enable_on_exec : 1, + task : 1, + watermark : 1, + + precise_ip : 2, + mmap_data : 1, + sample_id_all : 1, + exclude_host : 1, + exclude_guest : 1, + exclude_callchain_kernel : 1, + exclude_callchain_user : 1, + mmap2 : 1, + comm_exec : 1, + use_clockid : 1, + context_switch : 1, + write_backward : 1, + namespaces : 1, + ksymbol : 1, + bpf_event : 1, + aux_output : 1, + cgroup : 1, + text_poke : 1, + __reserved_1 : 30; + union { + __u32 wakeup_events; + __u32 wakeup_watermark; + }; + __u32 bp_type; + union { + __u64 bp_addr; + __u64 kprobe_func; + __u64 uprobe_path; + __u64 config1; + }; + union { + __u64 bp_len; + __u64 kprobe_addr; + __u64 probe_offset; + __u64 config2; + }; + __u64 branch_sample_type; + + __u64 sample_regs_user; + + __u32 sample_stack_user; + __s32 clockid; + + __u64 sample_regs_intr; + + __u32 aux_watermark; + __u16 sample_max_stack; + __u16 __reserved_2; + __u32 aux_sample_size; + __u32 __reserved_3; +}; +struct perf_event_query_bpf { + + __u32 ids_len; + + __u32 prog_cnt; + + __u32 ids[0]; +}; +#define PERF_EVENT_IOC_ENABLE _IO ('$', 0) +#define PERF_EVENT_IOC_DISABLE _IO ('$', 1) +#define PERF_EVENT_IOC_REFRESH _IO ('$', 2) +#define PERF_EVENT_IOC_RESET _IO ('$', 3) +#define PERF_EVENT_IOC_PERIOD _IOW('$', 4, __u64) +#define PERF_EVENT_IOC_SET_OUTPUT _IO ('$', 5) +#define PERF_EVENT_IOC_SET_FILTER _IOW('$', 6, char *) +#define PERF_EVENT_IOC_ID _IOR('$', 7, __u64 *) +#define PERF_EVENT_IOC_SET_BPF _IOW('$', 8, __u32) +#define PERF_EVENT_IOC_PAUSE_OUTPUT _IOW('$', 9, __u32) +#define PERF_EVENT_IOC_QUERY_BPF _IOWR('$', 10, struct perf_event_query_bpf *) +#define PERF_EVENT_IOC_MODIFY_ATTRIBUTES _IOW('$', 11, struct perf_event_attr *) +enum perf_event_ioc_flags { + PERF_IOC_FLAG_GROUP = 1U << 0, +}; +struct perf_event_mmap_page { + __u32 version; + __u32 compat_version; + + __u32 lock; + __u32 index; + __s64 offset; + __u64 time_enabled; + __u64 time_running; + union { + __u64 capabilities; + struct { + __u64 cap_bit0 : 1, + cap_bit0_is_deprecated : 1, + cap_user_rdpmc : 1, + cap_user_time : 1, + cap_user_time_zero : 1, + cap_user_time_short : 1, + cap_____res : 58; + }; + }; + + __u16 pmc_width; + + __u16 time_shift; + __u32 time_mult; + __u64 time_offset; + + __u64 time_zero; + __u32 size; + __u32 __reserved_1; + + __u64 time_cycles; + __u64 time_mask; + + __u8 __reserved[116*8]; + + __u64 data_head; + __u64 data_tail; + __u64 data_offset; + __u64 data_size; + + __u64 aux_head; + __u64 aux_tail; + __u64 aux_offset; + __u64 aux_size; +}; +#define PERF_RECORD_MISC_CPUMODE_MASK (7 << 0) +#define PERF_RECORD_MISC_CPUMODE_UNKNOWN (0 << 0) +#define PERF_RECORD_MISC_KERNEL (1 << 0) +#define PERF_RECORD_MISC_USER (2 << 0) +#define PERF_RECORD_MISC_HYPERVISOR (3 << 0) +#define PERF_RECORD_MISC_GUEST_KERNEL (4 << 0) +#define PERF_RECORD_MISC_GUEST_USER (5 << 0) +#define PERF_RECORD_MISC_PROC_MAP_PARSE_TIMEOUT (1 << 12) +#define PERF_RECORD_MISC_MMAP_DATA (1 << 13) +#define PERF_RECORD_MISC_COMM_EXEC (1 << 13) +#define PERF_RECORD_MISC_FORK_EXEC (1 << 13) +#define PERF_RECORD_MISC_SWITCH_OUT (1 << 13) +#define PERF_RECORD_MISC_EXACT_IP (1 << 14) +#define PERF_RECORD_MISC_SWITCH_OUT_PREEMPT (1 << 14) +#define PERF_RECORD_MISC_EXT_RESERVED (1 << 15) +struct perf_event_header { + __u32 type; + __u16 misc; + __u16 size; +}; +struct perf_ns_link_info { + __u64 dev; + __u64 ino; +}; +enum { + NET_NS_INDEX = 0, + UTS_NS_INDEX = 1, + IPC_NS_INDEX = 2, + PID_NS_INDEX = 3, + USER_NS_INDEX = 4, + MNT_NS_INDEX = 5, + CGROUP_NS_INDEX = 6, + NR_NAMESPACES, +}; +enum perf_event_type { + + + PERF_RECORD_MMAP = 1, + + PERF_RECORD_LOST = 2, + + PERF_RECORD_COMM = 3, + + PERF_RECORD_EXIT = 4, + + PERF_RECORD_THROTTLE = 5, + PERF_RECORD_UNTHROTTLE = 6, + + PERF_RECORD_FORK = 7, + + PERF_RECORD_READ = 8, + + PERF_RECORD_SAMPLE = 9, + + PERF_RECORD_MMAP2 = 10, + + PERF_RECORD_AUX = 11, + + PERF_RECORD_ITRACE_START = 12, + + PERF_RECORD_LOST_SAMPLES = 13, + + PERF_RECORD_SWITCH = 14, + + PERF_RECORD_SWITCH_CPU_WIDE = 15, + + PERF_RECORD_NAMESPACES = 16, + + PERF_RECORD_KSYMBOL = 17, + + PERF_RECORD_BPF_EVENT = 18, + + PERF_RECORD_CGROUP = 19, + + PERF_RECORD_TEXT_POKE = 20, + PERF_RECORD_MAX, +}; +enum perf_record_ksymbol_type { + PERF_RECORD_KSYMBOL_TYPE_UNKNOWN = 0, + PERF_RECORD_KSYMBOL_TYPE_BPF = 1, + + PERF_RECORD_KSYMBOL_TYPE_OOL = 2, + PERF_RECORD_KSYMBOL_TYPE_MAX +}; +#define PERF_RECORD_KSYMBOL_FLAGS_UNREGISTER (1 << 0) +enum perf_bpf_event_type { + PERF_BPF_EVENT_UNKNOWN = 0, + PERF_BPF_EVENT_PROG_LOAD = 1, + PERF_BPF_EVENT_PROG_UNLOAD = 2, + PERF_BPF_EVENT_MAX, +}; +#define PERF_MAX_STACK_DEPTH 127 +#define PERF_MAX_CONTEXTS_PER_STACK 8 +enum perf_callchain_context { + PERF_CONTEXT_HV = (__u64)-32, + PERF_CONTEXT_KERNEL = (__u64)-128, + PERF_CONTEXT_USER = (__u64)-512, + PERF_CONTEXT_GUEST = (__u64)-2048, + PERF_CONTEXT_GUEST_KERNEL = (__u64)-2176, + PERF_CONTEXT_GUEST_USER = (__u64)-2560, + PERF_CONTEXT_MAX = (__u64)-4095, +}; +#define PERF_AUX_FLAG_TRUNCATED 0x01 +#define PERF_AUX_FLAG_OVERWRITE 0x02 +#define PERF_AUX_FLAG_PARTIAL 0x04 +#define PERF_AUX_FLAG_COLLISION 0x08 +#define PERF_FLAG_FD_NO_GROUP (1UL << 0) +#define PERF_FLAG_FD_OUTPUT (1UL << 1) +#define PERF_FLAG_PID_CGROUP (1UL << 2) +#define PERF_FLAG_FD_CLOEXEC (1UL << 3) +#if defined(__LITTLE_ENDIAN_BITFIELD) +union perf_mem_data_src { + __u64 val; + struct { + __u64 mem_op:5, + mem_lvl:14, + mem_snoop:5, + mem_lock:2, + mem_dtlb:7, + mem_lvl_num:4, + mem_remote:1, + mem_snoopx:2, + mem_rsvd:24; + }; +}; +#elif defined(__BIG_ENDIAN_BITFIELD) +union perf_mem_data_src { + __u64 val; + struct { + __u64 mem_rsvd:24, + mem_snoopx:2, + mem_remote:1, + mem_lvl_num:4, + mem_dtlb:7, + mem_lock:2, + mem_snoop:5, + mem_lvl:14, + mem_op:5; + }; +}; +#else +#error "Unknown endianness" +#endif +#define PERF_MEM_OP_NA 0x01 +#define PERF_MEM_OP_LOAD 0x02 +#define PERF_MEM_OP_STORE 0x04 +#define PERF_MEM_OP_PFETCH 0x08 +#define PERF_MEM_OP_EXEC 0x10 +#define PERF_MEM_OP_SHIFT 0 +#define PERF_MEM_LVL_NA 0x01 +#define PERF_MEM_LVL_HIT 0x02 +#define PERF_MEM_LVL_MISS 0x04 +#define PERF_MEM_LVL_L1 0x08 +#define PERF_MEM_LVL_LFB 0x10 +#define PERF_MEM_LVL_L2 0x20 +#define PERF_MEM_LVL_L3 0x40 +#define PERF_MEM_LVL_LOC_RAM 0x80 +#define PERF_MEM_LVL_REM_RAM1 0x100 +#define PERF_MEM_LVL_REM_RAM2 0x200 +#define PERF_MEM_LVL_REM_CCE1 0x400 +#define PERF_MEM_LVL_REM_CCE2 0x800 +#define PERF_MEM_LVL_IO 0x1000 +#define PERF_MEM_LVL_UNC 0x2000 +#define PERF_MEM_LVL_SHIFT 5 +#define PERF_MEM_REMOTE_REMOTE 0x01 +#define PERF_MEM_REMOTE_SHIFT 37 +#define PERF_MEM_LVLNUM_L1 0x01 +#define PERF_MEM_LVLNUM_L2 0x02 +#define PERF_MEM_LVLNUM_L3 0x03 +#define PERF_MEM_LVLNUM_L4 0x04 +#define PERF_MEM_LVLNUM_ANY_CACHE 0x0b +#define PERF_MEM_LVLNUM_LFB 0x0c +#define PERF_MEM_LVLNUM_RAM 0x0d +#define PERF_MEM_LVLNUM_PMEM 0x0e +#define PERF_MEM_LVLNUM_NA 0x0f +#define PERF_MEM_LVLNUM_SHIFT 33 +#define PERF_MEM_SNOOP_NA 0x01 +#define PERF_MEM_SNOOP_NONE 0x02 +#define PERF_MEM_SNOOP_HIT 0x04 +#define PERF_MEM_SNOOP_MISS 0x08 +#define PERF_MEM_SNOOP_HITM 0x10 +#define PERF_MEM_SNOOP_SHIFT 19 +#define PERF_MEM_SNOOPX_FWD 0x01 +#define PERF_MEM_SNOOPX_SHIFT 38 +#define PERF_MEM_LOCK_NA 0x01 +#define PERF_MEM_LOCK_LOCKED 0x02 +#define PERF_MEM_LOCK_SHIFT 24 +#define PERF_MEM_TLB_NA 0x01 +#define PERF_MEM_TLB_HIT 0x02 +#define PERF_MEM_TLB_MISS 0x04 +#define PERF_MEM_TLB_L1 0x08 +#define PERF_MEM_TLB_L2 0x10 +#define PERF_MEM_TLB_WK 0x20 +#define PERF_MEM_TLB_OS 0x40 +#define PERF_MEM_TLB_SHIFT 26 +#define PERF_MEM_S(a, s) \ + (((__u64)PERF_MEM_##a##_##s) << PERF_MEM_##a##_SHIFT) +struct perf_branch_entry { + __u64 from; + __u64 to; + __u64 mispred:1, + predicted:1, + in_tx:1, + abort:1, + cycles:16, + type:4, + reserved:40; +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/personality.h b/linux-5.10/prebuilts/usr/include/linux/personality.h new file mode 100644 index 0000000..d11d2d6 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/personality.h @@ -0,0 +1,51 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI_LINUX_PERSONALITY_H +#define _UAPI_LINUX_PERSONALITY_H +enum { + UNAME26 = 0x0020000, + ADDR_NO_RANDOMIZE = 0x0040000, + FDPIC_FUNCPTRS = 0x0080000, + MMAP_PAGE_ZERO = 0x0100000, + ADDR_COMPAT_LAYOUT = 0x0200000, + READ_IMPLIES_EXEC = 0x0400000, + ADDR_LIMIT_32BIT = 0x0800000, + SHORT_INODE = 0x1000000, + WHOLE_SECONDS = 0x2000000, + STICKY_TIMEOUTS = 0x4000000, + ADDR_LIMIT_3GB = 0x8000000, +}; +#define PER_CLEAR_ON_SETID (READ_IMPLIES_EXEC | \ + ADDR_NO_RANDOMIZE | \ + ADDR_COMPAT_LAYOUT | \ + MMAP_PAGE_ZERO) +enum { + PER_LINUX = 0x0000, + PER_LINUX_32BIT = 0x0000 | ADDR_LIMIT_32BIT, + PER_LINUX_FDPIC = 0x0000 | FDPIC_FUNCPTRS, + PER_SVR4 = 0x0001 | STICKY_TIMEOUTS | MMAP_PAGE_ZERO, + PER_SVR3 = 0x0002 | STICKY_TIMEOUTS | SHORT_INODE, + PER_SCOSVR3 = 0x0003 | STICKY_TIMEOUTS | + WHOLE_SECONDS | SHORT_INODE, + PER_OSR5 = 0x0003 | STICKY_TIMEOUTS | WHOLE_SECONDS, + PER_WYSEV386 = 0x0004 | STICKY_TIMEOUTS | SHORT_INODE, + PER_ISCR4 = 0x0005 | STICKY_TIMEOUTS, + PER_BSD = 0x0006, + PER_SUNOS = 0x0006 | STICKY_TIMEOUTS, + PER_XENIX = 0x0007 | STICKY_TIMEOUTS | SHORT_INODE, + PER_LINUX32 = 0x0008, + PER_LINUX32_3GB = 0x0008 | ADDR_LIMIT_3GB, + PER_IRIX32 = 0x0009 | STICKY_TIMEOUTS, + PER_IRIXN32 = 0x000a | STICKY_TIMEOUTS, + PER_IRIX64 = 0x000b | STICKY_TIMEOUTS, + PER_RISCOS = 0x000c, + PER_SOLARIS = 0x000d | STICKY_TIMEOUTS, + PER_UW7 = 0x000e | STICKY_TIMEOUTS | MMAP_PAGE_ZERO, + PER_OSF4 = 0x000f, + PER_HPUX = 0x0010, + PER_MASK = 0x00ff, +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/pfkeyv2.h b/linux-5.10/prebuilts/usr/include/linux/pfkeyv2.h new file mode 100644 index 0000000..bf02cf7 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/pfkeyv2.h @@ -0,0 +1,293 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _LINUX_PFKEY2_H +#define _LINUX_PFKEY2_H +#include +#define PF_KEY_V2 2 +#define PFKEYV2_REVISION 199806L +struct sadb_msg { + __u8 sadb_msg_version; + __u8 sadb_msg_type; + __u8 sadb_msg_errno; + __u8 sadb_msg_satype; + __u16 sadb_msg_len; + __u16 sadb_msg_reserved; + __u32 sadb_msg_seq; + __u32 sadb_msg_pid; +} __attribute__((packed)); +struct sadb_ext { + __u16 sadb_ext_len; + __u16 sadb_ext_type; +} __attribute__((packed)); +struct sadb_sa { + __u16 sadb_sa_len; + __u16 sadb_sa_exttype; + __be32 sadb_sa_spi; + __u8 sadb_sa_replay; + __u8 sadb_sa_state; + __u8 sadb_sa_auth; + __u8 sadb_sa_encrypt; + __u32 sadb_sa_flags; +} __attribute__((packed)); +struct sadb_lifetime { + __u16 sadb_lifetime_len; + __u16 sadb_lifetime_exttype; + __u32 sadb_lifetime_allocations; + __u64 sadb_lifetime_bytes; + __u64 sadb_lifetime_addtime; + __u64 sadb_lifetime_usetime; +} __attribute__((packed)); +struct sadb_address { + __u16 sadb_address_len; + __u16 sadb_address_exttype; + __u8 sadb_address_proto; + __u8 sadb_address_prefixlen; + __u16 sadb_address_reserved; +} __attribute__((packed)); +struct sadb_key { + __u16 sadb_key_len; + __u16 sadb_key_exttype; + __u16 sadb_key_bits; + __u16 sadb_key_reserved; +} __attribute__((packed)); +struct sadb_ident { + __u16 sadb_ident_len; + __u16 sadb_ident_exttype; + __u16 sadb_ident_type; + __u16 sadb_ident_reserved; + __u64 sadb_ident_id; +} __attribute__((packed)); +struct sadb_sens { + __u16 sadb_sens_len; + __u16 sadb_sens_exttype; + __u32 sadb_sens_dpd; + __u8 sadb_sens_sens_level; + __u8 sadb_sens_sens_len; + __u8 sadb_sens_integ_level; + __u8 sadb_sens_integ_len; + __u32 sadb_sens_reserved; +} __attribute__((packed)); +struct sadb_prop { + __u16 sadb_prop_len; + __u16 sadb_prop_exttype; + __u8 sadb_prop_replay; + __u8 sadb_prop_reserved[3]; +} __attribute__((packed)); +struct sadb_comb { + __u8 sadb_comb_auth; + __u8 sadb_comb_encrypt; + __u16 sadb_comb_flags; + __u16 sadb_comb_auth_minbits; + __u16 sadb_comb_auth_maxbits; + __u16 sadb_comb_encrypt_minbits; + __u16 sadb_comb_encrypt_maxbits; + __u32 sadb_comb_reserved; + __u32 sadb_comb_soft_allocations; + __u32 sadb_comb_hard_allocations; + __u64 sadb_comb_soft_bytes; + __u64 sadb_comb_hard_bytes; + __u64 sadb_comb_soft_addtime; + __u64 sadb_comb_hard_addtime; + __u64 sadb_comb_soft_usetime; + __u64 sadb_comb_hard_usetime; +} __attribute__((packed)); +struct sadb_supported { + __u16 sadb_supported_len; + __u16 sadb_supported_exttype; + __u32 sadb_supported_reserved; +} __attribute__((packed)); +struct sadb_alg { + __u8 sadb_alg_id; + __u8 sadb_alg_ivlen; + __u16 sadb_alg_minbits; + __u16 sadb_alg_maxbits; + __u16 sadb_alg_reserved; +} __attribute__((packed)); +struct sadb_spirange { + __u16 sadb_spirange_len; + __u16 sadb_spirange_exttype; + __u32 sadb_spirange_min; + __u32 sadb_spirange_max; + __u32 sadb_spirange_reserved; +} __attribute__((packed)); +struct sadb_x_kmprivate { + __u16 sadb_x_kmprivate_len; + __u16 sadb_x_kmprivate_exttype; + __u32 sadb_x_kmprivate_reserved; +} __attribute__((packed)); +struct sadb_x_sa2 { + __u16 sadb_x_sa2_len; + __u16 sadb_x_sa2_exttype; + __u8 sadb_x_sa2_mode; + __u8 sadb_x_sa2_reserved1; + __u16 sadb_x_sa2_reserved2; + __u32 sadb_x_sa2_sequence; + __u32 sadb_x_sa2_reqid; +} __attribute__((packed)); +struct sadb_x_policy { + __u16 sadb_x_policy_len; + __u16 sadb_x_policy_exttype; + __u16 sadb_x_policy_type; + __u8 sadb_x_policy_dir; + __u8 sadb_x_policy_reserved; + __u32 sadb_x_policy_id; + __u32 sadb_x_policy_priority; +} __attribute__((packed)); +struct sadb_x_ipsecrequest { + __u16 sadb_x_ipsecrequest_len; + __u16 sadb_x_ipsecrequest_proto; + __u8 sadb_x_ipsecrequest_mode; + __u8 sadb_x_ipsecrequest_level; + __u16 sadb_x_ipsecrequest_reserved1; + __u32 sadb_x_ipsecrequest_reqid; + __u32 sadb_x_ipsecrequest_reserved2; +} __attribute__((packed)); +struct sadb_x_nat_t_type { + __u16 sadb_x_nat_t_type_len; + __u16 sadb_x_nat_t_type_exttype; + __u8 sadb_x_nat_t_type_type; + __u8 sadb_x_nat_t_type_reserved[3]; +} __attribute__((packed)); +struct sadb_x_nat_t_port { + __u16 sadb_x_nat_t_port_len; + __u16 sadb_x_nat_t_port_exttype; + __be16 sadb_x_nat_t_port_port; + __u16 sadb_x_nat_t_port_reserved; +} __attribute__((packed)); +struct sadb_x_sec_ctx { + __u16 sadb_x_sec_len; + __u16 sadb_x_sec_exttype; + __u8 sadb_x_ctx_alg; + __u8 sadb_x_ctx_doi; + __u16 sadb_x_ctx_len; +} __attribute__((packed)); +struct sadb_x_kmaddress { + __u16 sadb_x_kmaddress_len; + __u16 sadb_x_kmaddress_exttype; + __u32 sadb_x_kmaddress_reserved; +} __attribute__((packed)); +struct sadb_x_filter { + __u16 sadb_x_filter_len; + __u16 sadb_x_filter_exttype; + __u32 sadb_x_filter_saddr[4]; + __u32 sadb_x_filter_daddr[4]; + __u16 sadb_x_filter_family; + __u8 sadb_x_filter_splen; + __u8 sadb_x_filter_dplen; +} __attribute__((packed)); +#define SADB_RESERVED 0 +#define SADB_GETSPI 1 +#define SADB_UPDATE 2 +#define SADB_ADD 3 +#define SADB_DELETE 4 +#define SADB_GET 5 +#define SADB_ACQUIRE 6 +#define SADB_REGISTER 7 +#define SADB_EXPIRE 8 +#define SADB_FLUSH 9 +#define SADB_DUMP 10 +#define SADB_X_PROMISC 11 +#define SADB_X_PCHANGE 12 +#define SADB_X_SPDUPDATE 13 +#define SADB_X_SPDADD 14 +#define SADB_X_SPDDELETE 15 +#define SADB_X_SPDGET 16 +#define SADB_X_SPDACQUIRE 17 +#define SADB_X_SPDDUMP 18 +#define SADB_X_SPDFLUSH 19 +#define SADB_X_SPDSETIDX 20 +#define SADB_X_SPDEXPIRE 21 +#define SADB_X_SPDDELETE2 22 +#define SADB_X_NAT_T_NEW_MAPPING 23 +#define SADB_X_MIGRATE 24 +#define SADB_MAX 24 +#define SADB_SAFLAGS_PFS 1 +#define SADB_SAFLAGS_NOPMTUDISC 0x20000000 +#define SADB_SAFLAGS_DECAP_DSCP 0x40000000 +#define SADB_SAFLAGS_NOECN 0x80000000 +#define SADB_SASTATE_LARVAL 0 +#define SADB_SASTATE_MATURE 1 +#define SADB_SASTATE_DYING 2 +#define SADB_SASTATE_DEAD 3 +#define SADB_SASTATE_MAX 3 +#define SADB_SATYPE_UNSPEC 0 +#define SADB_SATYPE_AH 2 +#define SADB_SATYPE_ESP 3 +#define SADB_SATYPE_RSVP 5 +#define SADB_SATYPE_OSPFV2 6 +#define SADB_SATYPE_RIPV2 7 +#define SADB_SATYPE_MIP 8 +#define SADB_X_SATYPE_IPCOMP 9 +#define SADB_SATYPE_MAX 9 +#define SADB_AALG_NONE 0 +#define SADB_AALG_MD5HMAC 2 +#define SADB_AALG_SHA1HMAC 3 +#define SADB_X_AALG_SHA2_256HMAC 5 +#define SADB_X_AALG_SHA2_384HMAC 6 +#define SADB_X_AALG_SHA2_512HMAC 7 +#define SADB_X_AALG_RIPEMD160HMAC 8 +#define SADB_X_AALG_AES_XCBC_MAC 9 +#define SADB_X_AALG_NULL 251 +#define SADB_AALG_MAX 251 +#define SADB_EALG_NONE 0 +#define SADB_EALG_DESCBC 2 +#define SADB_EALG_3DESCBC 3 +#define SADB_X_EALG_CASTCBC 6 +#define SADB_X_EALG_BLOWFISHCBC 7 +#define SADB_EALG_NULL 11 +#define SADB_X_EALG_AESCBC 12 +#define SADB_X_EALG_AESCTR 13 +#define SADB_X_EALG_AES_CCM_ICV8 14 +#define SADB_X_EALG_AES_CCM_ICV12 15 +#define SADB_X_EALG_AES_CCM_ICV16 16 +#define SADB_X_EALG_AES_GCM_ICV8 18 +#define SADB_X_EALG_AES_GCM_ICV12 19 +#define SADB_X_EALG_AES_GCM_ICV16 20 +#define SADB_X_EALG_CAMELLIACBC 22 +#define SADB_X_EALG_NULL_AES_GMAC 23 +#define SADB_EALG_MAX 253 +#define SADB_X_EALG_SERPENTCBC 252 +#define SADB_X_EALG_TWOFISHCBC 253 +#define SADB_X_CALG_NONE 0 +#define SADB_X_CALG_OUI 1 +#define SADB_X_CALG_DEFLATE 2 +#define SADB_X_CALG_LZS 3 +#define SADB_X_CALG_LZJH 4 +#define SADB_X_CALG_MAX 4 +#define SADB_EXT_RESERVED 0 +#define SADB_EXT_SA 1 +#define SADB_EXT_LIFETIME_CURRENT 2 +#define SADB_EXT_LIFETIME_HARD 3 +#define SADB_EXT_LIFETIME_SOFT 4 +#define SADB_EXT_ADDRESS_SRC 5 +#define SADB_EXT_ADDRESS_DST 6 +#define SADB_EXT_ADDRESS_PROXY 7 +#define SADB_EXT_KEY_AUTH 8 +#define SADB_EXT_KEY_ENCRYPT 9 +#define SADB_EXT_IDENTITY_SRC 10 +#define SADB_EXT_IDENTITY_DST 11 +#define SADB_EXT_SENSITIVITY 12 +#define SADB_EXT_PROPOSAL 13 +#define SADB_EXT_SUPPORTED_AUTH 14 +#define SADB_EXT_SUPPORTED_ENCRYPT 15 +#define SADB_EXT_SPIRANGE 16 +#define SADB_X_EXT_KMPRIVATE 17 +#define SADB_X_EXT_POLICY 18 +#define SADB_X_EXT_SA2 19 +#define SADB_X_EXT_NAT_T_TYPE 20 +#define SADB_X_EXT_NAT_T_SPORT 21 +#define SADB_X_EXT_NAT_T_DPORT 22 +#define SADB_X_EXT_NAT_T_OA 23 +#define SADB_X_EXT_SEC_CTX 24 +#define SADB_X_EXT_KMADDRESS 25 +#define SADB_X_EXT_FILTER 26 +#define SADB_EXT_MAX 26 +#define SADB_IDENTTYPE_RESERVED 0 +#define SADB_IDENTTYPE_PREFIX 1 +#define SADB_IDENTTYPE_FQDN 2 +#define SADB_IDENTTYPE_USERFQDN 3 +#define SADB_IDENTTYPE_MAX 3 +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/pg.h b/linux-5.10/prebuilts/usr/include/linux/pg.h new file mode 100644 index 0000000..3f5eeb9 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/pg.h @@ -0,0 +1,26 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI_LINUX_PG_H +#define _UAPI_LINUX_PG_H +#define PG_MAGIC 'P' +#define PG_RESET 'Z' +#define PG_COMMAND 'C' +#define PG_MAX_DATA 32768 +struct pg_write_hdr { + char magic; + char func; + int dlen; + int timeout; + char packet[12]; +}; +struct pg_read_hdr { + char magic; + char scsi; + int dlen; + int duration; + char pad[12]; +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/phantom.h b/linux-5.10/prebuilts/usr/include/linux/phantom.h new file mode 100644 index 0000000..955328f --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/phantom.h @@ -0,0 +1,33 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef __PHANTOM_H +#define __PHANTOM_H +#include +struct phm_reg { + __u32 reg; + __u32 value; +}; +struct phm_regs { + __u32 count; + __u32 mask; + __u32 values[8]; +}; +#define PH_IOC_MAGIC 'p' +#define PHN_GET_REG _IOWR(PH_IOC_MAGIC, 0, struct phm_reg *) +#define PHN_SET_REG _IOW(PH_IOC_MAGIC, 1, struct phm_reg *) +#define PHN_GET_REGS _IOWR(PH_IOC_MAGIC, 2, struct phm_regs *) +#define PHN_SET_REGS _IOW(PH_IOC_MAGIC, 3, struct phm_regs *) +#define PHN_NOT_OH _IO(PH_IOC_MAGIC, 4) +#define PHN_GETREG _IOWR(PH_IOC_MAGIC, 5, struct phm_reg) +#define PHN_SETREG _IOW(PH_IOC_MAGIC, 6, struct phm_reg) +#define PHN_GETREGS _IOWR(PH_IOC_MAGIC, 7, struct phm_regs) +#define PHN_SETREGS _IOW(PH_IOC_MAGIC, 8, struct phm_regs) +#define PHN_CONTROL 0x6 +#define PHN_CTL_AMP 0x1 +#define PHN_CTL_BUT 0x2 +#define PHN_CTL_IRQ 0x10 +#define PHN_ZERO_FORCE 2048 +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/phonet.h b/linux-5.10/prebuilts/usr/include/linux/phonet.h new file mode 100644 index 0000000..eabecf1 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/phonet.h @@ -0,0 +1,130 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPILINUX_PHONET_H +#define _UAPILINUX_PHONET_H +#include +#include +#define PN_PROTO_TRANSPORT 0 +#define PN_PROTO_PHONET 1 +#define PN_PROTO_PIPE 2 +#define PHONET_NPROTO 3 +#define PNPIPE_ENCAP 1 +#define PNPIPE_IFINDEX 2 +#define PNPIPE_HANDLE 3 +#define PNPIPE_INITSTATE 4 +#define PNADDR_ANY 0 +#define PNADDR_BROADCAST 0xFC +#define PNPORT_RESOURCE_ROUTING 0 +#define PNPIPE_ENCAP_NONE 0 +#define PNPIPE_ENCAP_IP 1 +#define SIOCPNGETOBJECT (SIOCPROTOPRIVATE + 0) +#define SIOCPNENABLEPIPE (SIOCPROTOPRIVATE + 13) +#define SIOCPNADDRESOURCE (SIOCPROTOPRIVATE + 14) +#define SIOCPNDELRESOURCE (SIOCPROTOPRIVATE + 15) +struct phonethdr { + __u8 pn_rdev; + __u8 pn_sdev; + __u8 pn_res; + __be16 pn_length; + __u8 pn_robj; + __u8 pn_sobj; +} __attribute__((packed)); +struct phonetmsg { + __u8 pn_trans_id; + __u8 pn_msg_id; + union { + struct { + __u8 pn_submsg_id; + __u8 pn_data[5]; + } base; + struct { + __u16 pn_e_res_id; + __u8 pn_e_submsg_id; + __u8 pn_e_data[3]; + } ext; + } pn_msg_u; +}; +#define PN_COMMON_MESSAGE 0xF0 +#define PN_COMMGR 0x10 +#define PN_PREFIX 0xE0 +#define pn_submsg_id pn_msg_u.base.pn_submsg_id +#define pn_e_submsg_id pn_msg_u.ext.pn_e_submsg_id +#define pn_e_res_id pn_msg_u.ext.pn_e_res_id +#define pn_data pn_msg_u.base.pn_data +#define pn_e_data pn_msg_u.ext.pn_e_data +#define PN_COMM_SERVICE_NOT_IDENTIFIED_RESP 0x01 +#define PN_COMM_ISA_ENTITY_NOT_REACHABLE_RESP 0x14 +#define pn_orig_msg_id pn_data[0] +#define pn_status pn_data[1] +#define pn_e_orig_msg_id pn_e_data[0] +#define pn_e_status pn_e_data[1] +struct sockaddr_pn { + __kernel_sa_family_t spn_family; + __u8 spn_obj; + __u8 spn_dev; + __u8 spn_resource; + __u8 spn_zero[sizeof(struct sockaddr) - sizeof(__kernel_sa_family_t) - 3]; +} __attribute__((packed)); +#define PN_DEV_PC 0x10 +static inline __u16 pn_object(__u8 addr, __u16 port) +{ + return (addr << 8) | (port & 0x3ff); +} +static inline __u8 pn_obj(__u16 handle) +{ + return handle & 0xff; +} +static inline __u8 pn_dev(__u16 handle) +{ + return handle >> 8; +} +static inline __u16 pn_port(__u16 handle) +{ + return handle & 0x3ff; +} +static inline __u8 pn_addr(__u16 handle) +{ + return (handle >> 8) & 0xfc; +} +static inline void pn_sockaddr_set_addr(struct sockaddr_pn *spn, __u8 addr) +{ + spn->spn_dev &= 0x03; + spn->spn_dev |= addr & 0xfc; +} +static inline void pn_sockaddr_set_port(struct sockaddr_pn *spn, __u16 port) +{ + spn->spn_dev &= 0xfc; + spn->spn_dev |= (port >> 8) & 0x03; + spn->spn_obj = port & 0xff; +} +static inline void pn_sockaddr_set_object(struct sockaddr_pn *spn, + __u16 handle) +{ + spn->spn_dev = pn_dev(handle); + spn->spn_obj = pn_obj(handle); +} +static inline void pn_sockaddr_set_resource(struct sockaddr_pn *spn, + __u8 resource) +{ + spn->spn_resource = resource; +} +static inline __u8 pn_sockaddr_get_addr(const struct sockaddr_pn *spn) +{ + return spn->spn_dev & 0xfc; +} +static inline __u16 pn_sockaddr_get_port(const struct sockaddr_pn *spn) +{ + return ((spn->spn_dev & 0x03) << 8) | spn->spn_obj; +} +static inline __u16 pn_sockaddr_get_object(const struct sockaddr_pn *spn) +{ + return pn_object(spn->spn_dev, spn->spn_obj); +} +static inline __u8 pn_sockaddr_get_resource(const struct sockaddr_pn *spn) +{ + return spn->spn_resource; +} +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/pidfd.h b/linux-5.10/prebuilts/usr/include/linux/pidfd.h new file mode 100644 index 0000000..9fae371 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/pidfd.h @@ -0,0 +1,11 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI_LINUX_PIDFD_H +#define _UAPI_LINUX_PIDFD_H +#include +#include +#define PIDFD_NONBLOCK O_NONBLOCK +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/pkt_cls.h b/linux-5.10/prebuilts/usr/include/linux/pkt_cls.h new file mode 100644 index 0000000..33b68f6 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/pkt_cls.h @@ -0,0 +1,579 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef __LINUX_PKT_CLS_H +#define __LINUX_PKT_CLS_H +#include +#include +#define TC_COOKIE_MAX_SIZE 16 +enum { + TCA_ACT_UNSPEC, + TCA_ACT_KIND, + TCA_ACT_OPTIONS, + TCA_ACT_INDEX, + TCA_ACT_STATS, + TCA_ACT_PAD, + TCA_ACT_COOKIE, + TCA_ACT_FLAGS, + TCA_ACT_HW_STATS, + TCA_ACT_USED_HW_STATS, + __TCA_ACT_MAX +}; +#define TCA_ACT_FLAGS_NO_PERCPU_STATS 1 +#define TCA_ACT_HW_STATS_IMMEDIATE (1 << 0) +#define TCA_ACT_HW_STATS_DELAYED (1 << 1) +#define TCA_ACT_MAX __TCA_ACT_MAX +#define TCA_OLD_COMPAT (TCA_ACT_MAX+1) +#define TCA_ACT_MAX_PRIO 32 +#define TCA_ACT_BIND 1 +#define TCA_ACT_NOBIND 0 +#define TCA_ACT_UNBIND 1 +#define TCA_ACT_NOUNBIND 0 +#define TCA_ACT_REPLACE 1 +#define TCA_ACT_NOREPLACE 0 +#define TC_ACT_UNSPEC (-1) +#define TC_ACT_OK 0 +#define TC_ACT_RECLASSIFY 1 +#define TC_ACT_SHOT 2 +#define TC_ACT_PIPE 3 +#define TC_ACT_STOLEN 4 +#define TC_ACT_QUEUED 5 +#define TC_ACT_REPEAT 6 +#define TC_ACT_REDIRECT 7 +#define TC_ACT_TRAP 8 +#define TC_ACT_VALUE_MAX TC_ACT_TRAP +#define __TC_ACT_EXT_SHIFT 28 +#define __TC_ACT_EXT(local) ((local) << __TC_ACT_EXT_SHIFT) +#define TC_ACT_EXT_VAL_MASK ((1 << __TC_ACT_EXT_SHIFT) - 1) +#define TC_ACT_EXT_OPCODE(combined) ((combined) & (~TC_ACT_EXT_VAL_MASK)) +#define TC_ACT_EXT_CMP(combined, opcode) (TC_ACT_EXT_OPCODE(combined) == opcode) +#define TC_ACT_JUMP __TC_ACT_EXT(1) +#define TC_ACT_GOTO_CHAIN __TC_ACT_EXT(2) +#define TC_ACT_EXT_OPCODE_MAX TC_ACT_GOTO_CHAIN +#define TCA_ACT_GACT 5 +#define TCA_ACT_IPT 6 +#define TCA_ACT_PEDIT 7 +#define TCA_ACT_MIRRED 8 +#define TCA_ACT_NAT 9 +#define TCA_ACT_XT 10 +#define TCA_ACT_SKBEDIT 11 +#define TCA_ACT_VLAN 12 +#define TCA_ACT_BPF 13 +#define TCA_ACT_CONNMARK 14 +#define TCA_ACT_SKBMOD 15 +#define TCA_ACT_CSUM 16 +#define TCA_ACT_TUNNEL_KEY 17 +#define TCA_ACT_SIMP 22 +#define TCA_ACT_IFE 25 +#define TCA_ACT_SAMPLE 26 +enum tca_id { + TCA_ID_UNSPEC = 0, + TCA_ID_POLICE = 1, + TCA_ID_GACT = TCA_ACT_GACT, + TCA_ID_IPT = TCA_ACT_IPT, + TCA_ID_PEDIT = TCA_ACT_PEDIT, + TCA_ID_MIRRED = TCA_ACT_MIRRED, + TCA_ID_NAT = TCA_ACT_NAT, + TCA_ID_XT = TCA_ACT_XT, + TCA_ID_SKBEDIT = TCA_ACT_SKBEDIT, + TCA_ID_VLAN = TCA_ACT_VLAN, + TCA_ID_BPF = TCA_ACT_BPF, + TCA_ID_CONNMARK = TCA_ACT_CONNMARK, + TCA_ID_SKBMOD = TCA_ACT_SKBMOD, + TCA_ID_CSUM = TCA_ACT_CSUM, + TCA_ID_TUNNEL_KEY = TCA_ACT_TUNNEL_KEY, + TCA_ID_SIMP = TCA_ACT_SIMP, + TCA_ID_IFE = TCA_ACT_IFE, + TCA_ID_SAMPLE = TCA_ACT_SAMPLE, + TCA_ID_CTINFO, + TCA_ID_MPLS, + TCA_ID_CT, + TCA_ID_GATE, + + __TCA_ID_MAX = 255 +}; +#define TCA_ID_MAX __TCA_ID_MAX +struct tc_police { + __u32 index; + int action; +#define TC_POLICE_UNSPEC TC_ACT_UNSPEC +#define TC_POLICE_OK TC_ACT_OK +#define TC_POLICE_RECLASSIFY TC_ACT_RECLASSIFY +#define TC_POLICE_SHOT TC_ACT_SHOT +#define TC_POLICE_PIPE TC_ACT_PIPE + __u32 limit; + __u32 burst; + __u32 mtu; + struct tc_ratespec rate; + struct tc_ratespec peakrate; + int refcnt; + int bindcnt; + __u32 capab; +}; +struct tcf_t { + __u64 install; + __u64 lastuse; + __u64 expires; + __u64 firstuse; +}; +struct tc_cnt { + int refcnt; + int bindcnt; +}; +#define tc_gen \ + __u32 index; \ + __u32 capab; \ + int action; \ + int refcnt; \ + int bindcnt +enum { + TCA_POLICE_UNSPEC, + TCA_POLICE_TBF, + TCA_POLICE_RATE, + TCA_POLICE_PEAKRATE, + TCA_POLICE_AVRATE, + TCA_POLICE_RESULT, + TCA_POLICE_TM, + TCA_POLICE_PAD, + TCA_POLICE_RATE64, + TCA_POLICE_PEAKRATE64, + __TCA_POLICE_MAX +#define TCA_POLICE_RESULT TCA_POLICE_RESULT +}; +#define TCA_POLICE_MAX (__TCA_POLICE_MAX - 1) +#define TCA_CLS_FLAGS_SKIP_HW (1 << 0) +#define TCA_CLS_FLAGS_SKIP_SW (1 << 1) +#define TCA_CLS_FLAGS_IN_HW (1 << 2) +#define TCA_CLS_FLAGS_NOT_IN_HW (1 << 3) +#define TCA_CLS_FLAGS_VERBOSE (1 << 4) +#define TC_U32_HTID(h) ((h)&0xFFF00000) +#define TC_U32_USERHTID(h) (TC_U32_HTID(h)>>20) +#define TC_U32_HASH(h) (((h)>>12)&0xFF) +#define TC_U32_NODE(h) ((h)&0xFFF) +#define TC_U32_KEY(h) ((h)&0xFFFFF) +#define TC_U32_UNSPEC 0 +#define TC_U32_ROOT (0xFFF00000) +enum { + TCA_U32_UNSPEC, + TCA_U32_CLASSID, + TCA_U32_HASH, + TCA_U32_LINK, + TCA_U32_DIVISOR, + TCA_U32_SEL, + TCA_U32_POLICE, + TCA_U32_ACT, + TCA_U32_INDEV, + TCA_U32_PCNT, + TCA_U32_MARK, + TCA_U32_FLAGS, + TCA_U32_PAD, + __TCA_U32_MAX +}; +#define TCA_U32_MAX (__TCA_U32_MAX - 1) +struct tc_u32_key { + __be32 mask; + __be32 val; + int off; + int offmask; +}; +struct tc_u32_sel { + unsigned char flags; + unsigned char offshift; + unsigned char nkeys; + __be16 offmask; + __u16 off; + short offoff; + short hoff; + __be32 hmask; + struct tc_u32_key keys[0]; +}; +struct tc_u32_mark { + __u32 val; + __u32 mask; + __u32 success; +}; +struct tc_u32_pcnt { + __u64 rcnt; + __u64 rhit; + __u64 kcnts[0]; +}; +#define TC_U32_TERMINAL 1 +#define TC_U32_OFFSET 2 +#define TC_U32_VAROFFSET 4 +#define TC_U32_EAT 8 +#define TC_U32_MAXDEPTH 8 +enum { + TCA_RSVP_UNSPEC, + TCA_RSVP_CLASSID, + TCA_RSVP_DST, + TCA_RSVP_SRC, + TCA_RSVP_PINFO, + TCA_RSVP_POLICE, + TCA_RSVP_ACT, + __TCA_RSVP_MAX +}; +#define TCA_RSVP_MAX (__TCA_RSVP_MAX - 1 ) +struct tc_rsvp_gpi { + __u32 key; + __u32 mask; + int offset; +}; +struct tc_rsvp_pinfo { + struct tc_rsvp_gpi dpi; + struct tc_rsvp_gpi spi; + __u8 protocol; + __u8 tunnelid; + __u8 tunnelhdr; + __u8 pad; +}; +enum { + TCA_ROUTE4_UNSPEC, + TCA_ROUTE4_CLASSID, + TCA_ROUTE4_TO, + TCA_ROUTE4_FROM, + TCA_ROUTE4_IIF, + TCA_ROUTE4_POLICE, + TCA_ROUTE4_ACT, + __TCA_ROUTE4_MAX +}; +#define TCA_ROUTE4_MAX (__TCA_ROUTE4_MAX - 1) +enum { + TCA_FW_UNSPEC, + TCA_FW_CLASSID, + TCA_FW_POLICE, + TCA_FW_INDEV, + TCA_FW_ACT, + TCA_FW_MASK, + __TCA_FW_MAX +}; +#define TCA_FW_MAX (__TCA_FW_MAX - 1) +enum { + TCA_TCINDEX_UNSPEC, + TCA_TCINDEX_HASH, + TCA_TCINDEX_MASK, + TCA_TCINDEX_SHIFT, + TCA_TCINDEX_FALL_THROUGH, + TCA_TCINDEX_CLASSID, + TCA_TCINDEX_POLICE, + TCA_TCINDEX_ACT, + __TCA_TCINDEX_MAX +}; +#define TCA_TCINDEX_MAX (__TCA_TCINDEX_MAX - 1) +enum { + FLOW_KEY_SRC, + FLOW_KEY_DST, + FLOW_KEY_PROTO, + FLOW_KEY_PROTO_SRC, + FLOW_KEY_PROTO_DST, + FLOW_KEY_IIF, + FLOW_KEY_PRIORITY, + FLOW_KEY_MARK, + FLOW_KEY_NFCT, + FLOW_KEY_NFCT_SRC, + FLOW_KEY_NFCT_DST, + FLOW_KEY_NFCT_PROTO_SRC, + FLOW_KEY_NFCT_PROTO_DST, + FLOW_KEY_RTCLASSID, + FLOW_KEY_SKUID, + FLOW_KEY_SKGID, + FLOW_KEY_VLAN_TAG, + FLOW_KEY_RXHASH, + __FLOW_KEY_MAX, +}; +#define FLOW_KEY_MAX (__FLOW_KEY_MAX - 1) +enum { + FLOW_MODE_MAP, + FLOW_MODE_HASH, +}; +enum { + TCA_FLOW_UNSPEC, + TCA_FLOW_KEYS, + TCA_FLOW_MODE, + TCA_FLOW_BASECLASS, + TCA_FLOW_RSHIFT, + TCA_FLOW_ADDEND, + TCA_FLOW_MASK, + TCA_FLOW_XOR, + TCA_FLOW_DIVISOR, + TCA_FLOW_ACT, + TCA_FLOW_POLICE, + TCA_FLOW_EMATCHES, + TCA_FLOW_PERTURB, + __TCA_FLOW_MAX +}; +#define TCA_FLOW_MAX (__TCA_FLOW_MAX - 1) +struct tc_basic_pcnt { + __u64 rcnt; + __u64 rhit; +}; +enum { + TCA_BASIC_UNSPEC, + TCA_BASIC_CLASSID, + TCA_BASIC_EMATCHES, + TCA_BASIC_ACT, + TCA_BASIC_POLICE, + TCA_BASIC_PCNT, + TCA_BASIC_PAD, + __TCA_BASIC_MAX +}; +#define TCA_BASIC_MAX (__TCA_BASIC_MAX - 1) +enum { + TCA_CGROUP_UNSPEC, + TCA_CGROUP_ACT, + TCA_CGROUP_POLICE, + TCA_CGROUP_EMATCHES, + __TCA_CGROUP_MAX, +}; +#define TCA_CGROUP_MAX (__TCA_CGROUP_MAX - 1) +#define TCA_BPF_FLAG_ACT_DIRECT (1 << 0) +enum { + TCA_BPF_UNSPEC, + TCA_BPF_ACT, + TCA_BPF_POLICE, + TCA_BPF_CLASSID, + TCA_BPF_OPS_LEN, + TCA_BPF_OPS, + TCA_BPF_FD, + TCA_BPF_NAME, + TCA_BPF_FLAGS, + TCA_BPF_FLAGS_GEN, + TCA_BPF_TAG, + TCA_BPF_ID, + __TCA_BPF_MAX, +}; +#define TCA_BPF_MAX (__TCA_BPF_MAX - 1) +enum { + TCA_FLOWER_UNSPEC, + TCA_FLOWER_CLASSID, + TCA_FLOWER_INDEV, + TCA_FLOWER_ACT, + TCA_FLOWER_KEY_ETH_DST, + TCA_FLOWER_KEY_ETH_DST_MASK, + TCA_FLOWER_KEY_ETH_SRC, + TCA_FLOWER_KEY_ETH_SRC_MASK, + TCA_FLOWER_KEY_ETH_TYPE, + TCA_FLOWER_KEY_IP_PROTO, + TCA_FLOWER_KEY_IPV4_SRC, + TCA_FLOWER_KEY_IPV4_SRC_MASK, + TCA_FLOWER_KEY_IPV4_DST, + TCA_FLOWER_KEY_IPV4_DST_MASK, + TCA_FLOWER_KEY_IPV6_SRC, + TCA_FLOWER_KEY_IPV6_SRC_MASK, + TCA_FLOWER_KEY_IPV6_DST, + TCA_FLOWER_KEY_IPV6_DST_MASK, + TCA_FLOWER_KEY_TCP_SRC, + TCA_FLOWER_KEY_TCP_DST, + TCA_FLOWER_KEY_UDP_SRC, + TCA_FLOWER_KEY_UDP_DST, + TCA_FLOWER_FLAGS, + TCA_FLOWER_KEY_VLAN_ID, + TCA_FLOWER_KEY_VLAN_PRIO, + TCA_FLOWER_KEY_VLAN_ETH_TYPE, + TCA_FLOWER_KEY_ENC_KEY_ID, + TCA_FLOWER_KEY_ENC_IPV4_SRC, + TCA_FLOWER_KEY_ENC_IPV4_SRC_MASK, + TCA_FLOWER_KEY_ENC_IPV4_DST, + TCA_FLOWER_KEY_ENC_IPV4_DST_MASK, + TCA_FLOWER_KEY_ENC_IPV6_SRC, + TCA_FLOWER_KEY_ENC_IPV6_SRC_MASK, + TCA_FLOWER_KEY_ENC_IPV6_DST, + TCA_FLOWER_KEY_ENC_IPV6_DST_MASK, + TCA_FLOWER_KEY_TCP_SRC_MASK, + TCA_FLOWER_KEY_TCP_DST_MASK, + TCA_FLOWER_KEY_UDP_SRC_MASK, + TCA_FLOWER_KEY_UDP_DST_MASK, + TCA_FLOWER_KEY_SCTP_SRC_MASK, + TCA_FLOWER_KEY_SCTP_DST_MASK, + TCA_FLOWER_KEY_SCTP_SRC, + TCA_FLOWER_KEY_SCTP_DST, + TCA_FLOWER_KEY_ENC_UDP_SRC_PORT, + TCA_FLOWER_KEY_ENC_UDP_SRC_PORT_MASK, + TCA_FLOWER_KEY_ENC_UDP_DST_PORT, + TCA_FLOWER_KEY_ENC_UDP_DST_PORT_MASK, + TCA_FLOWER_KEY_FLAGS, + TCA_FLOWER_KEY_FLAGS_MASK, + TCA_FLOWER_KEY_ICMPV4_CODE, + TCA_FLOWER_KEY_ICMPV4_CODE_MASK, + TCA_FLOWER_KEY_ICMPV4_TYPE, + TCA_FLOWER_KEY_ICMPV4_TYPE_MASK, + TCA_FLOWER_KEY_ICMPV6_CODE, + TCA_FLOWER_KEY_ICMPV6_CODE_MASK, + TCA_FLOWER_KEY_ICMPV6_TYPE, + TCA_FLOWER_KEY_ICMPV6_TYPE_MASK, + TCA_FLOWER_KEY_ARP_SIP, + TCA_FLOWER_KEY_ARP_SIP_MASK, + TCA_FLOWER_KEY_ARP_TIP, + TCA_FLOWER_KEY_ARP_TIP_MASK, + TCA_FLOWER_KEY_ARP_OP, + TCA_FLOWER_KEY_ARP_OP_MASK, + TCA_FLOWER_KEY_ARP_SHA, + TCA_FLOWER_KEY_ARP_SHA_MASK, + TCA_FLOWER_KEY_ARP_THA, + TCA_FLOWER_KEY_ARP_THA_MASK, + TCA_FLOWER_KEY_MPLS_TTL, + TCA_FLOWER_KEY_MPLS_BOS, + TCA_FLOWER_KEY_MPLS_TC, + TCA_FLOWER_KEY_MPLS_LABEL, + TCA_FLOWER_KEY_TCP_FLAGS, + TCA_FLOWER_KEY_TCP_FLAGS_MASK, + TCA_FLOWER_KEY_IP_TOS, + TCA_FLOWER_KEY_IP_TOS_MASK, + TCA_FLOWER_KEY_IP_TTL, + TCA_FLOWER_KEY_IP_TTL_MASK, + TCA_FLOWER_KEY_CVLAN_ID, + TCA_FLOWER_KEY_CVLAN_PRIO, + TCA_FLOWER_KEY_CVLAN_ETH_TYPE, + TCA_FLOWER_KEY_ENC_IP_TOS, + TCA_FLOWER_KEY_ENC_IP_TOS_MASK, + TCA_FLOWER_KEY_ENC_IP_TTL, + TCA_FLOWER_KEY_ENC_IP_TTL_MASK, + TCA_FLOWER_KEY_ENC_OPTS, + TCA_FLOWER_KEY_ENC_OPTS_MASK, + TCA_FLOWER_IN_HW_COUNT, + TCA_FLOWER_KEY_PORT_SRC_MIN, + TCA_FLOWER_KEY_PORT_SRC_MAX, + TCA_FLOWER_KEY_PORT_DST_MIN, + TCA_FLOWER_KEY_PORT_DST_MAX, + TCA_FLOWER_KEY_CT_STATE, + TCA_FLOWER_KEY_CT_STATE_MASK, + TCA_FLOWER_KEY_CT_ZONE, + TCA_FLOWER_KEY_CT_ZONE_MASK, + TCA_FLOWER_KEY_CT_MARK, + TCA_FLOWER_KEY_CT_MARK_MASK, + TCA_FLOWER_KEY_CT_LABELS, + TCA_FLOWER_KEY_CT_LABELS_MASK, + TCA_FLOWER_KEY_MPLS_OPTS, + TCA_FLOWER_KEY_HASH, + TCA_FLOWER_KEY_HASH_MASK, + __TCA_FLOWER_MAX, +}; +#define TCA_FLOWER_MAX (__TCA_FLOWER_MAX - 1) +enum { + TCA_FLOWER_KEY_CT_FLAGS_NEW = 1 << 0, + TCA_FLOWER_KEY_CT_FLAGS_ESTABLISHED = 1 << 1, + TCA_FLOWER_KEY_CT_FLAGS_RELATED = 1 << 2, + TCA_FLOWER_KEY_CT_FLAGS_TRACKED = 1 << 3, + __TCA_FLOWER_KEY_CT_FLAGS_MAX, +}; +enum { + TCA_FLOWER_KEY_ENC_OPTS_UNSPEC, + TCA_FLOWER_KEY_ENC_OPTS_GENEVE, + TCA_FLOWER_KEY_ENC_OPTS_VXLAN, + TCA_FLOWER_KEY_ENC_OPTS_ERSPAN, + __TCA_FLOWER_KEY_ENC_OPTS_MAX, +}; +#define TCA_FLOWER_KEY_ENC_OPTS_MAX (__TCA_FLOWER_KEY_ENC_OPTS_MAX - 1) +enum { + TCA_FLOWER_KEY_ENC_OPT_GENEVE_UNSPEC, + TCA_FLOWER_KEY_ENC_OPT_GENEVE_CLASS, + TCA_FLOWER_KEY_ENC_OPT_GENEVE_TYPE, + TCA_FLOWER_KEY_ENC_OPT_GENEVE_DATA, + __TCA_FLOWER_KEY_ENC_OPT_GENEVE_MAX, +}; +#define TCA_FLOWER_KEY_ENC_OPT_GENEVE_MAX \ + (__TCA_FLOWER_KEY_ENC_OPT_GENEVE_MAX - 1) +enum { + TCA_FLOWER_KEY_ENC_OPT_VXLAN_UNSPEC, + TCA_FLOWER_KEY_ENC_OPT_VXLAN_GBP, + __TCA_FLOWER_KEY_ENC_OPT_VXLAN_MAX, +}; +#define TCA_FLOWER_KEY_ENC_OPT_VXLAN_MAX \ + (__TCA_FLOWER_KEY_ENC_OPT_VXLAN_MAX - 1) +enum { + TCA_FLOWER_KEY_ENC_OPT_ERSPAN_UNSPEC, + TCA_FLOWER_KEY_ENC_OPT_ERSPAN_VER, + TCA_FLOWER_KEY_ENC_OPT_ERSPAN_INDEX, + TCA_FLOWER_KEY_ENC_OPT_ERSPAN_DIR, + TCA_FLOWER_KEY_ENC_OPT_ERSPAN_HWID, + __TCA_FLOWER_KEY_ENC_OPT_ERSPAN_MAX, +}; +#define TCA_FLOWER_KEY_ENC_OPT_ERSPAN_MAX \ + (__TCA_FLOWER_KEY_ENC_OPT_ERSPAN_MAX - 1) +enum { + TCA_FLOWER_KEY_MPLS_OPTS_UNSPEC, + TCA_FLOWER_KEY_MPLS_OPTS_LSE, + __TCA_FLOWER_KEY_MPLS_OPTS_MAX, +}; +#define TCA_FLOWER_KEY_MPLS_OPTS_MAX (__TCA_FLOWER_KEY_MPLS_OPTS_MAX - 1) +enum { + TCA_FLOWER_KEY_MPLS_OPT_LSE_UNSPEC, + TCA_FLOWER_KEY_MPLS_OPT_LSE_DEPTH, + TCA_FLOWER_KEY_MPLS_OPT_LSE_TTL, + TCA_FLOWER_KEY_MPLS_OPT_LSE_BOS, + TCA_FLOWER_KEY_MPLS_OPT_LSE_TC, + TCA_FLOWER_KEY_MPLS_OPT_LSE_LABEL, + __TCA_FLOWER_KEY_MPLS_OPT_LSE_MAX, +}; +#define TCA_FLOWER_KEY_MPLS_OPT_LSE_MAX \ + (__TCA_FLOWER_KEY_MPLS_OPT_LSE_MAX - 1) +enum { + TCA_FLOWER_KEY_FLAGS_IS_FRAGMENT = (1 << 0), + TCA_FLOWER_KEY_FLAGS_FRAG_IS_FIRST = (1 << 1), +}; +#define TCA_FLOWER_MASK_FLAGS_RANGE (1 << 0) +struct tc_matchall_pcnt { + __u64 rhit; +}; +enum { + TCA_MATCHALL_UNSPEC, + TCA_MATCHALL_CLASSID, + TCA_MATCHALL_ACT, + TCA_MATCHALL_FLAGS, + TCA_MATCHALL_PCNT, + TCA_MATCHALL_PAD, + __TCA_MATCHALL_MAX, +}; +#define TCA_MATCHALL_MAX (__TCA_MATCHALL_MAX - 1) +struct tcf_ematch_tree_hdr { + __u16 nmatches; + __u16 progid; +}; +enum { + TCA_EMATCH_TREE_UNSPEC, + TCA_EMATCH_TREE_HDR, + TCA_EMATCH_TREE_LIST, + __TCA_EMATCH_TREE_MAX +}; +#define TCA_EMATCH_TREE_MAX (__TCA_EMATCH_TREE_MAX - 1) +struct tcf_ematch_hdr { + __u16 matchid; + __u16 kind; + __u16 flags; + __u16 pad; +}; +#define TCF_EM_REL_END 0 +#define TCF_EM_REL_AND (1<<0) +#define TCF_EM_REL_OR (1<<1) +#define TCF_EM_INVERT (1<<2) +#define TCF_EM_SIMPLE (1<<3) +#define TCF_EM_REL_MASK 3 +#define TCF_EM_REL_VALID(v) (((v) & TCF_EM_REL_MASK) != TCF_EM_REL_MASK) +enum { + TCF_LAYER_LINK, + TCF_LAYER_NETWORK, + TCF_LAYER_TRANSPORT, + __TCF_LAYER_MAX +}; +#define TCF_LAYER_MAX (__TCF_LAYER_MAX - 1) +#define TCF_EM_CONTAINER 0 +#define TCF_EM_CMP 1 +#define TCF_EM_NBYTE 2 +#define TCF_EM_U32 3 +#define TCF_EM_META 4 +#define TCF_EM_TEXT 5 +#define TCF_EM_VLAN 6 +#define TCF_EM_CANID 7 +#define TCF_EM_IPSET 8 +#define TCF_EM_IPT 9 +#define TCF_EM_MAX 9 +enum { + TCF_EM_PROG_TC +}; +enum { + TCF_EM_OPND_EQ, + TCF_EM_OPND_GT, + TCF_EM_OPND_LT +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/pkt_sched.h b/linux-5.10/prebuilts/usr/include/linux/pkt_sched.h new file mode 100644 index 0000000..2a19c78 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/pkt_sched.h @@ -0,0 +1,940 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef __LINUX_PKT_SCHED_H +#define __LINUX_PKT_SCHED_H +#include +#include +#define TC_PRIO_BESTEFFORT 0 +#define TC_PRIO_FILLER 1 +#define TC_PRIO_BULK 2 +#define TC_PRIO_INTERACTIVE_BULK 4 +#define TC_PRIO_INTERACTIVE 6 +#define TC_PRIO_CONTROL 7 +#define TC_PRIO_MAX 15 +struct tc_stats { + __u64 bytes; + __u32 packets; + __u32 drops; + __u32 overlimits; + __u32 bps; + __u32 pps; + __u32 qlen; + __u32 backlog; +}; +struct tc_estimator { + signed char interval; + unsigned char ewma_log; +}; +#define TC_H_MAJ_MASK (0xFFFF0000U) +#define TC_H_MIN_MASK (0x0000FFFFU) +#define TC_H_MAJ(h) ((h)&TC_H_MAJ_MASK) +#define TC_H_MIN(h) ((h)&TC_H_MIN_MASK) +#define TC_H_MAKE(maj,min) (((maj)&TC_H_MAJ_MASK)|((min)&TC_H_MIN_MASK)) +#define TC_H_UNSPEC (0U) +#define TC_H_ROOT (0xFFFFFFFFU) +#define TC_H_INGRESS (0xFFFFFFF1U) +#define TC_H_CLSACT TC_H_INGRESS +#define TC_H_MIN_PRIORITY 0xFFE0U +#define TC_H_MIN_INGRESS 0xFFF2U +#define TC_H_MIN_EGRESS 0xFFF3U +enum tc_link_layer { + TC_LINKLAYER_UNAWARE, + TC_LINKLAYER_ETHERNET, + TC_LINKLAYER_ATM, +}; +#define TC_LINKLAYER_MASK 0x0F +struct tc_ratespec { + unsigned char cell_log; + __u8 linklayer; + unsigned short overhead; + short cell_align; + unsigned short mpu; + __u32 rate; +}; +#define TC_RTAB_SIZE 1024 +struct tc_sizespec { + unsigned char cell_log; + unsigned char size_log; + short cell_align; + int overhead; + unsigned int linklayer; + unsigned int mpu; + unsigned int mtu; + unsigned int tsize; +}; +enum { + TCA_STAB_UNSPEC, + TCA_STAB_BASE, + TCA_STAB_DATA, + __TCA_STAB_MAX +}; +#define TCA_STAB_MAX (__TCA_STAB_MAX - 1) +struct tc_fifo_qopt { + __u32 limit; +}; +#define SKBPRIO_MAX_PRIORITY 64 +struct tc_skbprio_qopt { + __u32 limit; +}; +#define TCQ_PRIO_BANDS 16 +#define TCQ_MIN_PRIO_BANDS 2 +struct tc_prio_qopt { + int bands; + __u8 priomap[TC_PRIO_MAX+1]; +}; +struct tc_multiq_qopt { + __u16 bands; + __u16 max_bands; +}; +#define TCQ_PLUG_BUFFER 0 +#define TCQ_PLUG_RELEASE_ONE 1 +#define TCQ_PLUG_RELEASE_INDEFINITE 2 +#define TCQ_PLUG_LIMIT 3 +struct tc_plug_qopt { + + int action; + __u32 limit; +}; +struct tc_tbf_qopt { + struct tc_ratespec rate; + struct tc_ratespec peakrate; + __u32 limit; + __u32 buffer; + __u32 mtu; +}; +enum { + TCA_TBF_UNSPEC, + TCA_TBF_PARMS, + TCA_TBF_RTAB, + TCA_TBF_PTAB, + TCA_TBF_RATE64, + TCA_TBF_PRATE64, + TCA_TBF_BURST, + TCA_TBF_PBURST, + TCA_TBF_PAD, + __TCA_TBF_MAX, +}; +#define TCA_TBF_MAX (__TCA_TBF_MAX - 1) +struct tc_sfq_qopt { + unsigned quantum; + int perturb_period; + __u32 limit; + unsigned divisor; + unsigned flows; +}; +struct tc_sfqred_stats { + __u32 prob_drop; + __u32 forced_drop; + __u32 prob_mark; + __u32 forced_mark; + __u32 prob_mark_head; + __u32 forced_mark_head; +}; +struct tc_sfq_qopt_v1 { + struct tc_sfq_qopt v0; + unsigned int depth; + unsigned int headdrop; + __u32 limit; + __u32 qth_min; + __u32 qth_max; + unsigned char Wlog; + unsigned char Plog; + unsigned char Scell_log; + unsigned char flags; + __u32 max_P; + struct tc_sfqred_stats stats; +}; +struct tc_sfq_xstats { + __s32 allot; +}; +enum { + TCA_RED_UNSPEC, + TCA_RED_PARMS, + TCA_RED_STAB, + TCA_RED_MAX_P, + TCA_RED_FLAGS, + TCA_RED_EARLY_DROP_BLOCK, + TCA_RED_MARK_BLOCK, + __TCA_RED_MAX, +}; +#define TCA_RED_MAX (__TCA_RED_MAX - 1) +struct tc_red_qopt { + __u32 limit; + __u32 qth_min; + __u32 qth_max; + unsigned char Wlog; + unsigned char Plog; + unsigned char Scell_log; + + unsigned char flags; +#define TC_RED_ECN 1 +#define TC_RED_HARDDROP 2 +#define TC_RED_ADAPTATIVE 4 +#define TC_RED_NODROP 8 +}; +#define TC_RED_HISTORIC_FLAGS (TC_RED_ECN | TC_RED_HARDDROP | TC_RED_ADAPTATIVE) +struct tc_red_xstats { + __u32 early; + __u32 pdrop; + __u32 other; + __u32 marked; +}; +#define MAX_DPs 16 +enum { + TCA_GRED_UNSPEC, + TCA_GRED_PARMS, + TCA_GRED_STAB, + TCA_GRED_DPS, + TCA_GRED_MAX_P, + TCA_GRED_LIMIT, + TCA_GRED_VQ_LIST, + __TCA_GRED_MAX, +}; +#define TCA_GRED_MAX (__TCA_GRED_MAX - 1) +enum { + TCA_GRED_VQ_ENTRY_UNSPEC, + TCA_GRED_VQ_ENTRY, + __TCA_GRED_VQ_ENTRY_MAX, +}; +#define TCA_GRED_VQ_ENTRY_MAX (__TCA_GRED_VQ_ENTRY_MAX - 1) +enum { + TCA_GRED_VQ_UNSPEC, + TCA_GRED_VQ_PAD, + TCA_GRED_VQ_DP, + TCA_GRED_VQ_STAT_BYTES, + TCA_GRED_VQ_STAT_PACKETS, + TCA_GRED_VQ_STAT_BACKLOG, + TCA_GRED_VQ_STAT_PROB_DROP, + TCA_GRED_VQ_STAT_PROB_MARK, + TCA_GRED_VQ_STAT_FORCED_DROP, + TCA_GRED_VQ_STAT_FORCED_MARK, + TCA_GRED_VQ_STAT_PDROP, + TCA_GRED_VQ_STAT_OTHER, + TCA_GRED_VQ_FLAGS, + __TCA_GRED_VQ_MAX +}; +#define TCA_GRED_VQ_MAX (__TCA_GRED_VQ_MAX - 1) +struct tc_gred_qopt { + __u32 limit; + __u32 qth_min; + __u32 qth_max; + __u32 DP; + __u32 backlog; + __u32 qave; + __u32 forced; + __u32 early; + __u32 other; + __u32 pdrop; + __u8 Wlog; + __u8 Plog; + __u8 Scell_log; + __u8 prio; + __u32 packets; + __u32 bytesin; +}; +struct tc_gred_sopt { + __u32 DPs; + __u32 def_DP; + __u8 grio; + __u8 flags; + __u16 pad1; +}; +enum { + TCA_CHOKE_UNSPEC, + TCA_CHOKE_PARMS, + TCA_CHOKE_STAB, + TCA_CHOKE_MAX_P, + __TCA_CHOKE_MAX, +}; +#define TCA_CHOKE_MAX (__TCA_CHOKE_MAX - 1) +struct tc_choke_qopt { + __u32 limit; + __u32 qth_min; + __u32 qth_max; + unsigned char Wlog; + unsigned char Plog; + unsigned char Scell_log; + unsigned char flags; +}; +struct tc_choke_xstats { + __u32 early; + __u32 pdrop; + __u32 other; + __u32 marked; + __u32 matched; +}; +#define TC_HTB_NUMPRIO 8 +#define TC_HTB_MAXDEPTH 8 +#define TC_HTB_PROTOVER 3 +struct tc_htb_opt { + struct tc_ratespec rate; + struct tc_ratespec ceil; + __u32 buffer; + __u32 cbuffer; + __u32 quantum; + __u32 level; + __u32 prio; +}; +struct tc_htb_glob { + __u32 version; + __u32 rate2quantum; + __u32 defcls; + __u32 debug; + + __u32 direct_pkts; +}; +enum { + TCA_HTB_UNSPEC, + TCA_HTB_PARMS, + TCA_HTB_INIT, + TCA_HTB_CTAB, + TCA_HTB_RTAB, + TCA_HTB_DIRECT_QLEN, + TCA_HTB_RATE64, + TCA_HTB_CEIL64, + TCA_HTB_PAD, + __TCA_HTB_MAX, +}; +#define TCA_HTB_MAX (__TCA_HTB_MAX - 1) +struct tc_htb_xstats { + __u32 lends; + __u32 borrows; + __u32 giants; + __s32 tokens; + __s32 ctokens; +}; +struct tc_hfsc_qopt { + __u16 defcls; +}; +struct tc_service_curve { + __u32 m1; + __u32 d; + __u32 m2; +}; +struct tc_hfsc_stats { + __u64 work; + __u64 rtwork; + __u32 period; + __u32 level; +}; +enum { + TCA_HFSC_UNSPEC, + TCA_HFSC_RSC, + TCA_HFSC_FSC, + TCA_HFSC_USC, + __TCA_HFSC_MAX, +}; +#define TCA_HFSC_MAX (__TCA_HFSC_MAX - 1) +#define TC_CBQ_MAXPRIO 8 +#define TC_CBQ_MAXLEVEL 8 +#define TC_CBQ_DEF_EWMA 5 +struct tc_cbq_lssopt { + unsigned char change; + unsigned char flags; +#define TCF_CBQ_LSS_BOUNDED 1 +#define TCF_CBQ_LSS_ISOLATED 2 + unsigned char ewma_log; + unsigned char level; +#define TCF_CBQ_LSS_FLAGS 1 +#define TCF_CBQ_LSS_EWMA 2 +#define TCF_CBQ_LSS_MAXIDLE 4 +#define TCF_CBQ_LSS_MINIDLE 8 +#define TCF_CBQ_LSS_OFFTIME 0x10 +#define TCF_CBQ_LSS_AVPKT 0x20 + __u32 maxidle; + __u32 minidle; + __u32 offtime; + __u32 avpkt; +}; +struct tc_cbq_wrropt { + unsigned char flags; + unsigned char priority; + unsigned char cpriority; + unsigned char __reserved; + __u32 allot; + __u32 weight; +}; +struct tc_cbq_ovl { + unsigned char strategy; +#define TC_CBQ_OVL_CLASSIC 0 +#define TC_CBQ_OVL_DELAY 1 +#define TC_CBQ_OVL_LOWPRIO 2 +#define TC_CBQ_OVL_DROP 3 +#define TC_CBQ_OVL_RCLASSIC 4 + unsigned char priority2; + __u16 pad; + __u32 penalty; +}; +struct tc_cbq_police { + unsigned char police; + unsigned char __res1; + unsigned short __res2; +}; +struct tc_cbq_fopt { + __u32 split; + __u32 defmap; + __u32 defchange; +}; +struct tc_cbq_xstats { + __u32 borrows; + __u32 overactions; + __s32 avgidle; + __s32 undertime; +}; +enum { + TCA_CBQ_UNSPEC, + TCA_CBQ_LSSOPT, + TCA_CBQ_WRROPT, + TCA_CBQ_FOPT, + TCA_CBQ_OVL_STRATEGY, + TCA_CBQ_RATE, + TCA_CBQ_RTAB, + TCA_CBQ_POLICE, + __TCA_CBQ_MAX, +}; +#define TCA_CBQ_MAX (__TCA_CBQ_MAX - 1) +enum { + TCA_DSMARK_UNSPEC, + TCA_DSMARK_INDICES, + TCA_DSMARK_DEFAULT_INDEX, + TCA_DSMARK_SET_TC_INDEX, + TCA_DSMARK_MASK, + TCA_DSMARK_VALUE, + __TCA_DSMARK_MAX, +}; +#define TCA_DSMARK_MAX (__TCA_DSMARK_MAX - 1) +enum { + TCA_ATM_UNSPEC, + TCA_ATM_FD, + TCA_ATM_PTR, + TCA_ATM_HDR, + TCA_ATM_EXCESS, + TCA_ATM_ADDR, + TCA_ATM_STATE, + __TCA_ATM_MAX, +}; +#define TCA_ATM_MAX (__TCA_ATM_MAX - 1) +enum { + TCA_NETEM_UNSPEC, + TCA_NETEM_CORR, + TCA_NETEM_DELAY_DIST, + TCA_NETEM_REORDER, + TCA_NETEM_CORRUPT, + TCA_NETEM_LOSS, + TCA_NETEM_RATE, + TCA_NETEM_ECN, + TCA_NETEM_RATE64, + TCA_NETEM_PAD, + TCA_NETEM_LATENCY64, + TCA_NETEM_JITTER64, + TCA_NETEM_SLOT, + TCA_NETEM_SLOT_DIST, + __TCA_NETEM_MAX, +}; +#define TCA_NETEM_MAX (__TCA_NETEM_MAX - 1) +struct tc_netem_qopt { + __u32 latency; + __u32 limit; + __u32 loss; + __u32 gap; + __u32 duplicate; + __u32 jitter; +}; +struct tc_netem_corr { + __u32 delay_corr; + __u32 loss_corr; + __u32 dup_corr; +}; +struct tc_netem_reorder { + __u32 probability; + __u32 correlation; +}; +struct tc_netem_corrupt { + __u32 probability; + __u32 correlation; +}; +struct tc_netem_rate { + __u32 rate; + __s32 packet_overhead; + __u32 cell_size; + __s32 cell_overhead; +}; +struct tc_netem_slot { + __s64 min_delay; + __s64 max_delay; + __s32 max_packets; + __s32 max_bytes; + __s64 dist_delay; + __s64 dist_jitter; +}; +enum { + NETEM_LOSS_UNSPEC, + NETEM_LOSS_GI, + NETEM_LOSS_GE, + __NETEM_LOSS_MAX +}; +#define NETEM_LOSS_MAX (__NETEM_LOSS_MAX - 1) +struct tc_netem_gimodel { + __u32 p13; + __u32 p31; + __u32 p32; + __u32 p14; + __u32 p23; +}; +struct tc_netem_gemodel { + __u32 p; + __u32 r; + __u32 h; + __u32 k1; +}; +#define NETEM_DIST_SCALE 8192 +#define NETEM_DIST_MAX 16384 +enum { + TCA_DRR_UNSPEC, + TCA_DRR_QUANTUM, + __TCA_DRR_MAX +}; +#define TCA_DRR_MAX (__TCA_DRR_MAX - 1) +struct tc_drr_stats { + __u32 deficit; +}; +#define TC_QOPT_BITMASK 15 +#define TC_QOPT_MAX_QUEUE 16 +enum { + TC_MQPRIO_HW_OFFLOAD_NONE, + TC_MQPRIO_HW_OFFLOAD_TCS, + __TC_MQPRIO_HW_OFFLOAD_MAX +}; +#define TC_MQPRIO_HW_OFFLOAD_MAX (__TC_MQPRIO_HW_OFFLOAD_MAX - 1) +enum { + TC_MQPRIO_MODE_DCB, + TC_MQPRIO_MODE_CHANNEL, + __TC_MQPRIO_MODE_MAX +}; +#define __TC_MQPRIO_MODE_MAX (__TC_MQPRIO_MODE_MAX - 1) +enum { + TC_MQPRIO_SHAPER_DCB, + TC_MQPRIO_SHAPER_BW_RATE, + __TC_MQPRIO_SHAPER_MAX +}; +#define __TC_MQPRIO_SHAPER_MAX (__TC_MQPRIO_SHAPER_MAX - 1) +struct tc_mqprio_qopt { + __u8 num_tc; + __u8 prio_tc_map[TC_QOPT_BITMASK + 1]; + __u8 hw; + __u16 count[TC_QOPT_MAX_QUEUE]; + __u16 offset[TC_QOPT_MAX_QUEUE]; +}; +#define TC_MQPRIO_F_MODE 0x1 +#define TC_MQPRIO_F_SHAPER 0x2 +#define TC_MQPRIO_F_MIN_RATE 0x4 +#define TC_MQPRIO_F_MAX_RATE 0x8 +enum { + TCA_MQPRIO_UNSPEC, + TCA_MQPRIO_MODE, + TCA_MQPRIO_SHAPER, + TCA_MQPRIO_MIN_RATE64, + TCA_MQPRIO_MAX_RATE64, + __TCA_MQPRIO_MAX, +}; +#define TCA_MQPRIO_MAX (__TCA_MQPRIO_MAX - 1) +enum { + TCA_SFB_UNSPEC, + TCA_SFB_PARMS, + __TCA_SFB_MAX, +}; +#define TCA_SFB_MAX (__TCA_SFB_MAX - 1) +struct tc_sfb_qopt { + __u32 rehash_interval; + __u32 warmup_time; + __u32 max; + __u32 bin_size; + __u32 increment; + __u32 decrement; + __u32 limit; + __u32 penalty_rate; + __u32 penalty_burst; +}; +struct tc_sfb_xstats { + __u32 earlydrop; + __u32 penaltydrop; + __u32 bucketdrop; + __u32 queuedrop; + __u32 childdrop; + __u32 marked; + __u32 maxqlen; + __u32 maxprob; + __u32 avgprob; +}; +#define SFB_MAX_PROB 0xFFFF +enum { + TCA_QFQ_UNSPEC, + TCA_QFQ_WEIGHT, + TCA_QFQ_LMAX, + __TCA_QFQ_MAX +}; +#define TCA_QFQ_MAX (__TCA_QFQ_MAX - 1) +struct tc_qfq_stats { + __u32 weight; + __u32 lmax; +}; +enum { + TCA_CODEL_UNSPEC, + TCA_CODEL_TARGET, + TCA_CODEL_LIMIT, + TCA_CODEL_INTERVAL, + TCA_CODEL_ECN, + TCA_CODEL_CE_THRESHOLD, + __TCA_CODEL_MAX +}; +#define TCA_CODEL_MAX (__TCA_CODEL_MAX - 1) +struct tc_codel_xstats { + __u32 maxpacket; + __u32 count; + __u32 lastcount; + __u32 ldelay; + __s32 drop_next; + __u32 drop_overlimit; + __u32 ecn_mark; + __u32 dropping; + __u32 ce_mark; +}; +enum { + TCA_FQ_CODEL_UNSPEC, + TCA_FQ_CODEL_TARGET, + TCA_FQ_CODEL_LIMIT, + TCA_FQ_CODEL_INTERVAL, + TCA_FQ_CODEL_ECN, + TCA_FQ_CODEL_FLOWS, + TCA_FQ_CODEL_QUANTUM, + TCA_FQ_CODEL_CE_THRESHOLD, + TCA_FQ_CODEL_DROP_BATCH_SIZE, + TCA_FQ_CODEL_MEMORY_LIMIT, + __TCA_FQ_CODEL_MAX +}; +#define TCA_FQ_CODEL_MAX (__TCA_FQ_CODEL_MAX - 1) +enum { + TCA_FQ_CODEL_XSTATS_QDISC, + TCA_FQ_CODEL_XSTATS_CLASS, +}; +struct tc_fq_codel_qd_stats { + __u32 maxpacket; + __u32 drop_overlimit; + __u32 ecn_mark; + __u32 new_flow_count; + __u32 new_flows_len; + __u32 old_flows_len; + __u32 ce_mark; + __u32 memory_usage; + __u32 drop_overmemory; +}; +struct tc_fq_codel_cl_stats { + __s32 deficit; + __u32 ldelay; + __u32 count; + __u32 lastcount; + __u32 dropping; + __s32 drop_next; +}; +struct tc_fq_codel_xstats { + __u32 type; + union { + struct tc_fq_codel_qd_stats qdisc_stats; + struct tc_fq_codel_cl_stats class_stats; + }; +}; +enum { + TCA_FQ_UNSPEC, + TCA_FQ_PLIMIT, + TCA_FQ_FLOW_PLIMIT, + TCA_FQ_QUANTUM, + TCA_FQ_INITIAL_QUANTUM, + TCA_FQ_RATE_ENABLE, + TCA_FQ_FLOW_DEFAULT_RATE, + TCA_FQ_FLOW_MAX_RATE, + TCA_FQ_BUCKETS_LOG, + TCA_FQ_FLOW_REFILL_DELAY, + TCA_FQ_ORPHAN_MASK, + TCA_FQ_LOW_RATE_THRESHOLD, + TCA_FQ_CE_THRESHOLD, + TCA_FQ_TIMER_SLACK, + TCA_FQ_HORIZON, + TCA_FQ_HORIZON_DROP, + __TCA_FQ_MAX +}; +#define TCA_FQ_MAX (__TCA_FQ_MAX - 1) +struct tc_fq_qd_stats { + __u64 gc_flows; + __u64 highprio_packets; + __u64 tcp_retrans; + __u64 throttled; + __u64 flows_plimit; + __u64 pkts_too_long; + __u64 allocation_errors; + __s64 time_next_delayed_flow; + __u32 flows; + __u32 inactive_flows; + __u32 throttled_flows; + __u32 unthrottle_latency_ns; + __u64 ce_mark; + __u64 horizon_drops; + __u64 horizon_caps; +}; +enum { + TCA_HHF_UNSPEC, + TCA_HHF_BACKLOG_LIMIT, + TCA_HHF_QUANTUM, + TCA_HHF_HH_FLOWS_LIMIT, + TCA_HHF_RESET_TIMEOUT, + TCA_HHF_ADMIT_BYTES, + TCA_HHF_EVICT_TIMEOUT, + TCA_HHF_NON_HH_WEIGHT, + __TCA_HHF_MAX +}; +#define TCA_HHF_MAX (__TCA_HHF_MAX - 1) +struct tc_hhf_xstats { + __u32 drop_overlimit; + __u32 hh_overlimit; + __u32 hh_tot_count; + __u32 hh_cur_count; +}; +enum { + TCA_PIE_UNSPEC, + TCA_PIE_TARGET, + TCA_PIE_LIMIT, + TCA_PIE_TUPDATE, + TCA_PIE_ALPHA, + TCA_PIE_BETA, + TCA_PIE_ECN, + TCA_PIE_BYTEMODE, + TCA_PIE_DQ_RATE_ESTIMATOR, + __TCA_PIE_MAX +}; +#define TCA_PIE_MAX (__TCA_PIE_MAX - 1) +struct tc_pie_xstats { + __u64 prob; + __u32 delay; + __u32 avg_dq_rate; + __u32 dq_rate_estimating; + __u32 packets_in; + __u32 dropped; + __u32 overlimit; + __u32 maxq; + __u32 ecn_mark; +}; +enum { + TCA_FQ_PIE_UNSPEC, + TCA_FQ_PIE_LIMIT, + TCA_FQ_PIE_FLOWS, + TCA_FQ_PIE_TARGET, + TCA_FQ_PIE_TUPDATE, + TCA_FQ_PIE_ALPHA, + TCA_FQ_PIE_BETA, + TCA_FQ_PIE_QUANTUM, + TCA_FQ_PIE_MEMORY_LIMIT, + TCA_FQ_PIE_ECN_PROB, + TCA_FQ_PIE_ECN, + TCA_FQ_PIE_BYTEMODE, + TCA_FQ_PIE_DQ_RATE_ESTIMATOR, + __TCA_FQ_PIE_MAX +}; +#define TCA_FQ_PIE_MAX (__TCA_FQ_PIE_MAX - 1) +struct tc_fq_pie_xstats { + __u32 packets_in; + __u32 dropped; + __u32 overlimit; + __u32 overmemory; + __u32 ecn_mark; + __u32 new_flow_count; + __u32 new_flows_len; + __u32 old_flows_len; + __u32 memory_usage; +}; +struct tc_cbs_qopt { + __u8 offload; + __u8 _pad[3]; + __s32 hicredit; + __s32 locredit; + __s32 idleslope; + __s32 sendslope; +}; +enum { + TCA_CBS_UNSPEC, + TCA_CBS_PARMS, + __TCA_CBS_MAX, +}; +#define TCA_CBS_MAX (__TCA_CBS_MAX - 1) +struct tc_etf_qopt { + __s32 delta; + __s32 clockid; + __u32 flags; +#define TC_ETF_DEADLINE_MODE_ON _BITUL(0) +#define TC_ETF_OFFLOAD_ON _BITUL(1) +#define TC_ETF_SKIP_SOCK_CHECK _BITUL(2) +}; +enum { + TCA_ETF_UNSPEC, + TCA_ETF_PARMS, + __TCA_ETF_MAX, +}; +#define TCA_ETF_MAX (__TCA_ETF_MAX - 1) +enum { + TCA_CAKE_UNSPEC, + TCA_CAKE_PAD, + TCA_CAKE_BASE_RATE64, + TCA_CAKE_DIFFSERV_MODE, + TCA_CAKE_ATM, + TCA_CAKE_FLOW_MODE, + TCA_CAKE_OVERHEAD, + TCA_CAKE_RTT, + TCA_CAKE_TARGET, + TCA_CAKE_AUTORATE, + TCA_CAKE_MEMORY, + TCA_CAKE_NAT, + TCA_CAKE_RAW, + TCA_CAKE_WASH, + TCA_CAKE_MPU, + TCA_CAKE_INGRESS, + TCA_CAKE_ACK_FILTER, + TCA_CAKE_SPLIT_GSO, + TCA_CAKE_FWMARK, + __TCA_CAKE_MAX +}; +#define TCA_CAKE_MAX (__TCA_CAKE_MAX - 1) +enum { + __TCA_CAKE_STATS_INVALID, + TCA_CAKE_STATS_PAD, + TCA_CAKE_STATS_CAPACITY_ESTIMATE64, + TCA_CAKE_STATS_MEMORY_LIMIT, + TCA_CAKE_STATS_MEMORY_USED, + TCA_CAKE_STATS_AVG_NETOFF, + TCA_CAKE_STATS_MIN_NETLEN, + TCA_CAKE_STATS_MAX_NETLEN, + TCA_CAKE_STATS_MIN_ADJLEN, + TCA_CAKE_STATS_MAX_ADJLEN, + TCA_CAKE_STATS_TIN_STATS, + TCA_CAKE_STATS_DEFICIT, + TCA_CAKE_STATS_COBALT_COUNT, + TCA_CAKE_STATS_DROPPING, + TCA_CAKE_STATS_DROP_NEXT_US, + TCA_CAKE_STATS_P_DROP, + TCA_CAKE_STATS_BLUE_TIMER_US, + __TCA_CAKE_STATS_MAX +}; +#define TCA_CAKE_STATS_MAX (__TCA_CAKE_STATS_MAX - 1) +enum { + __TCA_CAKE_TIN_STATS_INVALID, + TCA_CAKE_TIN_STATS_PAD, + TCA_CAKE_TIN_STATS_SENT_PACKETS, + TCA_CAKE_TIN_STATS_SENT_BYTES64, + TCA_CAKE_TIN_STATS_DROPPED_PACKETS, + TCA_CAKE_TIN_STATS_DROPPED_BYTES64, + TCA_CAKE_TIN_STATS_ACKS_DROPPED_PACKETS, + TCA_CAKE_TIN_STATS_ACKS_DROPPED_BYTES64, + TCA_CAKE_TIN_STATS_ECN_MARKED_PACKETS, + TCA_CAKE_TIN_STATS_ECN_MARKED_BYTES64, + TCA_CAKE_TIN_STATS_BACKLOG_PACKETS, + TCA_CAKE_TIN_STATS_BACKLOG_BYTES, + TCA_CAKE_TIN_STATS_THRESHOLD_RATE64, + TCA_CAKE_TIN_STATS_TARGET_US, + TCA_CAKE_TIN_STATS_INTERVAL_US, + TCA_CAKE_TIN_STATS_WAY_INDIRECT_HITS, + TCA_CAKE_TIN_STATS_WAY_MISSES, + TCA_CAKE_TIN_STATS_WAY_COLLISIONS, + TCA_CAKE_TIN_STATS_PEAK_DELAY_US, + TCA_CAKE_TIN_STATS_AVG_DELAY_US, + TCA_CAKE_TIN_STATS_BASE_DELAY_US, + TCA_CAKE_TIN_STATS_SPARSE_FLOWS, + TCA_CAKE_TIN_STATS_BULK_FLOWS, + TCA_CAKE_TIN_STATS_UNRESPONSIVE_FLOWS, + TCA_CAKE_TIN_STATS_MAX_SKBLEN, + TCA_CAKE_TIN_STATS_FLOW_QUANTUM, + __TCA_CAKE_TIN_STATS_MAX +}; +#define TCA_CAKE_TIN_STATS_MAX (__TCA_CAKE_TIN_STATS_MAX - 1) +#define TC_CAKE_MAX_TINS (8) +enum { + CAKE_FLOW_NONE = 0, + CAKE_FLOW_SRC_IP, + CAKE_FLOW_DST_IP, + CAKE_FLOW_HOSTS, + CAKE_FLOW_FLOWS, + CAKE_FLOW_DUAL_SRC, + CAKE_FLOW_DUAL_DST, + CAKE_FLOW_TRIPLE, + CAKE_FLOW_MAX, +}; +enum { + CAKE_DIFFSERV_DIFFSERV3 = 0, + CAKE_DIFFSERV_DIFFSERV4, + CAKE_DIFFSERV_DIFFSERV8, + CAKE_DIFFSERV_BESTEFFORT, + CAKE_DIFFSERV_PRECEDENCE, + CAKE_DIFFSERV_MAX +}; +enum { + CAKE_ACK_NONE = 0, + CAKE_ACK_FILTER, + CAKE_ACK_AGGRESSIVE, + CAKE_ACK_MAX +}; +enum { + CAKE_ATM_NONE = 0, + CAKE_ATM_ATM, + CAKE_ATM_PTM, + CAKE_ATM_MAX +}; +enum { + TC_TAPRIO_CMD_SET_GATES = 0x00, + TC_TAPRIO_CMD_SET_AND_HOLD = 0x01, + TC_TAPRIO_CMD_SET_AND_RELEASE = 0x02, +}; +enum { + TCA_TAPRIO_SCHED_ENTRY_UNSPEC, + TCA_TAPRIO_SCHED_ENTRY_INDEX, + TCA_TAPRIO_SCHED_ENTRY_CMD, + TCA_TAPRIO_SCHED_ENTRY_GATE_MASK, + TCA_TAPRIO_SCHED_ENTRY_INTERVAL, + __TCA_TAPRIO_SCHED_ENTRY_MAX, +}; +#define TCA_TAPRIO_SCHED_ENTRY_MAX (__TCA_TAPRIO_SCHED_ENTRY_MAX - 1) +enum { + TCA_TAPRIO_SCHED_UNSPEC, + TCA_TAPRIO_SCHED_ENTRY, + __TCA_TAPRIO_SCHED_MAX, +}; +#define TCA_TAPRIO_SCHED_MAX (__TCA_TAPRIO_SCHED_MAX - 1) +#define TCA_TAPRIO_ATTR_FLAG_TXTIME_ASSIST _BITUL(0) +#define TCA_TAPRIO_ATTR_FLAG_FULL_OFFLOAD _BITUL(1) +enum { + TCA_TAPRIO_ATTR_UNSPEC, + TCA_TAPRIO_ATTR_PRIOMAP, + TCA_TAPRIO_ATTR_SCHED_ENTRY_LIST, + TCA_TAPRIO_ATTR_SCHED_BASE_TIME, + TCA_TAPRIO_ATTR_SCHED_SINGLE_ENTRY, + TCA_TAPRIO_ATTR_SCHED_CLOCKID, + TCA_TAPRIO_PAD, + TCA_TAPRIO_ATTR_ADMIN_SCHED, + TCA_TAPRIO_ATTR_SCHED_CYCLE_TIME, + TCA_TAPRIO_ATTR_SCHED_CYCLE_TIME_EXTENSION, + TCA_TAPRIO_ATTR_FLAGS, + TCA_TAPRIO_ATTR_TXTIME_DELAY, + __TCA_TAPRIO_ATTR_MAX, +}; +#define TCA_TAPRIO_ATTR_MAX (__TCA_TAPRIO_ATTR_MAX - 1) +#define TCQ_ETS_MAX_BANDS 16 +enum { + TCA_ETS_UNSPEC, + TCA_ETS_NBANDS, + TCA_ETS_NSTRICT, + TCA_ETS_QUANTA, + TCA_ETS_QUANTA_BAND, + TCA_ETS_PRIOMAP, + TCA_ETS_PRIOMAP_BAND, + __TCA_ETS_MAX, +}; +#define TCA_ETS_MAX (__TCA_ETS_MAX - 1) +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/pktcdvd.h b/linux-5.10/prebuilts/usr/include/linux/pktcdvd.h new file mode 100644 index 0000000..d4d02de --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/pktcdvd.h @@ -0,0 +1,54 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI__PKTCDVD_H +#define _UAPI__PKTCDVD_H +#include +#define PACKET_DEBUG 1 +#define MAX_WRITERS 8 +#define PKT_RB_POOL_SIZE 512 +#define PACKET_WAIT_TIME (HZ * 5 / 1000) +#if defined(CONFIG_CDROM_PKTCDVD_WCACHE) +#define USE_WCACHING 1 +#else +#define USE_WCACHING 0 +#endif +#define PACKET_CDR 1 +#define PACKET_CDRW 2 +#define PACKET_DVDR 3 +#define PACKET_DVDRW 4 +#define PACKET_WRITABLE 1 +#define PACKET_NWA_VALID 2 +#define PACKET_LRA_VALID 3 +#define PACKET_MERGE_SEGS 4 + +#define PACKET_DISC_EMPTY 0 +#define PACKET_DISC_INCOMPLETE 1 +#define PACKET_DISC_COMPLETE 2 +#define PACKET_DISC_OTHER 3 +#define PACKET_MODE1 1 +#define PACKET_MODE2 2 +#define PACKET_BLOCK_MODE1 8 +#define PACKET_BLOCK_MODE2 10 +#define PACKET_SESSION_EMPTY 0 +#define PACKET_SESSION_INCOMPLETE 1 +#define PACKET_SESSION_RESERVED 2 +#define PACKET_SESSION_COMPLETE 3 +#define PACKET_MCN "4a656e734178626f65323030300000" +#undef PACKET_USE_LS +#define PKT_CTRL_CMD_SETUP 0 +#define PKT_CTRL_CMD_TEARDOWN 1 +#define PKT_CTRL_CMD_STATUS 2 +struct pkt_ctrl_command { + __u32 command; + __u32 dev_index; + __u32 dev; + __u32 pkt_dev; + __u32 num_devices; + __u32 padding; +}; +#define PACKET_IOCTL_MAGIC ('X') +#define PACKET_CTRL_CMD _IOWR(PACKET_IOCTL_MAGIC, 1, struct pkt_ctrl_command) +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/pmu.h b/linux-5.10/prebuilts/usr/include/linux/pmu.h new file mode 100644 index 0000000..9b129bf --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/pmu.h @@ -0,0 +1,98 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI_LINUX_PMU_H +#define _UAPI_LINUX_PMU_H +#define PMU_DRIVER_VERSION 2 +#define PMU_POWER_CTRL0 0x10 +#define PMU_POWER_CTRL 0x11 +#define PMU_ADB_CMD 0x20 +#define PMU_ADB_POLL_OFF 0x21 +#define PMU_WRITE_XPRAM 0x32 +#define PMU_WRITE_NVRAM 0x33 +#define PMU_READ_XPRAM 0x3a +#define PMU_READ_NVRAM 0x3b +#define PMU_SET_RTC 0x30 +#define PMU_READ_RTC 0x38 +#define PMU_SET_VOLBUTTON 0x40 +#define PMU_BACKLIGHT_BRIGHT 0x41 +#define PMU_GET_VOLBUTTON 0x48 +#define PMU_PCEJECT 0x4c +#define PMU_BATTERY_STATE 0x6b +#define PMU_SMART_BATTERY_STATE 0x6f +#define PMU_SET_INTR_MASK 0x70 +#define PMU_INT_ACK 0x78 +#define PMU_SHUTDOWN 0x7e +#define PMU_CPU_SPEED 0x7d +#define PMU_SLEEP 0x7f +#define PMU_POWER_EVENTS 0x8f +#define PMU_I2C_CMD 0x9a +#define PMU_RESET 0xd0 +#define PMU_GET_BRIGHTBUTTON 0xd9 +#define PMU_GET_COVER 0xdc +#define PMU_SYSTEM_READY 0xdf +#define PMU_GET_VERSION 0xea +#define PMU_POW0_ON 0x80 +#define PMU_POW0_OFF 0x00 +#define PMU_POW0_HARD_DRIVE 0x04 +#define PMU_POW_ON 0x80 +#define PMU_POW_OFF 0x00 +#define PMU_POW_BACKLIGHT 0x01 +#define PMU_POW_CHARGER 0x02 +#define PMU_POW_IRLED 0x04 +#define PMU_POW_MEDIABAY 0x08 +#define PMU_INT_PCEJECT 0x04 +#define PMU_INT_SNDBRT 0x08 +#define PMU_INT_ADB 0x10 +#define PMU_INT_BATTERY 0x20 +#define PMU_INT_ENVIRONMENT 0x40 +#define PMU_INT_TICK 0x80 +#define PMU_INT_ADB_AUTO 0x04 +#define PMU_INT_WAITING_CHARGER 0x01 +#define PMU_INT_AUTO_SRQ_POLL 0x02 +#define PMU_ENV_LID_CLOSED 0x01 +#define PMU_I2C_MODE_SIMPLE 0 +#define PMU_I2C_MODE_STDSUB 1 +#define PMU_I2C_MODE_COMBINED 2 +#define PMU_I2C_BUS_STATUS 0 +#define PMU_I2C_BUS_SYSCLK 1 +#define PMU_I2C_BUS_POWER 2 +#define PMU_I2C_STATUS_OK 0 +#define PMU_I2C_STATUS_DATAREAD 1 +#define PMU_I2C_STATUS_BUSY 0xfe +enum { + PMU_UNKNOWN, + PMU_OHARE_BASED, + PMU_HEATHROW_BASED, + PMU_PADDINGTON_BASED, + PMU_KEYLARGO_BASED, + PMU_68K_V1, + PMU_68K_V2, +}; +enum { + PMU_PWR_GET_POWERUP_EVENTS = 0x00, + PMU_PWR_SET_POWERUP_EVENTS = 0x01, + PMU_PWR_CLR_POWERUP_EVENTS = 0x02, + PMU_PWR_GET_WAKEUP_EVENTS = 0x03, + PMU_PWR_SET_WAKEUP_EVENTS = 0x04, + PMU_PWR_CLR_WAKEUP_EVENTS = 0x05, +}; +enum { + PMU_PWR_WAKEUP_KEY = 0x01, + PMU_PWR_WAKEUP_AC_INSERT = 0x02, + PMU_PWR_WAKEUP_AC_CHANGE = 0x04, + PMU_PWR_WAKEUP_LID_OPEN = 0x08, + PMU_PWR_WAKEUP_RING = 0x10, +}; + +#include +#define PMU_IOC_SLEEP _IO('B', 0) +#define PMU_IOC_GET_BACKLIGHT _IOR('B', 1, size_t) +#define PMU_IOC_SET_BACKLIGHT _IOW('B', 2, size_t) +#define PMU_IOC_GET_MODEL _IOR('B', 3, size_t) +#define PMU_IOC_HAS_ADB _IOR('B', 4, size_t) +#define PMU_IOC_CAN_SLEEP _IOR('B', 5, size_t) +#define PMU_IOC_GRAB_BACKLIGHT _IOR('B', 6, size_t) +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/poll.h b/linux-5.10/prebuilts/usr/include/linux/poll.h new file mode 100644 index 0000000..249dc65 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/poll.h @@ -0,0 +1,6 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#include diff --git a/linux-5.10/prebuilts/usr/include/linux/posix_acl.h b/linux-5.10/prebuilts/usr/include/linux/posix_acl.h new file mode 100644 index 0000000..a798922 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/posix_acl.h @@ -0,0 +1,20 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef __UAPI_POSIX_ACL_H +#define __UAPI_POSIX_ACL_H +#define ACL_UNDEFINED_ID (-1) +#define ACL_TYPE_ACCESS (0x8000) +#define ACL_TYPE_DEFAULT (0x4000) +#define ACL_USER_OBJ (0x01) +#define ACL_USER (0x02) +#define ACL_GROUP_OBJ (0x04) +#define ACL_GROUP (0x08) +#define ACL_MASK (0x10) +#define ACL_OTHER (0x20) +#define ACL_READ (0x04) +#define ACL_WRITE (0x02) +#define ACL_EXECUTE (0x01) +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/posix_acl_xattr.h b/linux-5.10/prebuilts/usr/include/linux/posix_acl_xattr.h new file mode 100644 index 0000000..0e25673 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/posix_acl_xattr.h @@ -0,0 +1,19 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef __UAPI_POSIX_ACL_XATTR_H +#define __UAPI_POSIX_ACL_XATTR_H +#include +#define POSIX_ACL_XATTR_VERSION 0x0002 +#define ACL_UNDEFINED_ID (-1) +struct posix_acl_xattr_entry { + __le16 e_tag; + __le16 e_perm; + __le32 e_id; +}; +struct posix_acl_xattr_header { + __le32 a_version; +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/posix_types.h b/linux-5.10/prebuilts/usr/include/linux/posix_types.h new file mode 100644 index 0000000..af409c7 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/posix_types.h @@ -0,0 +1,18 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _LINUX_POSIX_TYPES_H +#define _LINUX_POSIX_TYPES_H +#include +#undef __FD_SETSIZE +#define __FD_SETSIZE 1024 +typedef struct { + unsigned long fds_bits[__FD_SETSIZE / (8 * sizeof(long))]; +} __kernel_fd_set; +typedef void (*__kernel_sighandler_t)(int); +typedef int __kernel_key_t; +typedef int __kernel_mqd_t; +#include +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/ppdev.h b/linux-5.10/prebuilts/usr/include/linux/ppdev.h new file mode 100644 index 0000000..54c121e --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/ppdev.h @@ -0,0 +1,45 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI_LINUX_PPDEV_H +#define _UAPI_LINUX_PPDEV_H +#define PP_IOCTL 'p' +#define PPSETMODE _IOW(PP_IOCTL, 0x80, int) +#define PPRSTATUS _IOR(PP_IOCTL, 0x81, unsigned char) +#define PPWSTATUS OBSOLETE__IOW(PP_IOCTL, 0x82, unsigned char) +#define PPRCONTROL _IOR(PP_IOCTL, 0x83, unsigned char) +#define PPWCONTROL _IOW(PP_IOCTL, 0x84, unsigned char) +struct ppdev_frob_struct { + unsigned char mask; + unsigned char val; +}; +#define PPFCONTROL _IOW(PP_IOCTL, 0x8e, struct ppdev_frob_struct) +#define PPRDATA _IOR(PP_IOCTL, 0x85, unsigned char) +#define PPWDATA _IOW(PP_IOCTL, 0x86, unsigned char) +#define PPRECONTROL OBSOLETE__IOR(PP_IOCTL, 0x87, unsigned char) +#define PPWECONTROL OBSOLETE__IOW(PP_IOCTL, 0x88, unsigned char) +#define PPRFIFO OBSOLETE__IOR(PP_IOCTL, 0x89, unsigned char) +#define PPWFIFO OBSOLETE__IOW(PP_IOCTL, 0x8a, unsigned char) +#define PPCLAIM _IO(PP_IOCTL, 0x8b) +#define PPRELEASE _IO(PP_IOCTL, 0x8c) +#define PPYIELD _IO(PP_IOCTL, 0x8d) +#define PPEXCL _IO(PP_IOCTL, 0x8f) +#define PPDATADIR _IOW(PP_IOCTL, 0x90, int) +#define PPNEGOT _IOW(PP_IOCTL, 0x91, int) +#define PPWCTLONIRQ _IOW(PP_IOCTL, 0x92, unsigned char) +#define PPCLRIRQ _IOR(PP_IOCTL, 0x93, int) +#define PPSETPHASE _IOW(PP_IOCTL, 0x94, int) +#define PPGETTIME _IOR(PP_IOCTL, 0x95, struct timeval) +#define PPSETTIME _IOW(PP_IOCTL, 0x96, struct timeval) +#define PPGETMODES _IOR(PP_IOCTL, 0x97, unsigned int) +#define PPGETMODE _IOR(PP_IOCTL, 0x98, int) +#define PPGETPHASE _IOR(PP_IOCTL, 0x99, int) +#define PPGETFLAGS _IOR(PP_IOCTL, 0x9a, int) +#define PPSETFLAGS _IOW(PP_IOCTL, 0x9b, int) +#define PP_FASTWRITE (1<<2) +#define PP_FASTREAD (1<<3) +#define PP_W91284PIC (1<<4) +#define PP_FLAGMASK (PP_FASTWRITE | PP_FASTREAD | PP_W91284PIC) +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/ppp-comp.h b/linux-5.10/prebuilts/usr/include/linux/ppp-comp.h new file mode 100644 index 0000000..ec219f1 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/ppp-comp.h @@ -0,0 +1,46 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI_NET_PPP_COMP_H +#define _UAPI_NET_PPP_COMP_H +#define CCP_CONFREQ 1 +#define CCP_CONFACK 2 +#define CCP_TERMREQ 5 +#define CCP_TERMACK 6 +#define CCP_RESETREQ 14 +#define CCP_RESETACK 15 +#define CCP_MAX_OPTION_LENGTH 32 +#define CCP_CODE(dp) ((dp)[0]) +#define CCP_ID(dp) ((dp)[1]) +#define CCP_LENGTH(dp) (((dp)[2] << 8) + (dp)[3]) +#define CCP_HDRLEN 4 +#define CCP_OPT_CODE(dp) ((dp)[0]) +#define CCP_OPT_LENGTH(dp) ((dp)[1]) +#define CCP_OPT_MINLEN 2 +#define CI_BSD_COMPRESS 21 +#define CILEN_BSD_COMPRESS 3 +#define BSD_NBITS(x) ((x) & 0x1F) +#define BSD_VERSION(x) ((x) >> 5) +#define BSD_CURRENT_VERSION 1 +#define BSD_MAKE_OPT(v, n) (((v) << 5) | (n)) +#define BSD_MIN_BITS 9 +#define BSD_MAX_BITS 15 +#define CI_DEFLATE 26 +#define CI_DEFLATE_DRAFT 24 +#define CILEN_DEFLATE 4 +#define DEFLATE_MIN_SIZE 9 +#define DEFLATE_MAX_SIZE 15 +#define DEFLATE_METHOD_VAL 8 +#define DEFLATE_SIZE(x) (((x) >> 4) + 8) +#define DEFLATE_METHOD(x) ((x) & 0x0F) +#define DEFLATE_MAKE_OPT(w) ((((w) - 8) << 4) + DEFLATE_METHOD_VAL) +#define DEFLATE_CHK_SEQUENCE 0 +#define CI_MPPE 18 +#define CILEN_MPPE 6 +#define CI_PREDICTOR_1 1 +#define CILEN_PREDICTOR_1 2 +#define CI_PREDICTOR_2 2 +#define CILEN_PREDICTOR_2 2 +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/ppp-ioctl.h b/linux-5.10/prebuilts/usr/include/linux/ppp-ioctl.h new file mode 100644 index 0000000..40af1f8 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/ppp-ioctl.h @@ -0,0 +1,98 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _PPP_IOCTL_H +#define _PPP_IOCTL_H +#include +#include +#include +#define SC_COMP_PROT 0x00000001 +#define SC_COMP_AC 0x00000002 +#define SC_COMP_TCP 0x00000004 +#define SC_NO_TCP_CCID 0x00000008 +#define SC_REJ_COMP_AC 0x00000010 +#define SC_REJ_COMP_TCP 0x00000020 +#define SC_CCP_OPEN 0x00000040 +#define SC_CCP_UP 0x00000080 +#define SC_ENABLE_IP 0x00000100 +#define SC_LOOP_TRAFFIC 0x00000200 +#define SC_MULTILINK 0x00000400 +#define SC_MP_SHORTSEQ 0x00000800 +#define SC_COMP_RUN 0x00001000 +#define SC_DECOMP_RUN 0x00002000 +#define SC_MP_XSHORTSEQ 0x00004000 +#define SC_DEBUG 0x00010000 +#define SC_LOG_INPKT 0x00020000 +#define SC_LOG_OUTPKT 0x00040000 +#define SC_LOG_RAWIN 0x00080000 +#define SC_LOG_FLUSH 0x00100000 +#define SC_SYNC 0x00200000 +#define SC_MUST_COMP 0x00400000 +#define SC_MASK 0x0f600fff +#define SC_XMIT_BUSY 0x10000000 +#define SC_RCV_ODDP 0x08000000 +#define SC_RCV_EVNP 0x04000000 +#define SC_RCV_B7_1 0x02000000 +#define SC_RCV_B7_0 0x01000000 +#define SC_DC_FERROR 0x00800000 +#define SC_DC_ERROR 0x00400000 +struct npioctl { + int protocol; + enum NPmode mode; +}; +struct ppp_option_data { + __u8 __user *ptr; + __u32 length; + int transmit; +}; +struct pppol2tp_ioc_stats { + __u16 tunnel_id; + __u16 session_id; + __u32 using_ipsec:1; + __aligned_u64 tx_packets; + __aligned_u64 tx_bytes; + __aligned_u64 tx_errors; + __aligned_u64 rx_packets; + __aligned_u64 rx_bytes; + __aligned_u64 rx_seq_discards; + __aligned_u64 rx_oos_packets; + __aligned_u64 rx_errors; +}; +#define PPPIOCGFLAGS _IOR('t', 90, int) +#define PPPIOCSFLAGS _IOW('t', 89, int) +#define PPPIOCGASYNCMAP _IOR('t', 88, int) +#define PPPIOCSASYNCMAP _IOW('t', 87, int) +#define PPPIOCGUNIT _IOR('t', 86, int) +#define PPPIOCGRASYNCMAP _IOR('t', 85, int) +#define PPPIOCSRASYNCMAP _IOW('t', 84, int) +#define PPPIOCGMRU _IOR('t', 83, int) +#define PPPIOCSMRU _IOW('t', 82, int) +#define PPPIOCSMAXCID _IOW('t', 81, int) +#define PPPIOCGXASYNCMAP _IOR('t', 80, ext_accm) +#define PPPIOCSXASYNCMAP _IOW('t', 79, ext_accm) +#define PPPIOCXFERUNIT _IO('t', 78) +#define PPPIOCSCOMPRESS _IOW('t', 77, struct ppp_option_data) +#define PPPIOCGNPMODE _IOWR('t', 76, struct npioctl) +#define PPPIOCSNPMODE _IOW('t', 75, struct npioctl) +#define PPPIOCSPASS _IOW('t', 71, struct sock_fprog) +#define PPPIOCSACTIVE _IOW('t', 70, struct sock_fprog) +#define PPPIOCGDEBUG _IOR('t', 65, int) +#define PPPIOCSDEBUG _IOW('t', 64, int) +#define PPPIOCGIDLE _IOR('t', 63, struct ppp_idle) +#define PPPIOCGIDLE32 _IOR('t', 63, struct ppp_idle32) +#define PPPIOCGIDLE64 _IOR('t', 63, struct ppp_idle64) +#define PPPIOCNEWUNIT _IOWR('t', 62, int) +#define PPPIOCATTACH _IOW('t', 61, int) +#define PPPIOCDETACH _IOW('t', 60, int) +#define PPPIOCSMRRU _IOW('t', 59, int) +#define PPPIOCCONNECT _IOW('t', 58, int) +#define PPPIOCDISCONN _IO('t', 57) +#define PPPIOCATTCHAN _IOW('t', 56, int) +#define PPPIOCGCHAN _IOR('t', 55, int) +#define PPPIOCGL2TPSTATS _IOR('t', 54, struct pppol2tp_ioc_stats) +#define SIOCGPPPSTATS (SIOCDEVPRIVATE + 0) +#define SIOCGPPPVER (SIOCDEVPRIVATE + 1) +#define SIOCGPPPCSTATS (SIOCDEVPRIVATE + 2) +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/ppp_defs.h b/linux-5.10/prebuilts/usr/include/linux/ppp_defs.h new file mode 100644 index 0000000..183dde4 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/ppp_defs.h @@ -0,0 +1,107 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#include +#ifndef _UAPI_PPP_DEFS_H_ +#define _UAPI_PPP_DEFS_H_ +#define PPP_HDRLEN 4 +#define PPP_FCSLEN 2 +#define PPP_MRU 1500 +#define PPP_ADDRESS(p) (((__u8 *)(p))[0]) +#define PPP_CONTROL(p) (((__u8 *)(p))[1]) +#define PPP_PROTOCOL(p) ((((__u8 *)(p))[2] << 8) + ((__u8 *)(p))[3]) +#define PPP_ALLSTATIONS 0xff +#define PPP_UI 0x03 +#define PPP_FLAG 0x7e +#define PPP_ESCAPE 0x7d +#define PPP_TRANS 0x20 +#define PPP_IP 0x21 +#define PPP_AT 0x29 +#define PPP_IPX 0x2b +#define PPP_VJC_COMP 0x2d +#define PPP_VJC_UNCOMP 0x2f +#define PPP_MP 0x3d +#define PPP_IPV6 0x57 +#define PPP_COMPFRAG 0xfb +#define PPP_COMP 0xfd +#define PPP_MPLS_UC 0x0281 +#define PPP_MPLS_MC 0x0283 +#define PPP_IPCP 0x8021 +#define PPP_ATCP 0x8029 +#define PPP_IPXCP 0x802b +#define PPP_IPV6CP 0x8057 +#define PPP_CCPFRAG 0x80fb +#define PPP_CCP 0x80fd +#define PPP_MPLSCP 0x80fd +#define PPP_LCP 0xc021 +#define PPP_PAP 0xc023 +#define PPP_LQR 0xc025 +#define PPP_CHAP 0xc223 +#define PPP_CBCP 0xc029 +#define PPP_INITFCS 0xffff +#define PPP_GOODFCS 0xf0b8 +typedef __u32 ext_accm[8]; +enum NPmode { + NPMODE_PASS, + NPMODE_DROP, + NPMODE_ERROR, + NPMODE_QUEUE +}; +struct pppstat { + __u32 ppp_discards; + __u32 ppp_ibytes; + __u32 ppp_ioctects; + __u32 ppp_ipackets; + __u32 ppp_ierrors; + __u32 ppp_ilqrs; + __u32 ppp_obytes; + __u32 ppp_ooctects; + __u32 ppp_opackets; + __u32 ppp_oerrors; + __u32 ppp_olqrs; +}; +struct vjstat { + __u32 vjs_packets; + __u32 vjs_compressed; + __u32 vjs_searches; + __u32 vjs_misses; + __u32 vjs_uncompressedin; + __u32 vjs_compressedin; + __u32 vjs_errorin; + __u32 vjs_tossed; +}; +struct compstat { + __u32 unc_bytes; + __u32 unc_packets; + __u32 comp_bytes; + __u32 comp_packets; + __u32 inc_bytes; + __u32 inc_packets; + + __u32 in_count; + __u32 bytes_out; + double ratio; +}; +struct ppp_stats { + struct pppstat p; + struct vjstat vj; +}; +struct ppp_comp_stats { + struct compstat c; + struct compstat d; +}; +struct ppp_idle { + __kernel_old_time_t xmit_idle; + __kernel_old_time_t recv_idle; +}; +struct ppp_idle32 { + __s32 xmit_idle; + __s32 recv_idle; +}; +struct ppp_idle64 { + __s64 xmit_idle; + __s64 recv_idle; +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/pps.h b/linux-5.10/prebuilts/usr/include/linux/pps.h new file mode 100644 index 0000000..baa4b73 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/pps.h @@ -0,0 +1,78 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _PPS_H_ +#define _PPS_H_ +#include +#define PPS_VERSION "5.3.6" +#define PPS_MAX_SOURCES 16 +#define PPS_API_VERS_1 1 +#define PPS_API_VERS PPS_API_VERS_1 +#define PPS_MAX_NAME_LEN 32 +struct pps_ktime { + __s64 sec; + __s32 nsec; + __u32 flags; +}; +struct pps_ktime_compat { + __s64 sec; + __s32 nsec; + __u32 flags; +} __attribute__((packed, aligned(4))); +#define PPS_TIME_INVALID (1<<0) +struct pps_kinfo { + __u32 assert_sequence; + __u32 clear_sequence; + struct pps_ktime assert_tu; + struct pps_ktime clear_tu; + int current_mode; +}; +struct pps_kinfo_compat { + __u32 assert_sequence; + __u32 clear_sequence; + struct pps_ktime_compat assert_tu; + struct pps_ktime_compat clear_tu; + int current_mode; +}; +struct pps_kparams { + int api_version; + int mode; + struct pps_ktime assert_off_tu; + struct pps_ktime clear_off_tu; +}; +#define PPS_CAPTUREASSERT 0x01 +#define PPS_CAPTURECLEAR 0x02 +#define PPS_CAPTUREBOTH 0x03 +#define PPS_OFFSETASSERT 0x10 +#define PPS_OFFSETCLEAR 0x20 +#define PPS_CANWAIT 0x100 +#define PPS_CANPOLL 0x200 +#define PPS_ECHOASSERT 0x40 +#define PPS_ECHOCLEAR 0x80 +#define PPS_TSFMT_TSPEC 0x1000 +#define PPS_TSFMT_NTPFP 0x2000 +#define PPS_KC_HARDPPS 0 +#define PPS_KC_HARDPPS_PLL 1 +#define PPS_KC_HARDPPS_FLL 2 +struct pps_fdata { + struct pps_kinfo info; + struct pps_ktime timeout; +}; +struct pps_fdata_compat { + struct pps_kinfo_compat info; + struct pps_ktime_compat timeout; +}; +struct pps_bind_args { + int tsformat; + int edge; + int consumer; +}; +#include +#define PPS_GETPARAMS _IOR('p', 0xa1, struct pps_kparams *) +#define PPS_SETPARAMS _IOW('p', 0xa2, struct pps_kparams *) +#define PPS_GETCAP _IOR('p', 0xa3, int *) +#define PPS_FETCH _IOWR('p', 0xa4, struct pps_fdata *) +#define PPS_KC_BIND _IOW('p', 0xa5, struct pps_bind_args *) +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/pr.h b/linux-5.10/prebuilts/usr/include/linux/pr.h new file mode 100644 index 0000000..d591dcc --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/pr.h @@ -0,0 +1,46 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI_PR_H +#define _UAPI_PR_H +#include +enum pr_type { + PR_WRITE_EXCLUSIVE = 1, + PR_EXCLUSIVE_ACCESS = 2, + PR_WRITE_EXCLUSIVE_REG_ONLY = 3, + PR_EXCLUSIVE_ACCESS_REG_ONLY = 4, + PR_WRITE_EXCLUSIVE_ALL_REGS = 5, + PR_EXCLUSIVE_ACCESS_ALL_REGS = 6, +}; +struct pr_reservation { + __u64 key; + __u32 type; + __u32 flags; +}; +struct pr_registration { + __u64 old_key; + __u64 new_key; + __u32 flags; + __u32 __pad; +}; +struct pr_preempt { + __u64 old_key; + __u64 new_key; + __u32 type; + __u32 flags; +}; +struct pr_clear { + __u64 key; + __u32 flags; + __u32 __pad; +}; +#define PR_FL_IGNORE_KEY (1 << 0) +#define IOC_PR_REGISTER _IOW('p', 200, struct pr_registration) +#define IOC_PR_RESERVE _IOW('p', 201, struct pr_reservation) +#define IOC_PR_RELEASE _IOW('p', 202, struct pr_reservation) +#define IOC_PR_PREEMPT _IOW('p', 203, struct pr_preempt) +#define IOC_PR_PREEMPT_ABORT _IOW('p', 204, struct pr_preempt) +#define IOC_PR_CLEAR _IOW('p', 205, struct pr_clear) +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/prctl.h b/linux-5.10/prebuilts/usr/include/linux/prctl.h new file mode 100644 index 0000000..bf2a776 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/prctl.h @@ -0,0 +1,152 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _LINUX_PRCTL_H +#define _LINUX_PRCTL_H +#include +#define PR_SET_PDEATHSIG 1 +#define PR_GET_PDEATHSIG 2 +#define PR_GET_DUMPABLE 3 +#define PR_SET_DUMPABLE 4 +#define PR_GET_UNALIGN 5 +#define PR_SET_UNALIGN 6 +# define PR_UNALIGN_NOPRINT 1 +# define PR_UNALIGN_SIGBUS 2 +#define PR_GET_KEEPCAPS 7 +#define PR_SET_KEEPCAPS 8 +#define PR_GET_FPEMU 9 +#define PR_SET_FPEMU 10 +# define PR_FPEMU_NOPRINT 1 +# define PR_FPEMU_SIGFPE 2 +#define PR_GET_FPEXC 11 +#define PR_SET_FPEXC 12 +# define PR_FP_EXC_SW_ENABLE 0x80 +# define PR_FP_EXC_DIV 0x010000 +# define PR_FP_EXC_OVF 0x020000 +# define PR_FP_EXC_UND 0x040000 +# define PR_FP_EXC_RES 0x080000 +# define PR_FP_EXC_INV 0x100000 +# define PR_FP_EXC_DISABLED 0 +# define PR_FP_EXC_NONRECOV 1 +# define PR_FP_EXC_ASYNC 2 +# define PR_FP_EXC_PRECISE 3 +#define PR_GET_TIMING 13 +#define PR_SET_TIMING 14 +# define PR_TIMING_STATISTICAL 0 +# define PR_TIMING_TIMESTAMP 1 +#define PR_SET_NAME 15 +#define PR_GET_NAME 16 +#define PR_GET_ENDIAN 19 +#define PR_SET_ENDIAN 20 +# define PR_ENDIAN_BIG 0 +# define PR_ENDIAN_LITTLE 1 +# define PR_ENDIAN_PPC_LITTLE 2 +#define PR_GET_SECCOMP 21 +#define PR_SET_SECCOMP 22 +#define PR_CAPBSET_READ 23 +#define PR_CAPBSET_DROP 24 +#define PR_GET_TSC 25 +#define PR_SET_TSC 26 +# define PR_TSC_ENABLE 1 +# define PR_TSC_SIGSEGV 2 +#define PR_GET_SECUREBITS 27 +#define PR_SET_SECUREBITS 28 +#define PR_SET_TIMERSLACK 29 +#define PR_GET_TIMERSLACK 30 +#define PR_TASK_PERF_EVENTS_DISABLE 31 +#define PR_TASK_PERF_EVENTS_ENABLE 32 +#define PR_MCE_KILL 33 +# define PR_MCE_KILL_CLEAR 0 +# define PR_MCE_KILL_SET 1 +# define PR_MCE_KILL_LATE 0 +# define PR_MCE_KILL_EARLY 1 +# define PR_MCE_KILL_DEFAULT 2 +#define PR_MCE_KILL_GET 34 +#define PR_SET_MM 35 +# define PR_SET_MM_START_CODE 1 +# define PR_SET_MM_END_CODE 2 +# define PR_SET_MM_START_DATA 3 +# define PR_SET_MM_END_DATA 4 +# define PR_SET_MM_START_STACK 5 +# define PR_SET_MM_START_BRK 6 +# define PR_SET_MM_BRK 7 +# define PR_SET_MM_ARG_START 8 +# define PR_SET_MM_ARG_END 9 +# define PR_SET_MM_ENV_START 10 +# define PR_SET_MM_ENV_END 11 +# define PR_SET_MM_AUXV 12 +# define PR_SET_MM_EXE_FILE 13 +# define PR_SET_MM_MAP 14 +# define PR_SET_MM_MAP_SIZE 15 +struct prctl_mm_map { + __u64 start_code; + __u64 end_code; + __u64 start_data; + __u64 end_data; + __u64 start_brk; + __u64 brk; + __u64 start_stack; + __u64 arg_start; + __u64 arg_end; + __u64 env_start; + __u64 env_end; + __u64 *auxv; + __u32 auxv_size; + __u32 exe_fd; +}; +#define PR_SET_PTRACER 0x59616d61 +# define PR_SET_PTRACER_ANY ((unsigned long)-1) +#define PR_SET_CHILD_SUBREAPER 36 +#define PR_GET_CHILD_SUBREAPER 37 +#define PR_SET_NO_NEW_PRIVS 38 +#define PR_GET_NO_NEW_PRIVS 39 +#define PR_GET_TID_ADDRESS 40 +#define PR_SET_THP_DISABLE 41 +#define PR_GET_THP_DISABLE 42 +#define PR_MPX_ENABLE_MANAGEMENT 43 +#define PR_MPX_DISABLE_MANAGEMENT 44 +#define PR_SET_FP_MODE 45 +#define PR_GET_FP_MODE 46 +# define PR_FP_MODE_FR (1 << 0) +# define PR_FP_MODE_FRE (1 << 1) +#define PR_CAP_AMBIENT 47 +# define PR_CAP_AMBIENT_IS_SET 1 +# define PR_CAP_AMBIENT_RAISE 2 +# define PR_CAP_AMBIENT_LOWER 3 +# define PR_CAP_AMBIENT_CLEAR_ALL 4 +#define PR_SVE_SET_VL 50 +# define PR_SVE_SET_VL_ONEXEC (1 << 18) +#define PR_SVE_GET_VL 51 +# define PR_SVE_VL_LEN_MASK 0xffff +# define PR_SVE_VL_INHERIT (1 << 17) +#define PR_GET_SPECULATION_CTRL 52 +#define PR_SET_SPECULATION_CTRL 53 +# define PR_SPEC_STORE_BYPASS 0 +# define PR_SPEC_INDIRECT_BRANCH 1 +# define PR_SPEC_NOT_AFFECTED 0 +# define PR_SPEC_PRCTL (1UL << 0) +# define PR_SPEC_ENABLE (1UL << 1) +# define PR_SPEC_DISABLE (1UL << 2) +# define PR_SPEC_FORCE_DISABLE (1UL << 3) +# define PR_SPEC_DISABLE_NOEXEC (1UL << 4) +#define PR_PAC_RESET_KEYS 54 +# define PR_PAC_APIAKEY (1UL << 0) +# define PR_PAC_APIBKEY (1UL << 1) +# define PR_PAC_APDAKEY (1UL << 2) +# define PR_PAC_APDBKEY (1UL << 3) +# define PR_PAC_APGAKEY (1UL << 4) +#define PR_SET_TAGGED_ADDR_CTRL 55 +#define PR_GET_TAGGED_ADDR_CTRL 56 +# define PR_TAGGED_ADDR_ENABLE (1UL << 0) +# define PR_MTE_TCF_SHIFT 1 +# define PR_MTE_TCF_NONE (0UL << PR_MTE_TCF_SHIFT) +# define PR_MTE_TCF_SYNC (1UL << PR_MTE_TCF_SHIFT) +# define PR_MTE_TCF_ASYNC (2UL << PR_MTE_TCF_SHIFT) +# define PR_MTE_TCF_MASK (3UL << PR_MTE_TCF_SHIFT) +# define PR_MTE_TAG_SHIFT 3 +# define PR_MTE_TAG_MASK (0xffffUL << PR_MTE_TAG_SHIFT) +#define PR_SET_IO_FLUSHER 57 +#define PR_GET_IO_FLUSHER 58 +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/psample.h b/linux-5.10/prebuilts/usr/include/linux/psample.h new file mode 100644 index 0000000..5cbcbb1 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/psample.h @@ -0,0 +1,51 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef __UAPI_PSAMPLE_H +#define __UAPI_PSAMPLE_H +enum { + PSAMPLE_ATTR_IIFINDEX, + PSAMPLE_ATTR_OIFINDEX, + PSAMPLE_ATTR_ORIGSIZE, + PSAMPLE_ATTR_SAMPLE_GROUP, + PSAMPLE_ATTR_GROUP_SEQ, + PSAMPLE_ATTR_SAMPLE_RATE, + PSAMPLE_ATTR_DATA, + PSAMPLE_ATTR_GROUP_REFCOUNT, + PSAMPLE_ATTR_TUNNEL, + __PSAMPLE_ATTR_MAX +}; +enum psample_command { + PSAMPLE_CMD_SAMPLE, + PSAMPLE_CMD_GET_GROUP, + PSAMPLE_CMD_NEW_GROUP, + PSAMPLE_CMD_DEL_GROUP, +}; +enum psample_tunnel_key_attr { + PSAMPLE_TUNNEL_KEY_ATTR_ID, + PSAMPLE_TUNNEL_KEY_ATTR_IPV4_SRC, + PSAMPLE_TUNNEL_KEY_ATTR_IPV4_DST, + PSAMPLE_TUNNEL_KEY_ATTR_TOS, + PSAMPLE_TUNNEL_KEY_ATTR_TTL, + PSAMPLE_TUNNEL_KEY_ATTR_DONT_FRAGMENT, + PSAMPLE_TUNNEL_KEY_ATTR_CSUM, + PSAMPLE_TUNNEL_KEY_ATTR_OAM, + PSAMPLE_TUNNEL_KEY_ATTR_GENEVE_OPTS, + PSAMPLE_TUNNEL_KEY_ATTR_TP_SRC, + PSAMPLE_TUNNEL_KEY_ATTR_TP_DST, + PSAMPLE_TUNNEL_KEY_ATTR_VXLAN_OPTS, + PSAMPLE_TUNNEL_KEY_ATTR_IPV6_SRC, + PSAMPLE_TUNNEL_KEY_ATTR_IPV6_DST, + PSAMPLE_TUNNEL_KEY_ATTR_PAD, + PSAMPLE_TUNNEL_KEY_ATTR_ERSPAN_OPTS, + PSAMPLE_TUNNEL_KEY_ATTR_IPV4_INFO_BRIDGE, + __PSAMPLE_TUNNEL_KEY_ATTR_MAX +}; +#define PSAMPLE_ATTR_MAX (__PSAMPLE_ATTR_MAX - 1) +#define PSAMPLE_NL_MCGRP_CONFIG_NAME "config" +#define PSAMPLE_NL_MCGRP_SAMPLE_NAME "packets" +#define PSAMPLE_GENL_NAME "psample" +#define PSAMPLE_GENL_VERSION 1 +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/psci.h b/linux-5.10/prebuilts/usr/include/linux/psci.h new file mode 100644 index 0000000..da93a4e --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/psci.h @@ -0,0 +1,81 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI_LINUX_PSCI_H +#define _UAPI_LINUX_PSCI_H +#define PSCI_0_2_FN_BASE 0x84000000 +#define PSCI_0_2_FN(n) (PSCI_0_2_FN_BASE + (n)) +#define PSCI_0_2_64BIT 0x40000000 +#define PSCI_0_2_FN64_BASE \ + (PSCI_0_2_FN_BASE + PSCI_0_2_64BIT) +#define PSCI_0_2_FN64(n) (PSCI_0_2_FN64_BASE + (n)) +#define PSCI_0_2_FN_PSCI_VERSION PSCI_0_2_FN(0) +#define PSCI_0_2_FN_CPU_SUSPEND PSCI_0_2_FN(1) +#define PSCI_0_2_FN_CPU_OFF PSCI_0_2_FN(2) +#define PSCI_0_2_FN_CPU_ON PSCI_0_2_FN(3) +#define PSCI_0_2_FN_AFFINITY_INFO PSCI_0_2_FN(4) +#define PSCI_0_2_FN_MIGRATE PSCI_0_2_FN(5) +#define PSCI_0_2_FN_MIGRATE_INFO_TYPE PSCI_0_2_FN(6) +#define PSCI_0_2_FN_MIGRATE_INFO_UP_CPU PSCI_0_2_FN(7) +#define PSCI_0_2_FN_SYSTEM_OFF PSCI_0_2_FN(8) +#define PSCI_0_2_FN_SYSTEM_RESET PSCI_0_2_FN(9) +#define PSCI_0_2_FN64_CPU_SUSPEND PSCI_0_2_FN64(1) +#define PSCI_0_2_FN64_CPU_ON PSCI_0_2_FN64(3) +#define PSCI_0_2_FN64_AFFINITY_INFO PSCI_0_2_FN64(4) +#define PSCI_0_2_FN64_MIGRATE PSCI_0_2_FN64(5) +#define PSCI_0_2_FN64_MIGRATE_INFO_UP_CPU PSCI_0_2_FN64(7) +#define PSCI_1_0_FN_PSCI_FEATURES PSCI_0_2_FN(10) +#define PSCI_1_0_FN_SYSTEM_SUSPEND PSCI_0_2_FN(14) +#define PSCI_1_0_FN_SET_SUSPEND_MODE PSCI_0_2_FN(15) +#define PSCI_1_1_FN_SYSTEM_RESET2 PSCI_0_2_FN(18) +#define PSCI_1_0_FN64_SYSTEM_SUSPEND PSCI_0_2_FN64(14) +#define PSCI_1_1_FN64_SYSTEM_RESET2 PSCI_0_2_FN64(18) +#define PSCI_0_2_POWER_STATE_ID_MASK 0xffff +#define PSCI_0_2_POWER_STATE_ID_SHIFT 0 +#define PSCI_0_2_POWER_STATE_TYPE_SHIFT 16 +#define PSCI_0_2_POWER_STATE_TYPE_MASK \ + (0x1 << PSCI_0_2_POWER_STATE_TYPE_SHIFT) +#define PSCI_0_2_POWER_STATE_AFFL_SHIFT 24 +#define PSCI_0_2_POWER_STATE_AFFL_MASK \ + (0x3 << PSCI_0_2_POWER_STATE_AFFL_SHIFT) +#define PSCI_1_0_EXT_POWER_STATE_ID_MASK 0xfffffff +#define PSCI_1_0_EXT_POWER_STATE_ID_SHIFT 0 +#define PSCI_1_0_EXT_POWER_STATE_TYPE_SHIFT 30 +#define PSCI_1_0_EXT_POWER_STATE_TYPE_MASK \ + (0x1 << PSCI_1_0_EXT_POWER_STATE_TYPE_SHIFT) +#define PSCI_0_2_AFFINITY_LEVEL_ON 0 +#define PSCI_0_2_AFFINITY_LEVEL_OFF 1 +#define PSCI_0_2_AFFINITY_LEVEL_ON_PENDING 2 +#define PSCI_0_2_TOS_UP_MIGRATE 0 +#define PSCI_0_2_TOS_UP_NO_MIGRATE 1 +#define PSCI_0_2_TOS_MP 2 +#define PSCI_VERSION_MAJOR_SHIFT 16 +#define PSCI_VERSION_MINOR_MASK \ + ((1U << PSCI_VERSION_MAJOR_SHIFT) - 1) +#define PSCI_VERSION_MAJOR_MASK ~PSCI_VERSION_MINOR_MASK +#define PSCI_VERSION_MAJOR(ver) \ + (((ver) & PSCI_VERSION_MAJOR_MASK) >> PSCI_VERSION_MAJOR_SHIFT) +#define PSCI_VERSION_MINOR(ver) \ + ((ver) & PSCI_VERSION_MINOR_MASK) +#define PSCI_VERSION(maj, min) \ + ((((maj) << PSCI_VERSION_MAJOR_SHIFT) & PSCI_VERSION_MAJOR_MASK) | \ + ((min) & PSCI_VERSION_MINOR_MASK)) +#define PSCI_1_0_FEATURES_CPU_SUSPEND_PF_SHIFT 1 +#define PSCI_1_0_FEATURES_CPU_SUSPEND_PF_MASK \ + (0x1 << PSCI_1_0_FEATURES_CPU_SUSPEND_PF_SHIFT) +#define PSCI_1_0_OS_INITIATED BIT(0) +#define PSCI_1_0_SUSPEND_MODE_PC 0 +#define PSCI_1_0_SUSPEND_MODE_OSI 1 +#define PSCI_RET_SUCCESS 0 +#define PSCI_RET_NOT_SUPPORTED -1 +#define PSCI_RET_INVALID_PARAMS -2 +#define PSCI_RET_DENIED -3 +#define PSCI_RET_ALREADY_ON -4 +#define PSCI_RET_ON_PENDING -5 +#define PSCI_RET_INTERNAL_FAILURE -6 +#define PSCI_RET_NOT_PRESENT -7 +#define PSCI_RET_DISABLED -8 +#define PSCI_RET_INVALID_ADDRESS -9 +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/psp-sev.h b/linux-5.10/prebuilts/usr/include/linux/psp-sev.h new file mode 100644 index 0000000..3bc5630 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/psp-sev.h @@ -0,0 +1,89 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef __PSP_SEV_USER_H__ +#define __PSP_SEV_USER_H__ +#include +enum { + SEV_FACTORY_RESET = 0, + SEV_PLATFORM_STATUS, + SEV_PEK_GEN, + SEV_PEK_CSR, + SEV_PDH_GEN, + SEV_PDH_CERT_EXPORT, + SEV_PEK_CERT_IMPORT, + SEV_GET_ID, + SEV_GET_ID2, + SEV_MAX, +}; +typedef enum { + SEV_RET_SUCCESS = 0, + SEV_RET_INVALID_PLATFORM_STATE, + SEV_RET_INVALID_GUEST_STATE, + SEV_RET_INAVLID_CONFIG, + SEV_RET_INVALID_LEN, + SEV_RET_ALREADY_OWNED, + SEV_RET_INVALID_CERTIFICATE, + SEV_RET_POLICY_FAILURE, + SEV_RET_INACTIVE, + SEV_RET_INVALID_ADDRESS, + SEV_RET_BAD_SIGNATURE, + SEV_RET_BAD_MEASUREMENT, + SEV_RET_ASID_OWNED, + SEV_RET_INVALID_ASID, + SEV_RET_WBINVD_REQUIRED, + SEV_RET_DFFLUSH_REQUIRED, + SEV_RET_INVALID_GUEST, + SEV_RET_INVALID_COMMAND, + SEV_RET_ACTIVE, + SEV_RET_HWSEV_RET_PLATFORM, + SEV_RET_HWSEV_RET_UNSAFE, + SEV_RET_UNSUPPORTED, + SEV_RET_INVALID_PARAM, + SEV_RET_RESOURCE_LIMIT, + SEV_RET_SECURE_DATA_INVALID, + SEV_RET_MAX, +} sev_ret_code; +struct sev_user_data_status { + __u8 api_major; + __u8 api_minor; + __u8 state; + __u32 flags; + __u8 build; + __u32 guest_count; +} __packed; +#define SEV_STATUS_FLAGS_CONFIG_ES 0x0100 +struct sev_user_data_pek_csr { + __u64 address; + __u32 length; +} __packed; +struct sev_user_data_pek_cert_import { + __u64 pek_cert_address; + __u32 pek_cert_len; + __u64 oca_cert_address; + __u32 oca_cert_len; +} __packed; +struct sev_user_data_pdh_cert_export { + __u64 pdh_cert_address; + __u32 pdh_cert_len; + __u64 cert_chain_address; + __u32 cert_chain_len; +} __packed; +struct sev_user_data_get_id { + __u8 socket1[64]; + __u8 socket2[64]; +} __packed; +struct sev_user_data_get_id2 { + __u64 address; + __u32 length; +} __packed; +struct sev_issue_cmd { + __u32 cmd; + __u64 data; + __u32 error; +} __packed; +#define SEV_IOC_TYPE 'S' +#define SEV_ISSUE_CMD _IOWR(SEV_IOC_TYPE, 0x0, struct sev_issue_cmd) +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/ptp_clock.h b/linux-5.10/prebuilts/usr/include/linux/ptp_clock.h new file mode 100644 index 0000000..ee91b52 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/ptp_clock.h @@ -0,0 +1,135 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _PTP_CLOCK_H_ +#define _PTP_CLOCK_H_ +#include +#include +#define PTP_ENABLE_FEATURE (1<<0) +#define PTP_RISING_EDGE (1<<1) +#define PTP_FALLING_EDGE (1<<2) +#define PTP_STRICT_FLAGS (1<<3) +#define PTP_EXTTS_EDGES (PTP_RISING_EDGE | PTP_FALLING_EDGE) +#define PTP_EXTTS_VALID_FLAGS (PTP_ENABLE_FEATURE | \ + PTP_RISING_EDGE | \ + PTP_FALLING_EDGE | \ + PTP_STRICT_FLAGS) +#define PTP_EXTTS_V1_VALID_FLAGS (PTP_ENABLE_FEATURE | \ + PTP_RISING_EDGE | \ + PTP_FALLING_EDGE) +#define PTP_PEROUT_ONE_SHOT (1<<0) +#define PTP_PEROUT_DUTY_CYCLE (1<<1) +#define PTP_PEROUT_PHASE (1<<2) +#define PTP_PEROUT_VALID_FLAGS (PTP_PEROUT_ONE_SHOT | \ + PTP_PEROUT_DUTY_CYCLE | \ + PTP_PEROUT_PHASE) +#define PTP_PEROUT_V1_VALID_FLAGS (0) +struct ptp_clock_time { + __s64 sec; + __u32 nsec; + __u32 reserved; +}; +struct ptp_clock_caps { + int max_adj; + int n_alarm; + int n_ext_ts; + int n_per_out; + int pps; + int n_pins; + + int cross_timestamping; + + int adjust_phase; + int rsv[12]; +}; +struct ptp_extts_request { + unsigned int index; + unsigned int flags; + unsigned int rsv[2]; +}; +struct ptp_perout_request { + union { + + struct ptp_clock_time start; + + struct ptp_clock_time phase; + }; + struct ptp_clock_time period; + unsigned int index; + unsigned int flags; + union { + + struct ptp_clock_time on; + + unsigned int rsv[4]; + }; +}; +#define PTP_MAX_SAMPLES 25 +struct ptp_sys_offset { + unsigned int n_samples; + unsigned int rsv[3]; + + struct ptp_clock_time ts[2 * PTP_MAX_SAMPLES + 1]; +}; +struct ptp_sys_offset_extended { + unsigned int n_samples; + unsigned int rsv[3]; + + struct ptp_clock_time ts[PTP_MAX_SAMPLES][3]; +}; +struct ptp_sys_offset_precise { + struct ptp_clock_time device; + struct ptp_clock_time sys_realtime; + struct ptp_clock_time sys_monoraw; + unsigned int rsv[4]; +}; +enum ptp_pin_function { + PTP_PF_NONE, + PTP_PF_EXTTS, + PTP_PF_PEROUT, + PTP_PF_PHYSYNC, +}; +struct ptp_pin_desc { + + char name[64]; + + unsigned int index; + + unsigned int func; + + unsigned int chan; + + unsigned int rsv[5]; +}; +#define PTP_CLK_MAGIC '=' +#define PTP_CLOCK_GETCAPS _IOR(PTP_CLK_MAGIC, 1, struct ptp_clock_caps) +#define PTP_EXTTS_REQUEST _IOW(PTP_CLK_MAGIC, 2, struct ptp_extts_request) +#define PTP_PEROUT_REQUEST _IOW(PTP_CLK_MAGIC, 3, struct ptp_perout_request) +#define PTP_ENABLE_PPS _IOW(PTP_CLK_MAGIC, 4, int) +#define PTP_SYS_OFFSET _IOW(PTP_CLK_MAGIC, 5, struct ptp_sys_offset) +#define PTP_PIN_GETFUNC _IOWR(PTP_CLK_MAGIC, 6, struct ptp_pin_desc) +#define PTP_PIN_SETFUNC _IOW(PTP_CLK_MAGIC, 7, struct ptp_pin_desc) +#define PTP_SYS_OFFSET_PRECISE \ + _IOWR(PTP_CLK_MAGIC, 8, struct ptp_sys_offset_precise) +#define PTP_SYS_OFFSET_EXTENDED \ + _IOWR(PTP_CLK_MAGIC, 9, struct ptp_sys_offset_extended) +#define PTP_CLOCK_GETCAPS2 _IOR(PTP_CLK_MAGIC, 10, struct ptp_clock_caps) +#define PTP_EXTTS_REQUEST2 _IOW(PTP_CLK_MAGIC, 11, struct ptp_extts_request) +#define PTP_PEROUT_REQUEST2 _IOW(PTP_CLK_MAGIC, 12, struct ptp_perout_request) +#define PTP_ENABLE_PPS2 _IOW(PTP_CLK_MAGIC, 13, int) +#define PTP_SYS_OFFSET2 _IOW(PTP_CLK_MAGIC, 14, struct ptp_sys_offset) +#define PTP_PIN_GETFUNC2 _IOWR(PTP_CLK_MAGIC, 15, struct ptp_pin_desc) +#define PTP_PIN_SETFUNC2 _IOW(PTP_CLK_MAGIC, 16, struct ptp_pin_desc) +#define PTP_SYS_OFFSET_PRECISE2 \ + _IOWR(PTP_CLK_MAGIC, 17, struct ptp_sys_offset_precise) +#define PTP_SYS_OFFSET_EXTENDED2 \ + _IOWR(PTP_CLK_MAGIC, 18, struct ptp_sys_offset_extended) +struct ptp_extts_event { + struct ptp_clock_time t; + unsigned int index; + unsigned int flags; + unsigned int rsv[2]; +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/ptrace.h b/linux-5.10/prebuilts/usr/include/linux/ptrace.h new file mode 100644 index 0000000..a391d07 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/ptrace.h @@ -0,0 +1,96 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI_LINUX_PTRACE_H +#define _UAPI_LINUX_PTRACE_H +#include +#define PTRACE_TRACEME 0 +#define PTRACE_PEEKTEXT 1 +#define PTRACE_PEEKDATA 2 +#define PTRACE_PEEKUSR 3 +#define PTRACE_POKETEXT 4 +#define PTRACE_POKEDATA 5 +#define PTRACE_POKEUSR 6 +#define PTRACE_CONT 7 +#define PTRACE_KILL 8 +#define PTRACE_SINGLESTEP 9 +#define PTRACE_ATTACH 16 +#define PTRACE_DETACH 17 +#define PTRACE_SYSCALL 24 +#define PTRACE_SETOPTIONS 0x4200 +#define PTRACE_GETEVENTMSG 0x4201 +#define PTRACE_GETSIGINFO 0x4202 +#define PTRACE_SETSIGINFO 0x4203 +#define PTRACE_GETREGSET 0x4204 +#define PTRACE_SETREGSET 0x4205 +#define PTRACE_SEIZE 0x4206 +#define PTRACE_INTERRUPT 0x4207 +#define PTRACE_LISTEN 0x4208 +#define PTRACE_PEEKSIGINFO 0x4209 +struct ptrace_peeksiginfo_args { + __u64 off; + __u32 flags; + __s32 nr; +}; +#define PTRACE_GETSIGMASK 0x420a +#define PTRACE_SETSIGMASK 0x420b +#define PTRACE_SECCOMP_GET_FILTER 0x420c +#define PTRACE_SECCOMP_GET_METADATA 0x420d +struct seccomp_metadata { + __u64 filter_off; + __u64 flags; +}; +#define PTRACE_GET_SYSCALL_INFO 0x420e +#define PTRACE_SYSCALL_INFO_NONE 0 +#define PTRACE_SYSCALL_INFO_ENTRY 1 +#define PTRACE_SYSCALL_INFO_EXIT 2 +#define PTRACE_SYSCALL_INFO_SECCOMP 3 +struct ptrace_syscall_info { + __u8 op; + __u8 pad[3]; + __u32 arch; + __u64 instruction_pointer; + __u64 stack_pointer; + union { + struct { + __u64 nr; + __u64 args[6]; + } entry; + struct { + __s64 rval; + __u8 is_error; + } exit; + struct { + __u64 nr; + __u64 args[6]; + __u32 ret_data; + } seccomp; + }; +}; +#define PTRACE_EVENTMSG_SYSCALL_ENTRY 1 +#define PTRACE_EVENTMSG_SYSCALL_EXIT 2 +#define PTRACE_PEEKSIGINFO_SHARED (1 << 0) +#define PTRACE_EVENT_FORK 1 +#define PTRACE_EVENT_VFORK 2 +#define PTRACE_EVENT_CLONE 3 +#define PTRACE_EVENT_EXEC 4 +#define PTRACE_EVENT_VFORK_DONE 5 +#define PTRACE_EVENT_EXIT 6 +#define PTRACE_EVENT_SECCOMP 7 +#define PTRACE_EVENT_STOP 128 +#define PTRACE_O_TRACESYSGOOD 1 +#define PTRACE_O_TRACEFORK (1 << PTRACE_EVENT_FORK) +#define PTRACE_O_TRACEVFORK (1 << PTRACE_EVENT_VFORK) +#define PTRACE_O_TRACECLONE (1 << PTRACE_EVENT_CLONE) +#define PTRACE_O_TRACEEXEC (1 << PTRACE_EVENT_EXEC) +#define PTRACE_O_TRACEVFORKDONE (1 << PTRACE_EVENT_VFORK_DONE) +#define PTRACE_O_TRACEEXIT (1 << PTRACE_EVENT_EXIT) +#define PTRACE_O_TRACESECCOMP (1 << PTRACE_EVENT_SECCOMP) +#define PTRACE_O_EXITKILL (1 << 20) +#define PTRACE_O_SUSPEND_SECCOMP (1 << 21) +#define PTRACE_O_MASK (\ + 0x000000ff | PTRACE_O_EXITKILL | PTRACE_O_SUSPEND_SECCOMP) +#include +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/qemu_fw_cfg.h b/linux-5.10/prebuilts/usr/include/linux/qemu_fw_cfg.h new file mode 100644 index 0000000..d94cd2a --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/qemu_fw_cfg.h @@ -0,0 +1,73 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _LINUX_FW_CFG_H +#define _LINUX_FW_CFG_H +#include +#define FW_CFG_ACPI_DEVICE_ID "QEMU0002" +#define FW_CFG_SIGNATURE 0x00 +#define FW_CFG_ID 0x01 +#define FW_CFG_UUID 0x02 +#define FW_CFG_RAM_SIZE 0x03 +#define FW_CFG_NOGRAPHIC 0x04 +#define FW_CFG_NB_CPUS 0x05 +#define FW_CFG_MACHINE_ID 0x06 +#define FW_CFG_KERNEL_ADDR 0x07 +#define FW_CFG_KERNEL_SIZE 0x08 +#define FW_CFG_KERNEL_CMDLINE 0x09 +#define FW_CFG_INITRD_ADDR 0x0a +#define FW_CFG_INITRD_SIZE 0x0b +#define FW_CFG_BOOT_DEVICE 0x0c +#define FW_CFG_NUMA 0x0d +#define FW_CFG_BOOT_MENU 0x0e +#define FW_CFG_MAX_CPUS 0x0f +#define FW_CFG_KERNEL_ENTRY 0x10 +#define FW_CFG_KERNEL_DATA 0x11 +#define FW_CFG_INITRD_DATA 0x12 +#define FW_CFG_CMDLINE_ADDR 0x13 +#define FW_CFG_CMDLINE_SIZE 0x14 +#define FW_CFG_CMDLINE_DATA 0x15 +#define FW_CFG_SETUP_ADDR 0x16 +#define FW_CFG_SETUP_SIZE 0x17 +#define FW_CFG_SETUP_DATA 0x18 +#define FW_CFG_FILE_DIR 0x19 +#define FW_CFG_FILE_FIRST 0x20 +#define FW_CFG_FILE_SLOTS_MIN 0x10 +#define FW_CFG_WRITE_CHANNEL 0x4000 +#define FW_CFG_ARCH_LOCAL 0x8000 +#define FW_CFG_ENTRY_MASK (~(FW_CFG_WRITE_CHANNEL | FW_CFG_ARCH_LOCAL)) +#define FW_CFG_INVALID 0xffff +#define FW_CFG_CTL_SIZE 0x02 +#define FW_CFG_MAX_FILE_PATH 56 +#define FW_CFG_SIG_SIZE 4 +#define FW_CFG_VERSION 0x01 +#define FW_CFG_VERSION_DMA 0x02 +struct fw_cfg_file { + __be32 size; + __be16 select; + __u16 reserved; + char name[FW_CFG_MAX_FILE_PATH]; +}; +#define FW_CFG_DMA_CTL_ERROR 0x01 +#define FW_CFG_DMA_CTL_READ 0x02 +#define FW_CFG_DMA_CTL_SKIP 0x04 +#define FW_CFG_DMA_CTL_SELECT 0x08 +#define FW_CFG_DMA_CTL_WRITE 0x10 +#define FW_CFG_DMA_SIGNATURE 0x51454d5520434647ULL +struct fw_cfg_dma_access { + __be32 control; + __be32 length; + __be64 address; +}; +#define FW_CFG_VMCOREINFO_FILENAME "etc/vmcoreinfo" +#define FW_CFG_VMCOREINFO_FORMAT_NONE 0x0 +#define FW_CFG_VMCOREINFO_FORMAT_ELF 0x1 +struct fw_cfg_vmcoreinfo { + __le16 host_format; + __le16 guest_format; + __le32 size; + __le64 paddr; +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/qnx4_fs.h b/linux-5.10/prebuilts/usr/include/linux/qnx4_fs.h new file mode 100644 index 0000000..db47623 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/qnx4_fs.h @@ -0,0 +1,72 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _LINUX_QNX4_FS_H +#define _LINUX_QNX4_FS_H +#include +#include +#include +#define QNX4_ROOT_INO 1 +#define QNX4_MAX_XTNTS_PER_XBLK 60 +#define QNX4_FILE_USED 0x01 +#define QNX4_FILE_MODIFIED 0x02 +#define QNX4_FILE_BUSY 0x04 +#define QNX4_FILE_LINK 0x08 +#define QNX4_FILE_INODE 0x10 +#define QNX4_FILE_FSYSCLEAN 0x20 +#define QNX4_I_MAP_SLOTS 8 +#define QNX4_Z_MAP_SLOTS 64 +#define QNX4_VALID_FS 0x0001 +#define QNX4_ERROR_FS 0x0002 +#define QNX4_BLOCK_SIZE 0x200 +#define QNX4_BLOCK_SIZE_BITS 9 +#define QNX4_DIR_ENTRY_SIZE 0x040 +#define QNX4_DIR_ENTRY_SIZE_BITS 6 +#define QNX4_XBLK_ENTRY_SIZE 0x200 +#define QNX4_INODES_PER_BLOCK 0x08 +#define QNX4_SHORT_NAME_MAX 16 +#define QNX4_NAME_MAX 48 +struct qnx4_inode_entry { + char di_fname[QNX4_SHORT_NAME_MAX]; + qnx4_off_t di_size; + qnx4_xtnt_t di_first_xtnt; + __le32 di_xblk; + __le32 di_ftime; + __le32 di_mtime; + __le32 di_atime; + __le32 di_ctime; + qnx4_nxtnt_t di_num_xtnts; + qnx4_mode_t di_mode; + qnx4_muid_t di_uid; + qnx4_mgid_t di_gid; + qnx4_nlink_t di_nlink; + __u8 di_zero[4]; + qnx4_ftype_t di_type; + __u8 di_status; +}; +struct qnx4_link_info { + char dl_fname[QNX4_NAME_MAX]; + __le32 dl_inode_blk; + __u8 dl_inode_ndx; + __u8 dl_spare[10]; + __u8 dl_status; +}; +struct qnx4_xblk { + __le32 xblk_next_xblk; + __le32 xblk_prev_xblk; + __u8 xblk_num_xtnts; + __u8 xblk_spare[3]; + __le32 xblk_num_blocks; + qnx4_xtnt_t xblk_xtnts[QNX4_MAX_XTNTS_PER_XBLK]; + char xblk_signature[8]; + qnx4_xtnt_t xblk_first_xtnt; +}; +struct qnx4_super_block { + struct qnx4_inode_entry RootDir; + struct qnx4_inode_entry Inode; + struct qnx4_inode_entry Boot; + struct qnx4_inode_entry AltBoot; +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/qnxtypes.h b/linux-5.10/prebuilts/usr/include/linux/qnxtypes.h new file mode 100644 index 0000000..1e9b988 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/qnxtypes.h @@ -0,0 +1,20 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _QNX4TYPES_H +#define _QNX4TYPES_H +#include +typedef __le16 qnx4_nxtnt_t; +typedef __u8 qnx4_ftype_t; +typedef struct { + __le32 xtnt_blk; + __le32 xtnt_size; +} qnx4_xtnt_t; +typedef __le16 qnx4_mode_t; +typedef __le16 qnx4_muid_t; +typedef __le16 qnx4_mgid_t; +typedef __le32 qnx4_off_t; +typedef __le16 qnx4_nlink_t; +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/qrtr.h b/linux-5.10/prebuilts/usr/include/linux/qrtr.h new file mode 100644 index 0000000..307f888 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/qrtr.h @@ -0,0 +1,45 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _LINUX_QRTR_H +#define _LINUX_QRTR_H +#include +#include +#define QRTR_NODE_BCAST 0xffffffffu +#define QRTR_PORT_CTRL 0xfffffffeu +struct sockaddr_qrtr { + __kernel_sa_family_t sq_family; + __u32 sq_node; + __u32 sq_port; +}; +enum qrtr_pkt_type { + QRTR_TYPE_DATA = 1, + QRTR_TYPE_HELLO = 2, + QRTR_TYPE_BYE = 3, + QRTR_TYPE_NEW_SERVER = 4, + QRTR_TYPE_DEL_SERVER = 5, + QRTR_TYPE_DEL_CLIENT = 6, + QRTR_TYPE_RESUME_TX = 7, + QRTR_TYPE_EXIT = 8, + QRTR_TYPE_PING = 9, + QRTR_TYPE_NEW_LOOKUP = 10, + QRTR_TYPE_DEL_LOOKUP = 11, +}; +struct qrtr_ctrl_pkt { + __le32 cmd; + union { + struct { + __le32 service; + __le32 instance; + __le32 node; + __le32 port; + } server; + struct { + __le32 node; + __le32 port; + } client; + }; +} __packed; +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/quota.h b/linux-5.10/prebuilts/usr/include/linux/quota.h new file mode 100644 index 0000000..a9553a3 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/quota.h @@ -0,0 +1,126 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI_LINUX_QUOTA_ +#define _UAPI_LINUX_QUOTA_ +#include +#define __DQUOT_VERSION__ "dquot_6.6.0" +#define MAXQUOTAS 3 +#define USRQUOTA 0 +#define GRPQUOTA 1 +#define PRJQUOTA 2 +#define INITQFNAMES { \ + "user", \ + "group", \ + "project", \ + "undefined", \ +}; +#define SUBCMDMASK 0x00ff +#define SUBCMDSHIFT 8 +#define QCMD(cmd, type) (((cmd) << SUBCMDSHIFT) | ((type) & SUBCMDMASK)) +#define Q_SYNC 0x800001 +#define Q_QUOTAON 0x800002 +#define Q_QUOTAOFF 0x800003 +#define Q_GETFMT 0x800004 +#define Q_GETINFO 0x800005 +#define Q_SETINFO 0x800006 +#define Q_GETQUOTA 0x800007 +#define Q_SETQUOTA 0x800008 +#define Q_GETNEXTQUOTA 0x800009 +#define QFMT_VFS_OLD 1 +#define QFMT_VFS_V0 2 +#define QFMT_OCFS2 3 +#define QFMT_VFS_V1 4 +#define QIF_DQBLKSIZE_BITS 10 +#define QIF_DQBLKSIZE (1 << QIF_DQBLKSIZE_BITS) +enum { + QIF_BLIMITS_B = 0, + QIF_SPACE_B, + QIF_ILIMITS_B, + QIF_INODES_B, + QIF_BTIME_B, + QIF_ITIME_B, +}; +#define QIF_BLIMITS (1 << QIF_BLIMITS_B) +#define QIF_SPACE (1 << QIF_SPACE_B) +#define QIF_ILIMITS (1 << QIF_ILIMITS_B) +#define QIF_INODES (1 << QIF_INODES_B) +#define QIF_BTIME (1 << QIF_BTIME_B) +#define QIF_ITIME (1 << QIF_ITIME_B) +#define QIF_LIMITS (QIF_BLIMITS | QIF_ILIMITS) +#define QIF_USAGE (QIF_SPACE | QIF_INODES) +#define QIF_TIMES (QIF_BTIME | QIF_ITIME) +#define QIF_ALL (QIF_LIMITS | QIF_USAGE | QIF_TIMES) +struct if_dqblk { + __u64 dqb_bhardlimit; + __u64 dqb_bsoftlimit; + __u64 dqb_curspace; + __u64 dqb_ihardlimit; + __u64 dqb_isoftlimit; + __u64 dqb_curinodes; + __u64 dqb_btime; + __u64 dqb_itime; + __u32 dqb_valid; +}; +struct if_nextdqblk { + __u64 dqb_bhardlimit; + __u64 dqb_bsoftlimit; + __u64 dqb_curspace; + __u64 dqb_ihardlimit; + __u64 dqb_isoftlimit; + __u64 dqb_curinodes; + __u64 dqb_btime; + __u64 dqb_itime; + __u32 dqb_valid; + __u32 dqb_id; +}; +#define IIF_BGRACE 1 +#define IIF_IGRACE 2 +#define IIF_FLAGS 4 +#define IIF_ALL (IIF_BGRACE | IIF_IGRACE | IIF_FLAGS) +enum { + DQF_ROOT_SQUASH_B = 0, + DQF_SYS_FILE_B = 16, + + DQF_PRIVATE +}; +#define DQF_ROOT_SQUASH (1 << DQF_ROOT_SQUASH_B) +#define DQF_SYS_FILE (1 << DQF_SYS_FILE_B) +struct if_dqinfo { + __u64 dqi_bgrace; + __u64 dqi_igrace; + __u32 dqi_flags; + __u32 dqi_valid; +}; +#define QUOTA_NL_NOWARN 0 +#define QUOTA_NL_IHARDWARN 1 +#define QUOTA_NL_ISOFTLONGWARN 2 +#define QUOTA_NL_ISOFTWARN 3 +#define QUOTA_NL_BHARDWARN 4 +#define QUOTA_NL_BSOFTLONGWARN 5 +#define QUOTA_NL_BSOFTWARN 6 +#define QUOTA_NL_IHARDBELOW 7 +#define QUOTA_NL_ISOFTBELOW 8 +#define QUOTA_NL_BHARDBELOW 9 +#define QUOTA_NL_BSOFTBELOW 10 +enum { + QUOTA_NL_C_UNSPEC, + QUOTA_NL_C_WARNING, + __QUOTA_NL_C_MAX, +}; +#define QUOTA_NL_C_MAX (__QUOTA_NL_C_MAX - 1) +enum { + QUOTA_NL_A_UNSPEC, + QUOTA_NL_A_QTYPE, + QUOTA_NL_A_EXCESS_ID, + QUOTA_NL_A_WARNING, + QUOTA_NL_A_DEV_MAJOR, + QUOTA_NL_A_DEV_MINOR, + QUOTA_NL_A_CAUSED_ID, + QUOTA_NL_A_PAD, + __QUOTA_NL_A_MAX, +}; +#define QUOTA_NL_A_MAX (__QUOTA_NL_A_MAX - 1) +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/radeonfb.h b/linux-5.10/prebuilts/usr/include/linux/radeonfb.h new file mode 100644 index 0000000..ac920c4 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/radeonfb.h @@ -0,0 +1,14 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef __LINUX_RADEONFB_H__ +#define __LINUX_RADEONFB_H__ +#include +#include +#define ATY_RADEON_LCD_ON 0x00000001 +#define ATY_RADEON_CRT_ON 0x00000002 +#define FBIO_RADEON_GET_MIRROR _IOR('@', 3, size_t) +#define FBIO_RADEON_SET_MIRROR _IOW('@', 4, size_t) +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/raid/md_p.h b/linux-5.10/prebuilts/usr/include/linux/raid/md_p.h new file mode 100644 index 0000000..49dca47 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/raid/md_p.h @@ -0,0 +1,269 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _MD_P_H +#define _MD_P_H +#include +#include +#define MD_RESERVED_BYTES (64 * 1024) +#define MD_RESERVED_SECTORS (MD_RESERVED_BYTES / 512) +#define MD_NEW_SIZE_SECTORS(x) ((x & ~(MD_RESERVED_SECTORS - 1)) - MD_RESERVED_SECTORS) +#define MD_SB_BYTES 4096 +#define MD_SB_WORDS (MD_SB_BYTES / 4) +#define MD_SB_SECTORS (MD_SB_BYTES / 512) +#define MD_SB_GENERIC_OFFSET 0 +#define MD_SB_PERSONALITY_OFFSET 64 +#define MD_SB_DISKS_OFFSET 128 +#define MD_SB_DESCRIPTOR_OFFSET 992 +#define MD_SB_GENERIC_CONSTANT_WORDS 32 +#define MD_SB_GENERIC_STATE_WORDS 32 +#define MD_SB_GENERIC_WORDS (MD_SB_GENERIC_CONSTANT_WORDS + MD_SB_GENERIC_STATE_WORDS) +#define MD_SB_PERSONALITY_WORDS 64 +#define MD_SB_DESCRIPTOR_WORDS 32 +#define MD_SB_DISKS 27 +#define MD_SB_DISKS_WORDS (MD_SB_DISKS*MD_SB_DESCRIPTOR_WORDS) +#define MD_SB_RESERVED_WORDS (1024 - MD_SB_GENERIC_WORDS - MD_SB_PERSONALITY_WORDS - MD_SB_DISKS_WORDS - MD_SB_DESCRIPTOR_WORDS) +#define MD_SB_EQUAL_WORDS (MD_SB_GENERIC_WORDS + MD_SB_PERSONALITY_WORDS + MD_SB_DISKS_WORDS) +#define MD_DISK_FAULTY 0 +#define MD_DISK_ACTIVE 1 +#define MD_DISK_SYNC 2 +#define MD_DISK_REMOVED 3 +#define MD_DISK_CLUSTER_ADD 4 +#define MD_DISK_CANDIDATE 5 +#define MD_DISK_FAILFAST 10 +#define MD_DISK_WRITEMOSTLY 9 +#define MD_DISK_JOURNAL 18 +#define MD_DISK_ROLE_SPARE 0xffff +#define MD_DISK_ROLE_FAULTY 0xfffe +#define MD_DISK_ROLE_JOURNAL 0xfffd +#define MD_DISK_ROLE_MAX 0xff00 +typedef struct mdp_device_descriptor_s { + __u32 number; + __u32 major; + __u32 minor; + __u32 raid_disk; + __u32 state; + __u32 reserved[MD_SB_DESCRIPTOR_WORDS - 5]; +} mdp_disk_t; +#define MD_SB_MAGIC 0xa92b4efc +#define MD_SB_CLEAN 0 +#define MD_SB_ERRORS 1 +#define MD_SB_CLUSTERED 5 +#define MD_SB_BITMAP_PRESENT 8 +typedef struct mdp_superblock_s { + + __u32 md_magic; + __u32 major_version; + __u32 minor_version; + __u32 patch_version; + __u32 gvalid_words; + __u32 set_uuid0; + __u32 ctime; + __u32 level; + __u32 size; + __u32 nr_disks; + __u32 raid_disks; + __u32 md_minor; + __u32 not_persistent; + __u32 set_uuid1; + __u32 set_uuid2; + __u32 set_uuid3; + __u32 gstate_creserved[MD_SB_GENERIC_CONSTANT_WORDS - 16]; + + __u32 utime; + __u32 state; + __u32 active_disks; + __u32 working_disks; + __u32 failed_disks; + __u32 spare_disks; + __u32 sb_csum; +#if defined(__BYTE_ORDER) ? __BYTE_ORDER == __BIG_ENDIAN : defined(__BIG_ENDIAN) + __u32 events_hi; + __u32 events_lo; + __u32 cp_events_hi; + __u32 cp_events_lo; +#elif defined(__BYTE_ORDER) ? __BYTE_ORDER == __LITTLE_ENDIAN : defined(__LITTLE_ENDIAN) + __u32 events_lo; + __u32 events_hi; + __u32 cp_events_lo; + __u32 cp_events_hi; +#else +#error unspecified endianness +#endif + __u32 recovery_cp; + + __u64 reshape_position; + __u32 new_level; + __u32 delta_disks; + __u32 new_layout; + __u32 new_chunk; + __u32 gstate_sreserved[MD_SB_GENERIC_STATE_WORDS - 18]; + + __u32 layout; + __u32 chunk_size; + __u32 root_pv; + __u32 root_block; + __u32 pstate_reserved[MD_SB_PERSONALITY_WORDS - 4]; + + mdp_disk_t disks[MD_SB_DISKS]; + + __u32 reserved[MD_SB_RESERVED_WORDS]; + + mdp_disk_t this_disk; +} mdp_super_t; +static inline __u64 md_event(mdp_super_t *sb) { + __u64 ev = sb->events_hi; + return (ev<<32)| sb->events_lo; +} +#define MD_SUPERBLOCK_1_TIME_SEC_MASK ((1ULL<<40) - 1) +struct mdp_superblock_1 { + + __le32 magic; + __le32 major_version; + __le32 feature_map; + __le32 pad0; + __u8 set_uuid[16]; + char set_name[32]; + __le64 ctime; + __le32 level; + __le32 layout; + __le64 size; + __le32 chunksize; + __le32 raid_disks; + union { + __le32 bitmap_offset; + + struct { + __le16 offset; + __le16 size; + } ppl; + }; + + __le32 new_level; + __le64 reshape_position; + __le32 delta_disks; + __le32 new_layout; + __le32 new_chunk; + __le32 new_offset; + + __le64 data_offset; + __le64 data_size; + __le64 super_offset; + union { + __le64 recovery_offset; + __le64 journal_tail; + }; + __le32 dev_number; + __le32 cnt_corrected_read; + __u8 device_uuid[16]; + __u8 devflags; +#define WriteMostly1 1 +#define FailFast1 2 + + __u8 bblog_shift; + __le16 bblog_size; + __le32 bblog_offset; + + __le64 utime; + __le64 events; + __le64 resync_offset; + __le32 sb_csum; + __le32 max_dev; + __u8 pad3[64-32]; + + __le16 dev_roles[0]; +}; +#define MD_FEATURE_BITMAP_OFFSET 1 +#define MD_FEATURE_RECOVERY_OFFSET 2 +#define MD_FEATURE_RESHAPE_ACTIVE 4 +#define MD_FEATURE_BAD_BLOCKS 8 +#define MD_FEATURE_REPLACEMENT 16 +#define MD_FEATURE_RESHAPE_BACKWARDS 32 +#define MD_FEATURE_NEW_OFFSET 64 +#define MD_FEATURE_RECOVERY_BITMAP 128 +#define MD_FEATURE_CLUSTERED 256 +#define MD_FEATURE_JOURNAL 512 +#define MD_FEATURE_PPL 1024 +#define MD_FEATURE_MULTIPLE_PPLS 2048 +#define MD_FEATURE_RAID0_LAYOUT 4096 +#define MD_FEATURE_ALL (MD_FEATURE_BITMAP_OFFSET \ + |MD_FEATURE_RECOVERY_OFFSET \ + |MD_FEATURE_RESHAPE_ACTIVE \ + |MD_FEATURE_BAD_BLOCKS \ + |MD_FEATURE_REPLACEMENT \ + |MD_FEATURE_RESHAPE_BACKWARDS \ + |MD_FEATURE_NEW_OFFSET \ + |MD_FEATURE_RECOVERY_BITMAP \ + |MD_FEATURE_CLUSTERED \ + |MD_FEATURE_JOURNAL \ + |MD_FEATURE_PPL \ + |MD_FEATURE_MULTIPLE_PPLS \ + |MD_FEATURE_RAID0_LAYOUT \ + ) +struct r5l_payload_header { + __le16 type; + __le16 flags; +} __attribute__ ((__packed__)); +enum r5l_payload_type { + R5LOG_PAYLOAD_DATA = 0, + R5LOG_PAYLOAD_PARITY = 1, + R5LOG_PAYLOAD_FLUSH = 2, +}; +struct r5l_payload_data_parity { + struct r5l_payload_header header; + __le32 size; + __le64 location; + __le32 checksum[]; +} __attribute__ ((__packed__)); +enum r5l_payload_data_parity_flag { + R5LOG_PAYLOAD_FLAG_DISCARD = 1, + + R5LOG_PAYLOAD_FLAG_RESHAPED = 2, + R5LOG_PAYLOAD_FLAG_RESHAPING = 3, +}; +struct r5l_payload_flush { + struct r5l_payload_header header; + __le32 size; + __le64 flush_stripes[]; +} __attribute__ ((__packed__)); +enum r5l_payload_flush_flag { + R5LOG_PAYLOAD_FLAG_FLUSH_STRIPE = 1, +}; +struct r5l_meta_block { + __le32 magic; + __le32 checksum; + __u8 version; + __u8 __zero_pading_1; + __le16 __zero_pading_2; + __le32 meta_size; + __le64 seq; + __le64 position; + struct r5l_payload_header payloads[]; +} __attribute__ ((__packed__)); +#define R5LOG_VERSION 0x1 +#define R5LOG_MAGIC 0x6433c509 +struct ppl_header_entry { + __le64 data_sector; + __le32 pp_size; + __le32 data_size; + __le32 parity_disk; + __le32 checksum; +} __attribute__ ((__packed__)); +#define PPL_HEADER_SIZE 4096 +#define PPL_HDR_RESERVED 512 +#define PPL_HDR_ENTRY_SPACE \ + (PPL_HEADER_SIZE - PPL_HDR_RESERVED - 4 * sizeof(__le32) - sizeof(__le64)) +#define PPL_HDR_MAX_ENTRIES \ + (PPL_HDR_ENTRY_SPACE / sizeof(struct ppl_header_entry)) +struct ppl_header { + __u8 reserved[PPL_HDR_RESERVED]; + __le32 signature; + __le32 padding; + __le64 generation; + __le32 entries_count; + __le32 checksum; + struct ppl_header_entry entries[PPL_HDR_MAX_ENTRIES]; +} __attribute__ ((__packed__)); +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/raid/md_u.h b/linux-5.10/prebuilts/usr/include/linux/raid/md_u.h new file mode 100644 index 0000000..9e0eb3a --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/raid/md_u.h @@ -0,0 +1,91 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI_MD_U_H +#define _UAPI_MD_U_H +#define MD_MAJOR_VERSION 0 +#define MD_MINOR_VERSION 90 +#define MD_PATCHLEVEL_VERSION 3 +#define RAID_VERSION _IOR (MD_MAJOR, 0x10, mdu_version_t) +#define GET_ARRAY_INFO _IOR (MD_MAJOR, 0x11, mdu_array_info_t) +#define GET_DISK_INFO _IOR (MD_MAJOR, 0x12, mdu_disk_info_t) +#define RAID_AUTORUN _IO (MD_MAJOR, 0x14) +#define GET_BITMAP_FILE _IOR (MD_MAJOR, 0x15, mdu_bitmap_file_t) +#define CLEAR_ARRAY _IO (MD_MAJOR, 0x20) +#define ADD_NEW_DISK _IOW (MD_MAJOR, 0x21, mdu_disk_info_t) +#define HOT_REMOVE_DISK _IO (MD_MAJOR, 0x22) +#define SET_ARRAY_INFO _IOW (MD_MAJOR, 0x23, mdu_array_info_t) +#define SET_DISK_INFO _IO (MD_MAJOR, 0x24) +#define WRITE_RAID_INFO _IO (MD_MAJOR, 0x25) +#define UNPROTECT_ARRAY _IO (MD_MAJOR, 0x26) +#define PROTECT_ARRAY _IO (MD_MAJOR, 0x27) +#define HOT_ADD_DISK _IO (MD_MAJOR, 0x28) +#define SET_DISK_FAULTY _IO (MD_MAJOR, 0x29) +#define HOT_GENERATE_ERROR _IO (MD_MAJOR, 0x2a) +#define SET_BITMAP_FILE _IOW (MD_MAJOR, 0x2b, int) +#define RUN_ARRAY _IOW (MD_MAJOR, 0x30, mdu_param_t) +#define STOP_ARRAY _IO (MD_MAJOR, 0x32) +#define STOP_ARRAY_RO _IO (MD_MAJOR, 0x33) +#define RESTART_ARRAY_RW _IO (MD_MAJOR, 0x34) +#define CLUSTERED_DISK_NACK _IO (MD_MAJOR, 0x35) +#define MdpMinorShift 6 +typedef struct mdu_version_s { + int major; + int minor; + int patchlevel; +} mdu_version_t; +typedef struct mdu_array_info_s { + + int major_version; + int minor_version; + int patch_version; + unsigned int ctime; + int level; + int size; + int nr_disks; + int raid_disks; + int md_minor; + int not_persistent; + + unsigned int utime; + int state; + int active_disks; + int working_disks; + int failed_disks; + int spare_disks; + + int layout; + int chunk_size; +} mdu_array_info_t; +#define LEVEL_MULTIPATH (-4) +#define LEVEL_LINEAR (-1) +#define LEVEL_FAULTY (-5) +#define LEVEL_NONE (-1000000) +typedef struct mdu_disk_info_s { + + int number; + int major; + int minor; + int raid_disk; + int state; +} mdu_disk_info_t; +typedef struct mdu_start_info_s { + + int major; + int minor; + int raid_disk; + int state; +} mdu_start_info_t; +typedef struct mdu_bitmap_file_s +{ + char pathname[4096]; +} mdu_bitmap_file_t; +typedef struct mdu_param_s +{ + int personality; + int chunk_size; + int max_fault; +} mdu_param_t; +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/random.h b/linux-5.10/prebuilts/usr/include/linux/random.h new file mode 100644 index 0000000..2073d43 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/random.h @@ -0,0 +1,26 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI_LINUX_RANDOM_H +#define _UAPI_LINUX_RANDOM_H +#include +#include +#include +#define RNDGETENTCNT _IOR( 'R', 0x00, int ) +#define RNDADDTOENTCNT _IOW( 'R', 0x01, int ) +#define RNDGETPOOL _IOR( 'R', 0x02, int [2] ) +#define RNDADDENTROPY _IOW( 'R', 0x03, int [2] ) +#define RNDZAPENTCNT _IO( 'R', 0x04 ) +#define RNDCLEARPOOL _IO( 'R', 0x06 ) +#define RNDRESEEDCRNG _IO( 'R', 0x07 ) +struct rand_pool_info { + int entropy_count; + int buf_size; + __u32 buf[0]; +}; +#define GRND_NONBLOCK 0x0001 +#define GRND_RANDOM 0x0002 +#define GRND_INSECURE 0x0004 +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/raw.h b/linux-5.10/prebuilts/usr/include/linux/raw.h new file mode 100644 index 0000000..36f09cf --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/raw.h @@ -0,0 +1,17 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef __LINUX_RAW_H +#define __LINUX_RAW_H +#include +#define RAW_SETBIND _IO( 0xac, 0 ) +#define RAW_GETBIND _IO( 0xac, 1 ) +struct raw_config_request +{ + int raw_minor; + __u64 block_major; + __u64 block_minor; +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/rds.h b/linux-5.10/prebuilts/usr/include/linux/rds.h new file mode 100644 index 0000000..fc577ce --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/rds.h @@ -0,0 +1,271 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _LINUX_RDS_H +#define _LINUX_RDS_H +#include +#include +#include +#define RDS_IB_ABI_VERSION 0x301 +#define SOL_RDS 276 +#define RDS_CANCEL_SENT_TO 1 +#define RDS_GET_MR 2 +#define RDS_FREE_MR 3 +#define RDS_RECVERR 5 +#define RDS_CONG_MONITOR 6 +#define RDS_GET_MR_FOR_DEST 7 +#define SO_RDS_TRANSPORT 8 +#define SO_RDS_MSG_RXPATH_LATENCY 10 +#define RDS_TRANS_IB 0 +#define RDS_TRANS_GAP 1 +#define RDS_TRANS_TCP 2 +#define RDS_TRANS_COUNT 3 +#define RDS_TRANS_NONE (~0) +#define RDS_TRANS_IWARP RDS_TRANS_GAP +#define SIOCRDSSETTOS (SIOCPROTOPRIVATE) +#define SIOCRDSGETTOS (SIOCPROTOPRIVATE + 1) +typedef __u8 rds_tos_t; +#define RDS_CMSG_RDMA_ARGS 1 +#define RDS_CMSG_RDMA_DEST 2 +#define RDS_CMSG_RDMA_MAP 3 +#define RDS_CMSG_RDMA_STATUS 4 +#define RDS_CMSG_CONG_UPDATE 5 +#define RDS_CMSG_ATOMIC_FADD 6 +#define RDS_CMSG_ATOMIC_CSWP 7 +#define RDS_CMSG_MASKED_ATOMIC_FADD 8 +#define RDS_CMSG_MASKED_ATOMIC_CSWP 9 +#define RDS_CMSG_RXPATH_LATENCY 11 +#define RDS_CMSG_ZCOPY_COOKIE 12 +#define RDS_CMSG_ZCOPY_COMPLETION 13 +#define RDS_INFO_FIRST 10000 +#define RDS_INFO_COUNTERS 10000 +#define RDS_INFO_CONNECTIONS 10001 +#define RDS_INFO_SEND_MESSAGES 10003 +#define RDS_INFO_RETRANS_MESSAGES 10004 +#define RDS_INFO_RECV_MESSAGES 10005 +#define RDS_INFO_SOCKETS 10006 +#define RDS_INFO_TCP_SOCKETS 10007 +#define RDS_INFO_IB_CONNECTIONS 10008 +#define RDS_INFO_CONNECTION_STATS 10009 +#define RDS_INFO_IWARP_CONNECTIONS 10010 +#define RDS6_INFO_CONNECTIONS 10011 +#define RDS6_INFO_SEND_MESSAGES 10012 +#define RDS6_INFO_RETRANS_MESSAGES 10013 +#define RDS6_INFO_RECV_MESSAGES 10014 +#define RDS6_INFO_SOCKETS 10015 +#define RDS6_INFO_TCP_SOCKETS 10016 +#define RDS6_INFO_IB_CONNECTIONS 10017 +#define RDS_INFO_LAST 10017 +struct rds_info_counter { + __u8 name[32]; + __u64 value; +} __attribute__((packed)); +#define RDS_INFO_CONNECTION_FLAG_SENDING 0x01 +#define RDS_INFO_CONNECTION_FLAG_CONNECTING 0x02 +#define RDS_INFO_CONNECTION_FLAG_CONNECTED 0x04 +#define TRANSNAMSIZ 16 +struct rds_info_connection { + __u64 next_tx_seq; + __u64 next_rx_seq; + __be32 laddr; + __be32 faddr; + __u8 transport[TRANSNAMSIZ]; + __u8 flags; + __u8 tos; +} __attribute__((packed)); +struct rds6_info_connection { + __u64 next_tx_seq; + __u64 next_rx_seq; + struct in6_addr laddr; + struct in6_addr faddr; + __u8 transport[TRANSNAMSIZ]; + __u8 flags; +} __attribute__((packed)); +#define RDS_INFO_MESSAGE_FLAG_ACK 0x01 +#define RDS_INFO_MESSAGE_FLAG_FAST_ACK 0x02 +struct rds_info_message { + __u64 seq; + __u32 len; + __be32 laddr; + __be32 faddr; + __be16 lport; + __be16 fport; + __u8 flags; + __u8 tos; +} __attribute__((packed)); +struct rds6_info_message { + __u64 seq; + __u32 len; + struct in6_addr laddr; + struct in6_addr faddr; + __be16 lport; + __be16 fport; + __u8 flags; + __u8 tos; +} __attribute__((packed)); +struct rds_info_socket { + __u32 sndbuf; + __be32 bound_addr; + __be32 connected_addr; + __be16 bound_port; + __be16 connected_port; + __u32 rcvbuf; + __u64 inum; +} __attribute__((packed)); +struct rds6_info_socket { + __u32 sndbuf; + struct in6_addr bound_addr; + struct in6_addr connected_addr; + __be16 bound_port; + __be16 connected_port; + __u32 rcvbuf; + __u64 inum; +} __attribute__((packed)); +struct rds_info_tcp_socket { + __be32 local_addr; + __be16 local_port; + __be32 peer_addr; + __be16 peer_port; + __u64 hdr_rem; + __u64 data_rem; + __u32 last_sent_nxt; + __u32 last_expected_una; + __u32 last_seen_una; + __u8 tos; +} __attribute__((packed)); +struct rds6_info_tcp_socket { + struct in6_addr local_addr; + __be16 local_port; + struct in6_addr peer_addr; + __be16 peer_port; + __u64 hdr_rem; + __u64 data_rem; + __u32 last_sent_nxt; + __u32 last_expected_una; + __u32 last_seen_una; +} __attribute__((packed)); +#define RDS_IB_GID_LEN 16 +struct rds_info_rdma_connection { + __be32 src_addr; + __be32 dst_addr; + __u8 src_gid[RDS_IB_GID_LEN]; + __u8 dst_gid[RDS_IB_GID_LEN]; + __u32 max_send_wr; + __u32 max_recv_wr; + __u32 max_send_sge; + __u32 rdma_mr_max; + __u32 rdma_mr_size; + __u8 tos; + __u8 sl; + __u32 cache_allocs; +}; +struct rds6_info_rdma_connection { + struct in6_addr src_addr; + struct in6_addr dst_addr; + __u8 src_gid[RDS_IB_GID_LEN]; + __u8 dst_gid[RDS_IB_GID_LEN]; + __u32 max_send_wr; + __u32 max_recv_wr; + __u32 max_send_sge; + __u32 rdma_mr_max; + __u32 rdma_mr_size; + __u8 tos; + __u8 sl; + __u32 cache_allocs; +}; +enum rds_message_rxpath_latency { + RDS_MSG_RX_HDR_TO_DGRAM_START = 0, + RDS_MSG_RX_DGRAM_REASSEMBLE, + RDS_MSG_RX_DGRAM_DELIVERED, + RDS_MSG_RX_DGRAM_TRACE_MAX +}; +struct rds_rx_trace_so { + __u8 rx_traces; + __u8 rx_trace_pos[RDS_MSG_RX_DGRAM_TRACE_MAX]; +}; +struct rds_cmsg_rx_trace { + __u8 rx_traces; + __u8 rx_trace_pos[RDS_MSG_RX_DGRAM_TRACE_MAX]; + __u64 rx_trace[RDS_MSG_RX_DGRAM_TRACE_MAX]; +}; +#define RDS_CONG_MONITOR_SIZE 64 +#define RDS_CONG_MONITOR_BIT(port) (((unsigned int) port) % RDS_CONG_MONITOR_SIZE) +#define RDS_CONG_MONITOR_MASK(port) (1ULL << RDS_CONG_MONITOR_BIT(port)) +typedef __u64 rds_rdma_cookie_t; +struct rds_iovec { + __u64 addr; + __u64 bytes; +}; +struct rds_get_mr_args { + struct rds_iovec vec; + __u64 cookie_addr; + __u64 flags; +}; +struct rds_get_mr_for_dest_args { + struct sockaddr_storage dest_addr; + struct rds_iovec vec; + __u64 cookie_addr; + __u64 flags; +}; +struct rds_free_mr_args { + rds_rdma_cookie_t cookie; + __u64 flags; +}; +struct rds_rdma_args { + rds_rdma_cookie_t cookie; + struct rds_iovec remote_vec; + __u64 local_vec_addr; + __u64 nr_local; + __u64 flags; + __u64 user_token; +}; +struct rds_atomic_args { + rds_rdma_cookie_t cookie; + __u64 local_addr; + __u64 remote_addr; + union { + struct { + __u64 compare; + __u64 swap; + } cswp; + struct { + __u64 add; + } fadd; + struct { + __u64 compare; + __u64 swap; + __u64 compare_mask; + __u64 swap_mask; + } m_cswp; + struct { + __u64 add; + __u64 nocarry_mask; + } m_fadd; + }; + __u64 flags; + __u64 user_token; +}; +struct rds_rdma_notify { + __u64 user_token; + __s32 status; +}; +#define RDS_RDMA_SUCCESS 0 +#define RDS_RDMA_REMOTE_ERROR 1 +#define RDS_RDMA_CANCELED 2 +#define RDS_RDMA_DROPPED 3 +#define RDS_RDMA_OTHER_ERROR 4 +#define RDS_MAX_ZCOOKIES 8 +struct rds_zcopy_cookies { + __u32 num; + __u32 cookies[RDS_MAX_ZCOOKIES]; +}; +#define RDS_RDMA_READWRITE 0x0001 +#define RDS_RDMA_FENCE 0x0002 +#define RDS_RDMA_INVALIDATE 0x0004 +#define RDS_RDMA_USE_ONCE 0x0008 +#define RDS_RDMA_DONTWAIT 0x0010 +#define RDS_RDMA_NOTIFY_ME 0x0020 +#define RDS_RDMA_SILENT 0x0040 +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/reboot.h b/linux-5.10/prebuilts/usr/include/linux/reboot.h new file mode 100644 index 0000000..2b24f95 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/reboot.h @@ -0,0 +1,21 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI_LINUX_REBOOT_H +#define _UAPI_LINUX_REBOOT_H +#define LINUX_REBOOT_MAGIC1 0xfee1dead +#define LINUX_REBOOT_MAGIC2 672274793 +#define LINUX_REBOOT_MAGIC2A 85072278 +#define LINUX_REBOOT_MAGIC2B 369367448 +#define LINUX_REBOOT_MAGIC2C 537993216 +#define LINUX_REBOOT_CMD_RESTART 0x01234567 +#define LINUX_REBOOT_CMD_HALT 0xCDEF0123 +#define LINUX_REBOOT_CMD_CAD_ON 0x89ABCDEF +#define LINUX_REBOOT_CMD_CAD_OFF 0x00000000 +#define LINUX_REBOOT_CMD_POWER_OFF 0x4321FEDC +#define LINUX_REBOOT_CMD_RESTART2 0xA1B2C3D4 +#define LINUX_REBOOT_CMD_SW_SUSPEND 0xD000FCE2 +#define LINUX_REBOOT_CMD_KEXEC 0x45584543 +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/reiserfs_fs.h b/linux-5.10/prebuilts/usr/include/linux/reiserfs_fs.h new file mode 100644 index 0000000..56defdc --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/reiserfs_fs.h @@ -0,0 +1,15 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _LINUX_REISER_FS_H +#define _LINUX_REISER_FS_H +#include +#include +#define REISERFS_IOC_UNPACK _IOW(0xCD,1,long) +#define REISERFS_IOC_GETFLAGS FS_IOC_GETFLAGS +#define REISERFS_IOC_SETFLAGS FS_IOC_SETFLAGS +#define REISERFS_IOC_GETVERSION FS_IOC_GETVERSION +#define REISERFS_IOC_SETVERSION FS_IOC_SETVERSION +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/reiserfs_xattr.h b/linux-5.10/prebuilts/usr/include/linux/reiserfs_xattr.h new file mode 100644 index 0000000..02b70ae --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/reiserfs_xattr.h @@ -0,0 +1,19 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _LINUX_REISERFS_XATTR_H +#define _LINUX_REISERFS_XATTR_H +#include +#define REISERFS_XATTR_MAGIC 0x52465841 +struct reiserfs_xattr_header { + __le32 h_magic; + __le32 h_hash; +}; +struct reiserfs_security_handle { + const char *name; + void *value; + size_t length; +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/remoteproc_cdev.h b/linux-5.10/prebuilts/usr/include/linux/remoteproc_cdev.h new file mode 100644 index 0000000..3341805 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/remoteproc_cdev.h @@ -0,0 +1,13 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI_REMOTEPROC_CDEV_H_ +#define _UAPI_REMOTEPROC_CDEV_H_ +#include +#include +#define RPROC_MAGIC 0xB7 +#define RPROC_SET_SHUTDOWN_ON_RELEASE _IOW(RPROC_MAGIC, 1, __s32) +#define RPROC_GET_SHUTDOWN_ON_RELEASE _IOR(RPROC_MAGIC, 2, __s32) +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/resource.h b/linux-5.10/prebuilts/usr/include/linux/resource.h new file mode 100644 index 0000000..6aad01a --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/resource.h @@ -0,0 +1,49 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI_LINUX_RESOURCE_H +#define _UAPI_LINUX_RESOURCE_H +#include +#include +#define RUSAGE_SELF 0 +#define RUSAGE_CHILDREN (-1) +#define RUSAGE_BOTH (-2) +#define RUSAGE_THREAD 1 +struct rusage { + struct __kernel_old_timeval ru_utime; + struct __kernel_old_timeval ru_stime; + __kernel_long_t ru_maxrss; + __kernel_long_t ru_ixrss; + __kernel_long_t ru_idrss; + __kernel_long_t ru_isrss; + __kernel_long_t ru_minflt; + __kernel_long_t ru_majflt; + __kernel_long_t ru_nswap; + __kernel_long_t ru_inblock; + __kernel_long_t ru_oublock; + __kernel_long_t ru_msgsnd; + __kernel_long_t ru_msgrcv; + __kernel_long_t ru_nsignals; + __kernel_long_t ru_nvcsw; + __kernel_long_t ru_nivcsw; +}; +struct rlimit { + __kernel_ulong_t rlim_cur; + __kernel_ulong_t rlim_max; +}; +#define RLIM64_INFINITY (~0ULL) +struct rlimit64 { + __u64 rlim_cur; + __u64 rlim_max; +}; +#define PRIO_MIN (-20) +#define PRIO_MAX 20 +#define PRIO_PROCESS 0 +#define PRIO_PGRP 1 +#define PRIO_USER 2 +#define _STK_LIM (8*1024*1024) +#define MLOCK_LIMIT ((PAGE_SIZE > 64*1024) ? PAGE_SIZE : 64*1024) +#include +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/rfkill.h b/linux-5.10/prebuilts/usr/include/linux/rfkill.h new file mode 100644 index 0000000..054e3ab --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/rfkill.h @@ -0,0 +1,40 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI__RFKILL_H +#define _UAPI__RFKILL_H +#include +#define RFKILL_STATE_SOFT_BLOCKED 0 +#define RFKILL_STATE_UNBLOCKED 1 +#define RFKILL_STATE_HARD_BLOCKED 2 +enum rfkill_type { + RFKILL_TYPE_ALL = 0, + RFKILL_TYPE_WLAN, + RFKILL_TYPE_BLUETOOTH, + RFKILL_TYPE_UWB, + RFKILL_TYPE_WIMAX, + RFKILL_TYPE_WWAN, + RFKILL_TYPE_GPS, + RFKILL_TYPE_FM, + RFKILL_TYPE_NFC, + NUM_RFKILL_TYPES, +}; +enum rfkill_operation { + RFKILL_OP_ADD = 0, + RFKILL_OP_DEL, + RFKILL_OP_CHANGE, + RFKILL_OP_CHANGE_ALL, +}; +struct rfkill_event { + __u32 idx; + __u8 type; + __u8 op; + __u8 soft, hard; +} __attribute__((packed)); +#define RFKILL_EVENT_SIZE_V1 8 +#define RFKILL_IOC_MAGIC 'R' +#define RFKILL_IOC_NOINPUT 1 +#define RFKILL_IOCTL_NOINPUT _IO(RFKILL_IOC_MAGIC, RFKILL_IOC_NOINPUT) +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/rio_cm_cdev.h b/linux-5.10/prebuilts/usr/include/linux/rio_cm_cdev.h new file mode 100644 index 0000000..69f6bab --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/rio_cm_cdev.h @@ -0,0 +1,38 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _RIO_CM_CDEV_H_ +#define _RIO_CM_CDEV_H_ +#include +struct rio_cm_channel { + __u16 id; + __u16 remote_channel; + __u16 remote_destid; + __u8 mport_id; +}; +struct rio_cm_msg { + __u16 ch_num; + __u16 size; + __u32 rxto; + __u64 msg; +}; +struct rio_cm_accept { + __u16 ch_num; + __u16 pad0; + __u32 wait_to; +}; +#define RIO_CM_IOC_MAGIC 'c' +#define RIO_CM_EP_GET_LIST_SIZE _IOWR(RIO_CM_IOC_MAGIC, 1, __u32) +#define RIO_CM_EP_GET_LIST _IOWR(RIO_CM_IOC_MAGIC, 2, __u32) +#define RIO_CM_CHAN_CREATE _IOWR(RIO_CM_IOC_MAGIC, 3, __u16) +#define RIO_CM_CHAN_CLOSE _IOW(RIO_CM_IOC_MAGIC, 4, __u16) +#define RIO_CM_CHAN_BIND _IOW(RIO_CM_IOC_MAGIC, 5, struct rio_cm_channel) +#define RIO_CM_CHAN_LISTEN _IOW(RIO_CM_IOC_MAGIC, 6, __u16) +#define RIO_CM_CHAN_ACCEPT _IOWR(RIO_CM_IOC_MAGIC, 7, struct rio_cm_accept) +#define RIO_CM_CHAN_CONNECT _IOW(RIO_CM_IOC_MAGIC, 8, struct rio_cm_channel) +#define RIO_CM_CHAN_SEND _IOW(RIO_CM_IOC_MAGIC, 9, struct rio_cm_msg) +#define RIO_CM_CHAN_RECEIVE _IOWR(RIO_CM_IOC_MAGIC, 10, struct rio_cm_msg) +#define RIO_CM_MPORT_GET_LIST _IOWR(RIO_CM_IOC_MAGIC, 11, __u32) +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/rio_mport_cdev.h b/linux-5.10/prebuilts/usr/include/linux/rio_mport_cdev.h new file mode 100644 index 0000000..431b29e --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/rio_mport_cdev.h @@ -0,0 +1,184 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _RIO_MPORT_CDEV_H_ +#define _RIO_MPORT_CDEV_H_ +#include +#include +struct rio_mport_maint_io { + __u16 rioid; + __u8 hopcount; + __u8 pad0[5]; + __u32 offset; + __u32 length; + __u64 buffer; +}; +#define RIO_TRANSFER_MODE_MAPPED (1 << 0) +#define RIO_TRANSFER_MODE_TRANSFER (1 << 1) +#define RIO_CAP_DBL_SEND (1 << 2) +#define RIO_CAP_DBL_RECV (1 << 3) +#define RIO_CAP_PW_SEND (1 << 4) +#define RIO_CAP_PW_RECV (1 << 5) +#define RIO_CAP_MAP_OUTB (1 << 6) +#define RIO_CAP_MAP_INB (1 << 7) +struct rio_mport_properties { + __u16 hdid; + __u8 id; + __u8 index; + __u32 flags; + __u32 sys_size; + __u8 port_ok; + __u8 link_speed; + __u8 link_width; + __u8 pad0; + __u32 dma_max_sge; + __u32 dma_max_size; + __u32 dma_align; + __u32 transfer_mode; + __u32 cap_sys_size; + __u32 cap_addr_size; + __u32 cap_transfer_mode; + __u32 cap_mport; +}; +#define RIO_DOORBELL (1 << 0) +#define RIO_PORTWRITE (1 << 1) +struct rio_doorbell { + __u16 rioid; + __u16 payload; +}; +struct rio_doorbell_filter { + __u16 rioid; + __u16 low; + __u16 high; + __u16 pad0; +}; +struct rio_portwrite { + __u32 payload[16]; +}; +struct rio_pw_filter { + __u32 mask; + __u32 low; + __u32 high; + __u32 pad0; +}; +#define RIO_MAP_ANY_ADDR (__u64)(~((__u64) 0)) +struct rio_mmap { + __u16 rioid; + __u16 pad0[3]; + __u64 rio_addr; + __u64 length; + __u64 handle; + __u64 address; +}; +struct rio_dma_mem { + __u64 length; + __u64 dma_handle; + __u64 address; +}; +struct rio_event { + __u32 header; + union { + struct rio_doorbell doorbell; + struct rio_portwrite portwrite; + } u; + __u32 pad0; +}; +enum rio_transfer_sync { + RIO_TRANSFER_SYNC, + RIO_TRANSFER_ASYNC, + RIO_TRANSFER_FAF, +}; +enum rio_transfer_dir { + RIO_TRANSFER_DIR_READ, + RIO_TRANSFER_DIR_WRITE, +}; +enum rio_exchange { + RIO_EXCHANGE_DEFAULT, + RIO_EXCHANGE_NWRITE, + RIO_EXCHANGE_SWRITE, + RIO_EXCHANGE_NWRITE_R, + RIO_EXCHANGE_SWRITE_R, + RIO_EXCHANGE_NWRITE_R_ALL, +}; +struct rio_transfer_io { + __u64 rio_addr; + __u64 loc_addr; + __u64 handle; + __u64 offset; + __u64 length; + __u16 rioid; + __u16 method; + __u32 completion_code; +}; +struct rio_transaction { + __u64 block; + __u32 count; + __u32 transfer_mode; + __u16 sync; + __u16 dir; + __u32 pad0; +}; +struct rio_async_tx_wait { + __u32 token; + __u32 timeout; +}; +#define RIO_MAX_DEVNAME_SZ 20 +struct rio_rdev_info { + __u16 destid; + __u8 hopcount; + __u8 pad0; + __u32 comptag; + char name[RIO_MAX_DEVNAME_SZ + 1]; +}; +#define RIO_MPORT_DRV_MAGIC 'm' +#define RIO_MPORT_MAINT_HDID_SET \ + _IOW(RIO_MPORT_DRV_MAGIC, 1, __u16) +#define RIO_MPORT_MAINT_COMPTAG_SET \ + _IOW(RIO_MPORT_DRV_MAGIC, 2, __u32) +#define RIO_MPORT_MAINT_PORT_IDX_GET \ + _IOR(RIO_MPORT_DRV_MAGIC, 3, __u32) +#define RIO_MPORT_GET_PROPERTIES \ + _IOR(RIO_MPORT_DRV_MAGIC, 4, struct rio_mport_properties) +#define RIO_MPORT_MAINT_READ_LOCAL \ + _IOR(RIO_MPORT_DRV_MAGIC, 5, struct rio_mport_maint_io) +#define RIO_MPORT_MAINT_WRITE_LOCAL \ + _IOW(RIO_MPORT_DRV_MAGIC, 6, struct rio_mport_maint_io) +#define RIO_MPORT_MAINT_READ_REMOTE \ + _IOR(RIO_MPORT_DRV_MAGIC, 7, struct rio_mport_maint_io) +#define RIO_MPORT_MAINT_WRITE_REMOTE \ + _IOW(RIO_MPORT_DRV_MAGIC, 8, struct rio_mport_maint_io) +#define RIO_ENABLE_DOORBELL_RANGE \ + _IOW(RIO_MPORT_DRV_MAGIC, 9, struct rio_doorbell_filter) +#define RIO_DISABLE_DOORBELL_RANGE \ + _IOW(RIO_MPORT_DRV_MAGIC, 10, struct rio_doorbell_filter) +#define RIO_ENABLE_PORTWRITE_RANGE \ + _IOW(RIO_MPORT_DRV_MAGIC, 11, struct rio_pw_filter) +#define RIO_DISABLE_PORTWRITE_RANGE \ + _IOW(RIO_MPORT_DRV_MAGIC, 12, struct rio_pw_filter) +#define RIO_SET_EVENT_MASK \ + _IOW(RIO_MPORT_DRV_MAGIC, 13, __u32) +#define RIO_GET_EVENT_MASK \ + _IOR(RIO_MPORT_DRV_MAGIC, 14, __u32) +#define RIO_MAP_OUTBOUND \ + _IOWR(RIO_MPORT_DRV_MAGIC, 15, struct rio_mmap) +#define RIO_UNMAP_OUTBOUND \ + _IOW(RIO_MPORT_DRV_MAGIC, 16, struct rio_mmap) +#define RIO_MAP_INBOUND \ + _IOWR(RIO_MPORT_DRV_MAGIC, 17, struct rio_mmap) +#define RIO_UNMAP_INBOUND \ + _IOW(RIO_MPORT_DRV_MAGIC, 18, __u64) +#define RIO_ALLOC_DMA \ + _IOWR(RIO_MPORT_DRV_MAGIC, 19, struct rio_dma_mem) +#define RIO_FREE_DMA \ + _IOW(RIO_MPORT_DRV_MAGIC, 20, __u64) +#define RIO_TRANSFER \ + _IOWR(RIO_MPORT_DRV_MAGIC, 21, struct rio_transaction) +#define RIO_WAIT_FOR_ASYNC \ + _IOW(RIO_MPORT_DRV_MAGIC, 22, struct rio_async_tx_wait) +#define RIO_DEV_ADD \ + _IOW(RIO_MPORT_DRV_MAGIC, 23, struct rio_rdev_info) +#define RIO_DEV_DEL \ + _IOW(RIO_MPORT_DRV_MAGIC, 24, struct rio_rdev_info) +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/romfs_fs.h b/linux-5.10/prebuilts/usr/include/linux/romfs_fs.h new file mode 100644 index 0000000..dd3186f --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/romfs_fs.h @@ -0,0 +1,47 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef __LINUX_ROMFS_FS_H +#define __LINUX_ROMFS_FS_H +#include +#include +#define ROMBSIZE BLOCK_SIZE +#define ROMBSBITS BLOCK_SIZE_BITS +#define ROMBMASK (ROMBSIZE-1) +#define ROMFS_MAGIC 0x7275 +#define ROMFS_MAXFN 128 +#define __mkw(h,l) (((h)&0x00ff)<< 8|((l)&0x00ff)) +#define __mkl(h,l) (((h)&0xffff)<<16|((l)&0xffff)) +#define __mk4(a,b,c,d) cpu_to_be32(__mkl(__mkw(a,b),__mkw(c,d))) +#define ROMSB_WORD0 __mk4('-','r','o','m') +#define ROMSB_WORD1 __mk4('1','f','s','-') +struct romfs_super_block { + __be32 word0; + __be32 word1; + __be32 size; + __be32 checksum; + char name[0]; +}; +struct romfs_inode { + __be32 next; + __be32 spec; + __be32 size; + __be32 checksum; + char name[0]; +}; +#define ROMFH_TYPE 7 +#define ROMFH_HRD 0 +#define ROMFH_DIR 1 +#define ROMFH_REG 2 +#define ROMFH_SYM 3 +#define ROMFH_BLK 4 +#define ROMFH_CHR 5 +#define ROMFH_SCK 6 +#define ROMFH_FIF 7 +#define ROMFH_EXEC 8 +#define ROMFH_SIZE 16 +#define ROMFH_PAD (ROMFH_SIZE-1) +#define ROMFH_MASK (~ROMFH_PAD) +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/rose.h b/linux-5.10/prebuilts/usr/include/linux/rose.h new file mode 100644 index 0000000..aa834bf --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/rose.h @@ -0,0 +1,76 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef ROSE_KERNEL_H +#define ROSE_KERNEL_H +#include +#include +#define ROSE_MTU 251 +#define ROSE_MAX_DIGIS 6 +#define ROSE_DEFER 1 +#define ROSE_T1 2 +#define ROSE_T2 3 +#define ROSE_T3 4 +#define ROSE_IDLE 5 +#define ROSE_QBITINCL 6 +#define ROSE_HOLDBACK 7 +#define SIOCRSGCAUSE (SIOCPROTOPRIVATE+0) +#define SIOCRSSCAUSE (SIOCPROTOPRIVATE+1) +#define SIOCRSL2CALL (SIOCPROTOPRIVATE+2) +#define SIOCRSSL2CALL (SIOCPROTOPRIVATE+2) +#define SIOCRSACCEPT (SIOCPROTOPRIVATE+3) +#define SIOCRSCLRRT (SIOCPROTOPRIVATE+4) +#define SIOCRSGL2CALL (SIOCPROTOPRIVATE+5) +#define SIOCRSGFACILITIES (SIOCPROTOPRIVATE+6) +#define ROSE_DTE_ORIGINATED 0x00 +#define ROSE_NUMBER_BUSY 0x01 +#define ROSE_INVALID_FACILITY 0x03 +#define ROSE_NETWORK_CONGESTION 0x05 +#define ROSE_OUT_OF_ORDER 0x09 +#define ROSE_ACCESS_BARRED 0x0B +#define ROSE_NOT_OBTAINABLE 0x0D +#define ROSE_REMOTE_PROCEDURE 0x11 +#define ROSE_LOCAL_PROCEDURE 0x13 +#define ROSE_SHIP_ABSENT 0x39 +typedef struct { + char rose_addr[5]; +} rose_address; +struct sockaddr_rose { + __kernel_sa_family_t srose_family; + rose_address srose_addr; + ax25_address srose_call; + int srose_ndigis; + ax25_address srose_digi; +}; +struct full_sockaddr_rose { + __kernel_sa_family_t srose_family; + rose_address srose_addr; + ax25_address srose_call; + unsigned int srose_ndigis; + ax25_address srose_digis[ROSE_MAX_DIGIS]; +}; +struct rose_route_struct { + rose_address address; + unsigned short mask; + ax25_address neighbour; + char device[16]; + unsigned char ndigis; + ax25_address digipeaters[AX25_MAX_DIGIS]; +}; +struct rose_cause_struct { + unsigned char cause; + unsigned char diagnostic; +}; +struct rose_facilities_struct { + rose_address source_addr, dest_addr; + ax25_address source_call, dest_call; + unsigned char source_ndigis, dest_ndigis; + ax25_address source_digis[ROSE_MAX_DIGIS]; + ax25_address dest_digis[ROSE_MAX_DIGIS]; + unsigned int rand; + rose_address fail_addr; + ax25_address fail_call; +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/route.h b/linux-5.10/prebuilts/usr/include/linux/route.h new file mode 100644 index 0000000..bf337e6 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/route.h @@ -0,0 +1,39 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _LINUX_ROUTE_H +#define _LINUX_ROUTE_H +#include +#include +struct rtentry { + unsigned long rt_pad1; + struct sockaddr rt_dst; + struct sockaddr rt_gateway; + struct sockaddr rt_genmask; + unsigned short rt_flags; + short rt_pad2; + unsigned long rt_pad3; + void *rt_pad4; + short rt_metric; + char __user *rt_dev; + unsigned long rt_mtu; +#ifndef __KERNEL__ +#define rt_mss rt_mtu +#endif + unsigned long rt_window; + unsigned short rt_irtt; +}; +#define RTF_UP 0x0001 +#define RTF_GATEWAY 0x0002 +#define RTF_HOST 0x0004 +#define RTF_REINSTATE 0x0008 +#define RTF_DYNAMIC 0x0010 +#define RTF_MODIFIED 0x0020 +#define RTF_MTU 0x0040 +#define RTF_MSS RTF_MTU +#define RTF_WINDOW 0x0080 +#define RTF_IRTT 0x0100 +#define RTF_REJECT 0x0200 +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/rpl.h b/linux-5.10/prebuilts/usr/include/linux/rpl.h new file mode 100644 index 0000000..f4b6b94 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/rpl.h @@ -0,0 +1,37 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI_LINUX_RPL_H +#define _UAPI_LINUX_RPL_H +#include +#include +#include +struct ipv6_rpl_sr_hdr { + __u8 nexthdr; + __u8 hdrlen; + __u8 type; + __u8 segments_left; +#if defined(__LITTLE_ENDIAN_BITFIELD) + __u32 cmpre:4, + cmpri:4, + reserved:4, + pad:4, + reserved1:16; +#elif defined(__BIG_ENDIAN_BITFIELD) + __u32 cmpri:4, + cmpre:4, + pad:4, + reserved:20; +#else +#error "Please fix " +#endif + union { + struct in6_addr addr[0]; + __u8 data[0]; + } segments; +} __attribute__((packed)); +#define rpl_segaddr segments.addr +#define rpl_segdata segments.data +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/rpl_iptunnel.h b/linux-5.10/prebuilts/usr/include/linux/rpl_iptunnel.h new file mode 100644 index 0000000..bdf6d8a --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/rpl_iptunnel.h @@ -0,0 +1,15 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI_LINUX_RPL_IPTUNNEL_H +#define _UAPI_LINUX_RPL_IPTUNNEL_H +enum { + RPL_IPTUNNEL_UNSPEC, + RPL_IPTUNNEL_SRH, + __RPL_IPTUNNEL_MAX, +}; +#define RPL_IPTUNNEL_MAX (__RPL_IPTUNNEL_MAX - 1) +#define RPL_IPTUNNEL_SRH_SIZE(srh) (((srh)->hdrlen + 1) << 3) +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/rpmsg.h b/linux-5.10/prebuilts/usr/include/linux/rpmsg.h new file mode 100644 index 0000000..758e908 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/rpmsg.h @@ -0,0 +1,17 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI_RPMSG_H_ +#define _UAPI_RPMSG_H_ +#include +#include +struct rpmsg_endpoint_info { + char name[32]; + __u32 src; + __u32 dst; +}; +#define RPMSG_CREATE_EPT_IOCTL _IOW(0xb5, 0x1, struct rpmsg_endpoint_info) +#define RPMSG_DESTROY_EPT_IOCTL _IO(0xb5, 0x2) +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/rseq.h b/linux-5.10/prebuilts/usr/include/linux/rseq.h new file mode 100644 index 0000000..2fd7d72 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/rseq.h @@ -0,0 +1,65 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI_LINUX_RSEQ_H +#define _UAPI_LINUX_RSEQ_H +#include +#include +enum rseq_cpu_id_state { + RSEQ_CPU_ID_UNINITIALIZED = -1, + RSEQ_CPU_ID_REGISTRATION_FAILED = -2, +}; +enum rseq_flags { + RSEQ_FLAG_UNREGISTER = (1 << 0), +}; +enum rseq_cs_flags_bit { + RSEQ_CS_FLAG_NO_RESTART_ON_PREEMPT_BIT = 0, + RSEQ_CS_FLAG_NO_RESTART_ON_SIGNAL_BIT = 1, + RSEQ_CS_FLAG_NO_RESTART_ON_MIGRATE_BIT = 2, +}; +enum rseq_cs_flags { + RSEQ_CS_FLAG_NO_RESTART_ON_PREEMPT = + (1U << RSEQ_CS_FLAG_NO_RESTART_ON_PREEMPT_BIT), + RSEQ_CS_FLAG_NO_RESTART_ON_SIGNAL = + (1U << RSEQ_CS_FLAG_NO_RESTART_ON_SIGNAL_BIT), + RSEQ_CS_FLAG_NO_RESTART_ON_MIGRATE = + (1U << RSEQ_CS_FLAG_NO_RESTART_ON_MIGRATE_BIT), +}; +struct rseq_cs { + + __u32 version; + + __u32 flags; + __u64 start_ip; + + __u64 post_commit_offset; + __u64 abort_ip; +} __attribute__((aligned(4 * sizeof(__u64)))); +struct rseq { + + __u32 cpu_id_start; + + __u32 cpu_id; + + union { + __u64 ptr64; +#ifdef __LP64__ + __u64 ptr; +#else + struct { +#if (defined(__BYTE_ORDER) && (__BYTE_ORDER == __BIG_ENDIAN)) || defined(__BIG_ENDIAN) + __u32 padding; + __u32 ptr32; +#else + __u32 ptr32; + __u32 padding; +#endif + } ptr; +#endif + } rseq_cs; + + __u32 flags; +} __attribute__((aligned(4 * sizeof(__u64)))); +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/rtc.h b/linux-5.10/prebuilts/usr/include/linux/rtc.h new file mode 100644 index 0000000..a3f364f --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/rtc.h @@ -0,0 +1,67 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI_LINUX_RTC_H_ +#define _UAPI_LINUX_RTC_H_ +#include +#include +struct rtc_time { + int tm_sec; + int tm_min; + int tm_hour; + int tm_mday; + int tm_mon; + int tm_year; + int tm_wday; + int tm_yday; + int tm_isdst; +}; +struct rtc_wkalrm { + unsigned char enabled; + unsigned char pending; + struct rtc_time time; +}; +struct rtc_pll_info { + int pll_ctrl; + int pll_value; + int pll_max; + int pll_min; + int pll_posmult; + int pll_negmult; + long pll_clock; +}; +#define RTC_AIE_ON _IO('p', 0x01) +#define RTC_AIE_OFF _IO('p', 0x02) +#define RTC_UIE_ON _IO('p', 0x03) +#define RTC_UIE_OFF _IO('p', 0x04) +#define RTC_PIE_ON _IO('p', 0x05) +#define RTC_PIE_OFF _IO('p', 0x06) +#define RTC_WIE_ON _IO('p', 0x0f) +#define RTC_WIE_OFF _IO('p', 0x10) +#define RTC_ALM_SET _IOW('p', 0x07, struct rtc_time) +#define RTC_ALM_READ _IOR('p', 0x08, struct rtc_time) +#define RTC_RD_TIME _IOR('p', 0x09, struct rtc_time) +#define RTC_SET_TIME _IOW('p', 0x0a, struct rtc_time) +#define RTC_IRQP_READ _IOR('p', 0x0b, unsigned long) +#define RTC_IRQP_SET _IOW('p', 0x0c, unsigned long) +#define RTC_EPOCH_READ _IOR('p', 0x0d, unsigned long) +#define RTC_EPOCH_SET _IOW('p', 0x0e, unsigned long) +#define RTC_WKALM_SET _IOW('p', 0x0f, struct rtc_wkalrm) +#define RTC_WKALM_RD _IOR('p', 0x10, struct rtc_wkalrm) +#define RTC_PLL_GET _IOR('p', 0x11, struct rtc_pll_info) +#define RTC_PLL_SET _IOW('p', 0x12, struct rtc_pll_info) +#define RTC_VL_DATA_INVALID _BITUL(0) +#define RTC_VL_BACKUP_LOW _BITUL(1) +#define RTC_VL_BACKUP_EMPTY _BITUL(2) +#define RTC_VL_ACCURACY_LOW _BITUL(3) +#define RTC_VL_BACKUP_SWITCH _BITUL(4) +#define RTC_VL_READ _IOR('p', 0x13, unsigned int) +#define RTC_VL_CLR _IO('p', 0x14) +#define RTC_IRQF 0x80 +#define RTC_PF 0x40 +#define RTC_AF 0x20 +#define RTC_UF 0x10 +#define RTC_MAX_FREQ 8192 +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/rtnetlink.h b/linux-5.10/prebuilts/usr/include/linux/rtnetlink.h new file mode 100644 index 0000000..ff1da3e --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/rtnetlink.h @@ -0,0 +1,576 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI__LINUX_RTNETLINK_H +#define _UAPI__LINUX_RTNETLINK_H +#include +#include +#include +#include +#include +#define RTNL_FAMILY_IPMR 128 +#define RTNL_FAMILY_IP6MR 129 +#define RTNL_FAMILY_MAX 129 +enum { + RTM_BASE = 16, +#define RTM_BASE RTM_BASE + RTM_NEWLINK = 16, +#define RTM_NEWLINK RTM_NEWLINK + RTM_DELLINK, +#define RTM_DELLINK RTM_DELLINK + RTM_GETLINK, +#define RTM_GETLINK RTM_GETLINK + RTM_SETLINK, +#define RTM_SETLINK RTM_SETLINK + RTM_NEWADDR = 20, +#define RTM_NEWADDR RTM_NEWADDR + RTM_DELADDR, +#define RTM_DELADDR RTM_DELADDR + RTM_GETADDR, +#define RTM_GETADDR RTM_GETADDR + RTM_NEWROUTE = 24, +#define RTM_NEWROUTE RTM_NEWROUTE + RTM_DELROUTE, +#define RTM_DELROUTE RTM_DELROUTE + RTM_GETROUTE, +#define RTM_GETROUTE RTM_GETROUTE + RTM_NEWNEIGH = 28, +#define RTM_NEWNEIGH RTM_NEWNEIGH + RTM_DELNEIGH, +#define RTM_DELNEIGH RTM_DELNEIGH + RTM_GETNEIGH, +#define RTM_GETNEIGH RTM_GETNEIGH + RTM_NEWRULE = 32, +#define RTM_NEWRULE RTM_NEWRULE + RTM_DELRULE, +#define RTM_DELRULE RTM_DELRULE + RTM_GETRULE, +#define RTM_GETRULE RTM_GETRULE + RTM_NEWQDISC = 36, +#define RTM_NEWQDISC RTM_NEWQDISC + RTM_DELQDISC, +#define RTM_DELQDISC RTM_DELQDISC + RTM_GETQDISC, +#define RTM_GETQDISC RTM_GETQDISC + RTM_NEWTCLASS = 40, +#define RTM_NEWTCLASS RTM_NEWTCLASS + RTM_DELTCLASS, +#define RTM_DELTCLASS RTM_DELTCLASS + RTM_GETTCLASS, +#define RTM_GETTCLASS RTM_GETTCLASS + RTM_NEWTFILTER = 44, +#define RTM_NEWTFILTER RTM_NEWTFILTER + RTM_DELTFILTER, +#define RTM_DELTFILTER RTM_DELTFILTER + RTM_GETTFILTER, +#define RTM_GETTFILTER RTM_GETTFILTER + RTM_NEWACTION = 48, +#define RTM_NEWACTION RTM_NEWACTION + RTM_DELACTION, +#define RTM_DELACTION RTM_DELACTION + RTM_GETACTION, +#define RTM_GETACTION RTM_GETACTION + RTM_NEWPREFIX = 52, +#define RTM_NEWPREFIX RTM_NEWPREFIX + RTM_GETMULTICAST = 58, +#define RTM_GETMULTICAST RTM_GETMULTICAST + RTM_GETANYCAST = 62, +#define RTM_GETANYCAST RTM_GETANYCAST + RTM_NEWNEIGHTBL = 64, +#define RTM_NEWNEIGHTBL RTM_NEWNEIGHTBL + RTM_GETNEIGHTBL = 66, +#define RTM_GETNEIGHTBL RTM_GETNEIGHTBL + RTM_SETNEIGHTBL, +#define RTM_SETNEIGHTBL RTM_SETNEIGHTBL + RTM_NEWNDUSEROPT = 68, +#define RTM_NEWNDUSEROPT RTM_NEWNDUSEROPT + RTM_NEWADDRLABEL = 72, +#define RTM_NEWADDRLABEL RTM_NEWADDRLABEL + RTM_DELADDRLABEL, +#define RTM_DELADDRLABEL RTM_DELADDRLABEL + RTM_GETADDRLABEL, +#define RTM_GETADDRLABEL RTM_GETADDRLABEL + RTM_GETDCB = 78, +#define RTM_GETDCB RTM_GETDCB + RTM_SETDCB, +#define RTM_SETDCB RTM_SETDCB + RTM_NEWNETCONF = 80, +#define RTM_NEWNETCONF RTM_NEWNETCONF + RTM_DELNETCONF, +#define RTM_DELNETCONF RTM_DELNETCONF + RTM_GETNETCONF = 82, +#define RTM_GETNETCONF RTM_GETNETCONF + RTM_NEWMDB = 84, +#define RTM_NEWMDB RTM_NEWMDB + RTM_DELMDB = 85, +#define RTM_DELMDB RTM_DELMDB + RTM_GETMDB = 86, +#define RTM_GETMDB RTM_GETMDB + RTM_NEWNSID = 88, +#define RTM_NEWNSID RTM_NEWNSID + RTM_DELNSID = 89, +#define RTM_DELNSID RTM_DELNSID + RTM_GETNSID = 90, +#define RTM_GETNSID RTM_GETNSID + RTM_NEWSTATS = 92, +#define RTM_NEWSTATS RTM_NEWSTATS + RTM_GETSTATS = 94, +#define RTM_GETSTATS RTM_GETSTATS + RTM_NEWCACHEREPORT = 96, +#define RTM_NEWCACHEREPORT RTM_NEWCACHEREPORT + RTM_NEWCHAIN = 100, +#define RTM_NEWCHAIN RTM_NEWCHAIN + RTM_DELCHAIN, +#define RTM_DELCHAIN RTM_DELCHAIN + RTM_GETCHAIN, +#define RTM_GETCHAIN RTM_GETCHAIN + RTM_NEWNEXTHOP = 104, +#define RTM_NEWNEXTHOP RTM_NEWNEXTHOP + RTM_DELNEXTHOP, +#define RTM_DELNEXTHOP RTM_DELNEXTHOP + RTM_GETNEXTHOP, +#define RTM_GETNEXTHOP RTM_GETNEXTHOP + RTM_NEWLINKPROP = 108, +#define RTM_NEWLINKPROP RTM_NEWLINKPROP + RTM_DELLINKPROP, +#define RTM_DELLINKPROP RTM_DELLINKPROP + RTM_GETLINKPROP, +#define RTM_GETLINKPROP RTM_GETLINKPROP + RTM_NEWVLAN = 112, +#define RTM_NEWNVLAN RTM_NEWVLAN + RTM_DELVLAN, +#define RTM_DELVLAN RTM_DELVLAN + RTM_GETVLAN, +#define RTM_GETVLAN RTM_GETVLAN + __RTM_MAX, +#define RTM_MAX (((__RTM_MAX + 3) & ~3) - 1) +}; +#define RTM_NR_MSGTYPES (RTM_MAX + 1 - RTM_BASE) +#define RTM_NR_FAMILIES (RTM_NR_MSGTYPES >> 2) +#define RTM_FAM(cmd) (((cmd) - RTM_BASE) >> 2) +struct rtattr { + unsigned short rta_len; + unsigned short rta_type; +}; +#define RTA_ALIGNTO 4U +#define RTA_ALIGN(len) ( ((len)+RTA_ALIGNTO-1) & ~(RTA_ALIGNTO-1) ) +#define RTA_OK(rta,len) ((len) >= (int)sizeof(struct rtattr) && \ + (rta)->rta_len >= sizeof(struct rtattr) && \ + (rta)->rta_len <= (len)) +#define RTA_NEXT(rta,attrlen) ((attrlen) -= RTA_ALIGN((rta)->rta_len), \ + (struct rtattr*)(((char*)(rta)) + RTA_ALIGN((rta)->rta_len))) +#define RTA_LENGTH(len) (RTA_ALIGN(sizeof(struct rtattr)) + (len)) +#define RTA_SPACE(len) RTA_ALIGN(RTA_LENGTH(len)) +#define RTA_DATA(rta) ((void*)(((char*)(rta)) + RTA_LENGTH(0))) +#define RTA_PAYLOAD(rta) ((int)((rta)->rta_len) - RTA_LENGTH(0)) +struct rtmsg { + unsigned char rtm_family; + unsigned char rtm_dst_len; + unsigned char rtm_src_len; + unsigned char rtm_tos; + unsigned char rtm_table; + unsigned char rtm_protocol; + unsigned char rtm_scope; + unsigned char rtm_type; + unsigned rtm_flags; +}; +enum { + RTN_UNSPEC, + RTN_UNICAST, + RTN_LOCAL, + RTN_BROADCAST, + RTN_ANYCAST, + RTN_MULTICAST, + RTN_BLACKHOLE, + RTN_UNREACHABLE, + RTN_PROHIBIT, + RTN_THROW, + RTN_NAT, + RTN_XRESOLVE, + __RTN_MAX +}; +#define RTN_MAX (__RTN_MAX - 1) +#define RTPROT_UNSPEC 0 +#define RTPROT_REDIRECT 1 +#define RTPROT_KERNEL 2 +#define RTPROT_BOOT 3 +#define RTPROT_STATIC 4 +#define RTPROT_GATED 8 +#define RTPROT_RA 9 +#define RTPROT_MRT 10 +#define RTPROT_ZEBRA 11 +#define RTPROT_BIRD 12 +#define RTPROT_DNROUTED 13 +#define RTPROT_XORP 14 +#define RTPROT_NTK 15 +#define RTPROT_DHCP 16 +#define RTPROT_MROUTED 17 +#define RTPROT_KEEPALIVED 18 +#define RTPROT_BABEL 42 +#define RTPROT_BGP 186 +#define RTPROT_ISIS 187 +#define RTPROT_OSPF 188 +#define RTPROT_RIP 189 +#define RTPROT_EIGRP 192 +enum rt_scope_t { + RT_SCOPE_UNIVERSE=0, + RT_SCOPE_SITE=200, + RT_SCOPE_LINK=253, + RT_SCOPE_HOST=254, + RT_SCOPE_NOWHERE=255 +}; +#define RTM_F_NOTIFY 0x100 +#define RTM_F_CLONED 0x200 +#define RTM_F_EQUALIZE 0x400 +#define RTM_F_PREFIX 0x800 +#define RTM_F_LOOKUP_TABLE 0x1000 +#define RTM_F_FIB_MATCH 0x2000 +#define RTM_F_OFFLOAD 0x4000 +#define RTM_F_TRAP 0x8000 +enum rt_class_t { + RT_TABLE_UNSPEC=0, + RT_TABLE_COMPAT=252, + RT_TABLE_DEFAULT=253, + RT_TABLE_MAIN=254, + RT_TABLE_LOCAL=255, + RT_TABLE_MAX=0xFFFFFFFF +}; +enum rtattr_type_t { + RTA_UNSPEC, + RTA_DST, + RTA_SRC, + RTA_IIF, + RTA_OIF, + RTA_GATEWAY, + RTA_PRIORITY, + RTA_PREFSRC, + RTA_METRICS, + RTA_MULTIPATH, + RTA_PROTOINFO, + RTA_FLOW, + RTA_CACHEINFO, + RTA_SESSION, + RTA_MP_ALGO, + RTA_TABLE, + RTA_MARK, + RTA_MFC_STATS, + RTA_VIA, + RTA_NEWDST, + RTA_PREF, + RTA_ENCAP_TYPE, + RTA_ENCAP, + RTA_EXPIRES, + RTA_PAD, + RTA_UID, + RTA_TTL_PROPAGATE, + RTA_IP_PROTO, + RTA_SPORT, + RTA_DPORT, + RTA_NH_ID, + __RTA_MAX +}; +#define RTA_MAX (__RTA_MAX - 1) +#define RTM_RTA(r) ((struct rtattr*)(((char*)(r)) + NLMSG_ALIGN(sizeof(struct rtmsg)))) +#define RTM_PAYLOAD(n) NLMSG_PAYLOAD(n,sizeof(struct rtmsg)) +struct rtnexthop { + unsigned short rtnh_len; + unsigned char rtnh_flags; + unsigned char rtnh_hops; + int rtnh_ifindex; +}; +#define RTNH_F_DEAD 1 +#define RTNH_F_PERVASIVE 2 +#define RTNH_F_ONLINK 4 +#define RTNH_F_OFFLOAD 8 +#define RTNH_F_LINKDOWN 16 +#define RTNH_F_UNRESOLVED 32 +#define RTNH_COMPARE_MASK (RTNH_F_DEAD | RTNH_F_LINKDOWN | RTNH_F_OFFLOAD) +#define RTNH_ALIGNTO 4 +#define RTNH_ALIGN(len) ( ((len)+RTNH_ALIGNTO-1) & ~(RTNH_ALIGNTO-1) ) +#define RTNH_OK(rtnh,len) ((rtnh)->rtnh_len >= sizeof(struct rtnexthop) && \ + ((int)(rtnh)->rtnh_len) <= (len)) +#define RTNH_NEXT(rtnh) ((struct rtnexthop*)(((char*)(rtnh)) + RTNH_ALIGN((rtnh)->rtnh_len))) +#define RTNH_LENGTH(len) (RTNH_ALIGN(sizeof(struct rtnexthop)) + (len)) +#define RTNH_SPACE(len) RTNH_ALIGN(RTNH_LENGTH(len)) +#define RTNH_DATA(rtnh) ((struct rtattr*)(((char*)(rtnh)) + RTNH_LENGTH(0))) +struct rtvia { + __kernel_sa_family_t rtvia_family; + __u8 rtvia_addr[0]; +}; +struct rta_cacheinfo { + __u32 rta_clntref; + __u32 rta_lastuse; + __s32 rta_expires; + __u32 rta_error; + __u32 rta_used; +#define RTNETLINK_HAVE_PEERINFO 1 + __u32 rta_id; + __u32 rta_ts; + __u32 rta_tsage; +}; +enum { + RTAX_UNSPEC, +#define RTAX_UNSPEC RTAX_UNSPEC + RTAX_LOCK, +#define RTAX_LOCK RTAX_LOCK + RTAX_MTU, +#define RTAX_MTU RTAX_MTU + RTAX_WINDOW, +#define RTAX_WINDOW RTAX_WINDOW + RTAX_RTT, +#define RTAX_RTT RTAX_RTT + RTAX_RTTVAR, +#define RTAX_RTTVAR RTAX_RTTVAR + RTAX_SSTHRESH, +#define RTAX_SSTHRESH RTAX_SSTHRESH + RTAX_CWND, +#define RTAX_CWND RTAX_CWND + RTAX_ADVMSS, +#define RTAX_ADVMSS RTAX_ADVMSS + RTAX_REORDERING, +#define RTAX_REORDERING RTAX_REORDERING + RTAX_HOPLIMIT, +#define RTAX_HOPLIMIT RTAX_HOPLIMIT + RTAX_INITCWND, +#define RTAX_INITCWND RTAX_INITCWND + RTAX_FEATURES, +#define RTAX_FEATURES RTAX_FEATURES + RTAX_RTO_MIN, +#define RTAX_RTO_MIN RTAX_RTO_MIN + RTAX_INITRWND, +#define RTAX_INITRWND RTAX_INITRWND + RTAX_QUICKACK, +#define RTAX_QUICKACK RTAX_QUICKACK + RTAX_CC_ALGO, +#define RTAX_CC_ALGO RTAX_CC_ALGO + RTAX_FASTOPEN_NO_COOKIE, +#define RTAX_FASTOPEN_NO_COOKIE RTAX_FASTOPEN_NO_COOKIE + __RTAX_MAX +}; +#define RTAX_MAX (__RTAX_MAX - 1) +#define RTAX_FEATURE_ECN (1 << 0) +#define RTAX_FEATURE_SACK (1 << 1) +#define RTAX_FEATURE_TIMESTAMP (1 << 2) +#define RTAX_FEATURE_ALLFRAG (1 << 3) +#define RTAX_FEATURE_MASK (RTAX_FEATURE_ECN | RTAX_FEATURE_SACK | \ + RTAX_FEATURE_TIMESTAMP | RTAX_FEATURE_ALLFRAG) +struct rta_session { + __u8 proto; + __u8 pad1; + __u16 pad2; + union { + struct { + __u16 sport; + __u16 dport; + } ports; + struct { + __u8 type; + __u8 code; + __u16 ident; + } icmpt; + __u32 spi; + } u; +}; +struct rta_mfc_stats { + __u64 mfcs_packets; + __u64 mfcs_bytes; + __u64 mfcs_wrong_if; +}; +struct rtgenmsg { + unsigned char rtgen_family; +}; +struct ifinfomsg { + unsigned char ifi_family; + unsigned char __ifi_pad; + unsigned short ifi_type; + int ifi_index; + unsigned ifi_flags; + unsigned ifi_change; +}; +struct prefixmsg { + unsigned char prefix_family; + unsigned char prefix_pad1; + unsigned short prefix_pad2; + int prefix_ifindex; + unsigned char prefix_type; + unsigned char prefix_len; + unsigned char prefix_flags; + unsigned char prefix_pad3; +}; +enum +{ + PREFIX_UNSPEC, + PREFIX_ADDRESS, + PREFIX_CACHEINFO, + __PREFIX_MAX +}; +#define PREFIX_MAX (__PREFIX_MAX - 1) +struct prefix_cacheinfo { + __u32 preferred_time; + __u32 valid_time; +}; +struct tcmsg { + unsigned char tcm_family; + unsigned char tcm__pad1; + unsigned short tcm__pad2; + int tcm_ifindex; + __u32 tcm_handle; + __u32 tcm_parent; +#define tcm_block_index tcm_parent + __u32 tcm_info; +}; +#define TCM_IFINDEX_MAGIC_BLOCK (0xFFFFFFFFU) +enum { + TCA_UNSPEC, + TCA_KIND, + TCA_OPTIONS, + TCA_STATS, + TCA_XSTATS, + TCA_RATE, + TCA_FCNT, + TCA_STATS2, + TCA_STAB, + TCA_PAD, + TCA_DUMP_INVISIBLE, + TCA_CHAIN, + TCA_HW_OFFLOAD, + TCA_INGRESS_BLOCK, + TCA_EGRESS_BLOCK, + TCA_DUMP_FLAGS, + __TCA_MAX +}; +#define TCA_MAX (__TCA_MAX - 1) +#define TCA_DUMP_FLAGS_TERSE (1 << 0) +#define TCA_RTA(r) ((struct rtattr*)(((char*)(r)) + NLMSG_ALIGN(sizeof(struct tcmsg)))) +#define TCA_PAYLOAD(n) NLMSG_PAYLOAD(n,sizeof(struct tcmsg)) +struct nduseroptmsg { + unsigned char nduseropt_family; + unsigned char nduseropt_pad1; + unsigned short nduseropt_opts_len; + int nduseropt_ifindex; + __u8 nduseropt_icmp_type; + __u8 nduseropt_icmp_code; + unsigned short nduseropt_pad2; + unsigned int nduseropt_pad3; + +}; +enum { + NDUSEROPT_UNSPEC, + NDUSEROPT_SRCADDR, + __NDUSEROPT_MAX +}; +#define NDUSEROPT_MAX (__NDUSEROPT_MAX - 1) +#ifndef __KERNEL__ +#define RTMGRP_LINK 1 +#define RTMGRP_NOTIFY 2 +#define RTMGRP_NEIGH 4 +#define RTMGRP_TC 8 +#define RTMGRP_IPV4_IFADDR 0x10 +#define RTMGRP_IPV4_MROUTE 0x20 +#define RTMGRP_IPV4_ROUTE 0x40 +#define RTMGRP_IPV4_RULE 0x80 +#define RTMGRP_IPV6_IFADDR 0x100 +#define RTMGRP_IPV6_MROUTE 0x200 +#define RTMGRP_IPV6_ROUTE 0x400 +#define RTMGRP_IPV6_IFINFO 0x800 +#define RTMGRP_DECnet_IFADDR 0x1000 +#define RTMGRP_DECnet_ROUTE 0x4000 +#define RTMGRP_IPV6_PREFIX 0x20000 +#endif +enum rtnetlink_groups { + RTNLGRP_NONE, +#define RTNLGRP_NONE RTNLGRP_NONE + RTNLGRP_LINK, +#define RTNLGRP_LINK RTNLGRP_LINK + RTNLGRP_NOTIFY, +#define RTNLGRP_NOTIFY RTNLGRP_NOTIFY + RTNLGRP_NEIGH, +#define RTNLGRP_NEIGH RTNLGRP_NEIGH + RTNLGRP_TC, +#define RTNLGRP_TC RTNLGRP_TC + RTNLGRP_IPV4_IFADDR, +#define RTNLGRP_IPV4_IFADDR RTNLGRP_IPV4_IFADDR + RTNLGRP_IPV4_MROUTE, +#define RTNLGRP_IPV4_MROUTE RTNLGRP_IPV4_MROUTE + RTNLGRP_IPV4_ROUTE, +#define RTNLGRP_IPV4_ROUTE RTNLGRP_IPV4_ROUTE + RTNLGRP_IPV4_RULE, +#define RTNLGRP_IPV4_RULE RTNLGRP_IPV4_RULE + RTNLGRP_IPV6_IFADDR, +#define RTNLGRP_IPV6_IFADDR RTNLGRP_IPV6_IFADDR + RTNLGRP_IPV6_MROUTE, +#define RTNLGRP_IPV6_MROUTE RTNLGRP_IPV6_MROUTE + RTNLGRP_IPV6_ROUTE, +#define RTNLGRP_IPV6_ROUTE RTNLGRP_IPV6_ROUTE + RTNLGRP_IPV6_IFINFO, +#define RTNLGRP_IPV6_IFINFO RTNLGRP_IPV6_IFINFO + RTNLGRP_DECnet_IFADDR, +#define RTNLGRP_DECnet_IFADDR RTNLGRP_DECnet_IFADDR + RTNLGRP_NOP2, + RTNLGRP_DECnet_ROUTE, +#define RTNLGRP_DECnet_ROUTE RTNLGRP_DECnet_ROUTE + RTNLGRP_DECnet_RULE, +#define RTNLGRP_DECnet_RULE RTNLGRP_DECnet_RULE + RTNLGRP_NOP4, + RTNLGRP_IPV6_PREFIX, +#define RTNLGRP_IPV6_PREFIX RTNLGRP_IPV6_PREFIX + RTNLGRP_IPV6_RULE, +#define RTNLGRP_IPV6_RULE RTNLGRP_IPV6_RULE + RTNLGRP_ND_USEROPT, +#define RTNLGRP_ND_USEROPT RTNLGRP_ND_USEROPT + RTNLGRP_PHONET_IFADDR, +#define RTNLGRP_PHONET_IFADDR RTNLGRP_PHONET_IFADDR + RTNLGRP_PHONET_ROUTE, +#define RTNLGRP_PHONET_ROUTE RTNLGRP_PHONET_ROUTE + RTNLGRP_DCB, +#define RTNLGRP_DCB RTNLGRP_DCB + RTNLGRP_IPV4_NETCONF, +#define RTNLGRP_IPV4_NETCONF RTNLGRP_IPV4_NETCONF + RTNLGRP_IPV6_NETCONF, +#define RTNLGRP_IPV6_NETCONF RTNLGRP_IPV6_NETCONF + RTNLGRP_MDB, +#define RTNLGRP_MDB RTNLGRP_MDB + RTNLGRP_MPLS_ROUTE, +#define RTNLGRP_MPLS_ROUTE RTNLGRP_MPLS_ROUTE + RTNLGRP_NSID, +#define RTNLGRP_NSID RTNLGRP_NSID + RTNLGRP_MPLS_NETCONF, +#define RTNLGRP_MPLS_NETCONF RTNLGRP_MPLS_NETCONF + RTNLGRP_IPV4_MROUTE_R, +#define RTNLGRP_IPV4_MROUTE_R RTNLGRP_IPV4_MROUTE_R + RTNLGRP_IPV6_MROUTE_R, +#define RTNLGRP_IPV6_MROUTE_R RTNLGRP_IPV6_MROUTE_R + RTNLGRP_NEXTHOP, +#define RTNLGRP_NEXTHOP RTNLGRP_NEXTHOP + RTNLGRP_BRVLAN, +#define RTNLGRP_BRVLAN RTNLGRP_BRVLAN + __RTNLGRP_MAX +}; +#define RTNLGRP_MAX (__RTNLGRP_MAX - 1) +struct tcamsg { + unsigned char tca_family; + unsigned char tca__pad1; + unsigned short tca__pad2; +}; +enum { + TCA_ROOT_UNSPEC, + TCA_ROOT_TAB, +#define TCA_ACT_TAB TCA_ROOT_TAB +#define TCAA_MAX TCA_ROOT_TAB + TCA_ROOT_FLAGS, + TCA_ROOT_COUNT, + TCA_ROOT_TIME_DELTA, + __TCA_ROOT_MAX, +#define TCA_ROOT_MAX (__TCA_ROOT_MAX - 1) +}; +#define TA_RTA(r) ((struct rtattr*)(((char*)(r)) + NLMSG_ALIGN(sizeof(struct tcamsg)))) +#define TA_PAYLOAD(n) NLMSG_PAYLOAD(n,sizeof(struct tcamsg)) +#define TCA_FLAG_LARGE_DUMP_ON (1 << 0) +#define RTEXT_FILTER_VF (1 << 0) +#define RTEXT_FILTER_BRVLAN (1 << 1) +#define RTEXT_FILTER_BRVLAN_COMPRESSED (1 << 2) +#define RTEXT_FILTER_SKIP_STATS (1 << 3) +#define RTEXT_FILTER_MRP (1 << 4) +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/rxrpc.h b/linux-5.10/prebuilts/usr/include/linux/rxrpc.h new file mode 100644 index 0000000..73ddb41 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/rxrpc.h @@ -0,0 +1,79 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI_LINUX_RXRPC_H +#define _UAPI_LINUX_RXRPC_H +#include +#include +#include +struct sockaddr_rxrpc { + __kernel_sa_family_t srx_family; + __u16 srx_service; + __u16 transport_type; + __u16 transport_len; + union { + __kernel_sa_family_t family; + struct sockaddr_in sin; + struct sockaddr_in6 sin6; + } transport; +}; +#define RXRPC_SECURITY_KEY 1 +#define RXRPC_SECURITY_KEYRING 2 +#define RXRPC_EXCLUSIVE_CONNECTION 3 +#define RXRPC_MIN_SECURITY_LEVEL 4 +#define RXRPC_UPGRADEABLE_SERVICE 5 +#define RXRPC_SUPPORTED_CMSG 6 +enum rxrpc_cmsg_type { + RXRPC_USER_CALL_ID = 1, + RXRPC_ABORT = 2, + RXRPC_ACK = 3, + RXRPC_NET_ERROR = 5, + RXRPC_BUSY = 6, + RXRPC_LOCAL_ERROR = 7, + RXRPC_NEW_CALL = 8, + RXRPC_EXCLUSIVE_CALL = 10, + RXRPC_UPGRADE_SERVICE = 11, + RXRPC_TX_LENGTH = 12, + RXRPC_SET_CALL_TIMEOUT = 13, + RXRPC_CHARGE_ACCEPT = 14, + RXRPC__SUPPORTED +}; +#define RXRPC_SECURITY_PLAIN 0 +#define RXRPC_SECURITY_AUTH 1 +#define RXRPC_SECURITY_ENCRYPT 2 +#define RXRPC_SECURITY_NONE 0 +#define RXRPC_SECURITY_RXKAD 2 +#define RXRPC_SECURITY_RXGK 4 +#define RXRPC_SECURITY_RXK5 5 +#define RX_CALL_DEAD -1 +#define RX_INVALID_OPERATION -2 +#define RX_CALL_TIMEOUT -3 +#define RX_EOF -4 +#define RX_PROTOCOL_ERROR -5 +#define RX_USER_ABORT -6 +#define RX_ADDRINUSE -7 +#define RX_DEBUGI_BADTYPE -8 +#define RXGEN_CC_MARSHAL -450 +#define RXGEN_CC_UNMARSHAL -451 +#define RXGEN_SS_MARSHAL -452 +#define RXGEN_SS_UNMARSHAL -453 +#define RXGEN_DECODE -454 +#define RXGEN_OPCODE -455 +#define RXGEN_SS_XDRFREE -456 +#define RXGEN_CC_XDRFREE -457 +#define RXKADINCONSISTENCY 19270400 +#define RXKADPACKETSHORT 19270401 +#define RXKADLEVELFAIL 19270402 +#define RXKADTICKETLEN 19270403 +#define RXKADOUTOFSEQUENCE 19270404 +#define RXKADNOAUTH 19270405 +#define RXKADBADKEY 19270406 +#define RXKADBADTICKET 19270407 +#define RXKADUNKNOWNKEY 19270408 +#define RXKADEXPIRED 19270409 +#define RXKADSEALEDINCON 19270410 +#define RXKADDATALEN 19270411 +#define RXKADILLEGALLEVEL 19270412 +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/scc.h b/linux-5.10/prebuilts/usr/include/linux/scc.h new file mode 100644 index 0000000..02b8f6d --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/scc.h @@ -0,0 +1,130 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI_SCC_H +#define _UAPI_SCC_H +#include +#define PA0HZP 0x00 +#define EAGLE 0x01 +#define PC100 0x02 +#define PRIMUS 0x04 +#define DRSI 0x08 +#define BAYCOM 0x10 +enum SCC_ioctl_cmds { + SIOCSCCRESERVED = SIOCDEVPRIVATE, + SIOCSCCCFG, + SIOCSCCINI, + SIOCSCCCHANINI, + SIOCSCCSMEM, + SIOCSCCGKISS, + SIOCSCCSKISS, + SIOCSCCGSTAT, + SIOCSCCCAL +}; +enum L1_params { + PARAM_DATA, + PARAM_TXDELAY, + PARAM_PERSIST, + PARAM_SLOTTIME, + PARAM_TXTAIL, + PARAM_FULLDUP, + PARAM_SOFTDCD, + PARAM_MUTE, + PARAM_DTR, + PARAM_RTS, + PARAM_SPEED, + PARAM_ENDDELAY, + PARAM_GROUP, + PARAM_IDLE, + PARAM_MIN, + PARAM_MAXKEY, + PARAM_WAIT, + PARAM_MAXDEFER, + PARAM_TX, + PARAM_HWEVENT = 31, + PARAM_RETURN = 255 +}; +enum FULLDUP_modes { + KISS_DUPLEX_HALF, + KISS_DUPLEX_FULL, + KISS_DUPLEX_LINK, + KISS_DUPLEX_OPTIMA +}; +#define TIMER_OFF 65535U +#define NO_SUCH_PARAM 65534U +enum HWEVENT_opts { + HWEV_DCD_ON, + HWEV_DCD_OFF, + HWEV_ALL_SENT +}; +#define RXGROUP 0100 +#define TXGROUP 0200 +enum CLOCK_sources { + CLK_DPLL, + CLK_EXTERNAL, + CLK_DIVIDER, + + CLK_BRG + +}; +enum TX_state { + TXS_IDLE, + TXS_BUSY, + TXS_ACTIVE, + TXS_NEWFRAME, + TXS_IDLE2, + TXS_WAIT, + TXS_TIMEOUT +}; +typedef unsigned long io_port; +struct scc_stat { + long rxints; + long txints; + long exints; + long spints; + long txframes; + long rxframes; + long rxerrs; + long txerrs; + + unsigned int nospace; + unsigned int rx_over; + unsigned int tx_under; + unsigned int tx_state; + int tx_queued; + unsigned int maxqueue; + unsigned int bufsize; +}; +struct scc_modem { + long speed; + char clocksrc; + char nrz; +}; +struct scc_kiss_cmd { + int command; + unsigned param; +}; +struct scc_hw_config { + io_port data_a; + io_port ctrl_a; + io_port data_b; + io_port ctrl_b; + io_port vector_latch; + io_port special; + int irq; + long clock; + char option; + char brand; + char escc; +}; +struct scc_mem_config { + unsigned int dummy; + unsigned int bufsize; +}; +struct scc_calibrate { + unsigned int time; + unsigned char pattern; +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/sched.h b/linux-5.10/prebuilts/usr/include/linux/sched.h new file mode 100644 index 0000000..5f5b413 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/sched.h @@ -0,0 +1,78 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI_LINUX_SCHED_H +#define _UAPI_LINUX_SCHED_H +#include +#define CSIGNAL 0x000000ff +#define CLONE_VM 0x00000100 +#define CLONE_FS 0x00000200 +#define CLONE_FILES 0x00000400 +#define CLONE_SIGHAND 0x00000800 +#define CLONE_PIDFD 0x00001000 +#define CLONE_PTRACE 0x00002000 +#define CLONE_VFORK 0x00004000 +#define CLONE_PARENT 0x00008000 +#define CLONE_THREAD 0x00010000 +#define CLONE_NEWNS 0x00020000 +#define CLONE_SYSVSEM 0x00040000 +#define CLONE_SETTLS 0x00080000 +#define CLONE_PARENT_SETTID 0x00100000 +#define CLONE_CHILD_CLEARTID 0x00200000 +#define CLONE_DETACHED 0x00400000 +#define CLONE_UNTRACED 0x00800000 +#define CLONE_CHILD_SETTID 0x01000000 +#define CLONE_NEWCGROUP 0x02000000 +#define CLONE_NEWUTS 0x04000000 +#define CLONE_NEWIPC 0x08000000 +#define CLONE_NEWUSER 0x10000000 +#define CLONE_NEWPID 0x20000000 +#define CLONE_NEWNET 0x40000000 +#define CLONE_IO 0x80000000 +#define CLONE_CLEAR_SIGHAND 0x100000000ULL +#define CLONE_INTO_CGROUP 0x200000000ULL +#define CLONE_NEWTIME 0x00000080 +#ifndef __ASSEMBLY__ +struct clone_args { + __aligned_u64 flags; + __aligned_u64 pidfd; + __aligned_u64 child_tid; + __aligned_u64 parent_tid; + __aligned_u64 exit_signal; + __aligned_u64 stack; + __aligned_u64 stack_size; + __aligned_u64 tls; + __aligned_u64 set_tid; + __aligned_u64 set_tid_size; + __aligned_u64 cgroup; +}; +#endif +#define CLONE_ARGS_SIZE_VER0 64 +#define CLONE_ARGS_SIZE_VER1 80 +#define CLONE_ARGS_SIZE_VER2 88 +#define SCHED_NORMAL 0 +#define SCHED_FIFO 1 +#define SCHED_RR 2 +#define SCHED_BATCH 3 +#define SCHED_IDLE 5 +#define SCHED_DEADLINE 6 +#define SCHED_RESET_ON_FORK 0x40000000 +#define SCHED_FLAG_RESET_ON_FORK 0x01 +#define SCHED_FLAG_RECLAIM 0x02 +#define SCHED_FLAG_DL_OVERRUN 0x04 +#define SCHED_FLAG_KEEP_POLICY 0x08 +#define SCHED_FLAG_KEEP_PARAMS 0x10 +#define SCHED_FLAG_UTIL_CLAMP_MIN 0x20 +#define SCHED_FLAG_UTIL_CLAMP_MAX 0x40 +#define SCHED_FLAG_KEEP_ALL (SCHED_FLAG_KEEP_POLICY | \ + SCHED_FLAG_KEEP_PARAMS) +#define SCHED_FLAG_UTIL_CLAMP (SCHED_FLAG_UTIL_CLAMP_MIN | \ + SCHED_FLAG_UTIL_CLAMP_MAX) +#define SCHED_FLAG_ALL (SCHED_FLAG_RESET_ON_FORK | \ + SCHED_FLAG_RECLAIM | \ + SCHED_FLAG_DL_OVERRUN | \ + SCHED_FLAG_KEEP_ALL | \ + SCHED_FLAG_UTIL_CLAMP) +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/sched/types.h b/linux-5.10/prebuilts/usr/include/linux/sched/types.h new file mode 100644 index 0000000..2508d30 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/sched/types.h @@ -0,0 +1,30 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI_LINUX_SCHED_TYPES_H +#define _UAPI_LINUX_SCHED_TYPES_H +#include +struct sched_param { + int sched_priority; +}; +#define SCHED_ATTR_SIZE_VER0 48 +#define SCHED_ATTR_SIZE_VER1 56 +struct sched_attr { + __u32 size; + __u32 sched_policy; + __u64 sched_flags; + + __s32 sched_nice; + + __u32 sched_priority; + + __u64 sched_runtime; + __u64 sched_deadline; + __u64 sched_period; + + __u32 sched_util_min; + __u32 sched_util_max; +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/scif_ioctl.h b/linux-5.10/prebuilts/usr/include/linux/scif_ioctl.h new file mode 100644 index 0000000..ff55f82 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/scif_ioctl.h @@ -0,0 +1,80 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef SCIF_IOCTL_H +#define SCIF_IOCTL_H +#include +struct scif_port_id { + __u16 node; + __u16 port; +}; +struct scifioctl_connect { + struct scif_port_id self; + struct scif_port_id peer; +}; +struct scifioctl_accept { + __s32 flags; + struct scif_port_id peer; + __u64 endpt; +}; +struct scifioctl_msg { + __u64 msg; + __s32 len; + __s32 flags; + __s32 out_len; +}; +struct scifioctl_reg { + __u64 addr; + __u64 len; + __s64 offset; + __s32 prot; + __s32 flags; + __s64 out_offset; +}; +struct scifioctl_unreg { + __s64 offset; + __u64 len; +}; +struct scifioctl_copy { + __s64 loffset; + __u64 len; + __s64 roffset; + __u64 addr; + __s32 flags; +}; +struct scifioctl_fence_mark { + __s32 flags; + __u64 mark; +}; +struct scifioctl_fence_signal { + __s64 loff; + __u64 lval; + __s64 roff; + __u64 rval; + __s32 flags; +}; +struct scifioctl_node_ids { + __u64 nodes; + __u64 self; + __s32 len; +}; +#define SCIF_BIND _IOWR('s', 1, __u64) +#define SCIF_LISTEN _IOW('s', 2, __s32) +#define SCIF_CONNECT _IOWR('s', 3, struct scifioctl_connect) +#define SCIF_ACCEPTREQ _IOWR('s', 4, struct scifioctl_accept) +#define SCIF_ACCEPTREG _IOWR('s', 5, __u64) +#define SCIF_SEND _IOWR('s', 6, struct scifioctl_msg) +#define SCIF_RECV _IOWR('s', 7, struct scifioctl_msg) +#define SCIF_REG _IOWR('s', 8, struct scifioctl_reg) +#define SCIF_UNREG _IOWR('s', 9, struct scifioctl_unreg) +#define SCIF_READFROM _IOWR('s', 10, struct scifioctl_copy) +#define SCIF_WRITETO _IOWR('s', 11, struct scifioctl_copy) +#define SCIF_VREADFROM _IOWR('s', 12, struct scifioctl_copy) +#define SCIF_VWRITETO _IOWR('s', 13, struct scifioctl_copy) +#define SCIF_GET_NODEIDS _IOWR('s', 14, struct scifioctl_node_ids) +#define SCIF_FENCE_MARK _IOWR('s', 15, struct scifioctl_fence_mark) +#define SCIF_FENCE_WAIT _IOWR('s', 16, __s32) +#define SCIF_FENCE_SIGNAL _IOWR('s', 17, struct scifioctl_fence_signal) +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/screen_info.h b/linux-5.10/prebuilts/usr/include/linux/screen_info.h new file mode 100644 index 0000000..b07523f --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/screen_info.h @@ -0,0 +1,64 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI_SCREEN_INFO_H +#define _UAPI_SCREEN_INFO_H +#include +struct screen_info { + __u8 orig_x; + __u8 orig_y; + __u16 ext_mem_k; + __u16 orig_video_page; + __u8 orig_video_mode; + __u8 orig_video_cols; + __u8 flags; + __u8 unused2; + __u16 orig_video_ega_bx; + __u16 unused3; + __u8 orig_video_lines; + __u8 orig_video_isVGA; + __u16 orig_video_points; + + __u16 lfb_width; + __u16 lfb_height; + __u16 lfb_depth; + __u32 lfb_base; + __u32 lfb_size; + __u16 cl_magic, cl_offset; + __u16 lfb_linelength; + __u8 red_size; + __u8 red_pos; + __u8 green_size; + __u8 green_pos; + __u8 blue_size; + __u8 blue_pos; + __u8 rsvd_size; + __u8 rsvd_pos; + __u16 vesapm_seg; + __u16 vesapm_off; + __u16 pages; + __u16 vesa_attributes; + __u32 capabilities; + __u32 ext_lfb_base; + __u8 _reserved[2]; +} __attribute__((packed)); +#define VIDEO_TYPE_MDA 0x10 +#define VIDEO_TYPE_CGA 0x11 +#define VIDEO_TYPE_EGAM 0x20 +#define VIDEO_TYPE_EGAC 0x21 +#define VIDEO_TYPE_VGAC 0x22 +#define VIDEO_TYPE_VLFB 0x23 +#define VIDEO_TYPE_PICA_S3 0x30 +#define VIDEO_TYPE_MIPS_G364 0x31 +#define VIDEO_TYPE_SGI 0x33 +#define VIDEO_TYPE_TGAC 0x40 +#define VIDEO_TYPE_SUN 0x50 +#define VIDEO_TYPE_SUNPCI 0x51 +#define VIDEO_TYPE_PMAC 0x60 +#define VIDEO_TYPE_EFI 0x70 +#define VIDEO_FLAGS_NOCURSOR (1 << 0) +#define VIDEO_CAPABILITY_SKIP_QUIRKS (1 << 0) +#define VIDEO_CAPABILITY_64BIT_BASE (1 << 1) +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/sctp.h b/linux-5.10/prebuilts/usr/include/linux/sctp.h new file mode 100644 index 0000000..46db72c --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/sctp.h @@ -0,0 +1,707 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI_SCTP_H +#define _UAPI_SCTP_H +#include +#include +typedef __s32 sctp_assoc_t; +#define SCTP_FUTURE_ASSOC 0 +#define SCTP_CURRENT_ASSOC 1 +#define SCTP_ALL_ASSOC 2 +#define SCTP_RTOINFO 0 +#define SCTP_ASSOCINFO 1 +#define SCTP_INITMSG 2 +#define SCTP_NODELAY 3 +#define SCTP_AUTOCLOSE 4 +#define SCTP_SET_PEER_PRIMARY_ADDR 5 +#define SCTP_PRIMARY_ADDR 6 +#define SCTP_ADAPTATION_LAYER 7 +#define SCTP_DISABLE_FRAGMENTS 8 +#define SCTP_PEER_ADDR_PARAMS 9 +#define SCTP_DEFAULT_SEND_PARAM 10 +#define SCTP_EVENTS 11 +#define SCTP_I_WANT_MAPPED_V4_ADDR 12 +#define SCTP_MAXSEG 13 +#define SCTP_STATUS 14 +#define SCTP_GET_PEER_ADDR_INFO 15 +#define SCTP_DELAYED_ACK_TIME 16 +#define SCTP_DELAYED_ACK SCTP_DELAYED_ACK_TIME +#define SCTP_DELAYED_SACK SCTP_DELAYED_ACK_TIME +#define SCTP_CONTEXT 17 +#define SCTP_FRAGMENT_INTERLEAVE 18 +#define SCTP_PARTIAL_DELIVERY_POINT 19 +#define SCTP_MAX_BURST 20 +#define SCTP_AUTH_CHUNK 21 +#define SCTP_HMAC_IDENT 22 +#define SCTP_AUTH_KEY 23 +#define SCTP_AUTH_ACTIVE_KEY 24 +#define SCTP_AUTH_DELETE_KEY 25 +#define SCTP_PEER_AUTH_CHUNKS 26 +#define SCTP_LOCAL_AUTH_CHUNKS 27 +#define SCTP_GET_ASSOC_NUMBER 28 +#define SCTP_GET_ASSOC_ID_LIST 29 +#define SCTP_AUTO_ASCONF 30 +#define SCTP_PEER_ADDR_THLDS 31 +#define SCTP_RECVRCVINFO 32 +#define SCTP_RECVNXTINFO 33 +#define SCTP_DEFAULT_SNDINFO 34 +#define SCTP_AUTH_DEACTIVATE_KEY 35 +#define SCTP_REUSE_PORT 36 +#define SCTP_PEER_ADDR_THLDS_V2 37 +#define SCTP_SOCKOPT_BINDX_ADD 100 +#define SCTP_SOCKOPT_BINDX_REM 101 +#define SCTP_SOCKOPT_PEELOFF 102 +#define SCTP_SOCKOPT_CONNECTX_OLD 107 +#define SCTP_GET_PEER_ADDRS 108 +#define SCTP_GET_LOCAL_ADDRS 109 +#define SCTP_SOCKOPT_CONNECTX 110 +#define SCTP_SOCKOPT_CONNECTX3 111 +#define SCTP_GET_ASSOC_STATS 112 +#define SCTP_PR_SUPPORTED 113 +#define SCTP_DEFAULT_PRINFO 114 +#define SCTP_PR_ASSOC_STATUS 115 +#define SCTP_PR_STREAM_STATUS 116 +#define SCTP_RECONFIG_SUPPORTED 117 +#define SCTP_ENABLE_STREAM_RESET 118 +#define SCTP_RESET_STREAMS 119 +#define SCTP_RESET_ASSOC 120 +#define SCTP_ADD_STREAMS 121 +#define SCTP_SOCKOPT_PEELOFF_FLAGS 122 +#define SCTP_STREAM_SCHEDULER 123 +#define SCTP_STREAM_SCHEDULER_VALUE 124 +#define SCTP_INTERLEAVING_SUPPORTED 125 +#define SCTP_SENDMSG_CONNECT 126 +#define SCTP_EVENT 127 +#define SCTP_ASCONF_SUPPORTED 128 +#define SCTP_AUTH_SUPPORTED 129 +#define SCTP_ECN_SUPPORTED 130 +#define SCTP_EXPOSE_POTENTIALLY_FAILED_STATE 131 +#define SCTP_EXPOSE_PF_STATE SCTP_EXPOSE_POTENTIALLY_FAILED_STATE +#define SCTP_PR_SCTP_NONE 0x0000 +#define SCTP_PR_SCTP_TTL 0x0010 +#define SCTP_PR_SCTP_RTX 0x0020 +#define SCTP_PR_SCTP_PRIO 0x0030 +#define SCTP_PR_SCTP_MAX SCTP_PR_SCTP_PRIO +#define SCTP_PR_SCTP_MASK 0x0030 +#define __SCTP_PR_INDEX(x) ((x >> 4) - 1) +#define SCTP_PR_INDEX(x) __SCTP_PR_INDEX(SCTP_PR_SCTP_ ## x) +#define SCTP_PR_POLICY(x) ((x) & SCTP_PR_SCTP_MASK) +#define SCTP_PR_SET_POLICY(flags, x) \ + do { \ + flags &= ~SCTP_PR_SCTP_MASK; \ + flags |= x; \ + } while (0) +#define SCTP_PR_TTL_ENABLED(x) (SCTP_PR_POLICY(x) == SCTP_PR_SCTP_TTL) +#define SCTP_PR_RTX_ENABLED(x) (SCTP_PR_POLICY(x) == SCTP_PR_SCTP_RTX) +#define SCTP_PR_PRIO_ENABLED(x) (SCTP_PR_POLICY(x) == SCTP_PR_SCTP_PRIO) +#define SCTP_ENABLE_RESET_STREAM_REQ 0x01 +#define SCTP_ENABLE_RESET_ASSOC_REQ 0x02 +#define SCTP_ENABLE_CHANGE_ASSOC_REQ 0x04 +#define SCTP_ENABLE_STRRESET_MASK 0x07 +#define SCTP_STREAM_RESET_INCOMING 0x01 +#define SCTP_STREAM_RESET_OUTGOING 0x02 +enum sctp_msg_flags { + MSG_NOTIFICATION = 0x8000, +#define MSG_NOTIFICATION MSG_NOTIFICATION +}; +struct sctp_initmsg { + __u16 sinit_num_ostreams; + __u16 sinit_max_instreams; + __u16 sinit_max_attempts; + __u16 sinit_max_init_timeo; +}; +struct sctp_sndrcvinfo { + __u16 sinfo_stream; + __u16 sinfo_ssn; + __u16 sinfo_flags; + __u32 sinfo_ppid; + __u32 sinfo_context; + __u32 sinfo_timetolive; + __u32 sinfo_tsn; + __u32 sinfo_cumtsn; + sctp_assoc_t sinfo_assoc_id; +}; +struct sctp_sndinfo { + __u16 snd_sid; + __u16 snd_flags; + __u32 snd_ppid; + __u32 snd_context; + sctp_assoc_t snd_assoc_id; +}; +struct sctp_rcvinfo { + __u16 rcv_sid; + __u16 rcv_ssn; + __u16 rcv_flags; + __u32 rcv_ppid; + __u32 rcv_tsn; + __u32 rcv_cumtsn; + __u32 rcv_context; + sctp_assoc_t rcv_assoc_id; +}; +struct sctp_nxtinfo { + __u16 nxt_sid; + __u16 nxt_flags; + __u32 nxt_ppid; + __u32 nxt_length; + sctp_assoc_t nxt_assoc_id; +}; +struct sctp_prinfo { + __u16 pr_policy; + __u32 pr_value; +}; +struct sctp_authinfo { + __u16 auth_keynumber; +}; +enum sctp_sinfo_flags { + SCTP_UNORDERED = (1 << 0), + SCTP_ADDR_OVER = (1 << 1), + SCTP_ABORT = (1 << 2), + SCTP_SACK_IMMEDIATELY = (1 << 3), + + SCTP_SENDALL = (1 << 6), + SCTP_PR_SCTP_ALL = (1 << 7), + SCTP_NOTIFICATION = MSG_NOTIFICATION, + SCTP_EOF = MSG_FIN, +}; +typedef union { + __u8 raw; + struct sctp_initmsg init; + struct sctp_sndrcvinfo sndrcv; +} sctp_cmsg_data_t; +typedef enum sctp_cmsg_type { + SCTP_INIT, +#define SCTP_INIT SCTP_INIT + SCTP_SNDRCV, +#define SCTP_SNDRCV SCTP_SNDRCV + SCTP_SNDINFO, +#define SCTP_SNDINFO SCTP_SNDINFO + SCTP_RCVINFO, +#define SCTP_RCVINFO SCTP_RCVINFO + SCTP_NXTINFO, +#define SCTP_NXTINFO SCTP_NXTINFO + SCTP_PRINFO, +#define SCTP_PRINFO SCTP_PRINFO + SCTP_AUTHINFO, +#define SCTP_AUTHINFO SCTP_AUTHINFO + SCTP_DSTADDRV4, +#define SCTP_DSTADDRV4 SCTP_DSTADDRV4 + SCTP_DSTADDRV6, +#define SCTP_DSTADDRV6 SCTP_DSTADDRV6 +} sctp_cmsg_t; +struct sctp_assoc_change { + __u16 sac_type; + __u16 sac_flags; + __u32 sac_length; + __u16 sac_state; + __u16 sac_error; + __u16 sac_outbound_streams; + __u16 sac_inbound_streams; + sctp_assoc_t sac_assoc_id; + __u8 sac_info[0]; +}; +enum sctp_sac_state { + SCTP_COMM_UP, + SCTP_COMM_LOST, + SCTP_RESTART, + SCTP_SHUTDOWN_COMP, + SCTP_CANT_STR_ASSOC, +}; +struct sctp_paddr_change { + __u16 spc_type; + __u16 spc_flags; + __u32 spc_length; + struct sockaddr_storage spc_aaddr; + int spc_state; + int spc_error; + sctp_assoc_t spc_assoc_id; +} __attribute__((packed, aligned(4))); +enum sctp_spc_state { + SCTP_ADDR_AVAILABLE, + SCTP_ADDR_UNREACHABLE, + SCTP_ADDR_REMOVED, + SCTP_ADDR_ADDED, + SCTP_ADDR_MADE_PRIM, + SCTP_ADDR_CONFIRMED, + SCTP_ADDR_POTENTIALLY_FAILED, +#define SCTP_ADDR_PF SCTP_ADDR_POTENTIALLY_FAILED +}; +struct sctp_remote_error { + __u16 sre_type; + __u16 sre_flags; + __u32 sre_length; + __be16 sre_error; + sctp_assoc_t sre_assoc_id; + __u8 sre_data[0]; +}; +struct sctp_send_failed { + __u16 ssf_type; + __u16 ssf_flags; + __u32 ssf_length; + __u32 ssf_error; + struct sctp_sndrcvinfo ssf_info; + sctp_assoc_t ssf_assoc_id; + __u8 ssf_data[0]; +}; +struct sctp_send_failed_event { + __u16 ssf_type; + __u16 ssf_flags; + __u32 ssf_length; + __u32 ssf_error; + struct sctp_sndinfo ssfe_info; + sctp_assoc_t ssf_assoc_id; + __u8 ssf_data[0]; +}; +enum sctp_ssf_flags { + SCTP_DATA_UNSENT, + SCTP_DATA_SENT, +}; +struct sctp_shutdown_event { + __u16 sse_type; + __u16 sse_flags; + __u32 sse_length; + sctp_assoc_t sse_assoc_id; +}; +struct sctp_adaptation_event { + __u16 sai_type; + __u16 sai_flags; + __u32 sai_length; + __u32 sai_adaptation_ind; + sctp_assoc_t sai_assoc_id; +}; +struct sctp_pdapi_event { + __u16 pdapi_type; + __u16 pdapi_flags; + __u32 pdapi_length; + __u32 pdapi_indication; + sctp_assoc_t pdapi_assoc_id; + __u32 pdapi_stream; + __u32 pdapi_seq; +}; +enum { SCTP_PARTIAL_DELIVERY_ABORTED=0, }; +struct sctp_authkey_event { + __u16 auth_type; + __u16 auth_flags; + __u32 auth_length; + __u16 auth_keynumber; + __u16 auth_altkeynumber; + __u32 auth_indication; + sctp_assoc_t auth_assoc_id; +}; +enum { + SCTP_AUTH_NEW_KEY, +#define SCTP_AUTH_NEWKEY SCTP_AUTH_NEW_KEY + SCTP_AUTH_FREE_KEY, + SCTP_AUTH_NO_AUTH, +}; +struct sctp_sender_dry_event { + __u16 sender_dry_type; + __u16 sender_dry_flags; + __u32 sender_dry_length; + sctp_assoc_t sender_dry_assoc_id; +}; +#define SCTP_STREAM_RESET_INCOMING_SSN 0x0001 +#define SCTP_STREAM_RESET_OUTGOING_SSN 0x0002 +#define SCTP_STREAM_RESET_DENIED 0x0004 +#define SCTP_STREAM_RESET_FAILED 0x0008 +struct sctp_stream_reset_event { + __u16 strreset_type; + __u16 strreset_flags; + __u32 strreset_length; + sctp_assoc_t strreset_assoc_id; + __u16 strreset_stream_list[]; +}; +#define SCTP_ASSOC_RESET_DENIED 0x0004 +#define SCTP_ASSOC_RESET_FAILED 0x0008 +struct sctp_assoc_reset_event { + __u16 assocreset_type; + __u16 assocreset_flags; + __u32 assocreset_length; + sctp_assoc_t assocreset_assoc_id; + __u32 assocreset_local_tsn; + __u32 assocreset_remote_tsn; +}; +#define SCTP_ASSOC_CHANGE_DENIED 0x0004 +#define SCTP_ASSOC_CHANGE_FAILED 0x0008 +#define SCTP_STREAM_CHANGE_DENIED SCTP_ASSOC_CHANGE_DENIED +#define SCTP_STREAM_CHANGE_FAILED SCTP_ASSOC_CHANGE_FAILED +struct sctp_stream_change_event { + __u16 strchange_type; + __u16 strchange_flags; + __u32 strchange_length; + sctp_assoc_t strchange_assoc_id; + __u16 strchange_instrms; + __u16 strchange_outstrms; +}; +struct sctp_event_subscribe { + __u8 sctp_data_io_event; + __u8 sctp_association_event; + __u8 sctp_address_event; + __u8 sctp_send_failure_event; + __u8 sctp_peer_error_event; + __u8 sctp_shutdown_event; + __u8 sctp_partial_delivery_event; + __u8 sctp_adaptation_layer_event; + __u8 sctp_authentication_event; + __u8 sctp_sender_dry_event; + __u8 sctp_stream_reset_event; + __u8 sctp_assoc_reset_event; + __u8 sctp_stream_change_event; + __u8 sctp_send_failure_event_event; +}; +union sctp_notification { + struct { + __u16 sn_type; + __u16 sn_flags; + __u32 sn_length; + } sn_header; + struct sctp_assoc_change sn_assoc_change; + struct sctp_paddr_change sn_paddr_change; + struct sctp_remote_error sn_remote_error; + struct sctp_send_failed sn_send_failed; + struct sctp_shutdown_event sn_shutdown_event; + struct sctp_adaptation_event sn_adaptation_event; + struct sctp_pdapi_event sn_pdapi_event; + struct sctp_authkey_event sn_authkey_event; + struct sctp_sender_dry_event sn_sender_dry_event; + struct sctp_stream_reset_event sn_strreset_event; + struct sctp_assoc_reset_event sn_assocreset_event; + struct sctp_stream_change_event sn_strchange_event; + struct sctp_send_failed_event sn_send_failed_event; +}; +enum sctp_sn_type { + SCTP_SN_TYPE_BASE = (1<<15), + SCTP_DATA_IO_EVENT = SCTP_SN_TYPE_BASE, +#define SCTP_DATA_IO_EVENT SCTP_DATA_IO_EVENT + SCTP_ASSOC_CHANGE, +#define SCTP_ASSOC_CHANGE SCTP_ASSOC_CHANGE + SCTP_PEER_ADDR_CHANGE, +#define SCTP_PEER_ADDR_CHANGE SCTP_PEER_ADDR_CHANGE + SCTP_SEND_FAILED, +#define SCTP_SEND_FAILED SCTP_SEND_FAILED + SCTP_REMOTE_ERROR, +#define SCTP_REMOTE_ERROR SCTP_REMOTE_ERROR + SCTP_SHUTDOWN_EVENT, +#define SCTP_SHUTDOWN_EVENT SCTP_SHUTDOWN_EVENT + SCTP_PARTIAL_DELIVERY_EVENT, +#define SCTP_PARTIAL_DELIVERY_EVENT SCTP_PARTIAL_DELIVERY_EVENT + SCTP_ADAPTATION_INDICATION, +#define SCTP_ADAPTATION_INDICATION SCTP_ADAPTATION_INDICATION + SCTP_AUTHENTICATION_EVENT, +#define SCTP_AUTHENTICATION_INDICATION SCTP_AUTHENTICATION_EVENT + SCTP_SENDER_DRY_EVENT, +#define SCTP_SENDER_DRY_EVENT SCTP_SENDER_DRY_EVENT + SCTP_STREAM_RESET_EVENT, +#define SCTP_STREAM_RESET_EVENT SCTP_STREAM_RESET_EVENT + SCTP_ASSOC_RESET_EVENT, +#define SCTP_ASSOC_RESET_EVENT SCTP_ASSOC_RESET_EVENT + SCTP_STREAM_CHANGE_EVENT, +#define SCTP_STREAM_CHANGE_EVENT SCTP_STREAM_CHANGE_EVENT + SCTP_SEND_FAILED_EVENT, +#define SCTP_SEND_FAILED_EVENT SCTP_SEND_FAILED_EVENT + SCTP_SN_TYPE_MAX = SCTP_SEND_FAILED_EVENT, +#define SCTP_SN_TYPE_MAX SCTP_SN_TYPE_MAX +}; +typedef enum sctp_sn_error { + SCTP_FAILED_THRESHOLD, + SCTP_RECEIVED_SACK, + SCTP_HEARTBEAT_SUCCESS, + SCTP_RESPONSE_TO_USER_REQ, + SCTP_INTERNAL_ERROR, + SCTP_SHUTDOWN_GUARD_EXPIRES, + SCTP_PEER_FAULTY, +} sctp_sn_error_t; +struct sctp_rtoinfo { + sctp_assoc_t srto_assoc_id; + __u32 srto_initial; + __u32 srto_max; + __u32 srto_min; +}; +struct sctp_assocparams { + sctp_assoc_t sasoc_assoc_id; + __u16 sasoc_asocmaxrxt; + __u16 sasoc_number_peer_destinations; + __u32 sasoc_peer_rwnd; + __u32 sasoc_local_rwnd; + __u32 sasoc_cookie_life; +}; +struct sctp_setpeerprim { + sctp_assoc_t sspp_assoc_id; + struct sockaddr_storage sspp_addr; +} __attribute__((packed, aligned(4))); +struct sctp_prim { + sctp_assoc_t ssp_assoc_id; + struct sockaddr_storage ssp_addr; +} __attribute__((packed, aligned(4))); +#define sctp_setprim sctp_prim +struct sctp_setadaptation { + __u32 ssb_adaptation_ind; +}; +enum sctp_spp_flags { + SPP_HB_ENABLE = 1<<0, + SPP_HB_DISABLE = 1<<1, + SPP_HB = SPP_HB_ENABLE | SPP_HB_DISABLE, + SPP_HB_DEMAND = 1<<2, + SPP_PMTUD_ENABLE = 1<<3, + SPP_PMTUD_DISABLE = 1<<4, + SPP_PMTUD = SPP_PMTUD_ENABLE | SPP_PMTUD_DISABLE, + SPP_SACKDELAY_ENABLE = 1<<5, + SPP_SACKDELAY_DISABLE = 1<<6, + SPP_SACKDELAY = SPP_SACKDELAY_ENABLE | SPP_SACKDELAY_DISABLE, + SPP_HB_TIME_IS_ZERO = 1<<7, + SPP_IPV6_FLOWLABEL = 1<<8, + SPP_DSCP = 1<<9, +}; +struct sctp_paddrparams { + sctp_assoc_t spp_assoc_id; + struct sockaddr_storage spp_address; + __u32 spp_hbinterval; + __u16 spp_pathmaxrxt; + __u32 spp_pathmtu; + __u32 spp_sackdelay; + __u32 spp_flags; + __u32 spp_ipv6_flowlabel; + __u8 spp_dscp; +} __attribute__((packed, aligned(4))); +struct sctp_authchunk { + __u8 sauth_chunk; +}; +#ifndef __KERNEL__ +enum { + SCTP_AUTH_HMAC_ID_SHA1 = 1, + SCTP_AUTH_HMAC_ID_SHA256 = 3, +}; +#endif +struct sctp_hmacalgo { + __u32 shmac_num_idents; + __u16 shmac_idents[]; +}; +#define shmac_number_of_idents shmac_num_idents +struct sctp_authkey { + sctp_assoc_t sca_assoc_id; + __u16 sca_keynumber; + __u16 sca_keylength; + __u8 sca_key[]; +}; +struct sctp_authkeyid { + sctp_assoc_t scact_assoc_id; + __u16 scact_keynumber; +}; +struct sctp_sack_info { + sctp_assoc_t sack_assoc_id; + uint32_t sack_delay; + uint32_t sack_freq; +}; +struct sctp_assoc_value { + sctp_assoc_t assoc_id; + uint32_t assoc_value; +}; +struct sctp_stream_value { + sctp_assoc_t assoc_id; + uint16_t stream_id; + uint16_t stream_value; +}; +struct sctp_paddrinfo { + sctp_assoc_t spinfo_assoc_id; + struct sockaddr_storage spinfo_address; + __s32 spinfo_state; + __u32 spinfo_cwnd; + __u32 spinfo_srtt; + __u32 spinfo_rto; + __u32 spinfo_mtu; +} __attribute__((packed, aligned(4))); +enum sctp_spinfo_state { + SCTP_INACTIVE, + SCTP_PF, +#define SCTP_POTENTIALLY_FAILED SCTP_PF + SCTP_ACTIVE, + SCTP_UNCONFIRMED, + SCTP_UNKNOWN = 0xffff +}; +struct sctp_status { + sctp_assoc_t sstat_assoc_id; + __s32 sstat_state; + __u32 sstat_rwnd; + __u16 sstat_unackdata; + __u16 sstat_penddata; + __u16 sstat_instrms; + __u16 sstat_outstrms; + __u32 sstat_fragmentation_point; + struct sctp_paddrinfo sstat_primary; +}; +struct sctp_authchunks { + sctp_assoc_t gauth_assoc_id; + __u32 gauth_number_of_chunks; + uint8_t gauth_chunks[]; +}; +#define guth_number_of_chunks gauth_number_of_chunks +enum sctp_sstat_state { + SCTP_EMPTY = 0, + SCTP_CLOSED = 1, + SCTP_COOKIE_WAIT = 2, + SCTP_COOKIE_ECHOED = 3, + SCTP_ESTABLISHED = 4, + SCTP_SHUTDOWN_PENDING = 5, + SCTP_SHUTDOWN_SENT = 6, + SCTP_SHUTDOWN_RECEIVED = 7, + SCTP_SHUTDOWN_ACK_SENT = 8, +}; +struct sctp_assoc_ids { + __u32 gaids_number_of_ids; + sctp_assoc_t gaids_assoc_id[]; +}; +struct sctp_getaddrs_old { + sctp_assoc_t assoc_id; + int addr_num; +#ifdef __KERNEL__ + struct sockaddr __user *addrs; +#else + struct sockaddr *addrs; +#endif +}; +struct sctp_getaddrs { + sctp_assoc_t assoc_id; + __u32 addr_num; + __u8 addrs[0]; +}; +struct sctp_assoc_stats { + sctp_assoc_t sas_assoc_id; + + struct sockaddr_storage sas_obs_rto_ipaddr; + __u64 sas_maxrto; + __u64 sas_isacks; + __u64 sas_osacks; + __u64 sas_opackets; + __u64 sas_ipackets; + __u64 sas_rtxchunks; + __u64 sas_outofseqtsns; + __u64 sas_idupchunks; + __u64 sas_gapcnt; + __u64 sas_ouodchunks; + __u64 sas_iuodchunks; + __u64 sas_oodchunks; + __u64 sas_iodchunks; + __u64 sas_octrlchunks; + __u64 sas_ictrlchunks; +}; +#define SCTP_BINDX_ADD_ADDR 0x01 +#define SCTP_BINDX_REM_ADDR 0x02 +typedef struct { + sctp_assoc_t associd; + int sd; +} sctp_peeloff_arg_t; +typedef struct { + sctp_peeloff_arg_t p_arg; + unsigned flags; +} sctp_peeloff_flags_arg_t; +struct sctp_paddrthlds { + sctp_assoc_t spt_assoc_id; + struct sockaddr_storage spt_address; + __u16 spt_pathmaxrxt; + __u16 spt_pathpfthld; +}; +struct sctp_paddrthlds_v2 { + sctp_assoc_t spt_assoc_id; + struct sockaddr_storage spt_address; + __u16 spt_pathmaxrxt; + __u16 spt_pathpfthld; + __u16 spt_pathcpthld; +}; +struct sctp_prstatus { + sctp_assoc_t sprstat_assoc_id; + __u16 sprstat_sid; + __u16 sprstat_policy; + __u64 sprstat_abandoned_unsent; + __u64 sprstat_abandoned_sent; +}; +struct sctp_default_prinfo { + sctp_assoc_t pr_assoc_id; + __u32 pr_value; + __u16 pr_policy; +}; +struct sctp_info { + __u32 sctpi_tag; + __u32 sctpi_state; + __u32 sctpi_rwnd; + __u16 sctpi_unackdata; + __u16 sctpi_penddata; + __u16 sctpi_instrms; + __u16 sctpi_outstrms; + __u32 sctpi_fragmentation_point; + __u32 sctpi_inqueue; + __u32 sctpi_outqueue; + __u32 sctpi_overall_error; + __u32 sctpi_max_burst; + __u32 sctpi_maxseg; + __u32 sctpi_peer_rwnd; + __u32 sctpi_peer_tag; + __u8 sctpi_peer_capable; + __u8 sctpi_peer_sack; + __u16 __reserved1; + + __u64 sctpi_isacks; + __u64 sctpi_osacks; + __u64 sctpi_opackets; + __u64 sctpi_ipackets; + __u64 sctpi_rtxchunks; + __u64 sctpi_outofseqtsns; + __u64 sctpi_idupchunks; + __u64 sctpi_gapcnt; + __u64 sctpi_ouodchunks; + __u64 sctpi_iuodchunks; + __u64 sctpi_oodchunks; + __u64 sctpi_iodchunks; + __u64 sctpi_octrlchunks; + __u64 sctpi_ictrlchunks; + + struct sockaddr_storage sctpi_p_address; + __s32 sctpi_p_state; + __u32 sctpi_p_cwnd; + __u32 sctpi_p_srtt; + __u32 sctpi_p_rto; + __u32 sctpi_p_hbinterval; + __u32 sctpi_p_pathmaxrxt; + __u32 sctpi_p_sackdelay; + __u32 sctpi_p_sackfreq; + __u32 sctpi_p_ssthresh; + __u32 sctpi_p_partial_bytes_acked; + __u32 sctpi_p_flight_size; + __u16 sctpi_p_error; + __u16 __reserved2; + + __u32 sctpi_s_autoclose; + __u32 sctpi_s_adaptation_ind; + __u32 sctpi_s_pd_point; + __u8 sctpi_s_nodelay; + __u8 sctpi_s_disable_fragments; + __u8 sctpi_s_v4mapped; + __u8 sctpi_s_frag_interleave; + __u32 sctpi_s_type; + __u32 __reserved3; +}; +struct sctp_reset_streams { + sctp_assoc_t srs_assoc_id; + uint16_t srs_flags; + uint16_t srs_number_streams; + uint16_t srs_stream_list[]; +}; +struct sctp_add_streams { + sctp_assoc_t sas_assoc_id; + uint16_t sas_instrms; + uint16_t sas_outstrms; +}; +struct sctp_event { + sctp_assoc_t se_assoc_id; + uint16_t se_type; + uint8_t se_on; +}; +enum sctp_sched_type { + SCTP_SS_FCFS, + SCTP_SS_DEFAULT = SCTP_SS_FCFS, + SCTP_SS_PRIO, + SCTP_SS_RR, + SCTP_SS_MAX = SCTP_SS_RR +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/sdla.h b/linux-5.10/prebuilts/usr/include/linux/sdla.h new file mode 100644 index 0000000..29260a5 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/sdla.h @@ -0,0 +1,78 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPISDLA_H +#define _UAPISDLA_H +#define SDLA_TYPES +#define SDLA_S502A 5020 +#define SDLA_S502E 5021 +#define SDLA_S503 5030 +#define SDLA_S507 5070 +#define SDLA_S508 5080 +#define SDLA_S509 5090 +#define SDLA_UNKNOWN -1 +#define SDLA_S508_PORT_V35 0x00 +#define SDLA_S508_PORT_RS232 0x02 +#define SDLA_CPU_3M 0x00 +#define SDLA_CPU_5M 0x01 +#define SDLA_CPU_7M 0x02 +#define SDLA_CPU_8M 0x03 +#define SDLA_CPU_10M 0x04 +#define SDLA_CPU_16M 0x05 +#define SDLA_CPU_12M 0x06 +#define SDLA_IDENTIFY (FRAD_LAST_IOCTL + 1) +#define SDLA_CPUSPEED (FRAD_LAST_IOCTL + 2) +#define SDLA_PROTOCOL (FRAD_LAST_IOCTL + 3) +#define SDLA_CLEARMEM (FRAD_LAST_IOCTL + 4) +#define SDLA_WRITEMEM (FRAD_LAST_IOCTL + 5) +#define SDLA_READMEM (FRAD_LAST_IOCTL + 6) +struct sdla_mem { + int addr; + int len; + void __user *data; +}; +#define SDLA_START (FRAD_LAST_IOCTL + 7) +#define SDLA_STOP (FRAD_LAST_IOCTL + 8) +#define SDLA_NMIADDR 0x0000 +#define SDLA_CONF_ADDR 0x0010 +#define SDLA_S502A_NMIADDR 0x0066 +#define SDLA_CODE_BASEADDR 0x0100 +#define SDLA_WINDOW_SIZE 0x2000 +#define SDLA_ADDR_MASK 0x1FFF +#define SDLA_MAX_DATA 4080 +#define SDLA_MAX_MTU 4072 +#define SDLA_MAX_DLCI 24 +struct sdla_conf { + short station; + short config; + short kbaud; + short clocking; + short max_frm; + short T391; + short T392; + short N391; + short N392; + short N393; + short CIR_fwd; + short Bc_fwd; + short Be_fwd; + short CIR_bwd; + short Bc_bwd; + short Be_bwd; +}; +struct sdla_dlci_conf { + short config; + short CIR_fwd; + short Bc_fwd; + short Be_fwd; + short CIR_bwd; + short Bc_bwd; + short Be_bwd; + short Tc_fwd; + short Tc_bwd; + short Tf_max; + short Tb_max; +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/seccomp.h b/linux-5.10/prebuilts/usr/include/linux/seccomp.h new file mode 100644 index 0000000..fd7daf0 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/seccomp.h @@ -0,0 +1,77 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI_LINUX_SECCOMP_H +#define _UAPI_LINUX_SECCOMP_H +#include +#include +#define SECCOMP_MODE_DISABLED 0 +#define SECCOMP_MODE_STRICT 1 +#define SECCOMP_MODE_FILTER 2 +#define SECCOMP_SET_MODE_STRICT 0 +#define SECCOMP_SET_MODE_FILTER 1 +#define SECCOMP_GET_ACTION_AVAIL 2 +#define SECCOMP_GET_NOTIF_SIZES 3 +#define SECCOMP_FILTER_FLAG_TSYNC (1UL << 0) +#define SECCOMP_FILTER_FLAG_LOG (1UL << 1) +#define SECCOMP_FILTER_FLAG_SPEC_ALLOW (1UL << 2) +#define SECCOMP_FILTER_FLAG_NEW_LISTENER (1UL << 3) +#define SECCOMP_FILTER_FLAG_TSYNC_ESRCH (1UL << 4) +#define SECCOMP_RET_KILL_PROCESS 0x80000000U +#define SECCOMP_RET_KILL_THREAD 0x00000000U +#define SECCOMP_RET_KILL SECCOMP_RET_KILL_THREAD +#define SECCOMP_RET_TRAP 0x00030000U +#define SECCOMP_RET_ERRNO 0x00050000U +#define SECCOMP_RET_USER_NOTIF 0x7fc00000U +#define SECCOMP_RET_TRACE 0x7ff00000U +#define SECCOMP_RET_LOG 0x7ffc0000U +#define SECCOMP_RET_ALLOW 0x7fff0000U +#define SECCOMP_RET_ACTION_FULL 0xffff0000U +#define SECCOMP_RET_ACTION 0x7fff0000U +#define SECCOMP_RET_DATA 0x0000ffffU +struct seccomp_data { + int nr; + __u32 arch; + __u64 instruction_pointer; + __u64 args[6]; +}; +struct seccomp_notif_sizes { + __u16 seccomp_notif; + __u16 seccomp_notif_resp; + __u16 seccomp_data; +}; +struct seccomp_notif { + __u64 id; + __u32 pid; + __u32 flags; + struct seccomp_data data; +}; +#define SECCOMP_USER_NOTIF_FLAG_CONTINUE (1UL << 0) +struct seccomp_notif_resp { + __u64 id; + __s64 val; + __s32 error; + __u32 flags; +}; +#define SECCOMP_ADDFD_FLAG_SETFD (1UL << 0) +struct seccomp_notif_addfd { + __u64 id; + __u32 flags; + __u32 srcfd; + __u32 newfd; + __u32 newfd_flags; +}; +#define SECCOMP_IOC_MAGIC '!' +#define SECCOMP_IO(nr) _IO(SECCOMP_IOC_MAGIC, nr) +#define SECCOMP_IOR(nr, type) _IOR(SECCOMP_IOC_MAGIC, nr, type) +#define SECCOMP_IOW(nr, type) _IOW(SECCOMP_IOC_MAGIC, nr, type) +#define SECCOMP_IOWR(nr, type) _IOWR(SECCOMP_IOC_MAGIC, nr, type) +#define SECCOMP_IOCTL_NOTIF_RECV SECCOMP_IOWR(0, struct seccomp_notif) +#define SECCOMP_IOCTL_NOTIF_SEND SECCOMP_IOWR(1, \ + struct seccomp_notif_resp) +#define SECCOMP_IOCTL_NOTIF_ID_VALID SECCOMP_IOW(2, __u64) +#define SECCOMP_IOCTL_NOTIF_ADDFD SECCOMP_IOW(3, \ + struct seccomp_notif_addfd) +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/securebits.h b/linux-5.10/prebuilts/usr/include/linux/securebits.h new file mode 100644 index 0000000..343d520 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/securebits.h @@ -0,0 +1,33 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI_LINUX_SECUREBITS_H +#define _UAPI_LINUX_SECUREBITS_H +#define issecure_mask(X) (1 << (X)) +#define SECUREBITS_DEFAULT 0x00000000 +#define SECURE_NOROOT 0 +#define SECURE_NOROOT_LOCKED 1 +#define SECBIT_NOROOT (issecure_mask(SECURE_NOROOT)) +#define SECBIT_NOROOT_LOCKED (issecure_mask(SECURE_NOROOT_LOCKED)) +#define SECURE_NO_SETUID_FIXUP 2 +#define SECURE_NO_SETUID_FIXUP_LOCKED 3 +#define SECBIT_NO_SETUID_FIXUP (issecure_mask(SECURE_NO_SETUID_FIXUP)) +#define SECBIT_NO_SETUID_FIXUP_LOCKED \ + (issecure_mask(SECURE_NO_SETUID_FIXUP_LOCKED)) +#define SECURE_KEEP_CAPS 4 +#define SECURE_KEEP_CAPS_LOCKED 5 +#define SECBIT_KEEP_CAPS (issecure_mask(SECURE_KEEP_CAPS)) +#define SECBIT_KEEP_CAPS_LOCKED (issecure_mask(SECURE_KEEP_CAPS_LOCKED)) +#define SECURE_NO_CAP_AMBIENT_RAISE 6 +#define SECURE_NO_CAP_AMBIENT_RAISE_LOCKED 7 +#define SECBIT_NO_CAP_AMBIENT_RAISE (issecure_mask(SECURE_NO_CAP_AMBIENT_RAISE)) +#define SECBIT_NO_CAP_AMBIENT_RAISE_LOCKED \ + (issecure_mask(SECURE_NO_CAP_AMBIENT_RAISE_LOCKED)) +#define SECURE_ALL_BITS (issecure_mask(SECURE_NOROOT) | \ + issecure_mask(SECURE_NO_SETUID_FIXUP) | \ + issecure_mask(SECURE_KEEP_CAPS) | \ + issecure_mask(SECURE_NO_CAP_AMBIENT_RAISE)) +#define SECURE_ALL_LOCKS (SECURE_ALL_BITS << 1) +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/sed-opal.h b/linux-5.10/prebuilts/usr/include/linux/sed-opal.h new file mode 100644 index 0000000..6646b9a --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/sed-opal.h @@ -0,0 +1,119 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI_SED_OPAL_H +#define _UAPI_SED_OPAL_H +#include +#define OPAL_KEY_MAX 256 +#define OPAL_MAX_LRS 9 +enum opal_mbr { + OPAL_MBR_ENABLE = 0x0, + OPAL_MBR_DISABLE = 0x01, +}; +enum opal_mbr_done_flag { + OPAL_MBR_NOT_DONE = 0x0, + OPAL_MBR_DONE = 0x01 +}; +enum opal_user { + OPAL_ADMIN1 = 0x0, + OPAL_USER1 = 0x01, + OPAL_USER2 = 0x02, + OPAL_USER3 = 0x03, + OPAL_USER4 = 0x04, + OPAL_USER5 = 0x05, + OPAL_USER6 = 0x06, + OPAL_USER7 = 0x07, + OPAL_USER8 = 0x08, + OPAL_USER9 = 0x09, +}; +enum opal_lock_state { + OPAL_RO = 0x01, + OPAL_RW = 0x02, + OPAL_LK = 0x04, +}; +struct opal_key { + __u8 lr; + __u8 key_len; + __u8 __align[6]; + __u8 key[OPAL_KEY_MAX]; +}; +struct opal_lr_act { + struct opal_key key; + __u32 sum; + __u8 num_lrs; + __u8 lr[OPAL_MAX_LRS]; + __u8 align[2]; +}; +struct opal_session_info { + __u32 sum; + __u32 who; + struct opal_key opal_key; +}; +struct opal_user_lr_setup { + __u64 range_start; + __u64 range_length; + __u32 RLE; + __u32 WLE; + struct opal_session_info session; +}; +struct opal_lock_unlock { + struct opal_session_info session; + __u32 l_state; + __u8 __align[4]; +}; +struct opal_new_pw { + struct opal_session_info session; + + struct opal_session_info new_user_pw; +}; +struct opal_mbr_data { + struct opal_key key; + __u8 enable_disable; + __u8 __align[7]; +}; +struct opal_mbr_done { + struct opal_key key; + __u8 done_flag; + __u8 __align[7]; +}; +struct opal_shadow_mbr { + struct opal_key key; + const __u64 data; + __u64 offset; + __u64 size; +}; +enum opal_table_ops { + OPAL_READ_TABLE, + OPAL_WRITE_TABLE, +}; +#define OPAL_UID_LENGTH 8 +struct opal_read_write_table { + struct opal_key key; + const __u64 data; + const __u8 table_uid[OPAL_UID_LENGTH]; + __u64 offset; + __u64 size; +#define OPAL_TABLE_READ (1 << OPAL_READ_TABLE) +#define OPAL_TABLE_WRITE (1 << OPAL_WRITE_TABLE) + __u64 flags; + __u64 priv; +}; +#define IOC_OPAL_SAVE _IOW('p', 220, struct opal_lock_unlock) +#define IOC_OPAL_LOCK_UNLOCK _IOW('p', 221, struct opal_lock_unlock) +#define IOC_OPAL_TAKE_OWNERSHIP _IOW('p', 222, struct opal_key) +#define IOC_OPAL_ACTIVATE_LSP _IOW('p', 223, struct opal_lr_act) +#define IOC_OPAL_SET_PW _IOW('p', 224, struct opal_new_pw) +#define IOC_OPAL_ACTIVATE_USR _IOW('p', 225, struct opal_session_info) +#define IOC_OPAL_REVERT_TPR _IOW('p', 226, struct opal_key) +#define IOC_OPAL_LR_SETUP _IOW('p', 227, struct opal_user_lr_setup) +#define IOC_OPAL_ADD_USR_TO_LR _IOW('p', 228, struct opal_lock_unlock) +#define IOC_OPAL_ENABLE_DISABLE_MBR _IOW('p', 229, struct opal_mbr_data) +#define IOC_OPAL_ERASE_LR _IOW('p', 230, struct opal_session_info) +#define IOC_OPAL_SECURE_ERASE_LR _IOW('p', 231, struct opal_session_info) +#define IOC_OPAL_PSID_REVERT_TPR _IOW('p', 232, struct opal_key) +#define IOC_OPAL_MBR_DONE _IOW('p', 233, struct opal_mbr_done) +#define IOC_OPAL_WRITE_SHADOW_MBR _IOW('p', 234, struct opal_shadow_mbr) +#define IOC_OPAL_GENERIC_TABLE_RW _IOW('p', 235, struct opal_read_write_table) +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/seg6.h b/linux-5.10/prebuilts/usr/include/linux/seg6.h new file mode 100644 index 0000000..ad14980 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/seg6.h @@ -0,0 +1,35 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI_LINUX_SEG6_H +#define _UAPI_LINUX_SEG6_H +#include +#include +struct ipv6_sr_hdr { + __u8 nexthdr; + __u8 hdrlen; + __u8 type; + __u8 segments_left; + __u8 first_segment; + __u8 flags; + __u16 tag; + struct in6_addr segments[0]; +}; +#define SR6_FLAG1_PROTECTED (1 << 6) +#define SR6_FLAG1_OAM (1 << 5) +#define SR6_FLAG1_ALERT (1 << 4) +#define SR6_FLAG1_HMAC (1 << 3) +#define SR6_TLV_INGRESS 1 +#define SR6_TLV_EGRESS 2 +#define SR6_TLV_OPAQUE 3 +#define SR6_TLV_PADDING 4 +#define SR6_TLV_HMAC 5 +#define sr_has_hmac(srh) ((srh)->flags & SR6_FLAG1_HMAC) +struct sr6_tlv { + __u8 type; + __u8 len; + __u8 data[0]; +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/seg6_genl.h b/linux-5.10/prebuilts/usr/include/linux/seg6_genl.h new file mode 100644 index 0000000..f7ff963 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/seg6_genl.h @@ -0,0 +1,31 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI_LINUX_SEG6_GENL_H +#define _UAPI_LINUX_SEG6_GENL_H +#define SEG6_GENL_NAME "SEG6" +#define SEG6_GENL_VERSION 0x1 +enum { + SEG6_ATTR_UNSPEC, + SEG6_ATTR_DST, + SEG6_ATTR_DSTLEN, + SEG6_ATTR_HMACKEYID, + SEG6_ATTR_SECRET, + SEG6_ATTR_SECRETLEN, + SEG6_ATTR_ALGID, + SEG6_ATTR_HMACINFO, + __SEG6_ATTR_MAX, +}; +#define SEG6_ATTR_MAX (__SEG6_ATTR_MAX - 1) +enum { + SEG6_CMD_UNSPEC, + SEG6_CMD_SETHMAC, + SEG6_CMD_DUMPHMAC, + SEG6_CMD_SET_TUNSRC, + SEG6_CMD_GET_TUNSRC, + __SEG6_CMD_MAX, +}; +#define SEG6_CMD_MAX (__SEG6_CMD_MAX - 1) +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/seg6_hmac.h b/linux-5.10/prebuilts/usr/include/linux/seg6_hmac.h new file mode 100644 index 0000000..c454189 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/seg6_hmac.h @@ -0,0 +1,22 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI_LINUX_SEG6_HMAC_H +#define _UAPI_LINUX_SEG6_HMAC_H +#include +#include +#define SEG6_HMAC_SECRET_LEN 64 +#define SEG6_HMAC_FIELD_LEN 32 +struct sr6_tlv_hmac { + struct sr6_tlv tlvhdr; + __u16 reserved; + __be32 hmackeyid; + __u8 hmac[SEG6_HMAC_FIELD_LEN]; +}; +enum { + SEG6_HMAC_ALGO_SHA1 = 1, + SEG6_HMAC_ALGO_SHA256 = 2, +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/seg6_iptunnel.h b/linux-5.10/prebuilts/usr/include/linux/seg6_iptunnel.h new file mode 100644 index 0000000..de926a1 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/seg6_iptunnel.h @@ -0,0 +1,25 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI_LINUX_SEG6_IPTUNNEL_H +#define _UAPI_LINUX_SEG6_IPTUNNEL_H +#include +enum { + SEG6_IPTUNNEL_UNSPEC, + SEG6_IPTUNNEL_SRH, + __SEG6_IPTUNNEL_MAX, +}; +#define SEG6_IPTUNNEL_MAX (__SEG6_IPTUNNEL_MAX - 1) +struct seg6_iptunnel_encap { + int mode; + struct ipv6_sr_hdr srh[0]; +}; +#define SEG6_IPTUN_ENCAP_SIZE(x) ((sizeof(*x)) + (((x)->srh->hdrlen + 1) << 3)) +enum { + SEG6_IPTUN_MODE_INLINE, + SEG6_IPTUN_MODE_ENCAP, + SEG6_IPTUN_MODE_L2ENCAP, +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/seg6_local.h b/linux-5.10/prebuilts/usr/include/linux/seg6_local.h new file mode 100644 index 0000000..3933f53 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/seg6_local.h @@ -0,0 +1,64 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI_LINUX_SEG6_LOCAL_H +#define _UAPI_LINUX_SEG6_LOCAL_H +#include +enum { + SEG6_LOCAL_UNSPEC, + SEG6_LOCAL_ACTION, + SEG6_LOCAL_SRH, + SEG6_LOCAL_TABLE, + SEG6_LOCAL_NH4, + SEG6_LOCAL_NH6, + SEG6_LOCAL_IIF, + SEG6_LOCAL_OIF, + SEG6_LOCAL_BPF, + __SEG6_LOCAL_MAX, +}; +#define SEG6_LOCAL_MAX (__SEG6_LOCAL_MAX - 1) +enum { + SEG6_LOCAL_ACTION_UNSPEC = 0, + + SEG6_LOCAL_ACTION_END = 1, + + SEG6_LOCAL_ACTION_END_X = 2, + + SEG6_LOCAL_ACTION_END_T = 3, + + SEG6_LOCAL_ACTION_END_DX2 = 4, + + SEG6_LOCAL_ACTION_END_DX6 = 5, + + SEG6_LOCAL_ACTION_END_DX4 = 6, + + SEG6_LOCAL_ACTION_END_DT6 = 7, + + SEG6_LOCAL_ACTION_END_DT4 = 8, + + SEG6_LOCAL_ACTION_END_B6 = 9, + + SEG6_LOCAL_ACTION_END_B6_ENCAP = 10, + + SEG6_LOCAL_ACTION_END_BM = 11, + + SEG6_LOCAL_ACTION_END_S = 12, + + SEG6_LOCAL_ACTION_END_AS = 13, + + SEG6_LOCAL_ACTION_END_AM = 14, + + SEG6_LOCAL_ACTION_END_BPF = 15, + __SEG6_LOCAL_ACTION_MAX, +}; +#define SEG6_LOCAL_ACTION_MAX (__SEG6_LOCAL_ACTION_MAX - 1) +enum { + SEG6_LOCAL_BPF_PROG_UNSPEC, + SEG6_LOCAL_BPF_PROG, + SEG6_LOCAL_BPF_PROG_NAME, + __SEG6_LOCAL_BPF_PROG_MAX, +}; +#define SEG6_LOCAL_BPF_PROG_MAX (__SEG6_LOCAL_BPF_PROG_MAX - 1) +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/selinux_netlink.h b/linux-5.10/prebuilts/usr/include/linux/selinux_netlink.h new file mode 100644 index 0000000..418e2c7 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/selinux_netlink.h @@ -0,0 +1,34 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _LINUX_SELINUX_NETLINK_H +#define _LINUX_SELINUX_NETLINK_H +#include +#define SELNL_MSG_BASE 0x10 +enum { + SELNL_MSG_SETENFORCE = SELNL_MSG_BASE, + SELNL_MSG_POLICYLOAD, + SELNL_MSG_MAX +}; +#ifndef __KERNEL__ +#define SELNL_GRP_NONE 0x00000000 +#define SELNL_GRP_AVC 0x00000001 +#define SELNL_GRP_ALL 0xffffffff +#endif +enum selinux_nlgroups { + SELNLGRP_NONE, +#define SELNLGRP_NONE SELNLGRP_NONE + SELNLGRP_AVC, +#define SELNLGRP_AVC SELNLGRP_AVC + __SELNLGRP_MAX +}; +#define SELNLGRP_MAX (__SELNLGRP_MAX - 1) +struct selnl_msg_setenforce { + __s32 val; +}; +struct selnl_msg_policyload { + __u32 seqno; +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/sem.h b/linux-5.10/prebuilts/usr/include/linux/sem.h new file mode 100644 index 0000000..90ad930 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/sem.h @@ -0,0 +1,65 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI_LINUX_SEM_H +#define _UAPI_LINUX_SEM_H +#include +#define SEM_UNDO 0x1000 +#define GETPID 11 +#define GETVAL 12 +#define GETALL 13 +#define GETNCNT 14 +#define GETZCNT 15 +#define SETVAL 16 +#define SETALL 17 +#define SEM_STAT 18 +#define SEM_INFO 19 +#define SEM_STAT_ANY 20 +struct __kernel_legacy_semid_ds { + struct __kernel_legacy_ipc_perm sem_perm; + __kernel_old_time_t sem_otime; + __kernel_old_time_t sem_ctime; + struct sem *sem_base; + struct sem_queue *sem_pending; + struct sem_queue **sem_pending_last; + struct sem_undo *undo; + unsigned short sem_nsems; +}; +#include +struct sembuf { + unsigned short sem_num; + short sem_op; + short sem_flg; +}; +union __kernel_legacy_semun { + int val; + struct __kernel_legacy_semid_ds __user *buf; + unsigned short __user *array; + struct seminfo __user *__buf; + void __user *__pad; +}; +struct seminfo { + int semmap; + int semmni; + int semmns; + int semmnu; + int semmsl; + int semopm; + int semume; + int semusz; + int semvmx; + int semaem; +}; +#define SEMMNI 32000 +#define SEMMSL 32000 +#define SEMMNS (SEMMNI*SEMMSL) +#define SEMOPM 500 +#define SEMVMX 32767 +#define SEMAEM SEMVMX +#define SEMUME SEMOPM +#define SEMMNU SEMMNS +#define SEMMAP SEMMNS +#define SEMUSZ 20 +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/serial.h b/linux-5.10/prebuilts/usr/include/linux/serial.h new file mode 100644 index 0000000..5eeb758 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/serial.h @@ -0,0 +1,101 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI_LINUX_SERIAL_H +#define _UAPI_LINUX_SERIAL_H +#include +#include +struct serial_struct { + int type; + int line; + unsigned int port; + int irq; + int flags; + int xmit_fifo_size; + int custom_divisor; + int baud_base; + unsigned short close_delay; + char io_type; + char reserved_char[1]; + int hub6; + unsigned short closing_wait; + unsigned short closing_wait2; + unsigned char *iomem_base; + unsigned short iomem_reg_shift; + unsigned int port_high; + unsigned long iomap_base; +}; +#define ASYNC_CLOSING_WAIT_INF 0 +#define ASYNC_CLOSING_WAIT_NONE 65535 +#define PORT_UNKNOWN 0 +#define PORT_8250 1 +#define PORT_16450 2 +#define PORT_16550 3 +#define PORT_16550A 4 +#define PORT_CIRRUS 5 +#define PORT_16650 6 +#define PORT_16650V2 7 +#define PORT_16750 8 +#define PORT_STARTECH 9 +#define PORT_16C950 10 +#define PORT_16654 11 +#define PORT_16850 12 +#define PORT_RSA 13 +#define PORT_MAX 13 +#define SERIAL_IO_PORT 0 +#define SERIAL_IO_HUB6 1 +#define SERIAL_IO_MEM 2 +#define SERIAL_IO_MEM32 3 +#define SERIAL_IO_AU 4 +#define SERIAL_IO_TSI 5 +#define SERIAL_IO_MEM32BE 6 +#define SERIAL_IO_MEM16 7 +#define UART_CLEAR_FIFO 0x01 +#define UART_USE_FIFO 0x02 +#define UART_STARTECH 0x04 +#define UART_NATSEMI 0x08 +struct serial_multiport_struct { + int irq; + int port1; + unsigned char mask1, match1; + int port2; + unsigned char mask2, match2; + int port3; + unsigned char mask3, match3; + int port4; + unsigned char mask4, match4; + int port_monitor; + int reserved[32]; +}; +struct serial_icounter_struct { + int cts, dsr, rng, dcd; + int rx, tx; + int frame, overrun, parity, brk; + int buf_overrun; + int reserved[9]; +}; +struct serial_rs485 { + __u32 flags; +#define SER_RS485_ENABLED (1 << 0) +#define SER_RS485_RTS_ON_SEND (1 << 1) +#define SER_RS485_RTS_AFTER_SEND (1 << 2) +#define SER_RS485_RX_DURING_TX (1 << 4) +#define SER_RS485_TERMINATE_BUS (1 << 5) + __u32 delay_rts_before_send; + __u32 delay_rts_after_send; + __u32 padding[5]; +}; +struct serial_iso7816 { + __u32 flags; +#define SER_ISO7816_ENABLED (1 << 0) +#define SER_ISO7816_T_PARAM (0x0f << 4) +#define SER_ISO7816_T(t) (((t) & 0x0f) << 4) + __u32 tg; + __u32 sc_fi; + __u32 sc_di; + __u32 clk; + __u32 reserved[5]; +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/serial_core.h b/linux-5.10/prebuilts/usr/include/linux/serial_core.h new file mode 100644 index 0000000..dad6df2 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/serial_core.h @@ -0,0 +1,114 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPILINUX_SERIAL_CORE_H +#define _UAPILINUX_SERIAL_CORE_H +#include +#define PORT_NS16550A 14 +#define PORT_XSCALE 15 +#define PORT_RM9000 16 +#define PORT_OCTEON 17 +#define PORT_AR7 18 +#define PORT_U6_16550A 19 +#define PORT_TEGRA 20 +#define PORT_XR17D15X 21 +#define PORT_LPC3220 22 +#define PORT_8250_CIR 23 +#define PORT_XR17V35X 24 +#define PORT_BRCM_TRUMANAGE 25 +#define PORT_ALTR_16550_F32 26 +#define PORT_ALTR_16550_F64 27 +#define PORT_ALTR_16550_F128 28 +#define PORT_RT2880 29 +#define PORT_16550A_FSL64 30 +#define PORT_PXA 31 +#define PORT_AMBA 32 +#define PORT_CLPS711X 33 +#define PORT_SA1100 34 +#define PORT_UART00 35 +#define PORT_OWL 36 +#define PORT_21285 37 +#define PORT_SUNZILOG 38 +#define PORT_SUNSAB 39 +#define PORT_NPCM 40 +#define PORT_TEGRA_TCU 41 +#define PORT_PCH_8LINE 44 +#define PORT_PCH_2LINE 45 +#define PORT_DZ 46 +#define PORT_ZS 47 +#define PORT_MUX 48 +#define PORT_ATMEL 49 +#define PORT_MAC_ZILOG 50 +#define PORT_PMAC_ZILOG 51 +#define PORT_SCI 52 +#define PORT_SCIF 53 +#define PORT_IRDA 54 +#define PORT_S3C2410 55 +#define PORT_IP22ZILOG 56 +#define PORT_LH7A40X 57 +#define PORT_CPM 58 +#define PORT_MPC52xx 59 +#define PORT_ICOM 60 +#define PORT_S3C2440 61 +#define PORT_IMX 62 +#define PORT_MPSC 63 +#define PORT_TXX9 64 +#define PORT_VR41XX_SIU 65 +#define PORT_VR41XX_DSIU 66 +#define PORT_S3C2400 67 +#define PORT_M32R_SIO 68 +#define PORT_JSM 69 +#define PORT_PNX8XXX 70 +#define PORT_SUNHV 72 +#define PORT_S3C2412 73 +#define PORT_UARTLITE 74 +#define PORT_BFIN 75 +#define PORT_SB1250_DUART 77 +#define PORT_MCF 78 +#define PORT_BFIN_SPORT 79 +#define PORT_MN10300 80 +#define PORT_MN10300_CTS 81 +#define PORT_SC26XX 82 +#define PORT_SCIFA 83 +#define PORT_S3C6400 84 +#define PORT_NWPSERIAL 85 +#define PORT_MAX3100 86 +#define PORT_TIMBUART 87 +#define PORT_MSM 88 +#define PORT_BCM63XX 89 +#define PORT_APBUART 90 +#define PORT_ALTERA_JTAGUART 91 +#define PORT_ALTERA_UART 92 +#define PORT_SCIFB 93 +#define PORT_MAX310X 94 +#define PORT_DA830 95 +#define PORT_OMAP 96 +#define PORT_VT8500 97 +#define PORT_XUARTPS 98 +#define PORT_AR933X 99 +#define PORT_EFMUART 100 +#define PORT_ARC 101 +#define PORT_RP2 102 +#define PORT_LPUART 103 +#define PORT_HSCIF 104 +#define PORT_ASC 105 +#define PORT_TILEGX 106 +#define PORT_MEN_Z135 107 +#define PORT_SC16IS7XX 108 +#define PORT_MESON 109 +#define PORT_DIGICOLOR 110 +#define PORT_SPRD 111 +#define PORT_CRIS 112 +#define PORT_STM32 113 +#define PORT_MVEBU 114 +#define PORT_PIC32 115 +#define PORT_MPS2UART 116 +#define PORT_MTK_BTIF 117 +#define PORT_RDA 118 +#define PORT_MLB_USIO 119 +#define PORT_SIFIVE_V0 120 +#define PORT_SUNIX 121 +#define PORT_LINFLEXUART 122 +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/serial_reg.h b/linux-5.10/prebuilts/usr/include/linux/serial_reg.h new file mode 100644 index 0000000..da0fe40 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/serial_reg.h @@ -0,0 +1,234 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _LINUX_SERIAL_REG_H +#define _LINUX_SERIAL_REG_H +#define UART_RX 0 +#define UART_TX 0 +#define UART_IER 1 +#define UART_IER_MSI 0x08 +#define UART_IER_RLSI 0x04 +#define UART_IER_THRI 0x02 +#define UART_IER_RDI 0x01 +#define UART_IERX_SLEEP 0x10 +#define UART_IIR 2 +#define UART_IIR_NO_INT 0x01 +#define UART_IIR_ID 0x0e +#define UART_IIR_MSI 0x00 +#define UART_IIR_THRI 0x02 +#define UART_IIR_RDI 0x04 +#define UART_IIR_RLSI 0x06 +#define UART_IIR_BUSY 0x07 +#define UART_IIR_RX_TIMEOUT 0x0c +#define UART_IIR_XOFF 0x10 +#define UART_IIR_CTS_RTS_DSR 0x20 +#define UART_FCR 2 +#define UART_FCR_ENABLE_FIFO 0x01 +#define UART_FCR_CLEAR_RCVR 0x02 +#define UART_FCR_CLEAR_XMIT 0x04 +#define UART_FCR_DMA_SELECT 0x08 +#define UART_FCR_R_TRIG_00 0x00 +#define UART_FCR_R_TRIG_01 0x40 +#define UART_FCR_R_TRIG_10 0x80 +#define UART_FCR_R_TRIG_11 0xc0 +#define UART_FCR_T_TRIG_00 0x00 +#define UART_FCR_T_TRIG_01 0x10 +#define UART_FCR_T_TRIG_10 0x20 +#define UART_FCR_T_TRIG_11 0x30 +#define UART_FCR_TRIGGER_MASK 0xC0 +#define UART_FCR_TRIGGER_1 0x00 +#define UART_FCR_TRIGGER_4 0x40 +#define UART_FCR_TRIGGER_8 0x80 +#define UART_FCR_TRIGGER_14 0xC0 +#define UART_FCR6_R_TRIGGER_8 0x00 +#define UART_FCR6_R_TRIGGER_16 0x40 +#define UART_FCR6_R_TRIGGER_24 0x80 +#define UART_FCR6_R_TRIGGER_28 0xC0 +#define UART_FCR6_T_TRIGGER_16 0x00 +#define UART_FCR6_T_TRIGGER_8 0x10 +#define UART_FCR6_T_TRIGGER_24 0x20 +#define UART_FCR6_T_TRIGGER_30 0x30 +#define UART_FCR7_64BYTE 0x20 +#define UART_FCR_R_TRIG_SHIFT 6 +#define UART_FCR_R_TRIG_BITS(x) \ + (((x) & UART_FCR_TRIGGER_MASK) >> UART_FCR_R_TRIG_SHIFT) +#define UART_FCR_R_TRIG_MAX_STATE 4 +#define UART_LCR 3 +#define UART_LCR_DLAB 0x80 +#define UART_LCR_SBC 0x40 +#define UART_LCR_SPAR 0x20 +#define UART_LCR_EPAR 0x10 +#define UART_LCR_PARITY 0x08 +#define UART_LCR_STOP 0x04 +#define UART_LCR_WLEN5 0x00 +#define UART_LCR_WLEN6 0x01 +#define UART_LCR_WLEN7 0x02 +#define UART_LCR_WLEN8 0x03 +#define UART_LCR_CONF_MODE_A UART_LCR_DLAB +#define UART_LCR_CONF_MODE_B 0xBF +#define UART_MCR 4 +#define UART_MCR_CLKSEL 0x80 +#define UART_MCR_TCRTLR 0x40 +#define UART_MCR_XONANY 0x20 +#define UART_MCR_AFE 0x20 +#define UART_MCR_LOOP 0x10 +#define UART_MCR_OUT2 0x08 +#define UART_MCR_OUT1 0x04 +#define UART_MCR_RTS 0x02 +#define UART_MCR_DTR 0x01 +#define UART_LSR 5 +#define UART_LSR_FIFOE 0x80 +#define UART_LSR_TEMT 0x40 +#define UART_LSR_THRE 0x20 +#define UART_LSR_BI 0x10 +#define UART_LSR_FE 0x08 +#define UART_LSR_PE 0x04 +#define UART_LSR_OE 0x02 +#define UART_LSR_DR 0x01 +#define UART_LSR_BRK_ERROR_BITS 0x1E +#define UART_MSR 6 +#define UART_MSR_DCD 0x80 +#define UART_MSR_RI 0x40 +#define UART_MSR_DSR 0x20 +#define UART_MSR_CTS 0x10 +#define UART_MSR_DDCD 0x08 +#define UART_MSR_TERI 0x04 +#define UART_MSR_DDSR 0x02 +#define UART_MSR_DCTS 0x01 +#define UART_MSR_ANY_DELTA 0x0F +#define UART_SCR 7 +#define UART_DLL 0 +#define UART_DLM 1 +#define UART_DIV_MAX 0xFFFF +#define UART_EFR 2 +#define UART_XR_EFR 9 +#define UART_EFR_CTS 0x80 +#define UART_EFR_RTS 0x40 +#define UART_EFR_SCD 0x20 +#define UART_EFR_ECB 0x10 +#define UART_XON1 4 +#define UART_XON2 5 +#define UART_XOFF1 6 +#define UART_XOFF2 7 +#define UART_TI752_TCR 6 +#define UART_TI752_TLR 7 +#define UART_TRG 0 +#define UART_TRG_1 0x01 +#define UART_TRG_4 0x04 +#define UART_TRG_8 0x08 +#define UART_TRG_16 0x10 +#define UART_TRG_32 0x20 +#define UART_TRG_64 0x40 +#define UART_TRG_96 0x60 +#define UART_TRG_120 0x78 +#define UART_TRG_128 0x80 +#define UART_FCTR 1 +#define UART_FCTR_RTS_NODELAY 0x00 +#define UART_FCTR_RTS_4DELAY 0x01 +#define UART_FCTR_RTS_6DELAY 0x02 +#define UART_FCTR_RTS_8DELAY 0x03 +#define UART_FCTR_IRDA 0x04 +#define UART_FCTR_TX_INT 0x08 +#define UART_FCTR_TRGA 0x00 +#define UART_FCTR_TRGB 0x10 +#define UART_FCTR_TRGC 0x20 +#define UART_FCTR_TRGD 0x30 +#define UART_FCTR_SCR_SWAP 0x40 +#define UART_FCTR_RX 0x00 +#define UART_FCTR_TX 0x80 +#define UART_EMSR 7 +#define UART_EMSR_FIFO_COUNT 0x01 +#define UART_EMSR_ALT_COUNT 0x02 +#define UART_IER_DMAE 0x80 +#define UART_IER_UUE 0x40 +#define UART_IER_NRZE 0x20 +#define UART_IER_RTOIE 0x10 +#define UART_IIR_TOD 0x08 +#define UART_FCR_PXAR1 0x00 +#define UART_FCR_PXAR8 0x40 +#define UART_FCR_PXAR16 0x80 +#define UART_FCR_PXAR32 0xc0 +#define UART_ASR 0x01 +#define UART_RFL 0x03 +#define UART_TFL 0x04 +#define UART_ICR 0x05 +#define UART_ACR 0x00 +#define UART_CPR 0x01 +#define UART_TCR 0x02 +#define UART_CKS 0x03 +#define UART_TTL 0x04 +#define UART_RTL 0x05 +#define UART_FCL 0x06 +#define UART_FCH 0x07 +#define UART_ID1 0x08 +#define UART_ID2 0x09 +#define UART_ID3 0x0A +#define UART_REV 0x0B +#define UART_CSR 0x0C +#define UART_NMR 0x0D +#define UART_CTR 0xFF +#define UART_ACR_RXDIS 0x01 +#define UART_ACR_TXDIS 0x02 +#define UART_ACR_DSRFC 0x04 +#define UART_ACR_TLENB 0x20 +#define UART_ACR_ICRRD 0x40 +#define UART_ACR_ASREN 0x80 +#define UART_RSA_BASE (-8) +#define UART_RSA_MSR ((UART_RSA_BASE) + 0) +#define UART_RSA_MSR_SWAP (1 << 0) +#define UART_RSA_MSR_FIFO (1 << 2) +#define UART_RSA_MSR_FLOW (1 << 3) +#define UART_RSA_MSR_ITYP (1 << 4) +#define UART_RSA_IER ((UART_RSA_BASE) + 1) +#define UART_RSA_IER_Rx_FIFO_H (1 << 0) +#define UART_RSA_IER_Tx_FIFO_H (1 << 1) +#define UART_RSA_IER_Tx_FIFO_E (1 << 2) +#define UART_RSA_IER_Rx_TOUT (1 << 3) +#define UART_RSA_IER_TIMER (1 << 4) +#define UART_RSA_SRR ((UART_RSA_BASE) + 2) +#define UART_RSA_SRR_Tx_FIFO_NEMP (1 << 0) +#define UART_RSA_SRR_Tx_FIFO_NHFL (1 << 1) +#define UART_RSA_SRR_Tx_FIFO_NFUL (1 << 2) +#define UART_RSA_SRR_Rx_FIFO_NEMP (1 << 3) +#define UART_RSA_SRR_Rx_FIFO_NHFL (1 << 4) +#define UART_RSA_SRR_Rx_FIFO_NFUL (1 << 5) +#define UART_RSA_SRR_Rx_TOUT (1 << 6) +#define UART_RSA_SRR_TIMER (1 << 7) +#define UART_RSA_FRR ((UART_RSA_BASE) + 2) +#define UART_RSA_TIVSR ((UART_RSA_BASE) + 3) +#define UART_RSA_TCR ((UART_RSA_BASE) + 4) +#define UART_RSA_TCR_SWITCH (1 << 0) +#define SERIAL_RSA_BAUD_BASE (921600) +#define SERIAL_RSA_BAUD_BASE_LO (SERIAL_RSA_BAUD_BASE / 8) +#define UART_DA830_PWREMU_MGMT 12 +#define UART_DA830_PWREMU_MGMT_FREE (1 << 0) +#define UART_DA830_PWREMU_MGMT_URRST (1 << 13) +#define UART_DA830_PWREMU_MGMT_UTRST (1 << 14) +#define OMAP1_UART1_BASE 0xfffb0000 +#define OMAP1_UART2_BASE 0xfffb0800 +#define OMAP1_UART3_BASE 0xfffb9800 +#define UART_OMAP_MDR1 0x08 +#define UART_OMAP_MDR2 0x09 +#define UART_OMAP_SCR 0x10 +#define UART_OMAP_SSR 0x11 +#define UART_OMAP_EBLR 0x12 +#define UART_OMAP_OSC_12M_SEL 0x13 +#define UART_OMAP_MVER 0x14 +#define UART_OMAP_SYSC 0x15 +#define UART_OMAP_SYSS 0x16 +#define UART_OMAP_WER 0x17 +#define UART_OMAP_TX_LVL 0x1a +#define UART_OMAP_MDR1_16X_MODE 0x00 +#define UART_OMAP_MDR1_SIR_MODE 0x01 +#define UART_OMAP_MDR1_16X_ABAUD_MODE 0x02 +#define UART_OMAP_MDR1_13X_MODE 0x03 +#define UART_OMAP_MDR1_MIR_MODE 0x04 +#define UART_OMAP_MDR1_FIR_MODE 0x05 +#define UART_OMAP_MDR1_CIR_MODE 0x06 +#define UART_OMAP_MDR1_DISABLE 0x07 +#define UART_ALTR_AFR 0x40 +#define UART_ALTR_EN_TXFIFO_LW 0x01 +#define UART_ALTR_TX_LOW 0x41 +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/serio.h b/linux-5.10/prebuilts/usr/include/linux/serio.h new file mode 100644 index 0000000..cad8c2b --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/serio.h @@ -0,0 +1,68 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI_SERIO_H +#define _UAPI_SERIO_H +#include +#include +#define SPIOCSTYPE _IOW('q', 0x01, unsigned long) +#define SERIO_TIMEOUT _BITUL(0) +#define SERIO_PARITY _BITUL(1) +#define SERIO_FRAME _BITUL(2) +#define SERIO_OOB_DATA _BITUL(3) +#define SERIO_XT 0x00 +#define SERIO_8042 0x01 +#define SERIO_RS232 0x02 +#define SERIO_HIL_MLC 0x03 +#define SERIO_PS_PSTHRU 0x05 +#define SERIO_8042_XL 0x06 +#define SERIO_UNKNOWN 0x00 +#define SERIO_MSC 0x01 +#define SERIO_SUN 0x02 +#define SERIO_MS 0x03 +#define SERIO_MP 0x04 +#define SERIO_MZ 0x05 +#define SERIO_MZP 0x06 +#define SERIO_MZPP 0x07 +#define SERIO_VSXXXAA 0x08 +#define SERIO_SUNKBD 0x10 +#define SERIO_WARRIOR 0x18 +#define SERIO_SPACEORB 0x19 +#define SERIO_MAGELLAN 0x1a +#define SERIO_SPACEBALL 0x1b +#define SERIO_GUNZE 0x1c +#define SERIO_IFORCE 0x1d +#define SERIO_STINGER 0x1e +#define SERIO_NEWTON 0x1f +#define SERIO_STOWAWAY 0x20 +#define SERIO_H3600 0x21 +#define SERIO_PS2SER 0x22 +#define SERIO_TWIDKBD 0x23 +#define SERIO_TWIDJOY 0x24 +#define SERIO_HIL 0x25 +#define SERIO_SNES232 0x26 +#define SERIO_SEMTECH 0x27 +#define SERIO_LKKBD 0x28 +#define SERIO_ELO 0x29 +#define SERIO_MICROTOUCH 0x30 +#define SERIO_PENMOUNT 0x31 +#define SERIO_TOUCHRIGHT 0x32 +#define SERIO_TOUCHWIN 0x33 +#define SERIO_TAOSEVM 0x34 +#define SERIO_FUJITSU 0x35 +#define SERIO_ZHENHUA 0x36 +#define SERIO_INEXIO 0x37 +#define SERIO_TOUCHIT213 0x38 +#define SERIO_W8001 0x39 +#define SERIO_DYNAPRO 0x3a +#define SERIO_HAMPSHIRE 0x3b +#define SERIO_PS2MULT 0x3c +#define SERIO_TSC40 0x3d +#define SERIO_WACOM_IV 0x3e +#define SERIO_EGALAX 0x3f +#define SERIO_PULSE8_CEC 0x40 +#define SERIO_RAINSHADOW_CEC 0x41 +#define SERIO_FSIA6B 0x42 +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/shm.h b/linux-5.10/prebuilts/usr/include/linux/shm.h new file mode 100644 index 0000000..8e88d8e --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/shm.h @@ -0,0 +1,75 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI_LINUX_SHM_H_ +#define _UAPI_LINUX_SHM_H_ +#include +#include +#include +#ifndef __KERNEL__ +#include +#endif +#define SHMMIN 1 +#define SHMMNI 4096 +#define SHMMAX (ULONG_MAX - (1UL << 24)) +#define SHMALL (ULONG_MAX - (1UL << 24)) +#define SHMSEG SHMMNI +struct __kernel_legacy_shmid_ds { + struct __kernel_legacy_ipc_perm shm_perm; + int shm_segsz; + __kernel_old_time_t shm_atime; + __kernel_old_time_t shm_dtime; + __kernel_old_time_t shm_ctime; + __kernel_ipc_pid_t shm_cpid; + __kernel_ipc_pid_t shm_lpid; + unsigned short shm_nattch; + unsigned short shm_unused; + void *shm_unused2; + void *shm_unused3; +}; +#include +#define SHM_R 0400 +#define SHM_W 0200 +#define SHM_HUGETLB 04000 +#define SHM_NORESERVE 010000 +#define SHM_HUGE_SHIFT HUGETLB_FLAG_ENCODE_SHIFT +#define SHM_HUGE_MASK HUGETLB_FLAG_ENCODE_MASK +#define SHM_HUGE_64KB HUGETLB_FLAG_ENCODE_64KB +#define SHM_HUGE_512KB HUGETLB_FLAG_ENCODE_512KB +#define SHM_HUGE_1MB HUGETLB_FLAG_ENCODE_1MB +#define SHM_HUGE_2MB HUGETLB_FLAG_ENCODE_2MB +#define SHM_HUGE_8MB HUGETLB_FLAG_ENCODE_8MB +#define SHM_HUGE_16MB HUGETLB_FLAG_ENCODE_16MB +#define SHM_HUGE_32MB HUGETLB_FLAG_ENCODE_32MB +#define SHM_HUGE_256MB HUGETLB_FLAG_ENCODE_256MB +#define SHM_HUGE_512MB HUGETLB_FLAG_ENCODE_512MB +#define SHM_HUGE_1GB HUGETLB_FLAG_ENCODE_1GB +#define SHM_HUGE_2GB HUGETLB_FLAG_ENCODE_2GB +#define SHM_HUGE_16GB HUGETLB_FLAG_ENCODE_16GB +#define SHM_RDONLY 010000 +#define SHM_RND 020000 +#define SHM_REMAP 040000 +#define SHM_EXEC 0100000 +#define SHM_LOCK 11 +#define SHM_UNLOCK 12 +#define SHM_STAT 13 +#define SHM_INFO 14 +#define SHM_STAT_ANY 15 +struct shminfo { + int shmmax; + int shmmin; + int shmmni; + int shmseg; + int shmall; +}; +struct shm_info { + int used_ids; + __kernel_ulong_t shm_tot; + __kernel_ulong_t shm_rss; + __kernel_ulong_t shm_swp; + __kernel_ulong_t swap_attempts; + __kernel_ulong_t swap_successes; +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/signal.h b/linux-5.10/prebuilts/usr/include/linux/signal.h new file mode 100644 index 0000000..6be19ce --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/signal.h @@ -0,0 +1,14 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI_LINUX_SIGNAL_H +#define _UAPI_LINUX_SIGNAL_H +#include +#include +#define SS_ONSTACK 1 +#define SS_DISABLE 2 +#define SS_AUTODISARM (1U << 31) +#define SS_FLAG_BITS SS_AUTODISARM +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/signalfd.h b/linux-5.10/prebuilts/usr/include/linux/signalfd.h new file mode 100644 index 0000000..58ed5c9 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/signalfd.h @@ -0,0 +1,37 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI_LINUX_SIGNALFD_H +#define _UAPI_LINUX_SIGNALFD_H +#include +#include +#define SFD_CLOEXEC O_CLOEXEC +#define SFD_NONBLOCK O_NONBLOCK +struct signalfd_siginfo { + __u32 ssi_signo; + __s32 ssi_errno; + __s32 ssi_code; + __u32 ssi_pid; + __u32 ssi_uid; + __s32 ssi_fd; + __u32 ssi_tid; + __u32 ssi_band; + __u32 ssi_overrun; + __u32 ssi_trapno; + __s32 ssi_status; + __s32 ssi_int; + __u64 ssi_ptr; + __u64 ssi_utime; + __u64 ssi_stime; + __u64 ssi_addr; + __u16 ssi_addr_lsb; + __u16 __pad2; + __s32 ssi_syscall; + __u64 ssi_call_addr; + __u32 ssi_arch; + + __u8 __pad[28]; +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/smc.h b/linux-5.10/prebuilts/usr/include/linux/smc.h new file mode 100644 index 0000000..51423b2 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/smc.h @@ -0,0 +1,25 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI_LINUX_SMC_H_ +#define _UAPI_LINUX_SMC_H_ +enum { + SMC_PNETID_UNSPEC, + SMC_PNETID_NAME, + SMC_PNETID_ETHNAME, + SMC_PNETID_IBNAME, + SMC_PNETID_IBPORT, + __SMC_PNETID_MAX, + SMC_PNETID_MAX = __SMC_PNETID_MAX - 1 +}; +enum { + SMC_PNETID_GET = 1, + SMC_PNETID_ADD, + SMC_PNETID_DEL, + SMC_PNETID_FLUSH +}; +#define SMCR_GENL_FAMILY_NAME "SMC_PNETID" +#define SMCR_GENL_FAMILY_VERSION 1 +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/smc_diag.h b/linux-5.10/prebuilts/usr/include/linux/smc_diag.h new file mode 100644 index 0000000..09f87d9 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/smc_diag.h @@ -0,0 +1,91 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI_SMC_DIAG_H_ +#define _UAPI_SMC_DIAG_H_ +#include +#include +#include +struct smc_diag_req { + __u8 diag_family; + __u8 pad[2]; + __u8 diag_ext; + struct inet_diag_sockid id; +}; +struct smc_diag_msg { + __u8 diag_family; + __u8 diag_state; + union { + __u8 diag_mode; + __u8 diag_fallback; + }; + __u8 diag_shutdown; + struct inet_diag_sockid id; + __u32 diag_uid; + __aligned_u64 diag_inode; +}; +enum { + SMC_DIAG_MODE_SMCR, + SMC_DIAG_MODE_FALLBACK_TCP, + SMC_DIAG_MODE_SMCD, +}; +enum { + SMC_DIAG_NONE, + SMC_DIAG_CONNINFO, + SMC_DIAG_LGRINFO, + SMC_DIAG_SHUTDOWN, + SMC_DIAG_DMBINFO, + SMC_DIAG_FALLBACK, + __SMC_DIAG_MAX, +}; +#define SMC_DIAG_MAX (__SMC_DIAG_MAX - 1) +struct smc_diag_cursor { + __u16 reserved; + __u16 wrap; + __u32 count; +}; +struct smc_diag_conninfo { + __u32 token; + __u32 sndbuf_size; + __u32 rmbe_size; + __u32 peer_rmbe_size; + + struct smc_diag_cursor rx_prod; + struct smc_diag_cursor rx_cons; + + struct smc_diag_cursor tx_prod; + struct smc_diag_cursor tx_cons; + __u8 rx_prod_flags; + __u8 rx_conn_state_flags; + __u8 tx_prod_flags; + __u8 tx_conn_state_flags; + + struct smc_diag_cursor tx_prep; + struct smc_diag_cursor tx_sent; + struct smc_diag_cursor tx_fin; +}; +struct smc_diag_linkinfo { + __u8 link_id; + __u8 ibname[IB_DEVICE_NAME_MAX]; + __u8 ibport; + __u8 gid[40]; + __u8 peer_gid[40]; +}; +struct smc_diag_lgrinfo { + struct smc_diag_linkinfo lnk[1]; + __u8 role; +}; +struct smc_diag_fallback { + __u32 reason; + __u32 peer_diagnosis; +}; +struct smcd_diag_dmbinfo { + __u32 linkid; + __aligned_u64 peer_gid; + __aligned_u64 my_gid; + __aligned_u64 token; + __aligned_u64 peer_token; +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/smiapp.h b/linux-5.10/prebuilts/usr/include/linux/smiapp.h new file mode 100644 index 0000000..4ee15ec --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/smiapp.h @@ -0,0 +1,13 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef __UAPI_LINUX_SMIAPP_H_ +#define __UAPI_LINUX_SMIAPP_H_ +#define V4L2_SMIAPP_TEST_PATTERN_MODE_DISABLED 0 +#define V4L2_SMIAPP_TEST_PATTERN_MODE_SOLID_COLOUR 1 +#define V4L2_SMIAPP_TEST_PATTERN_MODE_COLOUR_BARS 2 +#define V4L2_SMIAPP_TEST_PATTERN_MODE_COLOUR_BARS_GREY 3 +#define V4L2_SMIAPP_TEST_PATTERN_MODE_PN9 4 +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/snmp.h b/linux-5.10/prebuilts/usr/include/linux/snmp.h new file mode 100644 index 0000000..8549eb2 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/snmp.h @@ -0,0 +1,302 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _LINUX_SNMP_H +#define _LINUX_SNMP_H +enum +{ + IPSTATS_MIB_NUM = 0, + IPSTATS_MIB_INPKTS, + IPSTATS_MIB_INOCTETS, + IPSTATS_MIB_INDELIVERS, + IPSTATS_MIB_OUTFORWDATAGRAMS, + IPSTATS_MIB_OUTPKTS, + IPSTATS_MIB_OUTOCTETS, + IPSTATS_MIB_INHDRERRORS, + IPSTATS_MIB_INTOOBIGERRORS, + IPSTATS_MIB_INNOROUTES, + IPSTATS_MIB_INADDRERRORS, + IPSTATS_MIB_INUNKNOWNPROTOS, + IPSTATS_MIB_INTRUNCATEDPKTS, + IPSTATS_MIB_INDISCARDS, + IPSTATS_MIB_OUTDISCARDS, + IPSTATS_MIB_OUTNOROUTES, + IPSTATS_MIB_REASMTIMEOUT, + IPSTATS_MIB_REASMREQDS, + IPSTATS_MIB_REASMOKS, + IPSTATS_MIB_REASMFAILS, + IPSTATS_MIB_FRAGOKS, + IPSTATS_MIB_FRAGFAILS, + IPSTATS_MIB_FRAGCREATES, + IPSTATS_MIB_INMCASTPKTS, + IPSTATS_MIB_OUTMCASTPKTS, + IPSTATS_MIB_INBCASTPKTS, + IPSTATS_MIB_OUTBCASTPKTS, + IPSTATS_MIB_INMCASTOCTETS, + IPSTATS_MIB_OUTMCASTOCTETS, + IPSTATS_MIB_INBCASTOCTETS, + IPSTATS_MIB_OUTBCASTOCTETS, + IPSTATS_MIB_CSUMERRORS, + IPSTATS_MIB_NOECTPKTS, + IPSTATS_MIB_ECT1PKTS, + IPSTATS_MIB_ECT0PKTS, + IPSTATS_MIB_CEPKTS, + IPSTATS_MIB_REASM_OVERLAPS, + __IPSTATS_MIB_MAX +}; +enum +{ + ICMP_MIB_NUM = 0, + ICMP_MIB_INMSGS, + ICMP_MIB_INERRORS, + ICMP_MIB_INDESTUNREACHS, + ICMP_MIB_INTIMEEXCDS, + ICMP_MIB_INPARMPROBS, + ICMP_MIB_INSRCQUENCHS, + ICMP_MIB_INREDIRECTS, + ICMP_MIB_INECHOS, + ICMP_MIB_INECHOREPS, + ICMP_MIB_INTIMESTAMPS, + ICMP_MIB_INTIMESTAMPREPS, + ICMP_MIB_INADDRMASKS, + ICMP_MIB_INADDRMASKREPS, + ICMP_MIB_OUTMSGS, + ICMP_MIB_OUTERRORS, + ICMP_MIB_OUTDESTUNREACHS, + ICMP_MIB_OUTTIMEEXCDS, + ICMP_MIB_OUTPARMPROBS, + ICMP_MIB_OUTSRCQUENCHS, + ICMP_MIB_OUTREDIRECTS, + ICMP_MIB_OUTECHOS, + ICMP_MIB_OUTECHOREPS, + ICMP_MIB_OUTTIMESTAMPS, + ICMP_MIB_OUTTIMESTAMPREPS, + ICMP_MIB_OUTADDRMASKS, + ICMP_MIB_OUTADDRMASKREPS, + ICMP_MIB_CSUMERRORS, + __ICMP_MIB_MAX +}; +#define __ICMPMSG_MIB_MAX 512 +enum +{ + ICMP6_MIB_NUM = 0, + ICMP6_MIB_INMSGS, + ICMP6_MIB_INERRORS, + ICMP6_MIB_OUTMSGS, + ICMP6_MIB_OUTERRORS, + ICMP6_MIB_CSUMERRORS, + __ICMP6_MIB_MAX +}; +#define __ICMP6MSG_MIB_MAX 512 +enum +{ + TCP_MIB_NUM = 0, + TCP_MIB_RTOALGORITHM, + TCP_MIB_RTOMIN, + TCP_MIB_RTOMAX, + TCP_MIB_MAXCONN, + TCP_MIB_ACTIVEOPENS, + TCP_MIB_PASSIVEOPENS, + TCP_MIB_ATTEMPTFAILS, + TCP_MIB_ESTABRESETS, + TCP_MIB_CURRESTAB, + TCP_MIB_INSEGS, + TCP_MIB_OUTSEGS, + TCP_MIB_RETRANSSEGS, + TCP_MIB_INERRS, + TCP_MIB_OUTRSTS, + TCP_MIB_CSUMERRORS, + __TCP_MIB_MAX +}; +enum +{ + UDP_MIB_NUM = 0, + UDP_MIB_INDATAGRAMS, + UDP_MIB_NOPORTS, + UDP_MIB_INERRORS, + UDP_MIB_OUTDATAGRAMS, + UDP_MIB_RCVBUFERRORS, + UDP_MIB_SNDBUFERRORS, + UDP_MIB_CSUMERRORS, + UDP_MIB_IGNOREDMULTI, + __UDP_MIB_MAX +}; +enum +{ + LINUX_MIB_NUM = 0, + LINUX_MIB_SYNCOOKIESSENT, + LINUX_MIB_SYNCOOKIESRECV, + LINUX_MIB_SYNCOOKIESFAILED, + LINUX_MIB_EMBRYONICRSTS, + LINUX_MIB_PRUNECALLED, + LINUX_MIB_RCVPRUNED, + LINUX_MIB_OFOPRUNED, + LINUX_MIB_OUTOFWINDOWICMPS, + LINUX_MIB_LOCKDROPPEDICMPS, + LINUX_MIB_ARPFILTER, + LINUX_MIB_TIMEWAITED, + LINUX_MIB_TIMEWAITRECYCLED, + LINUX_MIB_TIMEWAITKILLED, + LINUX_MIB_PAWSACTIVEREJECTED, + LINUX_MIB_PAWSESTABREJECTED, + LINUX_MIB_DELAYEDACKS, + LINUX_MIB_DELAYEDACKLOCKED, + LINUX_MIB_DELAYEDACKLOST, + LINUX_MIB_LISTENOVERFLOWS, + LINUX_MIB_LISTENDROPS, + LINUX_MIB_TCPHPHITS, + LINUX_MIB_TCPPUREACKS, + LINUX_MIB_TCPHPACKS, + LINUX_MIB_TCPRENORECOVERY, + LINUX_MIB_TCPSACKRECOVERY, + LINUX_MIB_TCPSACKRENEGING, + LINUX_MIB_TCPSACKREORDER, + LINUX_MIB_TCPRENOREORDER, + LINUX_MIB_TCPTSREORDER, + LINUX_MIB_TCPFULLUNDO, + LINUX_MIB_TCPPARTIALUNDO, + LINUX_MIB_TCPDSACKUNDO, + LINUX_MIB_TCPLOSSUNDO, + LINUX_MIB_TCPLOSTRETRANSMIT, + LINUX_MIB_TCPRENOFAILURES, + LINUX_MIB_TCPSACKFAILURES, + LINUX_MIB_TCPLOSSFAILURES, + LINUX_MIB_TCPFASTRETRANS, + LINUX_MIB_TCPSLOWSTARTRETRANS, + LINUX_MIB_TCPTIMEOUTS, + LINUX_MIB_TCPLOSSPROBES, + LINUX_MIB_TCPLOSSPROBERECOVERY, + LINUX_MIB_TCPRENORECOVERYFAIL, + LINUX_MIB_TCPSACKRECOVERYFAIL, + LINUX_MIB_TCPRCVCOLLAPSED, + LINUX_MIB_TCPDSACKOLDSENT, + LINUX_MIB_TCPDSACKOFOSENT, + LINUX_MIB_TCPDSACKRECV, + LINUX_MIB_TCPDSACKOFORECV, + LINUX_MIB_TCPABORTONDATA, + LINUX_MIB_TCPABORTONCLOSE, + LINUX_MIB_TCPABORTONMEMORY, + LINUX_MIB_TCPABORTONTIMEOUT, + LINUX_MIB_TCPABORTONLINGER, + LINUX_MIB_TCPABORTFAILED, + LINUX_MIB_TCPMEMORYPRESSURES, + LINUX_MIB_TCPMEMORYPRESSURESCHRONO, + LINUX_MIB_TCPSACKDISCARD, + LINUX_MIB_TCPDSACKIGNOREDOLD, + LINUX_MIB_TCPDSACKIGNOREDNOUNDO, + LINUX_MIB_TCPSPURIOUSRTOS, + LINUX_MIB_TCPMD5NOTFOUND, + LINUX_MIB_TCPMD5UNEXPECTED, + LINUX_MIB_TCPMD5FAILURE, + LINUX_MIB_SACKSHIFTED, + LINUX_MIB_SACKMERGED, + LINUX_MIB_SACKSHIFTFALLBACK, + LINUX_MIB_TCPBACKLOGDROP, + LINUX_MIB_PFMEMALLOCDROP, + LINUX_MIB_TCPMINTTLDROP, + LINUX_MIB_TCPDEFERACCEPTDROP, + LINUX_MIB_IPRPFILTER, + LINUX_MIB_TCPTIMEWAITOVERFLOW, + LINUX_MIB_TCPREQQFULLDOCOOKIES, + LINUX_MIB_TCPREQQFULLDROP, + LINUX_MIB_TCPRETRANSFAIL, + LINUX_MIB_TCPRCVCOALESCE, + LINUX_MIB_TCPBACKLOGCOALESCE, + LINUX_MIB_TCPOFOQUEUE, + LINUX_MIB_TCPOFODROP, + LINUX_MIB_TCPOFOMERGE, + LINUX_MIB_TCPCHALLENGEACK, + LINUX_MIB_TCPSYNCHALLENGE, + LINUX_MIB_TCPFASTOPENACTIVE, + LINUX_MIB_TCPFASTOPENACTIVEFAIL, + LINUX_MIB_TCPFASTOPENPASSIVE, + LINUX_MIB_TCPFASTOPENPASSIVEFAIL, + LINUX_MIB_TCPFASTOPENLISTENOVERFLOW, + LINUX_MIB_TCPFASTOPENCOOKIEREQD, + LINUX_MIB_TCPFASTOPENBLACKHOLE, + LINUX_MIB_TCPSPURIOUS_RTX_HOSTQUEUES, + LINUX_MIB_BUSYPOLLRXPACKETS, + LINUX_MIB_TCPAUTOCORKING, + LINUX_MIB_TCPFROMZEROWINDOWADV, + LINUX_MIB_TCPTOZEROWINDOWADV, + LINUX_MIB_TCPWANTZEROWINDOWADV, + LINUX_MIB_TCPSYNRETRANS, + LINUX_MIB_TCPORIGDATASENT, + LINUX_MIB_TCPHYSTARTTRAINDETECT, + LINUX_MIB_TCPHYSTARTTRAINCWND, + LINUX_MIB_TCPHYSTARTDELAYDETECT, + LINUX_MIB_TCPHYSTARTDELAYCWND, + LINUX_MIB_TCPACKSKIPPEDSYNRECV, + LINUX_MIB_TCPACKSKIPPEDPAWS, + LINUX_MIB_TCPACKSKIPPEDSEQ, + LINUX_MIB_TCPACKSKIPPEDFINWAIT2, + LINUX_MIB_TCPACKSKIPPEDTIMEWAIT, + LINUX_MIB_TCPACKSKIPPEDCHALLENGE, + LINUX_MIB_TCPWINPROBE, + LINUX_MIB_TCPKEEPALIVE, + LINUX_MIB_TCPMTUPFAIL, + LINUX_MIB_TCPMTUPSUCCESS, + LINUX_MIB_TCPDELIVERED, + LINUX_MIB_TCPDELIVEREDCE, + LINUX_MIB_TCPACKCOMPRESSED, + LINUX_MIB_TCPZEROWINDOWDROP, + LINUX_MIB_TCPRCVQDROP, + LINUX_MIB_TCPWQUEUETOOBIG, + LINUX_MIB_TCPFASTOPENPASSIVEALTKEY, + LINUX_MIB_TCPTIMEOUTREHASH, + LINUX_MIB_TCPDUPLICATEDATAREHASH, + LINUX_MIB_TCPDSACKRECVSEGS, + LINUX_MIB_TCPDSACKIGNOREDDUBIOUS, + __LINUX_MIB_MAX +}; +enum +{ + LINUX_MIB_XFRMNUM = 0, + LINUX_MIB_XFRMINERROR, + LINUX_MIB_XFRMINBUFFERERROR, + LINUX_MIB_XFRMINHDRERROR, + LINUX_MIB_XFRMINNOSTATES, + LINUX_MIB_XFRMINSTATEPROTOERROR, + LINUX_MIB_XFRMINSTATEMODEERROR, + LINUX_MIB_XFRMINSTATESEQERROR, + LINUX_MIB_XFRMINSTATEEXPIRED, + LINUX_MIB_XFRMINSTATEMISMATCH, + LINUX_MIB_XFRMINSTATEINVALID, + LINUX_MIB_XFRMINTMPLMISMATCH, + LINUX_MIB_XFRMINNOPOLS, + LINUX_MIB_XFRMINPOLBLOCK, + LINUX_MIB_XFRMINPOLERROR, + LINUX_MIB_XFRMOUTERROR, + LINUX_MIB_XFRMOUTBUNDLEGENERROR, + LINUX_MIB_XFRMOUTBUNDLECHECKERROR, + LINUX_MIB_XFRMOUTNOSTATES, + LINUX_MIB_XFRMOUTSTATEPROTOERROR, + LINUX_MIB_XFRMOUTSTATEMODEERROR, + LINUX_MIB_XFRMOUTSTATESEQERROR, + LINUX_MIB_XFRMOUTSTATEEXPIRED, + LINUX_MIB_XFRMOUTPOLBLOCK, + LINUX_MIB_XFRMOUTPOLDEAD, + LINUX_MIB_XFRMOUTPOLERROR, + LINUX_MIB_XFRMFWDHDRERROR, + LINUX_MIB_XFRMOUTSTATEINVALID, + LINUX_MIB_XFRMACQUIREERROR, + __LINUX_MIB_XFRMMAX +}; +enum +{ + LINUX_MIB_TLSNUM = 0, + LINUX_MIB_TLSCURRTXSW, + LINUX_MIB_TLSCURRRXSW, + LINUX_MIB_TLSCURRTXDEVICE, + LINUX_MIB_TLSCURRRXDEVICE, + LINUX_MIB_TLSTXSW, + LINUX_MIB_TLSRXSW, + LINUX_MIB_TLSTXDEVICE, + LINUX_MIB_TLSRXDEVICE, + LINUX_MIB_TLSDECRYPTERROR, + LINUX_MIB_TLSRXDEVICERESYNC, + __LINUX_MIB_TLSMAX +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/sock_diag.h b/linux-5.10/prebuilts/usr/include/linux/sock_diag.h new file mode 100644 index 0000000..738a3c5 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/sock_diag.h @@ -0,0 +1,56 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI__SOCK_DIAG_H__ +#define _UAPI__SOCK_DIAG_H__ +#include +#define SOCK_DIAG_BY_FAMILY 20 +#define SOCK_DESTROY 21 +struct sock_diag_req { + __u8 sdiag_family; + __u8 sdiag_protocol; +}; +enum { + SK_MEMINFO_RMEM_ALLOC, + SK_MEMINFO_RCVBUF, + SK_MEMINFO_WMEM_ALLOC, + SK_MEMINFO_SNDBUF, + SK_MEMINFO_FWD_ALLOC, + SK_MEMINFO_WMEM_QUEUED, + SK_MEMINFO_OPTMEM, + SK_MEMINFO_BACKLOG, + SK_MEMINFO_DROPS, + SK_MEMINFO_VARS, +}; +enum sknetlink_groups { + SKNLGRP_NONE, + SKNLGRP_INET_TCP_DESTROY, + SKNLGRP_INET_UDP_DESTROY, + SKNLGRP_INET6_TCP_DESTROY, + SKNLGRP_INET6_UDP_DESTROY, + __SKNLGRP_MAX, +}; +#define SKNLGRP_MAX (__SKNLGRP_MAX - 1) +enum { + SK_DIAG_BPF_STORAGE_REQ_NONE, + SK_DIAG_BPF_STORAGE_REQ_MAP_FD, + __SK_DIAG_BPF_STORAGE_REQ_MAX, +}; +#define SK_DIAG_BPF_STORAGE_REQ_MAX (__SK_DIAG_BPF_STORAGE_REQ_MAX - 1) +enum { + SK_DIAG_BPF_STORAGE_REP_NONE, + SK_DIAG_BPF_STORAGE, + __SK_DIAG_BPF_STORAGE_REP_MAX, +}; +#define SK_DIAB_BPF_STORAGE_REP_MAX (__SK_DIAG_BPF_STORAGE_REP_MAX - 1) +enum { + SK_DIAG_BPF_STORAGE_NONE, + SK_DIAG_BPF_STORAGE_PAD, + SK_DIAG_BPF_STORAGE_MAP_ID, + SK_DIAG_BPF_STORAGE_MAP_VALUE, + __SK_DIAG_BPF_STORAGE_MAX, +}; +#define SK_DIAG_BPF_STORAGE_MAX (__SK_DIAG_BPF_STORAGE_MAX - 1) +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/socket.h b/linux-5.10/prebuilts/usr/include/linux/socket.h new file mode 100644 index 0000000..ef2c144 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/socket.h @@ -0,0 +1,22 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI_LINUX_SOCKET_H +#define _UAPI_LINUX_SOCKET_H +#define _K_SS_MAXSIZE 128 +typedef unsigned short __kernel_sa_family_t; +struct sockaddr_storage { + union { + struct { + __kernel_sa_family_t ss_family; + + char __data[_K_SS_MAXSIZE - sizeof(unsigned short)]; + + + }; + void *__align; + }; +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/sockios.h b/linux-5.10/prebuilts/usr/include/linux/sockios.h new file mode 100644 index 0000000..23566de --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/sockios.h @@ -0,0 +1,103 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _LINUX_SOCKIOS_H +#define _LINUX_SOCKIOS_H +#include +#include +#define SIOCINQ FIONREAD +#define SIOCOUTQ TIOCOUTQ +#define SOCK_IOC_TYPE 0x89 +#define SIOCGSTAMP_NEW _IOR(SOCK_IOC_TYPE, 0x06, long long[2]) +#define SIOCGSTAMPNS_NEW _IOR(SOCK_IOC_TYPE, 0x07, long long[2]) +#if __BITS_PER_LONG == 64 || (defined(__x86_64__) && defined(__ILP32__)) +#define SIOCGSTAMP SIOCGSTAMP_OLD +#define SIOCGSTAMPNS SIOCGSTAMPNS_OLD +#else +#define SIOCGSTAMP ((sizeof(struct timeval)) == 8 ? \ + SIOCGSTAMP_OLD : SIOCGSTAMP_NEW) +#define SIOCGSTAMPNS ((sizeof(struct timespec)) == 8 ? \ + SIOCGSTAMPNS_OLD : SIOCGSTAMPNS_NEW) +#endif +#define SIOCADDRT 0x890B +#define SIOCDELRT 0x890C +#define SIOCRTMSG 0x890D +#define SIOCGIFNAME 0x8910 +#define SIOCSIFLINK 0x8911 +#define SIOCGIFCONF 0x8912 +#define SIOCGIFFLAGS 0x8913 +#define SIOCSIFFLAGS 0x8914 +#define SIOCGIFADDR 0x8915 +#define SIOCSIFADDR 0x8916 +#define SIOCGIFDSTADDR 0x8917 +#define SIOCSIFDSTADDR 0x8918 +#define SIOCGIFBRDADDR 0x8919 +#define SIOCSIFBRDADDR 0x891a +#define SIOCGIFNETMASK 0x891b +#define SIOCSIFNETMASK 0x891c +#define SIOCGIFMETRIC 0x891d +#define SIOCSIFMETRIC 0x891e +#define SIOCGIFMEM 0x891f +#define SIOCSIFMEM 0x8920 +#define SIOCGIFMTU 0x8921 +#define SIOCSIFMTU 0x8922 +#define SIOCSIFNAME 0x8923 +#define SIOCSIFHWADDR 0x8924 +#define SIOCGIFENCAP 0x8925 +#define SIOCSIFENCAP 0x8926 +#define SIOCGIFHWADDR 0x8927 +#define SIOCGIFSLAVE 0x8929 +#define SIOCSIFSLAVE 0x8930 +#define SIOCADDMULTI 0x8931 +#define SIOCDELMULTI 0x8932 +#define SIOCGIFINDEX 0x8933 +#define SIOGIFINDEX SIOCGIFINDEX +#define SIOCSIFPFLAGS 0x8934 +#define SIOCGIFPFLAGS 0x8935 +#define SIOCDIFADDR 0x8936 +#define SIOCSIFHWBROADCAST 0x8937 +#define SIOCGIFCOUNT 0x8938 +#define SIOCGIFBR 0x8940 +#define SIOCSIFBR 0x8941 +#define SIOCGIFTXQLEN 0x8942 +#define SIOCSIFTXQLEN 0x8943 +#define SIOCETHTOOL 0x8946 +#define SIOCGMIIPHY 0x8947 +#define SIOCGMIIREG 0x8948 +#define SIOCSMIIREG 0x8949 +#define SIOCWANDEV 0x894A +#define SIOCOUTQNSD 0x894B +#define SIOCGSKNS 0x894C + +#define SIOCDARP 0x8953 +#define SIOCGARP 0x8954 +#define SIOCSARP 0x8955 +#define SIOCDRARP 0x8960 +#define SIOCGRARP 0x8961 +#define SIOCSRARP 0x8962 +#define SIOCGIFMAP 0x8970 +#define SIOCSIFMAP 0x8971 +#define SIOCADDDLCI 0x8980 +#define SIOCDELDLCI 0x8981 +#define SIOCGIFVLAN 0x8982 +#define SIOCSIFVLAN 0x8983 +#define SIOCBONDENSLAVE 0x8990 +#define SIOCBONDRELEASE 0x8991 +#define SIOCBONDSETHWADDR 0x8992 +#define SIOCBONDSLAVEINFOQUERY 0x8993 +#define SIOCBONDINFOQUERY 0x8994 +#define SIOCBONDCHANGEACTIVE 0x8995 + +#define SIOCBRADDBR 0x89a0 +#define SIOCBRDELBR 0x89a1 +#define SIOCBRADDIF 0x89a2 +#define SIOCBRDELIF 0x89a3 +#define SIOCSHWTSTAMP 0x89b0 +#define SIOCGHWTSTAMP 0x89b1 + +#define SIOCDEVPRIVATE 0x89F0 + +#define SIOCPROTOPRIVATE 0x89E0 +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/sonet.h b/linux-5.10/prebuilts/usr/include/linux/sonet.h new file mode 100644 index 0000000..68b4d14 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/sonet.h @@ -0,0 +1,52 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ + + +#ifndef _UAPILINUX_SONET_H +#define _UAPILINUX_SONET_H +#define __SONET_ITEMS \ + __HANDLE_ITEM(section_bip); \ + __HANDLE_ITEM(line_bip); \ + __HANDLE_ITEM(path_bip); \ + __HANDLE_ITEM(line_febe); \ + __HANDLE_ITEM(path_febe); \ + __HANDLE_ITEM(corr_hcs); \ + __HANDLE_ITEM(uncorr_hcs); \ + __HANDLE_ITEM(tx_cells); \ + __HANDLE_ITEM(rx_cells); +struct sonet_stats { +#define __HANDLE_ITEM(i) int i + __SONET_ITEMS +#undef __HANDLE_ITEM +} __attribute__ ((packed)); +#define SONET_GETSTAT _IOR('a',ATMIOC_PHYTYP,struct sonet_stats) + +#define SONET_GETSTATZ _IOR('a',ATMIOC_PHYTYP+1,struct sonet_stats) + +#define SONET_SETDIAG _IOWR('a',ATMIOC_PHYTYP+2,int) + +#define SONET_CLRDIAG _IOWR('a',ATMIOC_PHYTYP+3,int) + +#define SONET_GETDIAG _IOR('a',ATMIOC_PHYTYP+4,int) + +#define SONET_SETFRAMING _IOW('a',ATMIOC_PHYTYP+5,int) + +#define SONET_GETFRAMING _IOR('a',ATMIOC_PHYTYP+6,int) + +#define SONET_GETFRSENSE _IOR('a',ATMIOC_PHYTYP+7, \ + unsigned char[SONET_FRSENSE_SIZE]) +#define SONET_INS_SBIP 1 +#define SONET_INS_LBIP 2 +#define SONET_INS_PBIP 4 +#define SONET_INS_FRAME 8 +#define SONET_INS_LOS 16 +#define SONET_INS_LAIS 32 +#define SONET_INS_PAIS 64 +#define SONET_INS_HCS 128 +#define SONET_FRAME_SONET 0 +#define SONET_FRAME_SDH 1 +#define SONET_FRSENSE_SIZE 6 +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/sonypi.h b/linux-5.10/prebuilts/usr/include/linux/sonypi.h new file mode 100644 index 0000000..56447f7 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/sonypi.h @@ -0,0 +1,98 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI_SONYPI_H_ +#define _UAPI_SONYPI_H_ +#include +#define SONYPI_EVENT_IGNORE 0 +#define SONYPI_EVENT_JOGDIAL_DOWN 1 +#define SONYPI_EVENT_JOGDIAL_UP 2 +#define SONYPI_EVENT_JOGDIAL_DOWN_PRESSED 3 +#define SONYPI_EVENT_JOGDIAL_UP_PRESSED 4 +#define SONYPI_EVENT_JOGDIAL_PRESSED 5 +#define SONYPI_EVENT_JOGDIAL_RELEASED 6 +#define SONYPI_EVENT_CAPTURE_PRESSED 7 +#define SONYPI_EVENT_CAPTURE_RELEASED 8 +#define SONYPI_EVENT_CAPTURE_PARTIALPRESSED 9 +#define SONYPI_EVENT_CAPTURE_PARTIALRELEASED 10 +#define SONYPI_EVENT_FNKEY_ESC 11 +#define SONYPI_EVENT_FNKEY_F1 12 +#define SONYPI_EVENT_FNKEY_F2 13 +#define SONYPI_EVENT_FNKEY_F3 14 +#define SONYPI_EVENT_FNKEY_F4 15 +#define SONYPI_EVENT_FNKEY_F5 16 +#define SONYPI_EVENT_FNKEY_F6 17 +#define SONYPI_EVENT_FNKEY_F7 18 +#define SONYPI_EVENT_FNKEY_F8 19 +#define SONYPI_EVENT_FNKEY_F9 20 +#define SONYPI_EVENT_FNKEY_F10 21 +#define SONYPI_EVENT_FNKEY_F11 22 +#define SONYPI_EVENT_FNKEY_F12 23 +#define SONYPI_EVENT_FNKEY_1 24 +#define SONYPI_EVENT_FNKEY_2 25 +#define SONYPI_EVENT_FNKEY_D 26 +#define SONYPI_EVENT_FNKEY_E 27 +#define SONYPI_EVENT_FNKEY_F 28 +#define SONYPI_EVENT_FNKEY_S 29 +#define SONYPI_EVENT_FNKEY_B 30 +#define SONYPI_EVENT_BLUETOOTH_PRESSED 31 +#define SONYPI_EVENT_PKEY_P1 32 +#define SONYPI_EVENT_PKEY_P2 33 +#define SONYPI_EVENT_PKEY_P3 34 +#define SONYPI_EVENT_BACK_PRESSED 35 +#define SONYPI_EVENT_LID_CLOSED 36 +#define SONYPI_EVENT_LID_OPENED 37 +#define SONYPI_EVENT_BLUETOOTH_ON 38 +#define SONYPI_EVENT_BLUETOOTH_OFF 39 +#define SONYPI_EVENT_HELP_PRESSED 40 +#define SONYPI_EVENT_FNKEY_ONLY 41 +#define SONYPI_EVENT_JOGDIAL_FAST_DOWN 42 +#define SONYPI_EVENT_JOGDIAL_FAST_UP 43 +#define SONYPI_EVENT_JOGDIAL_FAST_DOWN_PRESSED 44 +#define SONYPI_EVENT_JOGDIAL_FAST_UP_PRESSED 45 +#define SONYPI_EVENT_JOGDIAL_VFAST_DOWN 46 +#define SONYPI_EVENT_JOGDIAL_VFAST_UP 47 +#define SONYPI_EVENT_JOGDIAL_VFAST_DOWN_PRESSED 48 +#define SONYPI_EVENT_JOGDIAL_VFAST_UP_PRESSED 49 +#define SONYPI_EVENT_ZOOM_PRESSED 50 +#define SONYPI_EVENT_THUMBPHRASE_PRESSED 51 +#define SONYPI_EVENT_MEYE_FACE 52 +#define SONYPI_EVENT_MEYE_OPPOSITE 53 +#define SONYPI_EVENT_MEMORYSTICK_INSERT 54 +#define SONYPI_EVENT_MEMORYSTICK_EJECT 55 +#define SONYPI_EVENT_ANYBUTTON_RELEASED 56 +#define SONYPI_EVENT_BATTERY_INSERT 57 +#define SONYPI_EVENT_BATTERY_REMOVE 58 +#define SONYPI_EVENT_FNKEY_RELEASED 59 +#define SONYPI_EVENT_WIRELESS_ON 60 +#define SONYPI_EVENT_WIRELESS_OFF 61 +#define SONYPI_EVENT_ZOOM_IN_PRESSED 62 +#define SONYPI_EVENT_ZOOM_OUT_PRESSED 63 +#define SONYPI_EVENT_CD_EJECT_PRESSED 64 +#define SONYPI_EVENT_MODEKEY_PRESSED 65 +#define SONYPI_EVENT_PKEY_P4 66 +#define SONYPI_EVENT_PKEY_P5 67 +#define SONYPI_EVENT_SETTINGKEY_PRESSED 68 +#define SONYPI_EVENT_VOLUME_INC_PRESSED 69 +#define SONYPI_EVENT_VOLUME_DEC_PRESSED 70 +#define SONYPI_EVENT_BRIGHTNESS_PRESSED 71 +#define SONYPI_EVENT_MEDIA_PRESSED 72 +#define SONYPI_EVENT_VENDOR_PRESSED 73 +#define SONYPI_IOCGBRT _IOR('v', 0, __u8) +#define SONYPI_IOCSBRT _IOW('v', 0, __u8) +#define SONYPI_IOCGBAT1CAP _IOR('v', 2, __u16) +#define SONYPI_IOCGBAT1REM _IOR('v', 3, __u16) +#define SONYPI_IOCGBAT2CAP _IOR('v', 4, __u16) +#define SONYPI_IOCGBAT2REM _IOR('v', 5, __u16) +#define SONYPI_BFLAGS_B1 0x01 +#define SONYPI_BFLAGS_B2 0x02 +#define SONYPI_BFLAGS_AC 0x04 +#define SONYPI_IOCGBATFLAGS _IOR('v', 7, __u8) +#define SONYPI_IOCGBLUE _IOR('v', 8, __u8) +#define SONYPI_IOCSBLUE _IOW('v', 9, __u8) +#define SONYPI_IOCGFAN _IOR('v', 10, __u8) +#define SONYPI_IOCSFAN _IOW('v', 11, __u8) +#define SONYPI_IOCGTEMP _IOR('v', 12, __u8) +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/sound.h b/linux-5.10/prebuilts/usr/include/linux/sound.h new file mode 100644 index 0000000..c77e72d --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/sound.h @@ -0,0 +1,24 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI_LINUX_SOUND_H +#define _UAPI_LINUX_SOUND_H +#include +#define SND_DEV_CTL 0 +#define SND_DEV_SEQ 1 +#define SND_DEV_MIDIN 2 +#define SND_DEV_DSP 3 +#define SND_DEV_AUDIO 4 +#define SND_DEV_DSP16 5 +#define SND_DEV_UNUSED 6 +#define SND_DEV_AWFM 7 +#define SND_DEV_SEQ2 8 +#define SND_DEV_SYNTH 9 +#define SND_DEV_DMFM 10 +#define SND_DEV_UNKNOWN11 11 +#define SND_DEV_ADSP 12 +#define SND_DEV_AMIDI 13 +#define SND_DEV_ADMMIDI 14 +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/soundcard.h b/linux-5.10/prebuilts/usr/include/linux/soundcard.h new file mode 100644 index 0000000..38fd739 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/soundcard.h @@ -0,0 +1,771 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPISOUNDCARD_H +#define _UAPISOUNDCARD_H +#define SOUND_VERSION 0x030802 +#define OPEN_SOUND_SYSTEM +#include +#ifndef __KERNEL__ +# include +#endif +#define SNDCARD_ADLIB 1 +#define SNDCARD_SB 2 +#define SNDCARD_PAS 3 +#define SNDCARD_GUS 4 +#define SNDCARD_MPU401 5 +#define SNDCARD_SB16 6 +#define SNDCARD_SB16MIDI 7 +#define SNDCARD_UART6850 8 +#define SNDCARD_GUS16 9 +#define SNDCARD_MSS 10 +#define SNDCARD_PSS 11 +#define SNDCARD_SSCAPE 12 +#define SNDCARD_PSS_MPU 13 +#define SNDCARD_PSS_MSS 14 +#define SNDCARD_SSCAPE_MSS 15 +#define SNDCARD_TRXPRO 16 +#define SNDCARD_TRXPRO_SB 17 +#define SNDCARD_TRXPRO_MPU 18 +#define SNDCARD_MAD16 19 +#define SNDCARD_MAD16_MPU 20 +#define SNDCARD_CS4232 21 +#define SNDCARD_CS4232_MPU 22 +#define SNDCARD_MAUI 23 +#define SNDCARD_PSEUDO_MSS 24 +#define SNDCARD_GUSPNP 25 +#define SNDCARD_UART401 26 +#ifndef _SIOWR +#if defined(_IOWR) && (defined(_AIX) || (!defined(sun) && !defined(sparc) && !defined(__sparc__) && !defined(__INCioctlh) && !defined(__Lynx__))) +#define SIOCPARM_MASK IOCPARM_MASK +#define SIOC_VOID IOC_VOID +#define SIOC_OUT IOC_OUT +#define SIOC_IN IOC_IN +#define SIOC_INOUT IOC_INOUT +#define _SIOC_SIZE _IOC_SIZE +#define _SIOC_DIR _IOC_DIR +#define _SIOC_NONE _IOC_NONE +#define _SIOC_READ _IOC_READ +#define _SIOC_WRITE _IOC_WRITE +#define _SIO _IO +#define _SIOR _IOR +#define _SIOW _IOW +#define _SIOWR _IOWR +#else +#define SIOCPARM_MASK 0x1fff +#define SIOC_VOID 0x00000000 +#define SIOC_OUT 0x20000000 +#define SIOC_IN 0x40000000 +#define SIOC_INOUT (SIOC_IN|SIOC_OUT) +#define _SIO(x,y) ((int)(SIOC_VOID|(x<<8)|y)) +#define _SIOR(x,y,t) ((int)(SIOC_OUT|((sizeof(t)&SIOCPARM_MASK)<<16)|(x<<8)|y)) +#define _SIOW(x,y,t) ((int)(SIOC_IN|((sizeof(t)&SIOCPARM_MASK)<<16)|(x<<8)|y)) +#define _SIOWR(x,y,t) ((int)(SIOC_INOUT|((sizeof(t)&SIOCPARM_MASK)<<16)|(x<<8)|y)) +#define _SIOC_SIZE(x) ((x>>16)&SIOCPARM_MASK) +#define _SIOC_DIR(x) (x & 0xf0000000) +#define _SIOC_NONE SIOC_VOID +#define _SIOC_READ SIOC_OUT +#define _SIOC_WRITE SIOC_IN +# endif +#endif +#define SNDCTL_SEQ_RESET _SIO ('Q', 0) +#define SNDCTL_SEQ_SYNC _SIO ('Q', 1) +#define SNDCTL_SYNTH_INFO _SIOWR('Q', 2, struct synth_info) +#define SNDCTL_SEQ_CTRLRATE _SIOWR('Q', 3, int) +#define SNDCTL_SEQ_GETOUTCOUNT _SIOR ('Q', 4, int) +#define SNDCTL_SEQ_GETINCOUNT _SIOR ('Q', 5, int) +#define SNDCTL_SEQ_PERCMODE _SIOW ('Q', 6, int) +#define SNDCTL_FM_LOAD_INSTR _SIOW ('Q', 7, struct sbi_instrument) +#define SNDCTL_SEQ_TESTMIDI _SIOW ('Q', 8, int) +#define SNDCTL_SEQ_RESETSAMPLES _SIOW ('Q', 9, int) +#define SNDCTL_SEQ_NRSYNTHS _SIOR ('Q',10, int) +#define SNDCTL_SEQ_NRMIDIS _SIOR ('Q',11, int) +#define SNDCTL_MIDI_INFO _SIOWR('Q',12, struct midi_info) +#define SNDCTL_SEQ_THRESHOLD _SIOW ('Q',13, int) +#define SNDCTL_SYNTH_MEMAVL _SIOWR('Q',14, int) +#define SNDCTL_FM_4OP_ENABLE _SIOW ('Q',15, int) +#define SNDCTL_SEQ_PANIC _SIO ('Q',17) +#define SNDCTL_SEQ_OUTOFBAND _SIOW ('Q',18, struct seq_event_rec) +#define SNDCTL_SEQ_GETTIME _SIOR ('Q',19, int) +#define SNDCTL_SYNTH_ID _SIOWR('Q',20, struct synth_info) +#define SNDCTL_SYNTH_CONTROL _SIOWR('Q',21, struct synth_control) +#define SNDCTL_SYNTH_REMOVESAMPLE _SIOWR('Q',22, struct remove_sample) +typedef struct synth_control +{ + int devno; + char data[4000]; +}synth_control; +typedef struct remove_sample +{ + int devno; + int bankno; + int instrno; +} remove_sample; +typedef struct seq_event_rec { + unsigned char arr[8]; +} seq_event_rec; +#define SNDCTL_TMR_TIMEBASE _SIOWR('T', 1, int) +#define SNDCTL_TMR_START _SIO ('T', 2) +#define SNDCTL_TMR_STOP _SIO ('T', 3) +#define SNDCTL_TMR_CONTINUE _SIO ('T', 4) +#define SNDCTL_TMR_TEMPO _SIOWR('T', 5, int) +#define SNDCTL_TMR_SOURCE _SIOWR('T', 6, int) +# define TMR_INTERNAL 0x00000001 +# define TMR_EXTERNAL 0x00000002 +# define TMR_MODE_MIDI 0x00000010 +# define TMR_MODE_FSK 0x00000020 +# define TMR_MODE_CLS 0x00000040 +# define TMR_MODE_SMPTE 0x00000080 +#define SNDCTL_TMR_METRONOME _SIOW ('T', 7, int) +#define SNDCTL_TMR_SELECT _SIOW ('T', 8, int) +#define _LINUX_PATCHKEY_H_INDIRECT +#include +#undef _LINUX_PATCHKEY_H_INDIRECT +#if !defined(__KERNEL__) +# if defined(__BYTE_ORDER) +# if __BYTE_ORDER == __BIG_ENDIAN +# define AFMT_S16_NE AFMT_S16_BE +# elif __BYTE_ORDER == __LITTLE_ENDIAN +# define AFMT_S16_NE AFMT_S16_LE +# else +# error "could not determine byte order" +# endif +# endif +#endif +struct patch_info { + unsigned short key; +#define WAVE_PATCH _PATCHKEY(0x04) +#define GUS_PATCH WAVE_PATCH +#define WAVEFRONT_PATCH _PATCHKEY(0x06) + short device_no; + short instr_no; + unsigned int mode; +#define WAVE_16_BITS 0x01 +#define WAVE_UNSIGNED 0x02 +#define WAVE_LOOPING 0x04 +#define WAVE_BIDIR_LOOP 0x08 +#define WAVE_LOOP_BACK 0x10 +#define WAVE_SUSTAIN_ON 0x20 +#define WAVE_ENVELOPES 0x40 +#define WAVE_FAST_RELEASE 0x80 + +#define WAVE_VIBRATO 0x00010000 +#define WAVE_TREMOLO 0x00020000 +#define WAVE_SCALE 0x00040000 +#define WAVE_FRACTIONS 0x00080000 +#define WAVE_ROM 0x40000000 +#define WAVE_MULAW 0x20000000 + int len; + int loop_start, loop_end; + unsigned int base_freq; + unsigned int base_note; + unsigned int high_note; + unsigned int low_note; + int panning; + int detuning; + + unsigned char env_rate[ 6 ]; + unsigned char env_offset[ 6 ]; + + unsigned char tremolo_sweep; + unsigned char tremolo_rate; + unsigned char tremolo_depth; + + unsigned char vibrato_sweep; + unsigned char vibrato_rate; + unsigned char vibrato_depth; + int scale_frequency; + unsigned int scale_factor; + + int volume; + int fractions; + int reserved1; + int spare[2]; + char data[1]; + }; +struct sysex_info { + short key; +#define SYSEX_PATCH _PATCHKEY(0x05) +#define MAUI_PATCH _PATCHKEY(0x06) + short device_no; + int len; + unsigned char data[1]; + }; +#define SEQ_NOTEOFF 0 +#define SEQ_FMNOTEOFF SEQ_NOTEOFF +#define SEQ_NOTEON 1 +#define SEQ_FMNOTEON SEQ_NOTEON +#define SEQ_WAIT TMR_WAIT_ABS +#define SEQ_PGMCHANGE 3 +#define SEQ_FMPGMCHANGE SEQ_PGMCHANGE +#define SEQ_SYNCTIMER TMR_START +#define SEQ_MIDIPUTC 5 +#define SEQ_DRUMON 6 +#define SEQ_DRUMOFF 7 +#define SEQ_ECHO TMR_ECHO +#define SEQ_AFTERTOUCH 9 +#define SEQ_CONTROLLER 10 +#define CTL_BANK_SELECT 0x00 +#define CTL_MODWHEEL 0x01 +#define CTL_BREATH 0x02 +#define CTL_FOOT 0x04 +#define CTL_PORTAMENTO_TIME 0x05 +#define CTL_DATA_ENTRY 0x06 +#define CTL_MAIN_VOLUME 0x07 +#define CTL_BALANCE 0x08 +#define CTL_PAN 0x0a +#define CTL_EXPRESSION 0x0b +#define CTL_GENERAL_PURPOSE1 0x10 +#define CTL_GENERAL_PURPOSE2 0x11 +#define CTL_GENERAL_PURPOSE3 0x12 +#define CTL_GENERAL_PURPOSE4 0x13 +#define CTL_DAMPER_PEDAL 0x40 +#define CTL_SUSTAIN 0x40 +#define CTL_HOLD 0x40 +#define CTL_PORTAMENTO 0x41 +#define CTL_SOSTENUTO 0x42 +#define CTL_SOFT_PEDAL 0x43 +#define CTL_HOLD2 0x45 +#define CTL_GENERAL_PURPOSE5 0x50 +#define CTL_GENERAL_PURPOSE6 0x51 +#define CTL_GENERAL_PURPOSE7 0x52 +#define CTL_GENERAL_PURPOSE8 0x53 +#define CTL_EXT_EFF_DEPTH 0x5b +#define CTL_TREMOLO_DEPTH 0x5c +#define CTL_CHORUS_DEPTH 0x5d +#define CTL_DETUNE_DEPTH 0x5e +#define CTL_CELESTE_DEPTH 0x5e +#define CTL_PHASER_DEPTH 0x5f +#define CTL_DATA_INCREMENT 0x60 +#define CTL_DATA_DECREMENT 0x61 +#define CTL_NONREG_PARM_NUM_LSB 0x62 +#define CTL_NONREG_PARM_NUM_MSB 0x63 +#define CTL_REGIST_PARM_NUM_LSB 0x64 +#define CTL_REGIST_PARM_NUM_MSB 0x65 +#define CTRL_PITCH_BENDER 255 +#define CTRL_PITCH_BENDER_RANGE 254 +#define CTRL_EXPRESSION 253 +#define CTRL_MAIN_VOLUME 252 +#define SEQ_BALANCE 11 +#define SEQ_VOLMODE 12 +#define VOL_METHOD_ADAGIO 1 +#define VOL_METHOD_LINEAR 2 +#define SEQ_FULLSIZE 0xfd +#define SEQ_PRIVATE 0xfe +#define SEQ_EXTENDED 0xff +typedef unsigned char sbi_instr_data[32]; +struct sbi_instrument { + unsigned short key; +#define FM_PATCH _PATCHKEY(0x01) +#define OPL3_PATCH _PATCHKEY(0x03) + short device; + int channel; + sbi_instr_data operators; + }; +struct synth_info { + char name[30]; + int device; + int synth_type; +#define SYNTH_TYPE_FM 0 +#define SYNTH_TYPE_SAMPLE 1 +#define SYNTH_TYPE_MIDI 2 + int synth_subtype; +#define FM_TYPE_ADLIB 0x00 +#define FM_TYPE_OPL3 0x01 +#define MIDI_TYPE_MPU401 0x401 +#define SAMPLE_TYPE_BASIC 0x10 +#define SAMPLE_TYPE_GUS SAMPLE_TYPE_BASIC +#define SAMPLE_TYPE_WAVEFRONT 0x11 + int perc_mode; + int nr_voices; + int nr_drums; + int instr_bank_size; + unsigned int capabilities; +#define SYNTH_CAP_PERCMODE 0x00000001 +#define SYNTH_CAP_OPL3 0x00000002 +#define SYNTH_CAP_INPUT 0x00000004 + int dummies[19]; + }; +struct sound_timer_info { + char name[32]; + int caps; + }; +#define MIDI_CAP_MPU401 1 +struct midi_info { + char name[30]; + int device; + unsigned int capabilities; + int dev_type; + int dummies[18]; + }; +typedef struct { + unsigned char cmd; + char nr_args, nr_returns; + unsigned char data[30]; + } mpu_command_rec; +#define SNDCTL_MIDI_PRETIME _SIOWR('m', 0, int) +#define SNDCTL_MIDI_MPUMODE _SIOWR('m', 1, int) +#define SNDCTL_MIDI_MPUCMD _SIOWR('m', 2, mpu_command_rec) +#define SNDCTL_DSP_RESET _SIO ('P', 0) +#define SNDCTL_DSP_SYNC _SIO ('P', 1) +#define SNDCTL_DSP_SPEED _SIOWR('P', 2, int) +#define SNDCTL_DSP_STEREO _SIOWR('P', 3, int) +#define SNDCTL_DSP_GETBLKSIZE _SIOWR('P', 4, int) +#define SNDCTL_DSP_SAMPLESIZE SNDCTL_DSP_SETFMT +#define SNDCTL_DSP_CHANNELS _SIOWR('P', 6, int) +#define SOUND_PCM_WRITE_CHANNELS SNDCTL_DSP_CHANNELS +#define SOUND_PCM_WRITE_FILTER _SIOWR('P', 7, int) +#define SNDCTL_DSP_POST _SIO ('P', 8) +#define SNDCTL_DSP_SUBDIVIDE _SIOWR('P', 9, int) +#define SNDCTL_DSP_SETFRAGMENT _SIOWR('P',10, int) +#define SNDCTL_DSP_GETFMTS _SIOR ('P',11, int) +#define SNDCTL_DSP_SETFMT _SIOWR('P',5, int) +# define AFMT_QUERY 0x00000000 +# define AFMT_MU_LAW 0x00000001 +# define AFMT_A_LAW 0x00000002 +# define AFMT_IMA_ADPCM 0x00000004 +# define AFMT_U8 0x00000008 +# define AFMT_S16_LE 0x00000010 +# define AFMT_S16_BE 0x00000020 +# define AFMT_S8 0x00000040 +# define AFMT_U16_LE 0x00000080 +# define AFMT_U16_BE 0x00000100 +# define AFMT_MPEG 0x00000200 +# define AFMT_AC3 0x00000400 +typedef struct audio_buf_info { + int fragments; + int fragstotal; + int fragsize; + int bytes; + + } audio_buf_info; +#define SNDCTL_DSP_GETOSPACE _SIOR ('P',12, audio_buf_info) +#define SNDCTL_DSP_GETISPACE _SIOR ('P',13, audio_buf_info) +#define SNDCTL_DSP_NONBLOCK _SIO ('P',14) +#define SNDCTL_DSP_GETCAPS _SIOR ('P',15, int) +# define DSP_CAP_REVISION 0x000000ff +# define DSP_CAP_DUPLEX 0x00000100 +# define DSP_CAP_REALTIME 0x00000200 +# define DSP_CAP_BATCH 0x00000400 + + + +# define DSP_CAP_COPROC 0x00000800 + + +# define DSP_CAP_TRIGGER 0x00001000 +# define DSP_CAP_MMAP 0x00002000 +# define DSP_CAP_MULTI 0x00004000 +# define DSP_CAP_BIND 0x00008000 +#define SNDCTL_DSP_GETTRIGGER _SIOR ('P',16, int) +#define SNDCTL_DSP_SETTRIGGER _SIOW ('P',16, int) +# define PCM_ENABLE_INPUT 0x00000001 +# define PCM_ENABLE_OUTPUT 0x00000002 +typedef struct count_info { + int bytes; + int blocks; + int ptr; + } count_info; +#define SNDCTL_DSP_GETIPTR _SIOR ('P',17, count_info) +#define SNDCTL_DSP_GETOPTR _SIOR ('P',18, count_info) +typedef struct buffmem_desc { + unsigned *buffer; + int size; + } buffmem_desc; +#define SNDCTL_DSP_MAPINBUF _SIOR ('P', 19, buffmem_desc) +#define SNDCTL_DSP_MAPOUTBUF _SIOR ('P', 20, buffmem_desc) +#define SNDCTL_DSP_SETSYNCRO _SIO ('P', 21) +#define SNDCTL_DSP_SETDUPLEX _SIO ('P', 22) +#define SNDCTL_DSP_GETODELAY _SIOR ('P', 23, int) +#define SNDCTL_DSP_GETCHANNELMASK _SIOWR('P', 64, int) +#define SNDCTL_DSP_BIND_CHANNEL _SIOWR('P', 65, int) +# define DSP_BIND_QUERY 0x00000000 +# define DSP_BIND_FRONT 0x00000001 +# define DSP_BIND_SURR 0x00000002 +# define DSP_BIND_CENTER_LFE 0x00000004 +# define DSP_BIND_HANDSET 0x00000008 +# define DSP_BIND_MIC 0x00000010 +# define DSP_BIND_MODEM1 0x00000020 +# define DSP_BIND_MODEM2 0x00000040 +# define DSP_BIND_I2S 0x00000080 +# define DSP_BIND_SPDIF 0x00000100 +#define SNDCTL_DSP_SETSPDIF _SIOW ('P', 66, int) +#define SNDCTL_DSP_GETSPDIF _SIOR ('P', 67, int) +# define SPDIF_PRO 0x0001 +# define SPDIF_N_AUD 0x0002 +# define SPDIF_COPY 0x0004 +# define SPDIF_PRE 0x0008 +# define SPDIF_CC 0x07f0 +# define SPDIF_L 0x0800 +# define SPDIF_DRS 0x4000 +# define SPDIF_V 0x8000 +#define SNDCTL_DSP_PROFILE _SIOW ('P', 23, int) +#define APF_NORMAL 0 +#define APF_NETWORK 1 +#define APF_CPUINTENS 2 +#define SOUND_PCM_READ_RATE _SIOR ('P', 2, int) +#define SOUND_PCM_READ_CHANNELS _SIOR ('P', 6, int) +#define SOUND_PCM_READ_BITS _SIOR ('P', 5, int) +#define SOUND_PCM_READ_FILTER _SIOR ('P', 7, int) +#define SOUND_PCM_WRITE_BITS SNDCTL_DSP_SETFMT +#define SOUND_PCM_WRITE_RATE SNDCTL_DSP_SPEED +#define SOUND_PCM_POST SNDCTL_DSP_POST +#define SOUND_PCM_RESET SNDCTL_DSP_RESET +#define SOUND_PCM_SYNC SNDCTL_DSP_SYNC +#define SOUND_PCM_SUBDIVIDE SNDCTL_DSP_SUBDIVIDE +#define SOUND_PCM_SETFRAGMENT SNDCTL_DSP_SETFRAGMENT +#define SOUND_PCM_GETFMTS SNDCTL_DSP_GETFMTS +#define SOUND_PCM_SETFMT SNDCTL_DSP_SETFMT +#define SOUND_PCM_GETOSPACE SNDCTL_DSP_GETOSPACE +#define SOUND_PCM_GETISPACE SNDCTL_DSP_GETISPACE +#define SOUND_PCM_NONBLOCK SNDCTL_DSP_NONBLOCK +#define SOUND_PCM_GETCAPS SNDCTL_DSP_GETCAPS +#define SOUND_PCM_GETTRIGGER SNDCTL_DSP_GETTRIGGER +#define SOUND_PCM_SETTRIGGER SNDCTL_DSP_SETTRIGGER +#define SOUND_PCM_SETSYNCRO SNDCTL_DSP_SETSYNCRO +#define SOUND_PCM_GETIPTR SNDCTL_DSP_GETIPTR +#define SOUND_PCM_GETOPTR SNDCTL_DSP_GETOPTR +#define SOUND_PCM_MAPINBUF SNDCTL_DSP_MAPINBUF +#define SOUND_PCM_MAPOUTBUF SNDCTL_DSP_MAPOUTBUF +typedef struct copr_buffer { + int command; + int flags; +#define CPF_NONE 0x0000 +#define CPF_FIRST 0x0001 +#define CPF_LAST 0x0002 + int len; + int offs; + unsigned char data[4000]; + } copr_buffer; +typedef struct copr_debug_buf { + int command; + int parm1; + int parm2; + int flags; + int len; + } copr_debug_buf; +typedef struct copr_msg { + int len; + unsigned char data[4000]; + } copr_msg; +#define SNDCTL_COPR_RESET _SIO ('C', 0) +#define SNDCTL_COPR_LOAD _SIOWR('C', 1, copr_buffer) +#define SNDCTL_COPR_RDATA _SIOWR('C', 2, copr_debug_buf) +#define SNDCTL_COPR_RCODE _SIOWR('C', 3, copr_debug_buf) +#define SNDCTL_COPR_WDATA _SIOW ('C', 4, copr_debug_buf) +#define SNDCTL_COPR_WCODE _SIOW ('C', 5, copr_debug_buf) +#define SNDCTL_COPR_RUN _SIOWR('C', 6, copr_debug_buf) +#define SNDCTL_COPR_HALT _SIOWR('C', 7, copr_debug_buf) +#define SNDCTL_COPR_SENDMSG _SIOWR('C', 8, copr_msg) +#define SNDCTL_COPR_RCVMSG _SIOR ('C', 9, copr_msg) + +#define SOUND_MIXER_NRDEVICES 25 +#define SOUND_MIXER_VOLUME 0 +#define SOUND_MIXER_BASS 1 +#define SOUND_MIXER_TREBLE 2 +#define SOUND_MIXER_SYNTH 3 +#define SOUND_MIXER_PCM 4 +#define SOUND_MIXER_SPEAKER 5 +#define SOUND_MIXER_LINE 6 +#define SOUND_MIXER_MIC 7 +#define SOUND_MIXER_CD 8 +#define SOUND_MIXER_IMIX 9 +#define SOUND_MIXER_ALTPCM 10 +#define SOUND_MIXER_RECLEV 11 +#define SOUND_MIXER_IGAIN 12 +#define SOUND_MIXER_OGAIN 13 +#define SOUND_MIXER_LINE1 14 +#define SOUND_MIXER_LINE2 15 +#define SOUND_MIXER_LINE3 16 +#define SOUND_MIXER_DIGITAL1 17 +#define SOUND_MIXER_DIGITAL2 18 +#define SOUND_MIXER_DIGITAL3 19 +#define SOUND_MIXER_PHONEIN 20 +#define SOUND_MIXER_PHONEOUT 21 +#define SOUND_MIXER_VIDEO 22 +#define SOUND_MIXER_RADIO 23 +#define SOUND_MIXER_MONITOR 24 +#define SOUND_ONOFF_MIN 28 +#define SOUND_ONOFF_MAX 30 +#define SOUND_MIXER_NONE 31 +#define SOUND_MIXER_ENHANCE SOUND_MIXER_NONE +#define SOUND_MIXER_MUTE SOUND_MIXER_NONE +#define SOUND_MIXER_LOUD SOUND_MIXER_NONE +#define SOUND_DEVICE_LABELS {"Vol ", "Bass ", "Trebl", "Synth", "Pcm ", "Spkr ", "Line ", \ + "Mic ", "CD ", "Mix ", "Pcm2 ", "Rec ", "IGain", "OGain", \ + "Line1", "Line2", "Line3", "Digital1", "Digital2", "Digital3", \ + "PhoneIn", "PhoneOut", "Video", "Radio", "Monitor"} +#define SOUND_DEVICE_NAMES {"vol", "bass", "treble", "synth", "pcm", "speaker", "line", \ + "mic", "cd", "mix", "pcm2", "rec", "igain", "ogain", \ + "line1", "line2", "line3", "dig1", "dig2", "dig3", \ + "phin", "phout", "video", "radio", "monitor"} +#define SOUND_MIXER_RECSRC 0xff +#define SOUND_MIXER_DEVMASK 0xfe +#define SOUND_MIXER_RECMASK 0xfd +#define SOUND_MIXER_CAPS 0xfc +# define SOUND_CAP_EXCL_INPUT 0x00000001 +#define SOUND_MIXER_STEREODEVS 0xfb +#define SOUND_MIXER_OUTSRC 0xfa +#define SOUND_MIXER_OUTMASK 0xf9 +#define SOUND_MASK_VOLUME (1 << SOUND_MIXER_VOLUME) +#define SOUND_MASK_BASS (1 << SOUND_MIXER_BASS) +#define SOUND_MASK_TREBLE (1 << SOUND_MIXER_TREBLE) +#define SOUND_MASK_SYNTH (1 << SOUND_MIXER_SYNTH) +#define SOUND_MASK_PCM (1 << SOUND_MIXER_PCM) +#define SOUND_MASK_SPEAKER (1 << SOUND_MIXER_SPEAKER) +#define SOUND_MASK_LINE (1 << SOUND_MIXER_LINE) +#define SOUND_MASK_MIC (1 << SOUND_MIXER_MIC) +#define SOUND_MASK_CD (1 << SOUND_MIXER_CD) +#define SOUND_MASK_IMIX (1 << SOUND_MIXER_IMIX) +#define SOUND_MASK_ALTPCM (1 << SOUND_MIXER_ALTPCM) +#define SOUND_MASK_RECLEV (1 << SOUND_MIXER_RECLEV) +#define SOUND_MASK_IGAIN (1 << SOUND_MIXER_IGAIN) +#define SOUND_MASK_OGAIN (1 << SOUND_MIXER_OGAIN) +#define SOUND_MASK_LINE1 (1 << SOUND_MIXER_LINE1) +#define SOUND_MASK_LINE2 (1 << SOUND_MIXER_LINE2) +#define SOUND_MASK_LINE3 (1 << SOUND_MIXER_LINE3) +#define SOUND_MASK_DIGITAL1 (1 << SOUND_MIXER_DIGITAL1) +#define SOUND_MASK_DIGITAL2 (1 << SOUND_MIXER_DIGITAL2) +#define SOUND_MASK_DIGITAL3 (1 << SOUND_MIXER_DIGITAL3) +#define SOUND_MASK_PHONEIN (1 << SOUND_MIXER_PHONEIN) +#define SOUND_MASK_PHONEOUT (1 << SOUND_MIXER_PHONEOUT) +#define SOUND_MASK_RADIO (1 << SOUND_MIXER_RADIO) +#define SOUND_MASK_VIDEO (1 << SOUND_MIXER_VIDEO) +#define SOUND_MASK_MONITOR (1 << SOUND_MIXER_MONITOR) +#define SOUND_MASK_MUTE (1 << SOUND_MIXER_MUTE) +#define SOUND_MASK_ENHANCE (1 << SOUND_MIXER_ENHANCE) +#define SOUND_MASK_LOUD (1 << SOUND_MIXER_LOUD) +#define MIXER_READ(dev) _SIOR('M', dev, int) +#define SOUND_MIXER_READ_VOLUME MIXER_READ(SOUND_MIXER_VOLUME) +#define SOUND_MIXER_READ_BASS MIXER_READ(SOUND_MIXER_BASS) +#define SOUND_MIXER_READ_TREBLE MIXER_READ(SOUND_MIXER_TREBLE) +#define SOUND_MIXER_READ_SYNTH MIXER_READ(SOUND_MIXER_SYNTH) +#define SOUND_MIXER_READ_PCM MIXER_READ(SOUND_MIXER_PCM) +#define SOUND_MIXER_READ_SPEAKER MIXER_READ(SOUND_MIXER_SPEAKER) +#define SOUND_MIXER_READ_LINE MIXER_READ(SOUND_MIXER_LINE) +#define SOUND_MIXER_READ_MIC MIXER_READ(SOUND_MIXER_MIC) +#define SOUND_MIXER_READ_CD MIXER_READ(SOUND_MIXER_CD) +#define SOUND_MIXER_READ_IMIX MIXER_READ(SOUND_MIXER_IMIX) +#define SOUND_MIXER_READ_ALTPCM MIXER_READ(SOUND_MIXER_ALTPCM) +#define SOUND_MIXER_READ_RECLEV MIXER_READ(SOUND_MIXER_RECLEV) +#define SOUND_MIXER_READ_IGAIN MIXER_READ(SOUND_MIXER_IGAIN) +#define SOUND_MIXER_READ_OGAIN MIXER_READ(SOUND_MIXER_OGAIN) +#define SOUND_MIXER_READ_LINE1 MIXER_READ(SOUND_MIXER_LINE1) +#define SOUND_MIXER_READ_LINE2 MIXER_READ(SOUND_MIXER_LINE2) +#define SOUND_MIXER_READ_LINE3 MIXER_READ(SOUND_MIXER_LINE3) +#define SOUND_MIXER_READ_MUTE MIXER_READ(SOUND_MIXER_MUTE) +#define SOUND_MIXER_READ_ENHANCE MIXER_READ(SOUND_MIXER_ENHANCE) +#define SOUND_MIXER_READ_LOUD MIXER_READ(SOUND_MIXER_LOUD) +#define SOUND_MIXER_READ_RECSRC MIXER_READ(SOUND_MIXER_RECSRC) +#define SOUND_MIXER_READ_DEVMASK MIXER_READ(SOUND_MIXER_DEVMASK) +#define SOUND_MIXER_READ_RECMASK MIXER_READ(SOUND_MIXER_RECMASK) +#define SOUND_MIXER_READ_STEREODEVS MIXER_READ(SOUND_MIXER_STEREODEVS) +#define SOUND_MIXER_READ_CAPS MIXER_READ(SOUND_MIXER_CAPS) +#define MIXER_WRITE(dev) _SIOWR('M', dev, int) +#define SOUND_MIXER_WRITE_VOLUME MIXER_WRITE(SOUND_MIXER_VOLUME) +#define SOUND_MIXER_WRITE_BASS MIXER_WRITE(SOUND_MIXER_BASS) +#define SOUND_MIXER_WRITE_TREBLE MIXER_WRITE(SOUND_MIXER_TREBLE) +#define SOUND_MIXER_WRITE_SYNTH MIXER_WRITE(SOUND_MIXER_SYNTH) +#define SOUND_MIXER_WRITE_PCM MIXER_WRITE(SOUND_MIXER_PCM) +#define SOUND_MIXER_WRITE_SPEAKER MIXER_WRITE(SOUND_MIXER_SPEAKER) +#define SOUND_MIXER_WRITE_LINE MIXER_WRITE(SOUND_MIXER_LINE) +#define SOUND_MIXER_WRITE_MIC MIXER_WRITE(SOUND_MIXER_MIC) +#define SOUND_MIXER_WRITE_CD MIXER_WRITE(SOUND_MIXER_CD) +#define SOUND_MIXER_WRITE_IMIX MIXER_WRITE(SOUND_MIXER_IMIX) +#define SOUND_MIXER_WRITE_ALTPCM MIXER_WRITE(SOUND_MIXER_ALTPCM) +#define SOUND_MIXER_WRITE_RECLEV MIXER_WRITE(SOUND_MIXER_RECLEV) +#define SOUND_MIXER_WRITE_IGAIN MIXER_WRITE(SOUND_MIXER_IGAIN) +#define SOUND_MIXER_WRITE_OGAIN MIXER_WRITE(SOUND_MIXER_OGAIN) +#define SOUND_MIXER_WRITE_LINE1 MIXER_WRITE(SOUND_MIXER_LINE1) +#define SOUND_MIXER_WRITE_LINE2 MIXER_WRITE(SOUND_MIXER_LINE2) +#define SOUND_MIXER_WRITE_LINE3 MIXER_WRITE(SOUND_MIXER_LINE3) +#define SOUND_MIXER_WRITE_MUTE MIXER_WRITE(SOUND_MIXER_MUTE) +#define SOUND_MIXER_WRITE_ENHANCE MIXER_WRITE(SOUND_MIXER_ENHANCE) +#define SOUND_MIXER_WRITE_LOUD MIXER_WRITE(SOUND_MIXER_LOUD) +#define SOUND_MIXER_WRITE_RECSRC MIXER_WRITE(SOUND_MIXER_RECSRC) +typedef struct mixer_info +{ + char id[16]; + char name[32]; + int modify_counter; + int fillers[10]; +} mixer_info; +typedef struct _old_mixer_info +{ + char id[16]; + char name[32]; +} _old_mixer_info; +#define SOUND_MIXER_INFO _SIOR ('M', 101, mixer_info) +#define SOUND_OLD_MIXER_INFO _SIOR ('M', 101, _old_mixer_info) +typedef unsigned char mixer_record[128]; +#define SOUND_MIXER_ACCESS _SIOWR('M', 102, mixer_record) +#define SOUND_MIXER_AGC _SIOWR('M', 103, int) +#define SOUND_MIXER_3DSE _SIOWR('M', 104, int) +#define SOUND_MIXER_PRIVATE1 _SIOWR('M', 111, int) +#define SOUND_MIXER_PRIVATE2 _SIOWR('M', 112, int) +#define SOUND_MIXER_PRIVATE3 _SIOWR('M', 113, int) +#define SOUND_MIXER_PRIVATE4 _SIOWR('M', 114, int) +#define SOUND_MIXER_PRIVATE5 _SIOWR('M', 115, int) +typedef struct mixer_vol_table { + int num; + char name[32]; + int levels[32]; +} mixer_vol_table; +#define SOUND_MIXER_GETLEVELS _SIOWR('M', 116, mixer_vol_table) +#define SOUND_MIXER_SETLEVELS _SIOWR('M', 117, mixer_vol_table) +#define OSS_GETVERSION _SIOR ('M', 118, int) +#define EV_SEQ_LOCAL 0x80 +#define EV_TIMING 0x81 +#define EV_CHN_COMMON 0x92 +#define EV_CHN_VOICE 0x93 +#define EV_SYSEX 0x94 +#define MIDI_NOTEOFF 0x80 +#define MIDI_NOTEON 0x90 +#define MIDI_KEY_PRESSURE 0xA0 +#define MIDI_CTL_CHANGE 0xB0 +#define MIDI_PGM_CHANGE 0xC0 +#define MIDI_CHN_PRESSURE 0xD0 +#define MIDI_PITCH_BEND 0xE0 +#define MIDI_SYSTEM_PREFIX 0xF0 +#define TMR_WAIT_REL 1 +#define TMR_WAIT_ABS 2 +#define TMR_STOP 3 +#define TMR_START 4 +#define TMR_CONTINUE 5 +#define TMR_TEMPO 6 +#define TMR_ECHO 8 +#define TMR_CLOCK 9 +#define TMR_SPP 10 +#define TMR_TIMESIG 11 +#define LOCL_STARTAUDIO 1 +#if !defined(__KERNEL__) || defined(USE_SEQ_MACROS) +#define SEQ_DECLAREBUF() SEQ_USE_EXTBUF() +void seqbuf_dump(void); +#define SEQ_PM_DEFINES int __foo_bar___ +#define SEQ_LOAD_GMINSTR(dev, instr) +#define SEQ_LOAD_GMDRUM(dev, drum) +#define _SEQ_EXTERN extern +#define SEQ_USE_EXTBUF() \ + _SEQ_EXTERN unsigned char _seqbuf[]; \ + _SEQ_EXTERN int _seqbuflen; _SEQ_EXTERN int _seqbufptr +#ifndef USE_SIMPLE_MACROS +#define SEQ_DEFINEBUF(len) unsigned char _seqbuf[len]; int _seqbuflen = len;int _seqbufptr = 0 +#define _SEQ_NEEDBUF(len) if ((_seqbufptr+(len)) > _seqbuflen) seqbuf_dump() +#define _SEQ_ADVBUF(len) _seqbufptr += len +#define SEQ_DUMPBUF seqbuf_dump +#else +#define _SEQ_NEEDBUF(len) +#endif +#define SEQ_VOLUME_MODE(dev, mode) {_SEQ_NEEDBUF(8);\ + _seqbuf[_seqbufptr] = SEQ_EXTENDED;\ + _seqbuf[_seqbufptr+1] = SEQ_VOLMODE;\ + _seqbuf[_seqbufptr+2] = (dev);\ + _seqbuf[_seqbufptr+3] = (mode);\ + _seqbuf[_seqbufptr+4] = 0;\ + _seqbuf[_seqbufptr+5] = 0;\ + _seqbuf[_seqbufptr+6] = 0;\ + _seqbuf[_seqbufptr+7] = 0;\ + _SEQ_ADVBUF(8);} +#define _CHN_VOICE(dev, event, chn, note, parm) \ + {_SEQ_NEEDBUF(8);\ + _seqbuf[_seqbufptr] = EV_CHN_VOICE;\ + _seqbuf[_seqbufptr+1] = (dev);\ + _seqbuf[_seqbufptr+2] = (event);\ + _seqbuf[_seqbufptr+3] = (chn);\ + _seqbuf[_seqbufptr+4] = (note);\ + _seqbuf[_seqbufptr+5] = (parm);\ + _seqbuf[_seqbufptr+6] = (0);\ + _seqbuf[_seqbufptr+7] = 0;\ + _SEQ_ADVBUF(8);} +#define SEQ_START_NOTE(dev, chn, note, vol) \ + _CHN_VOICE(dev, MIDI_NOTEON, chn, note, vol) +#define SEQ_STOP_NOTE(dev, chn, note, vol) \ + _CHN_VOICE(dev, MIDI_NOTEOFF, chn, note, vol) +#define SEQ_KEY_PRESSURE(dev, chn, note, pressure) \ + _CHN_VOICE(dev, MIDI_KEY_PRESSURE, chn, note, pressure) +#define _CHN_COMMON(dev, event, chn, p1, p2, w14) \ + {_SEQ_NEEDBUF(8);\ + _seqbuf[_seqbufptr] = EV_CHN_COMMON;\ + _seqbuf[_seqbufptr+1] = (dev);\ + _seqbuf[_seqbufptr+2] = (event);\ + _seqbuf[_seqbufptr+3] = (chn);\ + _seqbuf[_seqbufptr+4] = (p1);\ + _seqbuf[_seqbufptr+5] = (p2);\ + *(short *)&_seqbuf[_seqbufptr+6] = (w14);\ + _SEQ_ADVBUF(8);} +#define SEQ_SYSEX(dev, buf, len) \ + {int ii, ll=(len); \ + unsigned char *bufp=buf;\ + if (ll>6)ll=6;\ + _SEQ_NEEDBUF(8);\ + _seqbuf[_seqbufptr] = EV_SYSEX;\ + _seqbuf[_seqbufptr+1] = (dev);\ + for(ii=0;ii>8)&0xff);\ + _seqbuf[_seqbufptr+7] = 0;\ + _SEQ_ADVBUF(8);} +#define SEQ_PITCHBEND(dev, voice, value) SEQ_V2_X_CONTROL(dev, voice, CTRL_PITCH_BENDER, value) +#define SEQ_BENDER_RANGE(dev, voice, value) SEQ_V2_X_CONTROL(dev, voice, CTRL_PITCH_BENDER_RANGE, value) +#define SEQ_EXPRESSION(dev, voice, value) SEQ_CONTROL(dev, voice, CTL_EXPRESSION, value*128) +#define SEQ_MAIN_VOLUME(dev, voice, value) SEQ_CONTROL(dev, voice, CTL_MAIN_VOLUME, (value*16383)/100) +#define SEQ_PANNING(dev, voice, pos) SEQ_CONTROL(dev, voice, CTL_PAN, (pos+128) / 2) +#define _TIMER_EVENT(ev, parm) {_SEQ_NEEDBUF(8);\ + _seqbuf[_seqbufptr+0] = EV_TIMING; \ + _seqbuf[_seqbufptr+1] = (ev); \ + _seqbuf[_seqbufptr+2] = 0;\ + _seqbuf[_seqbufptr+3] = 0;\ + *(unsigned int *)&_seqbuf[_seqbufptr+4] = (parm); \ + _SEQ_ADVBUF(8);} +#define SEQ_START_TIMER() _TIMER_EVENT(TMR_START, 0) +#define SEQ_STOP_TIMER() _TIMER_EVENT(TMR_STOP, 0) +#define SEQ_CONTINUE_TIMER() _TIMER_EVENT(TMR_CONTINUE, 0) +#define SEQ_WAIT_TIME(ticks) _TIMER_EVENT(TMR_WAIT_ABS, ticks) +#define SEQ_DELTA_TIME(ticks) _TIMER_EVENT(TMR_WAIT_REL, ticks) +#define SEQ_ECHO_BACK(key) _TIMER_EVENT(TMR_ECHO, key) +#define SEQ_SET_TEMPO(value) _TIMER_EVENT(TMR_TEMPO, value) +#define SEQ_SONGPOS(pos) _TIMER_EVENT(TMR_SPP, pos) +#define SEQ_TIME_SIGNATURE(sig) _TIMER_EVENT(TMR_TIMESIG, sig) +#define _LOCAL_EVENT(ev, parm) {_SEQ_NEEDBUF(8);\ + _seqbuf[_seqbufptr+0] = EV_SEQ_LOCAL; \ + _seqbuf[_seqbufptr+1] = (ev); \ + _seqbuf[_seqbufptr+2] = 0;\ + _seqbuf[_seqbufptr+3] = 0;\ + *(unsigned int *)&_seqbuf[_seqbufptr+4] = (parm); \ + _SEQ_ADVBUF(8);} +#define SEQ_PLAYAUDIO(devmask) _LOCAL_EVENT(LOCL_STARTAUDIO, devmask) +#define SEQ_MIDIOUT(device, byte) {_SEQ_NEEDBUF(4);\ + _seqbuf[_seqbufptr] = SEQ_MIDIPUTC;\ + _seqbuf[_seqbufptr+1] = (byte);\ + _seqbuf[_seqbufptr+2] = (device);\ + _seqbuf[_seqbufptr+3] = 0;\ + _SEQ_ADVBUF(4);} +#define SEQ_WRPATCH(patchx, len) \ + {if (_seqbufptr) SEQ_DUMPBUF();\ + if (write(seqfd, (char*)(patchx), len)==-1) \ + perror("Write patch: /dev/sequencer");} +#define SEQ_WRPATCH2(patchx, len) \ + (SEQ_DUMPBUF(), write(seqfd, (char*)(patchx), len)) +#endif +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/spi/spidev.h b/linux-5.10/prebuilts/usr/include/linux/spi/spidev.h new file mode 100644 index 0000000..8ecb408 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/spi/spidev.h @@ -0,0 +1,59 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef SPIDEV_H +#define SPIDEV_H +#include +#include +#define SPI_CPHA 0x01 +#define SPI_CPOL 0x02 +#define SPI_MODE_0 (0|0) +#define SPI_MODE_1 (0|SPI_CPHA) +#define SPI_MODE_2 (SPI_CPOL|0) +#define SPI_MODE_3 (SPI_CPOL|SPI_CPHA) +#define SPI_CS_HIGH 0x04 +#define SPI_LSB_FIRST 0x08 +#define SPI_3WIRE 0x10 +#define SPI_LOOP 0x20 +#define SPI_NO_CS 0x40 +#define SPI_READY 0x80 +#define SPI_TX_DUAL 0x100 +#define SPI_TX_QUAD 0x200 +#define SPI_RX_DUAL 0x400 +#define SPI_RX_QUAD 0x800 +#define SPI_CS_WORD 0x1000 +#define SPI_TX_OCTAL 0x2000 +#define SPI_RX_OCTAL 0x4000 +#define SPI_3WIRE_HIZ 0x8000 +#define SPI_IOC_MAGIC 'k' +struct spi_ioc_transfer { + __u64 tx_buf; + __u64 rx_buf; + __u32 len; + __u32 speed_hz; + __u16 delay_usecs; + __u8 bits_per_word; + __u8 cs_change; + __u8 tx_nbits; + __u8 rx_nbits; + __u8 word_delay_usecs; + __u8 pad; + +}; +#define SPI_MSGSIZE(N) \ + ((((N)*(sizeof (struct spi_ioc_transfer))) < (1 << _IOC_SIZEBITS)) \ + ? ((N)*(sizeof (struct spi_ioc_transfer))) : 0) +#define SPI_IOC_MESSAGE(N) _IOW(SPI_IOC_MAGIC, 0, char[SPI_MSGSIZE(N)]) +#define SPI_IOC_RD_MODE _IOR(SPI_IOC_MAGIC, 1, __u8) +#define SPI_IOC_WR_MODE _IOW(SPI_IOC_MAGIC, 1, __u8) +#define SPI_IOC_RD_LSB_FIRST _IOR(SPI_IOC_MAGIC, 2, __u8) +#define SPI_IOC_WR_LSB_FIRST _IOW(SPI_IOC_MAGIC, 2, __u8) +#define SPI_IOC_RD_BITS_PER_WORD _IOR(SPI_IOC_MAGIC, 3, __u8) +#define SPI_IOC_WR_BITS_PER_WORD _IOW(SPI_IOC_MAGIC, 3, __u8) +#define SPI_IOC_RD_MAX_SPEED_HZ _IOR(SPI_IOC_MAGIC, 4, __u32) +#define SPI_IOC_WR_MAX_SPEED_HZ _IOW(SPI_IOC_MAGIC, 4, __u32) +#define SPI_IOC_RD_MODE32 _IOR(SPI_IOC_MAGIC, 5, __u32) +#define SPI_IOC_WR_MODE32 _IOW(SPI_IOC_MAGIC, 5, __u32) +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/stat.h b/linux-5.10/prebuilts/usr/include/linux/stat.h new file mode 100644 index 0000000..843f34c --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/stat.h @@ -0,0 +1,106 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI_LINUX_STAT_H +#define _UAPI_LINUX_STAT_H +#include +#if defined(__KERNEL__) || !defined(__GLIBC__) || (__GLIBC__ < 2) +#define S_IFMT 00170000 +#define S_IFSOCK 0140000 +#define S_IFLNK 0120000 +#define S_IFREG 0100000 +#define S_IFBLK 0060000 +#define S_IFDIR 0040000 +#define S_IFCHR 0020000 +#define S_IFIFO 0010000 +#define S_ISUID 0004000 +#define S_ISGID 0002000 +#define S_ISVTX 0001000 +#define S_ISLNK(m) (((m) & S_IFMT) == S_IFLNK) +#define S_ISREG(m) (((m) & S_IFMT) == S_IFREG) +#define S_ISDIR(m) (((m) & S_IFMT) == S_IFDIR) +#define S_ISCHR(m) (((m) & S_IFMT) == S_IFCHR) +#define S_ISBLK(m) (((m) & S_IFMT) == S_IFBLK) +#define S_ISFIFO(m) (((m) & S_IFMT) == S_IFIFO) +#define S_ISSOCK(m) (((m) & S_IFMT) == S_IFSOCK) +#define S_IRWXU 00700 +#define S_IRUSR 00400 +#define S_IWUSR 00200 +#define S_IXUSR 00100 +#define S_IRWXG 00070 +#define S_IRGRP 00040 +#define S_IWGRP 00020 +#define S_IXGRP 00010 +#define S_IRWXO 00007 +#define S_IROTH 00004 +#define S_IWOTH 00002 +#define S_IXOTH 00001 +#endif +struct statx_timestamp { + __s64 tv_sec; + __u32 tv_nsec; + __s32 __reserved; +}; +struct statx { + + __u32 stx_mask; + __u32 stx_blksize; + __u64 stx_attributes; + + __u32 stx_nlink; + __u32 stx_uid; + __u32 stx_gid; + __u16 stx_mode; + __u16 __spare0[1]; + + __u64 stx_ino; + __u64 stx_size; + __u64 stx_blocks; + __u64 stx_attributes_mask; + + struct statx_timestamp stx_atime; + struct statx_timestamp stx_btime; + struct statx_timestamp stx_ctime; + struct statx_timestamp stx_mtime; + + __u32 stx_rdev_major; + __u32 stx_rdev_minor; + __u32 stx_dev_major; + __u32 stx_dev_minor; + + __u64 stx_mnt_id; + __u64 __spare2; + + __u64 __spare3[12]; + +}; +#define STATX_TYPE 0x00000001U +#define STATX_MODE 0x00000002U +#define STATX_NLINK 0x00000004U +#define STATX_UID 0x00000008U +#define STATX_GID 0x00000010U +#define STATX_ATIME 0x00000020U +#define STATX_MTIME 0x00000040U +#define STATX_CTIME 0x00000080U +#define STATX_INO 0x00000100U +#define STATX_SIZE 0x00000200U +#define STATX_BLOCKS 0x00000400U +#define STATX_BASIC_STATS 0x000007ffU +#define STATX_BTIME 0x00000800U +#define STATX_MNT_ID 0x00001000U +#define STATX__RESERVED 0x80000000U +#ifndef __KERNEL__ +#define STATX_ALL 0x00000fffU +#endif +#define STATX_ATTR_COMPRESSED 0x00000004 +#define STATX_ATTR_IMMUTABLE 0x00000010 +#define STATX_ATTR_APPEND 0x00000020 +#define STATX_ATTR_NODUMP 0x00000040 +#define STATX_ATTR_ENCRYPTED 0x00000800 +#define STATX_ATTR_AUTOMOUNT 0x00001000 +#define STATX_ATTR_MOUNT_ROOT 0x00002000 +#define STATX_ATTR_VERITY 0x00100000 +#define STATX_ATTR_DAX 0x00200000 +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/stddef.h b/linux-5.10/prebuilts/usr/include/linux/stddef.h new file mode 100644 index 0000000..b625afa --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/stddef.h @@ -0,0 +1,9 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#include +#ifndef __always_inline +#define __always_inline inline +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/stm.h b/linux-5.10/prebuilts/usr/include/linux/stm.h new file mode 100644 index 0000000..1249578 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/stm.h @@ -0,0 +1,24 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI_LINUX_STM_H +#define _UAPI_LINUX_STM_H +#include +#define STP_MASTER_MAX 0xffff +#define STP_CHANNEL_MAX 0xffff +struct stp_policy_id { + __u32 size; + __u16 master; + __u16 channel; + __u16 width; + + __u16 __reserved_0; + __u32 __reserved_1; + char id[0]; +}; +#define STP_POLICY_ID_SET _IOWR('%', 0, struct stp_policy_id) +#define STP_POLICY_ID_GET _IOR('%', 1, struct stp_policy_id) +#define STP_SET_OPTIONS _IOW('%', 2, __u64) +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/string.h b/linux-5.10/prebuilts/usr/include/linux/string.h new file mode 100644 index 0000000..8f6d829 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/string.h @@ -0,0 +1,11 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI_LINUX_STRING_H_ +#define _UAPI_LINUX_STRING_H_ +#ifndef __KERNEL__ +#include +#endif +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/sunrpc/debug.h b/linux-5.10/prebuilts/usr/include/linux/sunrpc/debug.h new file mode 100644 index 0000000..54b2750 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/sunrpc/debug.h @@ -0,0 +1,31 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI_LINUX_SUNRPC_DEBUG_H_ +#define _UAPI_LINUX_SUNRPC_DEBUG_H_ +#define RPCDBG_XPRT 0x0001 +#define RPCDBG_CALL 0x0002 +#define RPCDBG_DEBUG 0x0004 +#define RPCDBG_NFS 0x0008 +#define RPCDBG_AUTH 0x0010 +#define RPCDBG_BIND 0x0020 +#define RPCDBG_SCHED 0x0040 +#define RPCDBG_TRANS 0x0080 +#define RPCDBG_SVCXPRT 0x0100 +#define RPCDBG_SVCDSP 0x0200 +#define RPCDBG_MISC 0x0400 +#define RPCDBG_CACHE 0x0800 +#define RPCDBG_ALL 0x7fff +enum { + CTL_RPCDEBUG = 1, + CTL_NFSDEBUG, + CTL_NFSDDEBUG, + CTL_NLMDEBUG, + CTL_SLOTTABLE_UDP, + CTL_SLOTTABLE_TCP, + CTL_MIN_RESVPORT, + CTL_MAX_RESVPORT, +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/suspend_ioctls.h b/linux-5.10/prebuilts/usr/include/linux/suspend_ioctls.h new file mode 100644 index 0000000..dc03c63 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/suspend_ioctls.h @@ -0,0 +1,30 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _LINUX_SUSPEND_IOCTLS_H +#define _LINUX_SUSPEND_IOCTLS_H +#include +struct resume_swap_area { + __kernel_loff_t offset; + __u32 dev; +} __attribute__((packed)); +#define SNAPSHOT_IOC_MAGIC '3' +#define SNAPSHOT_FREEZE _IO(SNAPSHOT_IOC_MAGIC, 1) +#define SNAPSHOT_UNFREEZE _IO(SNAPSHOT_IOC_MAGIC, 2) +#define SNAPSHOT_ATOMIC_RESTORE _IO(SNAPSHOT_IOC_MAGIC, 4) +#define SNAPSHOT_FREE _IO(SNAPSHOT_IOC_MAGIC, 5) +#define SNAPSHOT_FREE_SWAP_PAGES _IO(SNAPSHOT_IOC_MAGIC, 9) +#define SNAPSHOT_S2RAM _IO(SNAPSHOT_IOC_MAGIC, 11) +#define SNAPSHOT_SET_SWAP_AREA _IOW(SNAPSHOT_IOC_MAGIC, 13, \ + struct resume_swap_area) +#define SNAPSHOT_GET_IMAGE_SIZE _IOR(SNAPSHOT_IOC_MAGIC, 14, __kernel_loff_t) +#define SNAPSHOT_PLATFORM_SUPPORT _IO(SNAPSHOT_IOC_MAGIC, 15) +#define SNAPSHOT_POWER_OFF _IO(SNAPSHOT_IOC_MAGIC, 16) +#define SNAPSHOT_CREATE_IMAGE _IOW(SNAPSHOT_IOC_MAGIC, 17, int) +#define SNAPSHOT_PREF_IMAGE_SIZE _IO(SNAPSHOT_IOC_MAGIC, 18) +#define SNAPSHOT_AVAIL_SWAP_SIZE _IOR(SNAPSHOT_IOC_MAGIC, 19, __kernel_loff_t) +#define SNAPSHOT_ALLOC_SWAP_PAGE _IOR(SNAPSHOT_IOC_MAGIC, 20, __kernel_loff_t) +#define SNAPSHOT_IOC_MAXNR 20 +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/swab.h b/linux-5.10/prebuilts/usr/include/linux/swab.h new file mode 100644 index 0000000..afb198d --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/swab.h @@ -0,0 +1,199 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI_LINUX_SWAB_H +#define _UAPI_LINUX_SWAB_H +#include +#include +#include +#include +#define ___constant_swab16(x) ((__u16)( \ + (((__u16)(x) & (__u16)0x00ffU) << 8) | \ + (((__u16)(x) & (__u16)0xff00U) >> 8))) +#define ___constant_swab32(x) ((__u32)( \ + (((__u32)(x) & (__u32)0x000000ffUL) << 24) | \ + (((__u32)(x) & (__u32)0x0000ff00UL) << 8) | \ + (((__u32)(x) & (__u32)0x00ff0000UL) >> 8) | \ + (((__u32)(x) & (__u32)0xff000000UL) >> 24))) +#define ___constant_swab64(x) ((__u64)( \ + (((__u64)(x) & (__u64)0x00000000000000ffULL) << 56) | \ + (((__u64)(x) & (__u64)0x000000000000ff00ULL) << 40) | \ + (((__u64)(x) & (__u64)0x0000000000ff0000ULL) << 24) | \ + (((__u64)(x) & (__u64)0x00000000ff000000ULL) << 8) | \ + (((__u64)(x) & (__u64)0x000000ff00000000ULL) >> 8) | \ + (((__u64)(x) & (__u64)0x0000ff0000000000ULL) >> 24) | \ + (((__u64)(x) & (__u64)0x00ff000000000000ULL) >> 40) | \ + (((__u64)(x) & (__u64)0xff00000000000000ULL) >> 56))) +#define ___constant_swahw32(x) ((__u32)( \ + (((__u32)(x) & (__u32)0x0000ffffUL) << 16) | \ + (((__u32)(x) & (__u32)0xffff0000UL) >> 16))) +#define ___constant_swahb32(x) ((__u32)( \ + (((__u32)(x) & (__u32)0x00ff00ffUL) << 8) | \ + (((__u32)(x) & (__u32)0xff00ff00UL) >> 8))) +static inline __attribute_const__ __u16 __fswab16(__u16 val) +{ +#if defined (__arch_swab16) + return __arch_swab16(val); +#else + return ___constant_swab16(val); +#endif +} +static inline __attribute_const__ __u32 __fswab32(__u32 val) +{ +#if defined(__arch_swab32) + return __arch_swab32(val); +#else + return ___constant_swab32(val); +#endif +} +static inline __attribute_const__ __u64 __fswab64(__u64 val) +{ +#if defined (__arch_swab64) + return __arch_swab64(val); +#elif defined(__SWAB_64_THRU_32__) + __u32 h = val >> 32; + __u32 l = val & ((1ULL << 32) - 1); + return (((__u64)__fswab32(l)) << 32) | ((__u64)(__fswab32(h))); +#else + return ___constant_swab64(val); +#endif +} +static inline __attribute_const__ __u32 __fswahw32(__u32 val) +{ +#ifdef __arch_swahw32 + return __arch_swahw32(val); +#else + return ___constant_swahw32(val); +#endif +} +static inline __attribute_const__ __u32 __fswahb32(__u32 val) +{ +#ifdef __arch_swahb32 + return __arch_swahb32(val); +#else + return ___constant_swahb32(val); +#endif +} +#if 1 +#define __swab16(x) (__u16)__builtin_bswap16((__u16)(x)) +#else +#define __swab16(x) \ + (__builtin_constant_p((__u16)(x)) ? \ + ___constant_swab16(x) : \ + __fswab16(x)) +#endif +#if 1 +#define __swab32(x) (__u32)__builtin_bswap32((__u32)(x)) +#else +#define __swab32(x) \ + (__builtin_constant_p((__u32)(x)) ? \ + ___constant_swab32(x) : \ + __fswab32(x)) +#endif +#if 1 +#define __swab64(x) (__u64)__builtin_bswap64((__u64)(x)) +#else +#define __swab64(x) \ + (__builtin_constant_p((__u64)(x)) ? \ + ___constant_swab64(x) : \ + __fswab64(x)) +#endif +static __always_inline unsigned long __swab(const unsigned long y) +{ +#if __BITS_PER_LONG == 64 + return __swab64(y); +#else + return __swab32(y); +#endif +} +#define __swahw32(x) \ + (__builtin_constant_p((__u32)(x)) ? \ + ___constant_swahw32(x) : \ + __fswahw32(x)) +#define __swahb32(x) \ + (__builtin_constant_p((__u32)(x)) ? \ + ___constant_swahb32(x) : \ + __fswahb32(x)) +static __always_inline __u16 __swab16p(const __u16 *p) +{ +#ifdef __arch_swab16p + return __arch_swab16p(p); +#else + return __swab16(*p); +#endif +} +static __always_inline __u32 __swab32p(const __u32 *p) +{ +#ifdef __arch_swab32p + return __arch_swab32p(p); +#else + return __swab32(*p); +#endif +} +static __always_inline __u64 __swab64p(const __u64 *p) +{ +#ifdef __arch_swab64p + return __arch_swab64p(p); +#else + return __swab64(*p); +#endif +} +static inline __u32 __swahw32p(const __u32 *p) +{ +#ifdef __arch_swahw32p + return __arch_swahw32p(p); +#else + return __swahw32(*p); +#endif +} +static inline __u32 __swahb32p(const __u32 *p) +{ +#ifdef __arch_swahb32p + return __arch_swahb32p(p); +#else + return __swahb32(*p); +#endif +} +static inline void __swab16s(__u16 *p) +{ +#ifdef __arch_swab16s + __arch_swab16s(p); +#else + *p = __swab16p(p); +#endif +} +static __always_inline void __swab32s(__u32 *p) +{ +#ifdef __arch_swab32s + __arch_swab32s(p); +#else + *p = __swab32p(p); +#endif +} +static __always_inline void __swab64s(__u64 *p) +{ +#ifdef __arch_swab64s + __arch_swab64s(p); +#else + *p = __swab64p(p); +#endif +} +static inline void __swahw32s(__u32 *p) +{ +#ifdef __arch_swahw32s + __arch_swahw32s(p); +#else + *p = __swahw32p(p); +#endif +} +static inline void __swahb32s(__u32 *p) +{ +#ifdef __arch_swahb32s + __arch_swahb32s(p); +#else + *p = __swahb32p(p); +#endif +} +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/switchtec_ioctl.h b/linux-5.10/prebuilts/usr/include/linux/switchtec_ioctl.h new file mode 100644 index 0000000..a05cf75 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/switchtec_ioctl.h @@ -0,0 +1,133 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI_LINUX_SWITCHTEC_IOCTL_H +#define _UAPI_LINUX_SWITCHTEC_IOCTL_H +#include +#define SWITCHTEC_IOCTL_PART_CFG0 0 +#define SWITCHTEC_IOCTL_PART_CFG1 1 +#define SWITCHTEC_IOCTL_PART_IMG0 2 +#define SWITCHTEC_IOCTL_PART_IMG1 3 +#define SWITCHTEC_IOCTL_PART_NVLOG 4 +#define SWITCHTEC_IOCTL_PART_VENDOR0 5 +#define SWITCHTEC_IOCTL_PART_VENDOR1 6 +#define SWITCHTEC_IOCTL_PART_VENDOR2 7 +#define SWITCHTEC_IOCTL_PART_VENDOR3 8 +#define SWITCHTEC_IOCTL_PART_VENDOR4 9 +#define SWITCHTEC_IOCTL_PART_VENDOR5 10 +#define SWITCHTEC_IOCTL_PART_VENDOR6 11 +#define SWITCHTEC_IOCTL_PART_VENDOR7 12 +#define SWITCHTEC_IOCTL_PART_BL2_0 13 +#define SWITCHTEC_IOCTL_PART_BL2_1 14 +#define SWITCHTEC_IOCTL_PART_MAP_0 15 +#define SWITCHTEC_IOCTL_PART_MAP_1 16 +#define SWITCHTEC_IOCTL_PART_KEY_0 17 +#define SWITCHTEC_IOCTL_PART_KEY_1 18 +#define SWITCHTEC_NUM_PARTITIONS_GEN3 13 +#define SWITCHTEC_NUM_PARTITIONS_GEN4 19 +#define SWITCHTEC_IOCTL_NUM_PARTITIONS SWITCHTEC_NUM_PARTITIONS_GEN3 +struct switchtec_ioctl_flash_info { + __u64 flash_length; + __u32 num_partitions; + __u32 padding; +}; +#define SWITCHTEC_IOCTL_PART_ACTIVE 1 +#define SWITCHTEC_IOCTL_PART_RUNNING 2 +struct switchtec_ioctl_flash_part_info { + __u32 flash_partition; + __u32 address; + __u32 length; + __u32 active; +}; +struct switchtec_ioctl_event_summary_legacy { + __u64 global; + __u64 part_bitmap; + __u32 local_part; + __u32 padding; + __u32 part[48]; + __u32 pff[48]; +}; +struct switchtec_ioctl_event_summary { + __u64 global; + __u64 part_bitmap; + __u32 local_part; + __u32 padding; + __u32 part[48]; + __u32 pff[255]; +}; +#define SWITCHTEC_IOCTL_EVENT_STACK_ERROR 0 +#define SWITCHTEC_IOCTL_EVENT_PPU_ERROR 1 +#define SWITCHTEC_IOCTL_EVENT_ISP_ERROR 2 +#define SWITCHTEC_IOCTL_EVENT_SYS_RESET 3 +#define SWITCHTEC_IOCTL_EVENT_FW_EXC 4 +#define SWITCHTEC_IOCTL_EVENT_FW_NMI 5 +#define SWITCHTEC_IOCTL_EVENT_FW_NON_FATAL 6 +#define SWITCHTEC_IOCTL_EVENT_FW_FATAL 7 +#define SWITCHTEC_IOCTL_EVENT_TWI_MRPC_COMP 8 +#define SWITCHTEC_IOCTL_EVENT_TWI_MRPC_COMP_ASYNC 9 +#define SWITCHTEC_IOCTL_EVENT_CLI_MRPC_COMP 10 +#define SWITCHTEC_IOCTL_EVENT_CLI_MRPC_COMP_ASYNC 11 +#define SWITCHTEC_IOCTL_EVENT_GPIO_INT 12 +#define SWITCHTEC_IOCTL_EVENT_PART_RESET 13 +#define SWITCHTEC_IOCTL_EVENT_MRPC_COMP 14 +#define SWITCHTEC_IOCTL_EVENT_MRPC_COMP_ASYNC 15 +#define SWITCHTEC_IOCTL_EVENT_DYN_PART_BIND_COMP 16 +#define SWITCHTEC_IOCTL_EVENT_AER_IN_P2P 17 +#define SWITCHTEC_IOCTL_EVENT_AER_IN_VEP 18 +#define SWITCHTEC_IOCTL_EVENT_DPC 19 +#define SWITCHTEC_IOCTL_EVENT_CTS 20 +#define SWITCHTEC_IOCTL_EVENT_HOTPLUG 21 +#define SWITCHTEC_IOCTL_EVENT_IER 22 +#define SWITCHTEC_IOCTL_EVENT_THRESH 23 +#define SWITCHTEC_IOCTL_EVENT_POWER_MGMT 24 +#define SWITCHTEC_IOCTL_EVENT_TLP_THROTTLING 25 +#define SWITCHTEC_IOCTL_EVENT_FORCE_SPEED 26 +#define SWITCHTEC_IOCTL_EVENT_CREDIT_TIMEOUT 27 +#define SWITCHTEC_IOCTL_EVENT_LINK_STATE 28 +#define SWITCHTEC_IOCTL_EVENT_GFMS 29 +#define SWITCHTEC_IOCTL_EVENT_INTERCOMM_REQ_NOTIFY 30 +#define SWITCHTEC_IOCTL_EVENT_UEC 31 +#define SWITCHTEC_IOCTL_MAX_EVENTS 32 +#define SWITCHTEC_IOCTL_EVENT_LOCAL_PART_IDX -1 +#define SWITCHTEC_IOCTL_EVENT_IDX_ALL -2 +#define SWITCHTEC_IOCTL_EVENT_FLAG_CLEAR (1 << 0) +#define SWITCHTEC_IOCTL_EVENT_FLAG_EN_POLL (1 << 1) +#define SWITCHTEC_IOCTL_EVENT_FLAG_EN_LOG (1 << 2) +#define SWITCHTEC_IOCTL_EVENT_FLAG_EN_CLI (1 << 3) +#define SWITCHTEC_IOCTL_EVENT_FLAG_EN_FATAL (1 << 4) +#define SWITCHTEC_IOCTL_EVENT_FLAG_DIS_POLL (1 << 5) +#define SWITCHTEC_IOCTL_EVENT_FLAG_DIS_LOG (1 << 6) +#define SWITCHTEC_IOCTL_EVENT_FLAG_DIS_CLI (1 << 7) +#define SWITCHTEC_IOCTL_EVENT_FLAG_DIS_FATAL (1 << 8) +#define SWITCHTEC_IOCTL_EVENT_FLAG_UNUSED (~0x1ff) +struct switchtec_ioctl_event_ctl { + __u32 event_id; + __s32 index; + __u32 flags; + __u32 occurred; + __u32 count; + __u32 data[5]; +}; +#define SWITCHTEC_IOCTL_PFF_VEP 100 +struct switchtec_ioctl_pff_port { + __u32 pff; + __u32 partition; + __u32 port; +}; +#define SWITCHTEC_IOCTL_FLASH_INFO \ + _IOR('W', 0x40, struct switchtec_ioctl_flash_info) +#define SWITCHTEC_IOCTL_FLASH_PART_INFO \ + _IOWR('W', 0x41, struct switchtec_ioctl_flash_part_info) +#define SWITCHTEC_IOCTL_EVENT_SUMMARY \ + _IOR('W', 0x42, struct switchtec_ioctl_event_summary) +#define SWITCHTEC_IOCTL_EVENT_SUMMARY_LEGACY \ + _IOR('W', 0x42, struct switchtec_ioctl_event_summary_legacy) +#define SWITCHTEC_IOCTL_EVENT_CTL \ + _IOWR('W', 0x43, struct switchtec_ioctl_event_ctl) +#define SWITCHTEC_IOCTL_PFF_TO_PORT \ + _IOWR('W', 0x44, struct switchtec_ioctl_pff_port) +#define SWITCHTEC_IOCTL_PORT_TO_PFF \ + _IOWR('W', 0x45, struct switchtec_ioctl_pff_port) +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/sync_file.h b/linux-5.10/prebuilts/usr/include/linux/sync_file.h new file mode 100644 index 0000000..40a1c9d --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/sync_file.h @@ -0,0 +1,35 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI_LINUX_SYNC_H +#define _UAPI_LINUX_SYNC_H +#include +#include +struct sync_merge_data { + char name[32]; + __s32 fd2; + __s32 fence; + __u32 flags; + __u32 pad; +}; +struct sync_fence_info { + char obj_name[32]; + char driver_name[32]; + __s32 status; + __u32 flags; + __u64 timestamp_ns; +}; +struct sync_file_info { + char name[32]; + __s32 status; + __u32 flags; + __u32 num_fences; + __u32 pad; + __u64 sync_fence_info; +}; +#define SYNC_IOC_MAGIC '>' +#define SYNC_IOC_MERGE _IOWR(SYNC_IOC_MAGIC, 3, struct sync_merge_data) +#define SYNC_IOC_FILE_INFO _IOWR(SYNC_IOC_MAGIC, 4, struct sync_file_info) +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/synclink.h b/linux-5.10/prebuilts/usr/include/linux/synclink.h new file mode 100644 index 0000000..d13ed38 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/synclink.h @@ -0,0 +1,235 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI_SYNCLINK_H_ +#define _UAPI_SYNCLINK_H_ +#define SYNCLINK_H_VERSION 3.6 +#include +#define BIT0 0x0001 +#define BIT1 0x0002 +#define BIT2 0x0004 +#define BIT3 0x0008 +#define BIT4 0x0010 +#define BIT5 0x0020 +#define BIT6 0x0040 +#define BIT7 0x0080 +#define BIT8 0x0100 +#define BIT9 0x0200 +#define BIT10 0x0400 +#define BIT11 0x0800 +#define BIT12 0x1000 +#define BIT13 0x2000 +#define BIT14 0x4000 +#define BIT15 0x8000 +#define BIT16 0x00010000 +#define BIT17 0x00020000 +#define BIT18 0x00040000 +#define BIT19 0x00080000 +#define BIT20 0x00100000 +#define BIT21 0x00200000 +#define BIT22 0x00400000 +#define BIT23 0x00800000 +#define BIT24 0x01000000 +#define BIT25 0x02000000 +#define BIT26 0x04000000 +#define BIT27 0x08000000 +#define BIT28 0x10000000 +#define BIT29 0x20000000 +#define BIT30 0x40000000 +#define BIT31 0x80000000 +#define HDLC_MAX_FRAME_SIZE 65535 +#define MAX_ASYNC_TRANSMIT 4096 +#define MAX_ASYNC_BUFFER_SIZE 4096 +#define ASYNC_PARITY_NONE 0 +#define ASYNC_PARITY_EVEN 1 +#define ASYNC_PARITY_ODD 2 +#define ASYNC_PARITY_SPACE 3 +#define HDLC_FLAG_UNDERRUN_ABORT7 0x0000 +#define HDLC_FLAG_UNDERRUN_ABORT15 0x0001 +#define HDLC_FLAG_UNDERRUN_FLAG 0x0002 +#define HDLC_FLAG_UNDERRUN_CRC 0x0004 +#define HDLC_FLAG_SHARE_ZERO 0x0010 +#define HDLC_FLAG_AUTO_CTS 0x0020 +#define HDLC_FLAG_AUTO_DCD 0x0040 +#define HDLC_FLAG_AUTO_RTS 0x0080 +#define HDLC_FLAG_RXC_DPLL 0x0100 +#define HDLC_FLAG_RXC_BRG 0x0200 +#define HDLC_FLAG_RXC_TXCPIN 0x8000 +#define HDLC_FLAG_RXC_RXCPIN 0x0000 +#define HDLC_FLAG_TXC_DPLL 0x0400 +#define HDLC_FLAG_TXC_BRG 0x0800 +#define HDLC_FLAG_TXC_TXCPIN 0x0000 +#define HDLC_FLAG_TXC_RXCPIN 0x0008 +#define HDLC_FLAG_DPLL_DIV8 0x1000 +#define HDLC_FLAG_DPLL_DIV16 0x2000 +#define HDLC_FLAG_DPLL_DIV32 0x0000 +#define HDLC_FLAG_HDLC_LOOPMODE 0x4000 +#define HDLC_CRC_NONE 0 +#define HDLC_CRC_16_CCITT 1 +#define HDLC_CRC_32_CCITT 2 +#define HDLC_CRC_MASK 0x00ff +#define HDLC_CRC_RETURN_EX 0x8000 +#define RX_OK 0 +#define RX_CRC_ERROR 1 +#define HDLC_TXIDLE_FLAGS 0 +#define HDLC_TXIDLE_ALT_ZEROS_ONES 1 +#define HDLC_TXIDLE_ZEROS 2 +#define HDLC_TXIDLE_ONES 3 +#define HDLC_TXIDLE_ALT_MARK_SPACE 4 +#define HDLC_TXIDLE_SPACE 5 +#define HDLC_TXIDLE_MARK 6 +#define HDLC_TXIDLE_CUSTOM_8 0x10000000 +#define HDLC_TXIDLE_CUSTOM_16 0x20000000 +#define HDLC_ENCODING_NRZ 0 +#define HDLC_ENCODING_NRZB 1 +#define HDLC_ENCODING_NRZI_MARK 2 +#define HDLC_ENCODING_NRZI_SPACE 3 +#define HDLC_ENCODING_NRZI HDLC_ENCODING_NRZI_SPACE +#define HDLC_ENCODING_BIPHASE_MARK 4 +#define HDLC_ENCODING_BIPHASE_SPACE 5 +#define HDLC_ENCODING_BIPHASE_LEVEL 6 +#define HDLC_ENCODING_DIFF_BIPHASE_LEVEL 7 +#define HDLC_PREAMBLE_LENGTH_8BITS 0 +#define HDLC_PREAMBLE_LENGTH_16BITS 1 +#define HDLC_PREAMBLE_LENGTH_32BITS 2 +#define HDLC_PREAMBLE_LENGTH_64BITS 3 +#define HDLC_PREAMBLE_PATTERN_NONE 0 +#define HDLC_PREAMBLE_PATTERN_ZEROS 1 +#define HDLC_PREAMBLE_PATTERN_FLAGS 2 +#define HDLC_PREAMBLE_PATTERN_10 3 +#define HDLC_PREAMBLE_PATTERN_01 4 +#define HDLC_PREAMBLE_PATTERN_ONES 5 +#define MGSL_MODE_ASYNC 1 +#define MGSL_MODE_HDLC 2 +#define MGSL_MODE_MONOSYNC 3 +#define MGSL_MODE_BISYNC 4 +#define MGSL_MODE_RAW 6 +#define MGSL_MODE_BASE_CLOCK 7 +#define MGSL_MODE_XSYNC 8 +#define MGSL_BUS_TYPE_ISA 1 +#define MGSL_BUS_TYPE_EISA 2 +#define MGSL_BUS_TYPE_PCI 5 +#define MGSL_INTERFACE_MASK 0xf +#define MGSL_INTERFACE_DISABLE 0 +#define MGSL_INTERFACE_RS232 1 +#define MGSL_INTERFACE_V35 2 +#define MGSL_INTERFACE_RS422 3 +#define MGSL_INTERFACE_RTS_EN 0x10 +#define MGSL_INTERFACE_LL 0x20 +#define MGSL_INTERFACE_RL 0x40 +#define MGSL_INTERFACE_MSB_FIRST 0x80 +typedef struct _MGSL_PARAMS +{ + + unsigned long mode; + unsigned char loopback; + + unsigned short flags; + unsigned char encoding; + unsigned long clock_speed; + unsigned char addr_filter; + unsigned short crc_type; + unsigned char preamble_length; + unsigned char preamble; + + unsigned long data_rate; + unsigned char data_bits; + unsigned char stop_bits; + unsigned char parity; +} MGSL_PARAMS, *PMGSL_PARAMS; +#define MICROGATE_VENDOR_ID 0x13c0 +#define SYNCLINK_DEVICE_ID 0x0010 +#define MGSCC_DEVICE_ID 0x0020 +#define SYNCLINK_SCA_DEVICE_ID 0x0030 +#define SYNCLINK_GT_DEVICE_ID 0x0070 +#define SYNCLINK_GT4_DEVICE_ID 0x0080 +#define SYNCLINK_AC_DEVICE_ID 0x0090 +#define SYNCLINK_GT2_DEVICE_ID 0x00A0 +#define MGSL_MAX_SERIAL_NUMBER 30 +#define DiagStatus_OK 0 +#define DiagStatus_AddressFailure 1 +#define DiagStatus_AddressConflict 2 +#define DiagStatus_IrqFailure 3 +#define DiagStatus_IrqConflict 4 +#define DiagStatus_DmaFailure 5 +#define DiagStatus_DmaConflict 6 +#define DiagStatus_PciAdapterNotFound 7 +#define DiagStatus_CantAssignPciResources 8 +#define DiagStatus_CantAssignPciMemAddr 9 +#define DiagStatus_CantAssignPciIoAddr 10 +#define DiagStatus_CantAssignPciIrq 11 +#define DiagStatus_MemoryError 12 +#define SerialSignal_DCD 0x01 +#define SerialSignal_TXD 0x02 +#define SerialSignal_RI 0x04 +#define SerialSignal_RXD 0x08 +#define SerialSignal_CTS 0x10 +#define SerialSignal_RTS 0x20 +#define SerialSignal_DSR 0x40 +#define SerialSignal_DTR 0x80 +struct mgsl_icount { + __u32 cts, dsr, rng, dcd, tx, rx; + __u32 frame, parity, overrun, brk; + __u32 buf_overrun; + __u32 txok; + __u32 txunder; + __u32 txabort; + __u32 txtimeout; + __u32 rxshort; + __u32 rxlong; + __u32 rxabort; + __u32 rxover; + __u32 rxcrc; + __u32 rxok; + __u32 exithunt; + __u32 rxidle; +}; +struct gpio_desc { + __u32 state; + __u32 smask; + __u32 dir; + __u32 dmask; +}; +#define DEBUG_LEVEL_DATA 1 +#define DEBUG_LEVEL_ERROR 2 +#define DEBUG_LEVEL_INFO 3 +#define DEBUG_LEVEL_BH 4 +#define DEBUG_LEVEL_ISR 5 +#define MgslEvent_DsrActive 0x0001 +#define MgslEvent_DsrInactive 0x0002 +#define MgslEvent_Dsr 0x0003 +#define MgslEvent_CtsActive 0x0004 +#define MgslEvent_CtsInactive 0x0008 +#define MgslEvent_Cts 0x000c +#define MgslEvent_DcdActive 0x0010 +#define MgslEvent_DcdInactive 0x0020 +#define MgslEvent_Dcd 0x0030 +#define MgslEvent_RiActive 0x0040 +#define MgslEvent_RiInactive 0x0080 +#define MgslEvent_Ri 0x00c0 +#define MgslEvent_ExitHuntMode 0x0100 +#define MgslEvent_IdleReceived 0x0200 +#define MGSL_MAGIC_IOC 'm' +#define MGSL_IOCSPARAMS _IOW(MGSL_MAGIC_IOC,0,struct _MGSL_PARAMS) +#define MGSL_IOCGPARAMS _IOR(MGSL_MAGIC_IOC,1,struct _MGSL_PARAMS) +#define MGSL_IOCSTXIDLE _IO(MGSL_MAGIC_IOC,2) +#define MGSL_IOCGTXIDLE _IO(MGSL_MAGIC_IOC,3) +#define MGSL_IOCTXENABLE _IO(MGSL_MAGIC_IOC,4) +#define MGSL_IOCRXENABLE _IO(MGSL_MAGIC_IOC,5) +#define MGSL_IOCTXABORT _IO(MGSL_MAGIC_IOC,6) +#define MGSL_IOCGSTATS _IO(MGSL_MAGIC_IOC,7) +#define MGSL_IOCWAITEVENT _IOWR(MGSL_MAGIC_IOC,8,int) +#define MGSL_IOCCLRMODCOUNT _IO(MGSL_MAGIC_IOC,15) +#define MGSL_IOCLOOPTXDONE _IO(MGSL_MAGIC_IOC,9) +#define MGSL_IOCSIF _IO(MGSL_MAGIC_IOC,10) +#define MGSL_IOCGIF _IO(MGSL_MAGIC_IOC,11) +#define MGSL_IOCSGPIO _IOW(MGSL_MAGIC_IOC,16,struct gpio_desc) +#define MGSL_IOCGGPIO _IOR(MGSL_MAGIC_IOC,17,struct gpio_desc) +#define MGSL_IOCWAITGPIO _IOWR(MGSL_MAGIC_IOC,18,struct gpio_desc) +#define MGSL_IOCSXSYNC _IO(MGSL_MAGIC_IOC, 19) +#define MGSL_IOCGXSYNC _IO(MGSL_MAGIC_IOC, 20) +#define MGSL_IOCSXCTRL _IO(MGSL_MAGIC_IOC, 21) +#define MGSL_IOCGXCTRL _IO(MGSL_MAGIC_IOC, 22) +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/sysctl.h b/linux-5.10/prebuilts/usr/include/linux/sysctl.h new file mode 100644 index 0000000..55dd925 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/sysctl.h @@ -0,0 +1,770 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI_LINUX_SYSCTL_H +#define _UAPI_LINUX_SYSCTL_H +#include +#include +#include +#define CTL_MAXNAME 10 +struct __sysctl_args { + int __user *name; + int nlen; + void __user *oldval; + size_t __user *oldlenp; + void __user *newval; + size_t newlen; + unsigned long __linux_unused[4]; +}; +enum +{ + CTL_KERN=1, + CTL_VM=2, + CTL_NET=3, + CTL_PROC=4, + CTL_FS=5, + CTL_DEBUG=6, + CTL_DEV=7, + CTL_BUS=8, + CTL_ABI=9, + CTL_CPU=10, + CTL_ARLAN=254, + CTL_S390DBF=5677, + CTL_SUNRPC=7249, + CTL_PM=9899, + CTL_FRV=9898, +}; +enum +{ + CTL_BUS_ISA=1 +}; +enum +{ + INOTIFY_MAX_USER_INSTANCES=1, + INOTIFY_MAX_USER_WATCHES=2, + INOTIFY_MAX_QUEUED_EVENTS=3 +}; +enum +{ + KERN_OSTYPE=1, + KERN_OSRELEASE=2, + KERN_OSREV=3, + KERN_VERSION=4, + KERN_SECUREMASK=5, + KERN_PROF=6, + KERN_NODENAME=7, + KERN_DOMAINNAME=8, + KERN_PANIC=15, + KERN_REALROOTDEV=16, + KERN_SPARC_REBOOT=21, + KERN_CTLALTDEL=22, + KERN_PRINTK=23, + KERN_NAMETRANS=24, + KERN_PPC_HTABRECLAIM=25, + KERN_PPC_ZEROPAGED=26, + KERN_PPC_POWERSAVE_NAP=27, + KERN_MODPROBE=28, + KERN_SG_BIG_BUFF=29, + KERN_ACCT=30, + KERN_PPC_L2CR=31, + KERN_RTSIGNR=32, + KERN_RTSIGMAX=33, + + KERN_SHMMAX=34, + KERN_MSGMAX=35, + KERN_MSGMNB=36, + KERN_MSGPOOL=37, + KERN_SYSRQ=38, + KERN_MAX_THREADS=39, + KERN_RANDOM=40, + KERN_SHMALL=41, + KERN_MSGMNI=42, + KERN_SEM=43, + KERN_SPARC_STOP_A=44, + KERN_SHMMNI=45, + KERN_OVERFLOWUID=46, + KERN_OVERFLOWGID=47, + KERN_SHMPATH=48, + KERN_HOTPLUG=49, + KERN_IEEE_EMULATION_WARNINGS=50, + KERN_S390_USER_DEBUG_LOGGING=51, + KERN_CORE_USES_PID=52, + KERN_TAINTED=53, + KERN_CADPID=54, + KERN_PIDMAX=55, + KERN_CORE_PATTERN=56, + KERN_PANIC_ON_OOPS=57, + KERN_HPPA_PWRSW=58, + KERN_HPPA_UNALIGNED=59, + KERN_PRINTK_RATELIMIT=60, + KERN_PRINTK_RATELIMIT_BURST=61, + KERN_PTY=62, + KERN_NGROUPS_MAX=63, + KERN_SPARC_SCONS_PWROFF=64, + KERN_HZ_TIMER=65, + KERN_UNKNOWN_NMI_PANIC=66, + KERN_BOOTLOADER_TYPE=67, + KERN_RANDOMIZE=68, + KERN_SETUID_DUMPABLE=69, + KERN_SPIN_RETRY=70, + KERN_ACPI_VIDEO_FLAGS=71, + KERN_IA64_UNALIGNED=72, + KERN_COMPAT_LOG=73, + KERN_MAX_LOCK_DEPTH=74, + KERN_NMI_WATCHDOG=75, + KERN_PANIC_ON_NMI=76, + KERN_PANIC_ON_WARN=77, + KERN_PANIC_PRINT=78, +}; +enum +{ + VM_UNUSED1=1, + VM_UNUSED2=2, + VM_UNUSED3=3, + VM_UNUSED4=4, + VM_OVERCOMMIT_MEMORY=5, + VM_UNUSED5=6, + VM_UNUSED7=7, + VM_UNUSED8=8, + VM_UNUSED9=9, + VM_PAGE_CLUSTER=10, + VM_DIRTY_BACKGROUND=11, + VM_DIRTY_RATIO=12, + VM_DIRTY_WB_CS=13, + VM_DIRTY_EXPIRE_CS=14, + VM_NR_PDFLUSH_THREADS=15, + VM_OVERCOMMIT_RATIO=16, + VM_PAGEBUF=17, + VM_HUGETLB_PAGES=18, + VM_SWAPPINESS=19, + VM_LOWMEM_RESERVE_RATIO=20, + VM_MIN_FREE_KBYTES=21, + VM_MAX_MAP_COUNT=22, + VM_LAPTOP_MODE=23, + VM_BLOCK_DUMP=24, + VM_HUGETLB_GROUP=25, + VM_VFS_CACHE_PRESSURE=26, + VM_LEGACY_VA_LAYOUT=27, + VM_SWAP_TOKEN_TIMEOUT=28, + VM_DROP_PAGECACHE=29, + VM_PERCPU_PAGELIST_FRACTION=30, + VM_ZONE_RECLAIM_MODE=31, + VM_MIN_UNMAPPED=32, + VM_PANIC_ON_OOM=33, + VM_VDSO_ENABLED=34, + VM_MIN_SLAB=35, +}; +enum +{ + NET_CORE=1, + NET_ETHER=2, + NET_802=3, + NET_UNIX=4, + NET_IPV4=5, + NET_IPX=6, + NET_ATALK=7, + NET_NETROM=8, + NET_AX25=9, + NET_BRIDGE=10, + NET_ROSE=11, + NET_IPV6=12, + NET_X25=13, + NET_TR=14, + NET_DECNET=15, + NET_ECONET=16, + NET_SCTP=17, + NET_LLC=18, + NET_NETFILTER=19, + NET_DCCP=20, + NET_IRDA=412, +}; +enum +{ + RANDOM_POOLSIZE=1, + RANDOM_ENTROPY_COUNT=2, + RANDOM_READ_THRESH=3, + RANDOM_WRITE_THRESH=4, + RANDOM_BOOT_ID=5, + RANDOM_UUID=6 +}; +enum +{ + PTY_MAX=1, + PTY_NR=2 +}; +enum +{ + BUS_ISA_MEM_BASE=1, + BUS_ISA_PORT_BASE=2, + BUS_ISA_PORT_SHIFT=3 +}; +enum +{ + NET_CORE_WMEM_MAX=1, + NET_CORE_RMEM_MAX=2, + NET_CORE_WMEM_DEFAULT=3, + NET_CORE_RMEM_DEFAULT=4, + NET_CORE_MAX_BACKLOG=6, + NET_CORE_FASTROUTE=7, + NET_CORE_MSG_COST=8, + NET_CORE_MSG_BURST=9, + NET_CORE_OPTMEM_MAX=10, + NET_CORE_HOT_LIST_LENGTH=11, + NET_CORE_DIVERT_VERSION=12, + NET_CORE_NO_CONG_THRESH=13, + NET_CORE_NO_CONG=14, + NET_CORE_LO_CONG=15, + NET_CORE_MOD_CONG=16, + NET_CORE_DEV_WEIGHT=17, + NET_CORE_SOMAXCONN=18, + NET_CORE_BUDGET=19, + NET_CORE_AEVENT_ETIME=20, + NET_CORE_AEVENT_RSEQTH=21, + NET_CORE_WARNINGS=22, +}; +enum +{ + NET_UNIX_DESTROY_DELAY=1, + NET_UNIX_DELETE_DELAY=2, + NET_UNIX_MAX_DGRAM_QLEN=3, +}; +enum +{ + NET_NF_CONNTRACK_MAX=1, + NET_NF_CONNTRACK_TCP_TIMEOUT_SYN_SENT=2, + NET_NF_CONNTRACK_TCP_TIMEOUT_SYN_RECV=3, + NET_NF_CONNTRACK_TCP_TIMEOUT_ESTABLISHED=4, + NET_NF_CONNTRACK_TCP_TIMEOUT_FIN_WAIT=5, + NET_NF_CONNTRACK_TCP_TIMEOUT_CLOSE_WAIT=6, + NET_NF_CONNTRACK_TCP_TIMEOUT_LAST_ACK=7, + NET_NF_CONNTRACK_TCP_TIMEOUT_TIME_WAIT=8, + NET_NF_CONNTRACK_TCP_TIMEOUT_CLOSE=9, + NET_NF_CONNTRACK_UDP_TIMEOUT=10, + NET_NF_CONNTRACK_UDP_TIMEOUT_STREAM=11, + NET_NF_CONNTRACK_ICMP_TIMEOUT=12, + NET_NF_CONNTRACK_GENERIC_TIMEOUT=13, + NET_NF_CONNTRACK_BUCKETS=14, + NET_NF_CONNTRACK_LOG_INVALID=15, + NET_NF_CONNTRACK_TCP_TIMEOUT_MAX_RETRANS=16, + NET_NF_CONNTRACK_TCP_LOOSE=17, + NET_NF_CONNTRACK_TCP_BE_LIBERAL=18, + NET_NF_CONNTRACK_TCP_MAX_RETRANS=19, + NET_NF_CONNTRACK_SCTP_TIMEOUT_CLOSED=20, + NET_NF_CONNTRACK_SCTP_TIMEOUT_COOKIE_WAIT=21, + NET_NF_CONNTRACK_SCTP_TIMEOUT_COOKIE_ECHOED=22, + NET_NF_CONNTRACK_SCTP_TIMEOUT_ESTABLISHED=23, + NET_NF_CONNTRACK_SCTP_TIMEOUT_SHUTDOWN_SENT=24, + NET_NF_CONNTRACK_SCTP_TIMEOUT_SHUTDOWN_RECD=25, + NET_NF_CONNTRACK_SCTP_TIMEOUT_SHUTDOWN_ACK_SENT=26, + NET_NF_CONNTRACK_COUNT=27, + NET_NF_CONNTRACK_ICMPV6_TIMEOUT=28, + NET_NF_CONNTRACK_FRAG6_TIMEOUT=29, + NET_NF_CONNTRACK_FRAG6_LOW_THRESH=30, + NET_NF_CONNTRACK_FRAG6_HIGH_THRESH=31, + NET_NF_CONNTRACK_CHECKSUM=32, +}; +enum +{ + + NET_IPV4_FORWARD=8, + NET_IPV4_DYNADDR=9, + NET_IPV4_CONF=16, + NET_IPV4_NEIGH=17, + NET_IPV4_ROUTE=18, + NET_IPV4_FIB_HASH=19, + NET_IPV4_NETFILTER=20, + NET_IPV4_TCP_TIMESTAMPS=33, + NET_IPV4_TCP_WINDOW_SCALING=34, + NET_IPV4_TCP_SACK=35, + NET_IPV4_TCP_RETRANS_COLLAPSE=36, + NET_IPV4_DEFAULT_TTL=37, + NET_IPV4_AUTOCONFIG=38, + NET_IPV4_NO_PMTU_DISC=39, + NET_IPV4_TCP_SYN_RETRIES=40, + NET_IPV4_IPFRAG_HIGH_THRESH=41, + NET_IPV4_IPFRAG_LOW_THRESH=42, + NET_IPV4_IPFRAG_TIME=43, + NET_IPV4_TCP_MAX_KA_PROBES=44, + NET_IPV4_TCP_KEEPALIVE_TIME=45, + NET_IPV4_TCP_KEEPALIVE_PROBES=46, + NET_IPV4_TCP_RETRIES1=47, + NET_IPV4_TCP_RETRIES2=48, + NET_IPV4_TCP_FIN_TIMEOUT=49, + NET_IPV4_IP_MASQ_DEBUG=50, + NET_TCP_SYNCOOKIES=51, + NET_TCP_STDURG=52, + NET_TCP_RFC1337=53, + NET_TCP_SYN_TAILDROP=54, + NET_TCP_MAX_SYN_BACKLOG=55, + NET_IPV4_LOCAL_PORT_RANGE=56, + NET_IPV4_ICMP_ECHO_IGNORE_ALL=57, + NET_IPV4_ICMP_ECHO_IGNORE_BROADCASTS=58, + NET_IPV4_ICMP_SOURCEQUENCH_RATE=59, + NET_IPV4_ICMP_DESTUNREACH_RATE=60, + NET_IPV4_ICMP_TIMEEXCEED_RATE=61, + NET_IPV4_ICMP_PARAMPROB_RATE=62, + NET_IPV4_ICMP_ECHOREPLY_RATE=63, + NET_IPV4_ICMP_IGNORE_BOGUS_ERROR_RESPONSES=64, + NET_IPV4_IGMP_MAX_MEMBERSHIPS=65, + NET_TCP_TW_RECYCLE=66, + NET_IPV4_ALWAYS_DEFRAG=67, + NET_IPV4_TCP_KEEPALIVE_INTVL=68, + NET_IPV4_INET_PEER_THRESHOLD=69, + NET_IPV4_INET_PEER_MINTTL=70, + NET_IPV4_INET_PEER_MAXTTL=71, + NET_IPV4_INET_PEER_GC_MINTIME=72, + NET_IPV4_INET_PEER_GC_MAXTIME=73, + NET_TCP_ORPHAN_RETRIES=74, + NET_TCP_ABORT_ON_OVERFLOW=75, + NET_TCP_SYNACK_RETRIES=76, + NET_TCP_MAX_ORPHANS=77, + NET_TCP_MAX_TW_BUCKETS=78, + NET_TCP_FACK=79, + NET_TCP_REORDERING=80, + NET_TCP_ECN=81, + NET_TCP_DSACK=82, + NET_TCP_MEM=83, + NET_TCP_WMEM=84, + NET_TCP_RMEM=85, + NET_TCP_APP_WIN=86, + NET_TCP_ADV_WIN_SCALE=87, + NET_IPV4_NONLOCAL_BIND=88, + NET_IPV4_ICMP_RATELIMIT=89, + NET_IPV4_ICMP_RATEMASK=90, + NET_TCP_TW_REUSE=91, + NET_TCP_FRTO=92, + NET_TCP_LOW_LATENCY=93, + NET_IPV4_IPFRAG_SECRET_INTERVAL=94, + NET_IPV4_IGMP_MAX_MSF=96, + NET_TCP_NO_METRICS_SAVE=97, + NET_TCP_DEFAULT_WIN_SCALE=105, + NET_TCP_MODERATE_RCVBUF=106, + NET_TCP_TSO_WIN_DIVISOR=107, + NET_TCP_BIC_BETA=108, + NET_IPV4_ICMP_ERRORS_USE_INBOUND_IFADDR=109, + NET_TCP_CONG_CONTROL=110, + NET_TCP_ABC=111, + NET_IPV4_IPFRAG_MAX_DIST=112, + NET_TCP_MTU_PROBING=113, + NET_TCP_BASE_MSS=114, + NET_IPV4_TCP_WORKAROUND_SIGNED_WINDOWS=115, + NET_TCP_DMA_COPYBREAK=116, + NET_TCP_SLOW_START_AFTER_IDLE=117, + NET_CIPSOV4_CACHE_ENABLE=118, + NET_CIPSOV4_CACHE_BUCKET_SIZE=119, + NET_CIPSOV4_RBM_OPTFMT=120, + NET_CIPSOV4_RBM_STRICTVALID=121, + NET_TCP_AVAIL_CONG_CONTROL=122, + NET_TCP_ALLOWED_CONG_CONTROL=123, + NET_TCP_MAX_SSTHRESH=124, + NET_TCP_FRTO_RESPONSE=125, +}; +enum { + NET_IPV4_ROUTE_FLUSH=1, + NET_IPV4_ROUTE_MIN_DELAY=2, + NET_IPV4_ROUTE_MAX_DELAY=3, + NET_IPV4_ROUTE_GC_THRESH=4, + NET_IPV4_ROUTE_MAX_SIZE=5, + NET_IPV4_ROUTE_GC_MIN_INTERVAL=6, + NET_IPV4_ROUTE_GC_TIMEOUT=7, + NET_IPV4_ROUTE_GC_INTERVAL=8, + NET_IPV4_ROUTE_REDIRECT_LOAD=9, + NET_IPV4_ROUTE_REDIRECT_NUMBER=10, + NET_IPV4_ROUTE_REDIRECT_SILENCE=11, + NET_IPV4_ROUTE_ERROR_COST=12, + NET_IPV4_ROUTE_ERROR_BURST=13, + NET_IPV4_ROUTE_GC_ELASTICITY=14, + NET_IPV4_ROUTE_MTU_EXPIRES=15, + NET_IPV4_ROUTE_MIN_PMTU=16, + NET_IPV4_ROUTE_MIN_ADVMSS=17, + NET_IPV4_ROUTE_SECRET_INTERVAL=18, + NET_IPV4_ROUTE_GC_MIN_INTERVAL_MS=19, +}; +enum +{ + NET_PROTO_CONF_ALL=-2, + NET_PROTO_CONF_DEFAULT=-3 + +}; +enum +{ + NET_IPV4_CONF_FORWARDING=1, + NET_IPV4_CONF_MC_FORWARDING=2, + NET_IPV4_CONF_PROXY_ARP=3, + NET_IPV4_CONF_ACCEPT_REDIRECTS=4, + NET_IPV4_CONF_SECURE_REDIRECTS=5, + NET_IPV4_CONF_SEND_REDIRECTS=6, + NET_IPV4_CONF_SHARED_MEDIA=7, + NET_IPV4_CONF_RP_FILTER=8, + NET_IPV4_CONF_ACCEPT_SOURCE_ROUTE=9, + NET_IPV4_CONF_BOOTP_RELAY=10, + NET_IPV4_CONF_LOG_MARTIANS=11, + NET_IPV4_CONF_TAG=12, + NET_IPV4_CONF_ARPFILTER=13, + NET_IPV4_CONF_MEDIUM_ID=14, + NET_IPV4_CONF_NOXFRM=15, + NET_IPV4_CONF_NOPOLICY=16, + NET_IPV4_CONF_FORCE_IGMP_VERSION=17, + NET_IPV4_CONF_ARP_ANNOUNCE=18, + NET_IPV4_CONF_ARP_IGNORE=19, + NET_IPV4_CONF_PROMOTE_SECONDARIES=20, + NET_IPV4_CONF_ARP_ACCEPT=21, + NET_IPV4_CONF_ARP_NOTIFY=22, +}; +enum +{ + NET_IPV4_NF_CONNTRACK_MAX=1, + NET_IPV4_NF_CONNTRACK_TCP_TIMEOUT_SYN_SENT=2, + NET_IPV4_NF_CONNTRACK_TCP_TIMEOUT_SYN_RECV=3, + NET_IPV4_NF_CONNTRACK_TCP_TIMEOUT_ESTABLISHED=4, + NET_IPV4_NF_CONNTRACK_TCP_TIMEOUT_FIN_WAIT=5, + NET_IPV4_NF_CONNTRACK_TCP_TIMEOUT_CLOSE_WAIT=6, + NET_IPV4_NF_CONNTRACK_TCP_TIMEOUT_LAST_ACK=7, + NET_IPV4_NF_CONNTRACK_TCP_TIMEOUT_TIME_WAIT=8, + NET_IPV4_NF_CONNTRACK_TCP_TIMEOUT_CLOSE=9, + NET_IPV4_NF_CONNTRACK_UDP_TIMEOUT=10, + NET_IPV4_NF_CONNTRACK_UDP_TIMEOUT_STREAM=11, + NET_IPV4_NF_CONNTRACK_ICMP_TIMEOUT=12, + NET_IPV4_NF_CONNTRACK_GENERIC_TIMEOUT=13, + NET_IPV4_NF_CONNTRACK_BUCKETS=14, + NET_IPV4_NF_CONNTRACK_LOG_INVALID=15, + NET_IPV4_NF_CONNTRACK_TCP_TIMEOUT_MAX_RETRANS=16, + NET_IPV4_NF_CONNTRACK_TCP_LOOSE=17, + NET_IPV4_NF_CONNTRACK_TCP_BE_LIBERAL=18, + NET_IPV4_NF_CONNTRACK_TCP_MAX_RETRANS=19, + NET_IPV4_NF_CONNTRACK_SCTP_TIMEOUT_CLOSED=20, + NET_IPV4_NF_CONNTRACK_SCTP_TIMEOUT_COOKIE_WAIT=21, + NET_IPV4_NF_CONNTRACK_SCTP_TIMEOUT_COOKIE_ECHOED=22, + NET_IPV4_NF_CONNTRACK_SCTP_TIMEOUT_ESTABLISHED=23, + NET_IPV4_NF_CONNTRACK_SCTP_TIMEOUT_SHUTDOWN_SENT=24, + NET_IPV4_NF_CONNTRACK_SCTP_TIMEOUT_SHUTDOWN_RECD=25, + NET_IPV4_NF_CONNTRACK_SCTP_TIMEOUT_SHUTDOWN_ACK_SENT=26, + NET_IPV4_NF_CONNTRACK_COUNT=27, + NET_IPV4_NF_CONNTRACK_CHECKSUM=28, +}; + +enum { + NET_IPV6_CONF=16, + NET_IPV6_NEIGH=17, + NET_IPV6_ROUTE=18, + NET_IPV6_ICMP=19, + NET_IPV6_BINDV6ONLY=20, + NET_IPV6_IP6FRAG_HIGH_THRESH=21, + NET_IPV6_IP6FRAG_LOW_THRESH=22, + NET_IPV6_IP6FRAG_TIME=23, + NET_IPV6_IP6FRAG_SECRET_INTERVAL=24, + NET_IPV6_MLD_MAX_MSF=25, +}; +enum { + NET_IPV6_ROUTE_FLUSH=1, + NET_IPV6_ROUTE_GC_THRESH=2, + NET_IPV6_ROUTE_MAX_SIZE=3, + NET_IPV6_ROUTE_GC_MIN_INTERVAL=4, + NET_IPV6_ROUTE_GC_TIMEOUT=5, + NET_IPV6_ROUTE_GC_INTERVAL=6, + NET_IPV6_ROUTE_GC_ELASTICITY=7, + NET_IPV6_ROUTE_MTU_EXPIRES=8, + NET_IPV6_ROUTE_MIN_ADVMSS=9, + NET_IPV6_ROUTE_GC_MIN_INTERVAL_MS=10 +}; +enum { + NET_IPV6_FORWARDING=1, + NET_IPV6_HOP_LIMIT=2, + NET_IPV6_MTU=3, + NET_IPV6_ACCEPT_RA=4, + NET_IPV6_ACCEPT_REDIRECTS=5, + NET_IPV6_AUTOCONF=6, + NET_IPV6_DAD_TRANSMITS=7, + NET_IPV6_RTR_SOLICITS=8, + NET_IPV6_RTR_SOLICIT_INTERVAL=9, + NET_IPV6_RTR_SOLICIT_DELAY=10, + NET_IPV6_USE_TEMPADDR=11, + NET_IPV6_TEMP_VALID_LFT=12, + NET_IPV6_TEMP_PREFERED_LFT=13, + NET_IPV6_REGEN_MAX_RETRY=14, + NET_IPV6_MAX_DESYNC_FACTOR=15, + NET_IPV6_MAX_ADDRESSES=16, + NET_IPV6_FORCE_MLD_VERSION=17, + NET_IPV6_ACCEPT_RA_DEFRTR=18, + NET_IPV6_ACCEPT_RA_PINFO=19, + NET_IPV6_ACCEPT_RA_RTR_PREF=20, + NET_IPV6_RTR_PROBE_INTERVAL=21, + NET_IPV6_ACCEPT_RA_RT_INFO_MAX_PLEN=22, + NET_IPV6_PROXY_NDP=23, + NET_IPV6_ACCEPT_SOURCE_ROUTE=25, + NET_IPV6_ACCEPT_RA_FROM_LOCAL=26, + NET_IPV6_ACCEPT_RA_RT_INFO_MIN_PLEN=27, + __NET_IPV6_MAX +}; +enum { + NET_IPV6_ICMP_RATELIMIT = 1, + NET_IPV6_ICMP_ECHO_IGNORE_ALL = 2 +}; +enum { + NET_NEIGH_MCAST_SOLICIT=1, + NET_NEIGH_UCAST_SOLICIT=2, + NET_NEIGH_APP_SOLICIT=3, + NET_NEIGH_RETRANS_TIME=4, + NET_NEIGH_REACHABLE_TIME=5, + NET_NEIGH_DELAY_PROBE_TIME=6, + NET_NEIGH_GC_STALE_TIME=7, + NET_NEIGH_UNRES_QLEN=8, + NET_NEIGH_PROXY_QLEN=9, + NET_NEIGH_ANYCAST_DELAY=10, + NET_NEIGH_PROXY_DELAY=11, + NET_NEIGH_LOCKTIME=12, + NET_NEIGH_GC_INTERVAL=13, + NET_NEIGH_GC_THRESH1=14, + NET_NEIGH_GC_THRESH2=15, + NET_NEIGH_GC_THRESH3=16, + NET_NEIGH_RETRANS_TIME_MS=17, + NET_NEIGH_REACHABLE_TIME_MS=18, +}; +enum { + NET_DCCP_DEFAULT=1, +}; +enum { + NET_IPX_PPROP_BROADCASTING=1, + NET_IPX_FORWARDING=2 +}; +enum { + NET_LLC2=1, + NET_LLC_STATION=2, +}; +enum { + NET_LLC2_TIMEOUT=1, +}; +enum { + NET_LLC_STATION_ACK_TIMEOUT=1, +}; +enum { + NET_LLC2_ACK_TIMEOUT=1, + NET_LLC2_P_TIMEOUT=2, + NET_LLC2_REJ_TIMEOUT=3, + NET_LLC2_BUSY_TIMEOUT=4, +}; +enum { + NET_ATALK_AARP_EXPIRY_TIME=1, + NET_ATALK_AARP_TICK_TIME=2, + NET_ATALK_AARP_RETRANSMIT_LIMIT=3, + NET_ATALK_AARP_RESOLVE_TIME=4 +}; +enum { + NET_NETROM_DEFAULT_PATH_QUALITY=1, + NET_NETROM_OBSOLESCENCE_COUNT_INITIALISER=2, + NET_NETROM_NETWORK_TTL_INITIALISER=3, + NET_NETROM_TRANSPORT_TIMEOUT=4, + NET_NETROM_TRANSPORT_MAXIMUM_TRIES=5, + NET_NETROM_TRANSPORT_ACKNOWLEDGE_DELAY=6, + NET_NETROM_TRANSPORT_BUSY_DELAY=7, + NET_NETROM_TRANSPORT_REQUESTED_WINDOW_SIZE=8, + NET_NETROM_TRANSPORT_NO_ACTIVITY_TIMEOUT=9, + NET_NETROM_ROUTING_CONTROL=10, + NET_NETROM_LINK_FAILS_COUNT=11, + NET_NETROM_RESET=12 +}; +enum { + NET_AX25_IP_DEFAULT_MODE=1, + NET_AX25_DEFAULT_MODE=2, + NET_AX25_BACKOFF_TYPE=3, + NET_AX25_CONNECT_MODE=4, + NET_AX25_STANDARD_WINDOW=5, + NET_AX25_EXTENDED_WINDOW=6, + NET_AX25_T1_TIMEOUT=7, + NET_AX25_T2_TIMEOUT=8, + NET_AX25_T3_TIMEOUT=9, + NET_AX25_IDLE_TIMEOUT=10, + NET_AX25_N2=11, + NET_AX25_PACLEN=12, + NET_AX25_PROTOCOL=13, + NET_AX25_DAMA_SLAVE_TIMEOUT=14 +}; +enum { + NET_ROSE_RESTART_REQUEST_TIMEOUT=1, + NET_ROSE_CALL_REQUEST_TIMEOUT=2, + NET_ROSE_RESET_REQUEST_TIMEOUT=3, + NET_ROSE_CLEAR_REQUEST_TIMEOUT=4, + NET_ROSE_ACK_HOLD_BACK_TIMEOUT=5, + NET_ROSE_ROUTING_CONTROL=6, + NET_ROSE_LINK_FAIL_TIMEOUT=7, + NET_ROSE_MAX_VCS=8, + NET_ROSE_WINDOW_SIZE=9, + NET_ROSE_NO_ACTIVITY_TIMEOUT=10 +}; +enum { + NET_X25_RESTART_REQUEST_TIMEOUT=1, + NET_X25_CALL_REQUEST_TIMEOUT=2, + NET_X25_RESET_REQUEST_TIMEOUT=3, + NET_X25_CLEAR_REQUEST_TIMEOUT=4, + NET_X25_ACK_HOLD_BACK_TIMEOUT=5, + NET_X25_FORWARD=6 +}; +enum +{ + NET_TR_RIF_TIMEOUT=1 +}; +enum { + NET_DECNET_NODE_TYPE = 1, + NET_DECNET_NODE_ADDRESS = 2, + NET_DECNET_NODE_NAME = 3, + NET_DECNET_DEFAULT_DEVICE = 4, + NET_DECNET_TIME_WAIT = 5, + NET_DECNET_DN_COUNT = 6, + NET_DECNET_DI_COUNT = 7, + NET_DECNET_DR_COUNT = 8, + NET_DECNET_DST_GC_INTERVAL = 9, + NET_DECNET_CONF = 10, + NET_DECNET_NO_FC_MAX_CWND = 11, + NET_DECNET_MEM = 12, + NET_DECNET_RMEM = 13, + NET_DECNET_WMEM = 14, + NET_DECNET_DEBUG_LEVEL = 255 +}; +enum { + NET_DECNET_CONF_LOOPBACK = -2, + NET_DECNET_CONF_DDCMP = -3, + NET_DECNET_CONF_PPP = -4, + NET_DECNET_CONF_X25 = -5, + NET_DECNET_CONF_GRE = -6, + NET_DECNET_CONF_ETHER = -7 + +}; +enum { + NET_DECNET_CONF_DEV_PRIORITY = 1, + NET_DECNET_CONF_DEV_T1 = 2, + NET_DECNET_CONF_DEV_T2 = 3, + NET_DECNET_CONF_DEV_T3 = 4, + NET_DECNET_CONF_DEV_FORWARDING = 5, + NET_DECNET_CONF_DEV_BLKSIZE = 6, + NET_DECNET_CONF_DEV_STATE = 7 +}; +enum { + NET_SCTP_RTO_INITIAL = 1, + NET_SCTP_RTO_MIN = 2, + NET_SCTP_RTO_MAX = 3, + NET_SCTP_RTO_ALPHA = 4, + NET_SCTP_RTO_BETA = 5, + NET_SCTP_VALID_COOKIE_LIFE = 6, + NET_SCTP_ASSOCIATION_MAX_RETRANS = 7, + NET_SCTP_PATH_MAX_RETRANS = 8, + NET_SCTP_MAX_INIT_RETRANSMITS = 9, + NET_SCTP_HB_INTERVAL = 10, + NET_SCTP_PRESERVE_ENABLE = 11, + NET_SCTP_MAX_BURST = 12, + NET_SCTP_ADDIP_ENABLE = 13, + NET_SCTP_PRSCTP_ENABLE = 14, + NET_SCTP_SNDBUF_POLICY = 15, + NET_SCTP_SACK_TIMEOUT = 16, + NET_SCTP_RCVBUF_POLICY = 17, +}; +enum { + NET_BRIDGE_NF_CALL_ARPTABLES = 1, + NET_BRIDGE_NF_CALL_IPTABLES = 2, + NET_BRIDGE_NF_CALL_IP6TABLES = 3, + NET_BRIDGE_NF_FILTER_VLAN_TAGGED = 4, + NET_BRIDGE_NF_FILTER_PPPOE_TAGGED = 5, +}; +enum +{ + FS_NRINODE=1, + FS_STATINODE=2, + FS_MAXINODE=3, + FS_NRDQUOT=4, + FS_MAXDQUOT=5, + FS_NRFILE=6, + FS_MAXFILE=7, + FS_DENTRY=8, + FS_NRSUPER=9, + FS_MAXSUPER=10, + FS_OVERFLOWUID=11, + FS_OVERFLOWGID=12, + FS_LEASES=13, + FS_DIR_NOTIFY=14, + FS_LEASE_TIME=15, + FS_DQSTATS=16, + FS_XFS=17, + FS_AIO_NR=18, + FS_AIO_MAX_NR=19, + FS_INOTIFY=20, + FS_OCFS2=988, +}; +enum { + FS_DQ_LOOKUPS = 1, + FS_DQ_DROPS = 2, + FS_DQ_READS = 3, + FS_DQ_WRITES = 4, + FS_DQ_CACHE_HITS = 5, + FS_DQ_ALLOCATED = 6, + FS_DQ_FREE = 7, + FS_DQ_SYNCS = 8, + FS_DQ_WARNINGS = 9, +}; +enum { + DEV_CDROM=1, + DEV_HWMON=2, + DEV_PARPORT=3, + DEV_RAID=4, + DEV_MAC_HID=5, + DEV_SCSI=6, + DEV_IPMI=7, +}; +enum { + DEV_CDROM_INFO=1, + DEV_CDROM_AUTOCLOSE=2, + DEV_CDROM_AUTOEJECT=3, + DEV_CDROM_DEBUG=4, + DEV_CDROM_LOCK=5, + DEV_CDROM_CHECK_MEDIA=6 +}; +enum { + DEV_PARPORT_DEFAULT=-3 +}; +enum { + DEV_RAID_SPEED_LIMIT_MIN=1, + DEV_RAID_SPEED_LIMIT_MAX=2 +}; +enum { + DEV_PARPORT_DEFAULT_TIMESLICE=1, + DEV_PARPORT_DEFAULT_SPINTIME=2 +}; +enum { + DEV_PARPORT_SPINTIME=1, + DEV_PARPORT_BASE_ADDR=2, + DEV_PARPORT_IRQ=3, + DEV_PARPORT_DMA=4, + DEV_PARPORT_MODES=5, + DEV_PARPORT_DEVICES=6, + DEV_PARPORT_AUTOPROBE=16 +}; +enum { + DEV_PARPORT_DEVICES_ACTIVE=-3, +}; +enum { + DEV_PARPORT_DEVICE_TIMESLICE=1, +}; +enum { + DEV_MAC_HID_KEYBOARD_SENDS_LINUX_KEYCODES=1, + DEV_MAC_HID_KEYBOARD_LOCK_KEYCODES=2, + DEV_MAC_HID_MOUSE_BUTTON_EMULATION=3, + DEV_MAC_HID_MOUSE_BUTTON2_KEYCODE=4, + DEV_MAC_HID_MOUSE_BUTTON3_KEYCODE=5, + DEV_MAC_HID_ADB_MOUSE_SENDS_KEYCODES=6 +}; +enum { + DEV_SCSI_LOGGING_LEVEL=1, +}; +enum { + DEV_IPMI_POWEROFF_POWERCYCLE=1, +}; +enum +{ + ABI_DEFHANDLER_COFF=1, + ABI_DEFHANDLER_ELF=2, + ABI_DEFHANDLER_LCALL7=3, + ABI_DEFHANDLER_LIBCSO=4, + ABI_TRACE=5, + ABI_FAKE_UTSNAME=6, +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/sysinfo.h b/linux-5.10/prebuilts/usr/include/linux/sysinfo.h new file mode 100644 index 0000000..36a5122 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/sysinfo.h @@ -0,0 +1,26 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _LINUX_SYSINFO_H +#define _LINUX_SYSINFO_H +#include +#define SI_LOAD_SHIFT 16 +struct sysinfo { + __kernel_long_t uptime; + __kernel_ulong_t loads[3]; + __kernel_ulong_t totalram; + __kernel_ulong_t freeram; + __kernel_ulong_t sharedram; + __kernel_ulong_t bufferram; + __kernel_ulong_t totalswap; + __kernel_ulong_t freeswap; + __u16 procs; + __u16 pad; + __kernel_ulong_t totalhigh; + __kernel_ulong_t freehigh; + __u32 mem_unit; + char _f[20-2*sizeof(__kernel_ulong_t)-sizeof(__u32)]; +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/target_core_user.h b/linux-5.10/prebuilts/usr/include/linux/target_core_user.h new file mode 100644 index 0000000..5f392e6 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/target_core_user.h @@ -0,0 +1,125 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef __TARGET_CORE_USER_H +#define __TARGET_CORE_USER_H +#include +#include +#define TCMU_VERSION "2.0" +#define TCMU_MAILBOX_VERSION 2 +#define ALIGN_SIZE 64 +#define TCMU_MAILBOX_FLAG_CAP_OOOC (1 << 0) +#define TCMU_MAILBOX_FLAG_CAP_READ_LEN (1 << 1) +#define TCMU_MAILBOX_FLAG_CAP_TMR (1 << 2) +struct tcmu_mailbox { + __u16 version; + __u16 flags; + __u32 cmdr_off; + __u32 cmdr_size; + __u32 cmd_head; + + __u32 cmd_tail __attribute__((__aligned__(ALIGN_SIZE))); +} __packed; +enum tcmu_opcode { + TCMU_OP_PAD = 0, + TCMU_OP_CMD, + TCMU_OP_TMR, +}; +struct tcmu_cmd_entry_hdr { + __u32 len_op; + __u16 cmd_id; + __u8 kflags; +#define TCMU_UFLAG_UNKNOWN_OP 0x1 +#define TCMU_UFLAG_READ_LEN 0x2 + __u8 uflags; +} __packed; +#define TCMU_OP_MASK 0x7 +static inline enum tcmu_opcode tcmu_hdr_get_op(__u32 len_op) +{ + return len_op & TCMU_OP_MASK; +} +static inline void tcmu_hdr_set_op(__u32 *len_op, enum tcmu_opcode op) +{ + *len_op &= ~TCMU_OP_MASK; + *len_op |= (op & TCMU_OP_MASK); +} +static inline __u32 tcmu_hdr_get_len(__u32 len_op) +{ + return len_op & ~TCMU_OP_MASK; +} +static inline void tcmu_hdr_set_len(__u32 *len_op, __u32 len) +{ + *len_op &= TCMU_OP_MASK; + *len_op |= len; +} +#define TCMU_SENSE_BUFFERSIZE 96 +struct tcmu_cmd_entry { + struct tcmu_cmd_entry_hdr hdr; + union { + struct { + __u32 iov_cnt; + __u32 iov_bidi_cnt; + __u32 iov_dif_cnt; + __u64 cdb_off; + __u64 __pad1; + __u64 __pad2; + struct iovec iov[0]; + } req; + struct { + __u8 scsi_status; + __u8 __pad1; + __u16 __pad2; + __u32 read_len; + char sense_buffer[TCMU_SENSE_BUFFERSIZE]; + } rsp; + }; +} __packed; +struct tcmu_tmr_entry { + struct tcmu_cmd_entry_hdr hdr; +#define TCMU_TMR_UNKNOWN 0 +#define TCMU_TMR_ABORT_TASK 1 +#define TCMU_TMR_ABORT_TASK_SET 2 +#define TCMU_TMR_CLEAR_ACA 3 +#define TCMU_TMR_CLEAR_TASK_SET 4 +#define TCMU_TMR_LUN_RESET 5 +#define TCMU_TMR_TARGET_WARM_RESET 6 +#define TCMU_TMR_TARGET_COLD_RESET 7 +#define TCMU_TMR_LUN_RESET_PRO 128 + __u8 tmr_type; + __u8 __pad1; + __u16 __pad2; + __u32 cmd_cnt; + __u64 __pad3; + __u64 __pad4; + __u16 cmd_ids[0]; +} __packed; +#define TCMU_OP_ALIGN_SIZE sizeof(__u64) +enum tcmu_genl_cmd { + TCMU_CMD_UNSPEC, + TCMU_CMD_ADDED_DEVICE, + TCMU_CMD_REMOVED_DEVICE, + TCMU_CMD_RECONFIG_DEVICE, + TCMU_CMD_ADDED_DEVICE_DONE, + TCMU_CMD_REMOVED_DEVICE_DONE, + TCMU_CMD_RECONFIG_DEVICE_DONE, + TCMU_CMD_SET_FEATURES, + __TCMU_CMD_MAX, +}; +#define TCMU_CMD_MAX (__TCMU_CMD_MAX - 1) +enum tcmu_genl_attr { + TCMU_ATTR_UNSPEC, + TCMU_ATTR_DEVICE, + TCMU_ATTR_MINOR, + TCMU_ATTR_PAD, + TCMU_ATTR_DEV_CFG, + TCMU_ATTR_DEV_SIZE, + TCMU_ATTR_WRITECACHE, + TCMU_ATTR_CMD_STATUS, + TCMU_ATTR_DEVICE_ID, + TCMU_ATTR_SUPP_KERN_CMD_REPLY, + __TCMU_ATTR_MAX, +}; +#define TCMU_ATTR_MAX (__TCMU_ATTR_MAX - 1) +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/taskstats.h b/linux-5.10/prebuilts/usr/include/linux/taskstats.h new file mode 100644 index 0000000..4e74896 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/taskstats.h @@ -0,0 +1,117 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _LINUX_TASKSTATS_H +#define _LINUX_TASKSTATS_H +#include +#define TASKSTATS_VERSION 10 +#define TS_COMM_LEN 32 +struct taskstats { + + __u16 version; + __u32 ac_exitcode; + + __u8 ac_flag; + __u8 ac_nice; + + + __u64 cpu_count __attribute__((aligned(8))); + __u64 cpu_delay_total; + + + __u64 blkio_count; + __u64 blkio_delay_total; + + __u64 swapin_count; + __u64 swapin_delay_total; + + __u64 cpu_run_real_total; + + __u64 cpu_run_virtual_total; + + + + char ac_comm[TS_COMM_LEN]; + __u8 ac_sched __attribute__((aligned(8))); + + __u8 ac_pad[3]; + __u32 ac_uid __attribute__((aligned(8))); + + __u32 ac_gid; + __u32 ac_pid; + __u32 ac_ppid; + + __u32 ac_btime; + __u64 ac_etime __attribute__((aligned(8))); + + __u64 ac_utime; + __u64 ac_stime; + __u64 ac_minflt; + __u64 ac_majflt; + + + + __u64 coremem; + + __u64 virtmem; + + __u64 hiwater_rss; + __u64 hiwater_vm; + + __u64 read_char; + __u64 write_char; + __u64 read_syscalls; + __u64 write_syscalls; + +#define TASKSTATS_HAS_IO_ACCOUNTING + + __u64 read_bytes; + __u64 write_bytes; + __u64 cancelled_write_bytes; + __u64 nvcsw; + __u64 nivcsw; + + __u64 ac_utimescaled; + __u64 ac_stimescaled; + __u64 cpu_scaled_run_real_total; + + __u64 freepages_count; + __u64 freepages_delay_total; + + __u64 thrashing_count; + __u64 thrashing_delay_total; + + __u64 ac_btime64; +}; +enum { + TASKSTATS_CMD_UNSPEC = 0, + TASKSTATS_CMD_GET, + TASKSTATS_CMD_NEW, + __TASKSTATS_CMD_MAX, +}; +#define TASKSTATS_CMD_MAX (__TASKSTATS_CMD_MAX - 1) +enum { + TASKSTATS_TYPE_UNSPEC = 0, + TASKSTATS_TYPE_PID, + TASKSTATS_TYPE_TGID, + TASKSTATS_TYPE_STATS, + TASKSTATS_TYPE_AGGR_PID, + TASKSTATS_TYPE_AGGR_TGID, + TASKSTATS_TYPE_NULL, + __TASKSTATS_TYPE_MAX, +}; +#define TASKSTATS_TYPE_MAX (__TASKSTATS_TYPE_MAX - 1) +enum { + TASKSTATS_CMD_ATTR_UNSPEC = 0, + TASKSTATS_CMD_ATTR_PID, + TASKSTATS_CMD_ATTR_TGID, + TASKSTATS_CMD_ATTR_REGISTER_CPUMASK, + TASKSTATS_CMD_ATTR_DEREGISTER_CPUMASK, + __TASKSTATS_CMD_ATTR_MAX, +}; +#define TASKSTATS_CMD_ATTR_MAX (__TASKSTATS_CMD_ATTR_MAX - 1) +#define TASKSTATS_GENL_NAME "TASKSTATS" +#define TASKSTATS_GENL_VERSION 0x1 +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/tc_act/tc_bpf.h b/linux-5.10/prebuilts/usr/include/linux/tc_act/tc_bpf.h new file mode 100644 index 0000000..3716fab --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/tc_act/tc_bpf.h @@ -0,0 +1,26 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef __LINUX_TC_BPF_H +#define __LINUX_TC_BPF_H +#include +struct tc_act_bpf { + tc_gen; +}; +enum { + TCA_ACT_BPF_UNSPEC, + TCA_ACT_BPF_TM, + TCA_ACT_BPF_PARMS, + TCA_ACT_BPF_OPS_LEN, + TCA_ACT_BPF_OPS, + TCA_ACT_BPF_FD, + TCA_ACT_BPF_NAME, + TCA_ACT_BPF_PAD, + TCA_ACT_BPF_TAG, + TCA_ACT_BPF_ID, + __TCA_ACT_BPF_MAX, +}; +#define TCA_ACT_BPF_MAX (__TCA_ACT_BPF_MAX - 1) +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/tc_act/tc_connmark.h b/linux-5.10/prebuilts/usr/include/linux/tc_act/tc_connmark.h new file mode 100644 index 0000000..ac5cc12 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/tc_act/tc_connmark.h @@ -0,0 +1,22 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef __UAPI_TC_CONNMARK_H +#define __UAPI_TC_CONNMARK_H +#include +#include +struct tc_connmark { + tc_gen; + __u16 zone; +}; +enum { + TCA_CONNMARK_UNSPEC, + TCA_CONNMARK_PARMS, + TCA_CONNMARK_TM, + TCA_CONNMARK_PAD, + __TCA_CONNMARK_MAX +}; +#define TCA_CONNMARK_MAX (__TCA_CONNMARK_MAX - 1) +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/tc_act/tc_csum.h b/linux-5.10/prebuilts/usr/include/linux/tc_act/tc_csum.h new file mode 100644 index 0000000..6eb8645 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/tc_act/tc_csum.h @@ -0,0 +1,31 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef __LINUX_TC_CSUM_H +#define __LINUX_TC_CSUM_H +#include +#include +enum { + TCA_CSUM_UNSPEC, + TCA_CSUM_PARMS, + TCA_CSUM_TM, + TCA_CSUM_PAD, + __TCA_CSUM_MAX +}; +#define TCA_CSUM_MAX (__TCA_CSUM_MAX - 1) +enum { + TCA_CSUM_UPDATE_FLAG_IPV4HDR = 1, + TCA_CSUM_UPDATE_FLAG_ICMP = 2, + TCA_CSUM_UPDATE_FLAG_IGMP = 4, + TCA_CSUM_UPDATE_FLAG_TCP = 8, + TCA_CSUM_UPDATE_FLAG_UDP = 16, + TCA_CSUM_UPDATE_FLAG_UDPLITE = 32, + TCA_CSUM_UPDATE_FLAG_SCTP = 64, +}; +struct tc_csum { + tc_gen; + __u32 update_flags; +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/tc_act/tc_ct.h b/linux-5.10/prebuilts/usr/include/linux/tc_act/tc_ct.h new file mode 100644 index 0000000..a83e564 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/tc_act/tc_ct.h @@ -0,0 +1,39 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef __UAPI_TC_CT_H +#define __UAPI_TC_CT_H +#include +#include +enum { + TCA_CT_UNSPEC, + TCA_CT_PARMS, + TCA_CT_TM, + TCA_CT_ACTION, + TCA_CT_ZONE, + TCA_CT_MARK, + TCA_CT_MARK_MASK, + TCA_CT_LABELS, + TCA_CT_LABELS_MASK, + TCA_CT_NAT_IPV4_MIN, + TCA_CT_NAT_IPV4_MAX, + TCA_CT_NAT_IPV6_MIN, + TCA_CT_NAT_IPV6_MAX, + TCA_CT_NAT_PORT_MIN, + TCA_CT_NAT_PORT_MAX, + TCA_CT_PAD, + __TCA_CT_MAX +}; +#define TCA_CT_MAX (__TCA_CT_MAX - 1) +#define TCA_CT_ACT_COMMIT (1 << 0) +#define TCA_CT_ACT_FORCE (1 << 1) +#define TCA_CT_ACT_CLEAR (1 << 2) +#define TCA_CT_ACT_NAT (1 << 3) +#define TCA_CT_ACT_NAT_SRC (1 << 4) +#define TCA_CT_ACT_NAT_DST (1 << 5) +struct tc_ct { + tc_gen; +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/tc_act/tc_ctinfo.h b/linux-5.10/prebuilts/usr/include/linux/tc_act/tc_ctinfo.h new file mode 100644 index 0000000..fe26981 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/tc_act/tc_ctinfo.h @@ -0,0 +1,28 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef __UAPI_TC_CTINFO_H +#define __UAPI_TC_CTINFO_H +#include +#include +struct tc_ctinfo { + tc_gen; +}; +enum { + TCA_CTINFO_UNSPEC, + TCA_CTINFO_PAD, + TCA_CTINFO_TM, + TCA_CTINFO_ACT, + TCA_CTINFO_ZONE, + TCA_CTINFO_PARMS_DSCP_MASK, + TCA_CTINFO_PARMS_DSCP_STATEMASK, + TCA_CTINFO_PARMS_CPMARK_MASK, + TCA_CTINFO_STATS_DSCP_SET, + TCA_CTINFO_STATS_DSCP_ERROR, + TCA_CTINFO_STATS_CPMARK_SET, + __TCA_CTINFO_MAX +}; +#define TCA_CTINFO_MAX (__TCA_CTINFO_MAX - 1) +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/tc_act/tc_defact.h b/linux-5.10/prebuilts/usr/include/linux/tc_act/tc_defact.h new file mode 100644 index 0000000..5a29588 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/tc_act/tc_defact.h @@ -0,0 +1,21 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef __LINUX_TC_DEF_H +#define __LINUX_TC_DEF_H +#include +struct tc_defact { + tc_gen; +}; +enum { + TCA_DEF_UNSPEC, + TCA_DEF_TM, + TCA_DEF_PARMS, + TCA_DEF_DATA, + TCA_DEF_PAD, + __TCA_DEF_MAX +}; +#define TCA_DEF_MAX (__TCA_DEF_MAX - 1) +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/tc_act/tc_gact.h b/linux-5.10/prebuilts/usr/include/linux/tc_act/tc_gact.h new file mode 100644 index 0000000..c87030c --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/tc_act/tc_gact.h @@ -0,0 +1,33 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef __LINUX_TC_GACT_H +#define __LINUX_TC_GACT_H +#include +#include +struct tc_gact { + tc_gen; +}; +struct tc_gact_p { +#define PGACT_NONE 0 +#define PGACT_NETRAND 1 +#define PGACT_DETERM 2 +#define MAX_RAND (PGACT_DETERM + 1 ) + __u16 ptype; + __u16 pval; + int paction; +}; + +enum { + TCA_GACT_UNSPEC, + TCA_GACT_TM, + TCA_GACT_PARMS, + TCA_GACT_PROB, + TCA_GACT_PAD, + __TCA_GACT_MAX +}; +#define TCA_GACT_MAX (__TCA_GACT_MAX - 1) + +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/tc_act/tc_gate.h b/linux-5.10/prebuilts/usr/include/linux/tc_act/tc_gate.h new file mode 100644 index 0000000..01b185b --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/tc_act/tc_gate.h @@ -0,0 +1,43 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef __LINUX_TC_GATE_H +#define __LINUX_TC_GATE_H +#include +struct tc_gate { + tc_gen; +}; +enum { + TCA_GATE_ENTRY_UNSPEC, + TCA_GATE_ENTRY_INDEX, + TCA_GATE_ENTRY_GATE, + TCA_GATE_ENTRY_INTERVAL, + TCA_GATE_ENTRY_IPV, + TCA_GATE_ENTRY_MAX_OCTETS, + __TCA_GATE_ENTRY_MAX, +}; +#define TCA_GATE_ENTRY_MAX (__TCA_GATE_ENTRY_MAX - 1) +enum { + TCA_GATE_ONE_ENTRY_UNSPEC, + TCA_GATE_ONE_ENTRY, + __TCA_GATE_ONE_ENTRY_MAX, +}; +#define TCA_GATE_ONE_ENTRY_MAX (__TCA_GATE_ONE_ENTRY_MAX - 1) +enum { + TCA_GATE_UNSPEC, + TCA_GATE_TM, + TCA_GATE_PARMS, + TCA_GATE_PAD, + TCA_GATE_PRIORITY, + TCA_GATE_ENTRY_LIST, + TCA_GATE_BASE_TIME, + TCA_GATE_CYCLE_TIME, + TCA_GATE_CYCLE_TIME_EXT, + TCA_GATE_FLAGS, + TCA_GATE_CLOCKID, + __TCA_GATE_MAX, +}; +#define TCA_GATE_MAX (__TCA_GATE_MAX - 1) +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/tc_act/tc_ife.h b/linux-5.10/prebuilts/usr/include/linux/tc_act/tc_ife.h new file mode 100644 index 0000000..782b213 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/tc_act/tc_ife.h @@ -0,0 +1,29 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef __UAPI_TC_IFE_H +#define __UAPI_TC_IFE_H +#include +#include +#include +#define IFE_ENCODE 1 +#define IFE_DECODE 0 +struct tc_ife { + tc_gen; + __u16 flags; +}; +enum { + TCA_IFE_UNSPEC, + TCA_IFE_PARMS, + TCA_IFE_TM, + TCA_IFE_DMAC, + TCA_IFE_SMAC, + TCA_IFE_TYPE, + TCA_IFE_METALST, + TCA_IFE_PAD, + __TCA_IFE_MAX +}; +#define TCA_IFE_MAX (__TCA_IFE_MAX - 1) +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/tc_act/tc_ipt.h b/linux-5.10/prebuilts/usr/include/linux/tc_act/tc_ipt.h new file mode 100644 index 0000000..75985bc --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/tc_act/tc_ipt.h @@ -0,0 +1,22 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef __LINUX_TC_IPT_H +#define __LINUX_TC_IPT_H +#include +enum { + TCA_IPT_UNSPEC, + TCA_IPT_TABLE, + TCA_IPT_HOOK, + TCA_IPT_INDEX, + TCA_IPT_CNT, + TCA_IPT_TM, + TCA_IPT_TARG, + TCA_IPT_PAD, + __TCA_IPT_MAX +}; +#define TCA_IPT_MAX (__TCA_IPT_MAX - 1) + +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/tc_act/tc_mirred.h b/linux-5.10/prebuilts/usr/include/linux/tc_act/tc_mirred.h new file mode 100644 index 0000000..21e1387 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/tc_act/tc_mirred.h @@ -0,0 +1,27 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef __LINUX_TC_MIR_H +#define __LINUX_TC_MIR_H +#include +#include +#define TCA_EGRESS_REDIR 1 +#define TCA_EGRESS_MIRROR 2 +#define TCA_INGRESS_REDIR 3 +#define TCA_INGRESS_MIRROR 4 +struct tc_mirred { + tc_gen; + int eaction; + __u32 ifindex; +}; +enum { + TCA_MIRRED_UNSPEC, + TCA_MIRRED_TM, + TCA_MIRRED_PARMS, + TCA_MIRRED_PAD, + __TCA_MIRRED_MAX +}; +#define TCA_MIRRED_MAX (__TCA_MIRRED_MAX - 1) +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/tc_act/tc_mpls.h b/linux-5.10/prebuilts/usr/include/linux/tc_act/tc_mpls.h new file mode 100644 index 0000000..0424568 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/tc_act/tc_mpls.h @@ -0,0 +1,31 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef __LINUX_TC_MPLS_H +#define __LINUX_TC_MPLS_H +#include +#define TCA_MPLS_ACT_POP 1 +#define TCA_MPLS_ACT_PUSH 2 +#define TCA_MPLS_ACT_MODIFY 3 +#define TCA_MPLS_ACT_DEC_TTL 4 +#define TCA_MPLS_ACT_MAC_PUSH 5 +struct tc_mpls { + tc_gen; + int m_action; +}; +enum { + TCA_MPLS_UNSPEC, + TCA_MPLS_TM, + TCA_MPLS_PARMS, + TCA_MPLS_PAD, + TCA_MPLS_PROTO, + TCA_MPLS_LABEL, + TCA_MPLS_TC, + TCA_MPLS_TTL, + TCA_MPLS_BOS, + __TCA_MPLS_MAX, +}; +#define TCA_MPLS_MAX (__TCA_MPLS_MAX - 1) +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/tc_act/tc_nat.h b/linux-5.10/prebuilts/usr/include/linux/tc_act/tc_nat.h new file mode 100644 index 0000000..8831432 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/tc_act/tc_nat.h @@ -0,0 +1,26 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef __LINUX_TC_NAT_H +#define __LINUX_TC_NAT_H +#include +#include +enum { + TCA_NAT_UNSPEC, + TCA_NAT_PARMS, + TCA_NAT_TM, + TCA_NAT_PAD, + __TCA_NAT_MAX +}; +#define TCA_NAT_MAX (__TCA_NAT_MAX - 1) +#define TCA_NAT_FLAG_EGRESS 1 +struct tc_nat { + tc_gen; + __be32 old_addr; + __be32 new_addr; + __be32 mask; + __u32 flags; +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/tc_act/tc_pedit.h b/linux-5.10/prebuilts/usr/include/linux/tc_act/tc_pedit.h new file mode 100644 index 0000000..d67ac6a --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/tc_act/tc_pedit.h @@ -0,0 +1,59 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef __LINUX_TC_PED_H +#define __LINUX_TC_PED_H +#include +#include +enum { + TCA_PEDIT_UNSPEC, + TCA_PEDIT_TM, + TCA_PEDIT_PARMS, + TCA_PEDIT_PAD, + TCA_PEDIT_PARMS_EX, + TCA_PEDIT_KEYS_EX, + TCA_PEDIT_KEY_EX, + __TCA_PEDIT_MAX +}; +#define TCA_PEDIT_MAX (__TCA_PEDIT_MAX - 1) +enum { + TCA_PEDIT_KEY_EX_HTYPE = 1, + TCA_PEDIT_KEY_EX_CMD = 2, + __TCA_PEDIT_KEY_EX_MAX +}; +#define TCA_PEDIT_KEY_EX_MAX (__TCA_PEDIT_KEY_EX_MAX - 1) + +enum pedit_header_type { + TCA_PEDIT_KEY_EX_HDR_TYPE_NETWORK = 0, + TCA_PEDIT_KEY_EX_HDR_TYPE_ETH = 1, + TCA_PEDIT_KEY_EX_HDR_TYPE_IP4 = 2, + TCA_PEDIT_KEY_EX_HDR_TYPE_IP6 = 3, + TCA_PEDIT_KEY_EX_HDR_TYPE_TCP = 4, + TCA_PEDIT_KEY_EX_HDR_TYPE_UDP = 5, + __PEDIT_HDR_TYPE_MAX, +}; +#define TCA_PEDIT_HDR_TYPE_MAX (__PEDIT_HDR_TYPE_MAX - 1) +enum pedit_cmd { + TCA_PEDIT_KEY_EX_CMD_SET = 0, + TCA_PEDIT_KEY_EX_CMD_ADD = 1, + __PEDIT_CMD_MAX, +}; +#define TCA_PEDIT_CMD_MAX (__PEDIT_CMD_MAX - 1) +struct tc_pedit_key { + __u32 mask; + __u32 val; + __u32 off; + __u32 at; + __u32 offmask; + __u32 shift; +}; +struct tc_pedit_sel { + tc_gen; + unsigned char nkeys; + unsigned char flags; + struct tc_pedit_key keys[0]; +}; +#define tc_pedit tc_pedit_sel +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/tc_act/tc_sample.h b/linux-5.10/prebuilts/usr/include/linux/tc_act/tc_sample.h new file mode 100644 index 0000000..458539d --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/tc_act/tc_sample.h @@ -0,0 +1,25 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef __LINUX_TC_SAMPLE_H +#define __LINUX_TC_SAMPLE_H +#include +#include +#include +struct tc_sample { + tc_gen; +}; +enum { + TCA_SAMPLE_UNSPEC, + TCA_SAMPLE_TM, + TCA_SAMPLE_PARMS, + TCA_SAMPLE_RATE, + TCA_SAMPLE_TRUNC_SIZE, + TCA_SAMPLE_PSAMPLE_GROUP, + TCA_SAMPLE_PAD, + __TCA_SAMPLE_MAX +}; +#define TCA_SAMPLE_MAX (__TCA_SAMPLE_MAX - 1) +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/tc_act/tc_skbedit.h b/linux-5.10/prebuilts/usr/include/linux/tc_act/tc_skbedit.h new file mode 100644 index 0000000..4be37fc --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/tc_act/tc_skbedit.h @@ -0,0 +1,32 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef __LINUX_TC_SKBEDIT_H +#define __LINUX_TC_SKBEDIT_H +#include +#define SKBEDIT_F_PRIORITY 0x1 +#define SKBEDIT_F_QUEUE_MAPPING 0x2 +#define SKBEDIT_F_MARK 0x4 +#define SKBEDIT_F_PTYPE 0x8 +#define SKBEDIT_F_MASK 0x10 +#define SKBEDIT_F_INHERITDSFIELD 0x20 +struct tc_skbedit { + tc_gen; +}; +enum { + TCA_SKBEDIT_UNSPEC, + TCA_SKBEDIT_TM, + TCA_SKBEDIT_PARMS, + TCA_SKBEDIT_PRIORITY, + TCA_SKBEDIT_QUEUE_MAPPING, + TCA_SKBEDIT_MARK, + TCA_SKBEDIT_PAD, + TCA_SKBEDIT_PTYPE, + TCA_SKBEDIT_MASK, + TCA_SKBEDIT_FLAGS, + __TCA_SKBEDIT_MAX +}; +#define TCA_SKBEDIT_MAX (__TCA_SKBEDIT_MAX - 1) +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/tc_act/tc_skbmod.h b/linux-5.10/prebuilts/usr/include/linux/tc_act/tc_skbmod.h new file mode 100644 index 0000000..b13fb56 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/tc_act/tc_skbmod.h @@ -0,0 +1,28 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef __LINUX_TC_SKBMOD_H +#define __LINUX_TC_SKBMOD_H +#include +#define SKBMOD_F_DMAC 0x1 +#define SKBMOD_F_SMAC 0x2 +#define SKBMOD_F_ETYPE 0x4 +#define SKBMOD_F_SWAPMAC 0x8 +struct tc_skbmod { + tc_gen; + __u64 flags; +}; +enum { + TCA_SKBMOD_UNSPEC, + TCA_SKBMOD_TM, + TCA_SKBMOD_PARMS, + TCA_SKBMOD_DMAC, + TCA_SKBMOD_SMAC, + TCA_SKBMOD_ETYPE, + TCA_SKBMOD_PAD, + __TCA_SKBMOD_MAX +}; +#define TCA_SKBMOD_MAX (__TCA_SKBMOD_MAX - 1) +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/tc_act/tc_tunnel_key.h b/linux-5.10/prebuilts/usr/include/linux/tc_act/tc_tunnel_key.h new file mode 100644 index 0000000..225af24 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/tc_act/tc_tunnel_key.h @@ -0,0 +1,67 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef __LINUX_TC_TUNNEL_KEY_H +#define __LINUX_TC_TUNNEL_KEY_H +#include +#define TCA_TUNNEL_KEY_ACT_SET 1 +#define TCA_TUNNEL_KEY_ACT_RELEASE 2 +struct tc_tunnel_key { + tc_gen; + int t_action; +}; +enum { + TCA_TUNNEL_KEY_UNSPEC, + TCA_TUNNEL_KEY_TM, + TCA_TUNNEL_KEY_PARMS, + TCA_TUNNEL_KEY_ENC_IPV4_SRC, + TCA_TUNNEL_KEY_ENC_IPV4_DST, + TCA_TUNNEL_KEY_ENC_IPV6_SRC, + TCA_TUNNEL_KEY_ENC_IPV6_DST, + TCA_TUNNEL_KEY_ENC_KEY_ID, + TCA_TUNNEL_KEY_PAD, + TCA_TUNNEL_KEY_ENC_DST_PORT, + TCA_TUNNEL_KEY_NO_CSUM, + TCA_TUNNEL_KEY_ENC_OPTS, + TCA_TUNNEL_KEY_ENC_TOS, + TCA_TUNNEL_KEY_ENC_TTL, + __TCA_TUNNEL_KEY_MAX, +}; +#define TCA_TUNNEL_KEY_MAX (__TCA_TUNNEL_KEY_MAX - 1) +enum { + TCA_TUNNEL_KEY_ENC_OPTS_UNSPEC, + TCA_TUNNEL_KEY_ENC_OPTS_GENEVE, + TCA_TUNNEL_KEY_ENC_OPTS_VXLAN, + TCA_TUNNEL_KEY_ENC_OPTS_ERSPAN, + __TCA_TUNNEL_KEY_ENC_OPTS_MAX, +}; +#define TCA_TUNNEL_KEY_ENC_OPTS_MAX (__TCA_TUNNEL_KEY_ENC_OPTS_MAX - 1) +enum { + TCA_TUNNEL_KEY_ENC_OPT_GENEVE_UNSPEC, + TCA_TUNNEL_KEY_ENC_OPT_GENEVE_CLASS, + TCA_TUNNEL_KEY_ENC_OPT_GENEVE_TYPE, + TCA_TUNNEL_KEY_ENC_OPT_GENEVE_DATA, + __TCA_TUNNEL_KEY_ENC_OPT_GENEVE_MAX, +}; +#define TCA_TUNNEL_KEY_ENC_OPT_GENEVE_MAX \ + (__TCA_TUNNEL_KEY_ENC_OPT_GENEVE_MAX - 1) +enum { + TCA_TUNNEL_KEY_ENC_OPT_VXLAN_UNSPEC, + TCA_TUNNEL_KEY_ENC_OPT_VXLAN_GBP, + __TCA_TUNNEL_KEY_ENC_OPT_VXLAN_MAX, +}; +#define TCA_TUNNEL_KEY_ENC_OPT_VXLAN_MAX \ + (__TCA_TUNNEL_KEY_ENC_OPT_VXLAN_MAX - 1) +enum { + TCA_TUNNEL_KEY_ENC_OPT_ERSPAN_UNSPEC, + TCA_TUNNEL_KEY_ENC_OPT_ERSPAN_VER, + TCA_TUNNEL_KEY_ENC_OPT_ERSPAN_INDEX, + TCA_TUNNEL_KEY_ENC_OPT_ERSPAN_DIR, + TCA_TUNNEL_KEY_ENC_OPT_ERSPAN_HWID, + __TCA_TUNNEL_KEY_ENC_OPT_ERSPAN_MAX, +}; +#define TCA_TUNNEL_KEY_ENC_OPT_ERSPAN_MAX \ + (__TCA_TUNNEL_KEY_ENC_OPT_ERSPAN_MAX - 1) +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/tc_act/tc_vlan.h b/linux-5.10/prebuilts/usr/include/linux/tc_act/tc_vlan.h new file mode 100644 index 0000000..4353b9e --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/tc_act/tc_vlan.h @@ -0,0 +1,31 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef __LINUX_TC_VLAN_H +#define __LINUX_TC_VLAN_H +#include +#define TCA_VLAN_ACT_POP 1 +#define TCA_VLAN_ACT_PUSH 2 +#define TCA_VLAN_ACT_MODIFY 3 +#define TCA_VLAN_ACT_POP_ETH 4 +#define TCA_VLAN_ACT_PUSH_ETH 5 +struct tc_vlan { + tc_gen; + int v_action; +}; +enum { + TCA_VLAN_UNSPEC, + TCA_VLAN_TM, + TCA_VLAN_PARMS, + TCA_VLAN_PUSH_VLAN_ID, + TCA_VLAN_PUSH_VLAN_PROTOCOL, + TCA_VLAN_PAD, + TCA_VLAN_PUSH_VLAN_PRIORITY, + TCA_VLAN_PUSH_ETH_DST, + TCA_VLAN_PUSH_ETH_SRC, + __TCA_VLAN_MAX, +}; +#define TCA_VLAN_MAX (__TCA_VLAN_MAX - 1) +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/tc_ematch/tc_em_cmp.h b/linux-5.10/prebuilts/usr/include/linux/tc_ematch/tc_em_cmp.h new file mode 100644 index 0000000..503c10c --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/tc_ematch/tc_em_cmp.h @@ -0,0 +1,25 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef __LINUX_TC_EM_CMP_H +#define __LINUX_TC_EM_CMP_H +#include +#include +struct tcf_em_cmp { + __u32 val; + __u32 mask; + __u16 off; + __u8 align:4; + __u8 flags:4; + __u8 layer:4; + __u8 opnd:4; +}; +enum { + TCF_EM_ALIGN_U8 = 1, + TCF_EM_ALIGN_U16 = 2, + TCF_EM_ALIGN_U32 = 4 +}; +#define TCF_EM_CMP_TRANS 1 +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/tc_ematch/tc_em_ipt.h b/linux-5.10/prebuilts/usr/include/linux/tc_ematch/tc_em_ipt.h new file mode 100644 index 0000000..52a97b9 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/tc_ematch/tc_em_ipt.h @@ -0,0 +1,20 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef __LINUX_TC_EM_IPT_H +#define __LINUX_TC_EM_IPT_H +#include +#include +enum { + TCA_EM_IPT_UNSPEC, + TCA_EM_IPT_HOOK, + TCA_EM_IPT_MATCH_NAME, + TCA_EM_IPT_MATCH_REVISION, + TCA_EM_IPT_NFPROTO, + TCA_EM_IPT_MATCH_DATA, + __TCA_EM_IPT_MAX +}; +#define TCA_EM_IPT_MAX (__TCA_EM_IPT_MAX - 1) +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/tc_ematch/tc_em_meta.h b/linux-5.10/prebuilts/usr/include/linux/tc_ematch/tc_em_meta.h new file mode 100644 index 0000000..8b18ff4 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/tc_ematch/tc_em_meta.h @@ -0,0 +1,89 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef __LINUX_TC_EM_META_H +#define __LINUX_TC_EM_META_H +#include +#include +enum { + TCA_EM_META_UNSPEC, + TCA_EM_META_HDR, + TCA_EM_META_LVALUE, + TCA_EM_META_RVALUE, + __TCA_EM_META_MAX +}; +#define TCA_EM_META_MAX (__TCA_EM_META_MAX - 1) +struct tcf_meta_val { + __u16 kind; + __u8 shift; + __u8 op; +}; +#define TCF_META_TYPE_MASK (0xf << 12) +#define TCF_META_TYPE(kind) (((kind) & TCF_META_TYPE_MASK) >> 12) +#define TCF_META_ID_MASK 0x7ff +#define TCF_META_ID(kind) ((kind) & TCF_META_ID_MASK) +enum { + TCF_META_TYPE_VAR, + TCF_META_TYPE_INT, + __TCF_META_TYPE_MAX +}; +#define TCF_META_TYPE_MAX (__TCF_META_TYPE_MAX - 1) +enum { + TCF_META_ID_VALUE, + TCF_META_ID_RANDOM, + TCF_META_ID_LOADAVG_0, + TCF_META_ID_LOADAVG_1, + TCF_META_ID_LOADAVG_2, + TCF_META_ID_DEV, + TCF_META_ID_PRIORITY, + TCF_META_ID_PROTOCOL, + TCF_META_ID_PKTTYPE, + TCF_META_ID_PKTLEN, + TCF_META_ID_DATALEN, + TCF_META_ID_MACLEN, + TCF_META_ID_NFMARK, + TCF_META_ID_TCINDEX, + TCF_META_ID_RTCLASSID, + TCF_META_ID_RTIIF, + TCF_META_ID_SK_FAMILY, + TCF_META_ID_SK_STATE, + TCF_META_ID_SK_REUSE, + TCF_META_ID_SK_BOUND_IF, + TCF_META_ID_SK_REFCNT, + TCF_META_ID_SK_SHUTDOWN, + TCF_META_ID_SK_PROTO, + TCF_META_ID_SK_TYPE, + TCF_META_ID_SK_RCVBUF, + TCF_META_ID_SK_RMEM_ALLOC, + TCF_META_ID_SK_WMEM_ALLOC, + TCF_META_ID_SK_OMEM_ALLOC, + TCF_META_ID_SK_WMEM_QUEUED, + TCF_META_ID_SK_RCV_QLEN, + TCF_META_ID_SK_SND_QLEN, + TCF_META_ID_SK_ERR_QLEN, + TCF_META_ID_SK_FORWARD_ALLOCS, + TCF_META_ID_SK_SNDBUF, + TCF_META_ID_SK_ALLOCS, + __TCF_META_ID_SK_ROUTE_CAPS, + TCF_META_ID_SK_HASH, + TCF_META_ID_SK_LINGERTIME, + TCF_META_ID_SK_ACK_BACKLOG, + TCF_META_ID_SK_MAX_ACK_BACKLOG, + TCF_META_ID_SK_PRIO, + TCF_META_ID_SK_RCVLOWAT, + TCF_META_ID_SK_RCVTIMEO, + TCF_META_ID_SK_SNDTIMEO, + TCF_META_ID_SK_SENDMSG_OFF, + TCF_META_ID_SK_WRITE_PENDING, + TCF_META_ID_VLAN_TAG, + TCF_META_ID_RXHASH, + __TCF_META_ID_MAX +}; +#define TCF_META_ID_MAX (__TCF_META_ID_MAX - 1) +struct tcf_meta_hdr { + struct tcf_meta_val left; + struct tcf_meta_val right; +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/tc_ematch/tc_em_nbyte.h b/linux-5.10/prebuilts/usr/include/linux/tc_ematch/tc_em_nbyte.h new file mode 100644 index 0000000..7bdc8a6 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/tc_ematch/tc_em_nbyte.h @@ -0,0 +1,15 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef __LINUX_TC_EM_NBYTE_H +#define __LINUX_TC_EM_NBYTE_H +#include +#include +struct tcf_em_nbyte { + __u16 off; + __u16 len:12; + __u8 layer:4; +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/tc_ematch/tc_em_text.h b/linux-5.10/prebuilts/usr/include/linux/tc_ematch/tc_em_text.h new file mode 100644 index 0000000..27dd8ae --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/tc_ematch/tc_em_text.h @@ -0,0 +1,20 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef __LINUX_TC_EM_TEXT_H +#define __LINUX_TC_EM_TEXT_H +#include +#include +#define TC_EM_TEXT_ALGOSIZ 16 +struct tcf_em_text { + char algo[TC_EM_TEXT_ALGOSIZ]; + __u16 from_offset; + __u16 to_offset; + __u16 pattern_len; + __u8 from_layer:4; + __u8 to_layer:4; + __u8 pad; +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/tcp.h b/linux-5.10/prebuilts/usr/include/linux/tcp.h new file mode 100644 index 0000000..4fc65e3 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/tcp.h @@ -0,0 +1,261 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI_LINUX_TCP_H +#define _UAPI_LINUX_TCP_H +#include +#include +#include +struct tcphdr { + __be16 source; + __be16 dest; + __be32 seq; + __be32 ack_seq; +#if defined(__LITTLE_ENDIAN_BITFIELD) + __u16 res1:4, + doff:4, + fin:1, + syn:1, + rst:1, + psh:1, + ack:1, + urg:1, + ece:1, + cwr:1; +#elif defined(__BIG_ENDIAN_BITFIELD) + __u16 doff:4, + res1:4, + cwr:1, + ece:1, + urg:1, + ack:1, + psh:1, + rst:1, + syn:1, + fin:1; +#else +#error "Adjust your defines" +#endif + __be16 window; + __sum16 check; + __be16 urg_ptr; +}; +union tcp_word_hdr { + struct tcphdr hdr; + __be32 words[5]; +}; +#define tcp_flag_word(tp) ( ((union tcp_word_hdr *)(tp))->words [3]) +enum { + TCP_FLAG_CWR = __constant_cpu_to_be32(0x00800000), + TCP_FLAG_ECE = __constant_cpu_to_be32(0x00400000), + TCP_FLAG_URG = __constant_cpu_to_be32(0x00200000), + TCP_FLAG_ACK = __constant_cpu_to_be32(0x00100000), + TCP_FLAG_PSH = __constant_cpu_to_be32(0x00080000), + TCP_FLAG_RST = __constant_cpu_to_be32(0x00040000), + TCP_FLAG_SYN = __constant_cpu_to_be32(0x00020000), + TCP_FLAG_FIN = __constant_cpu_to_be32(0x00010000), + TCP_RESERVED_BITS = __constant_cpu_to_be32(0x0F000000), + TCP_DATA_OFFSET = __constant_cpu_to_be32(0xF0000000) +}; +#define TCP_MSS_DEFAULT 536U +#define TCP_MSS_DESIRED 1220U +#define TCP_NODELAY 1 +#define TCP_MAXSEG 2 +#define TCP_CORK 3 +#define TCP_KEEPIDLE 4 +#define TCP_KEEPINTVL 5 +#define TCP_KEEPCNT 6 +#define TCP_SYNCNT 7 +#define TCP_LINGER2 8 +#define TCP_DEFER_ACCEPT 9 +#define TCP_WINDOW_CLAMP 10 +#define TCP_INFO 11 +#define TCP_QUICKACK 12 +#define TCP_CONGESTION 13 +#define TCP_MD5SIG 14 +#define TCP_THIN_LINEAR_TIMEOUTS 16 +#define TCP_THIN_DUPACK 17 +#define TCP_USER_TIMEOUT 18 +#define TCP_REPAIR 19 +#define TCP_REPAIR_QUEUE 20 +#define TCP_QUEUE_SEQ 21 +#define TCP_REPAIR_OPTIONS 22 +#define TCP_FASTOPEN 23 +#define TCP_TIMESTAMP 24 +#define TCP_NOTSENT_LOWAT 25 +#define TCP_CC_INFO 26 +#define TCP_SAVE_SYN 27 +#define TCP_SAVED_SYN 28 +#define TCP_REPAIR_WINDOW 29 +#define TCP_FASTOPEN_CONNECT 30 +#define TCP_ULP 31 +#define TCP_MD5SIG_EXT 32 +#define TCP_FASTOPEN_KEY 33 +#define TCP_FASTOPEN_NO_COOKIE 34 +#define TCP_ZEROCOPY_RECEIVE 35 +#define TCP_INQ 36 +#define TCP_CM_INQ TCP_INQ +#define TCP_TX_DELAY 37 +#define TCP_REPAIR_ON 1 +#define TCP_REPAIR_OFF 0 +#define TCP_REPAIR_OFF_NO_WP -1 +struct tcp_repair_opt { + __u32 opt_code; + __u32 opt_val; +}; +struct tcp_repair_window { + __u32 snd_wl1; + __u32 snd_wnd; + __u32 max_window; + __u32 rcv_wnd; + __u32 rcv_wup; +}; +enum { + TCP_NO_QUEUE, + TCP_RECV_QUEUE, + TCP_SEND_QUEUE, + TCP_QUEUES_NR, +}; +enum tcp_fastopen_client_fail { + TFO_STATUS_UNSPEC, + TFO_COOKIE_UNAVAILABLE, + TFO_DATA_NOT_ACKED, + TFO_SYN_RETRANSMITTED, +}; +#define TCPI_OPT_TIMESTAMPS 1 +#define TCPI_OPT_SACK 2 +#define TCPI_OPT_WSCALE 4 +#define TCPI_OPT_ECN 8 +#define TCPI_OPT_ECN_SEEN 16 +#define TCPI_OPT_SYN_DATA 32 +enum tcp_ca_state { + + TCP_CA_Open = 0, +#define TCPF_CA_Open (1< +#define TCP_METRICS_GENL_NAME "tcp_metrics" +#define TCP_METRICS_GENL_VERSION 0x1 +enum tcp_metric_index { + TCP_METRIC_RTT, + TCP_METRIC_RTTVAR, + TCP_METRIC_SSTHRESH, + TCP_METRIC_CWND, + TCP_METRIC_REORDERING, + TCP_METRIC_RTT_US, + TCP_METRIC_RTTVAR_US, + + __TCP_METRIC_MAX, +}; +#define TCP_METRIC_MAX (__TCP_METRIC_MAX - 1) +enum { + TCP_METRICS_ATTR_UNSPEC, + TCP_METRICS_ATTR_ADDR_IPV4, + TCP_METRICS_ATTR_ADDR_IPV6, + TCP_METRICS_ATTR_AGE, + TCP_METRICS_ATTR_TW_TSVAL, + TCP_METRICS_ATTR_TW_TS_STAMP, + TCP_METRICS_ATTR_VALS, + TCP_METRICS_ATTR_FOPEN_MSS, + TCP_METRICS_ATTR_FOPEN_SYN_DROPS, + TCP_METRICS_ATTR_FOPEN_SYN_DROP_TS, + TCP_METRICS_ATTR_FOPEN_COOKIE, + TCP_METRICS_ATTR_SADDR_IPV4, + TCP_METRICS_ATTR_SADDR_IPV6, + TCP_METRICS_ATTR_PAD, + __TCP_METRICS_ATTR_MAX, +}; +#define TCP_METRICS_ATTR_MAX (__TCP_METRICS_ATTR_MAX - 1) +enum { + TCP_METRICS_CMD_UNSPEC, + TCP_METRICS_CMD_GET, + TCP_METRICS_CMD_DEL, + __TCP_METRICS_CMD_MAX, +}; +#define TCP_METRICS_CMD_MAX (__TCP_METRICS_CMD_MAX - 1) +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/tee.h b/linux-5.10/prebuilts/usr/include/linux/tee.h new file mode 100644 index 0000000..c592534 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/tee.h @@ -0,0 +1,129 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef __TEE_H +#define __TEE_H +#include +#include +#define TEE_IOC_MAGIC 0xa4 +#define TEE_IOC_BASE 0 +#define TEE_IOCTL_SHM_MAPPED 0x1 +#define TEE_IOCTL_SHM_DMA_BUF 0x2 +#define TEE_MAX_ARG_SIZE 1024 +#define TEE_GEN_CAP_GP (1 << 0) +#define TEE_GEN_CAP_PRIVILEGED (1 << 1) +#define TEE_GEN_CAP_REG_MEM (1 << 2) +#define TEE_GEN_CAP_MEMREF_NULL (1 << 3) +#define TEE_MEMREF_NULL (__u64)(-1) +#define TEE_IMPL_ID_OPTEE 1 +#define TEE_IMPL_ID_AMDTEE 2 +#define TEE_OPTEE_CAP_TZ (1 << 0) +struct tee_ioctl_version_data { + __u32 impl_id; + __u32 impl_caps; + __u32 gen_caps; +}; +#define TEE_IOC_VERSION _IOR(TEE_IOC_MAGIC, TEE_IOC_BASE + 0, \ + struct tee_ioctl_version_data) +struct tee_ioctl_shm_alloc_data { + __u64 size; + __u32 flags; + __s32 id; +}; +#define TEE_IOC_SHM_ALLOC _IOWR(TEE_IOC_MAGIC, TEE_IOC_BASE + 1, \ + struct tee_ioctl_shm_alloc_data) +struct tee_ioctl_buf_data { + __u64 buf_ptr; + __u64 buf_len; +}; +#define TEE_IOCTL_PARAM_ATTR_TYPE_NONE 0 +#define TEE_IOCTL_PARAM_ATTR_TYPE_VALUE_INPUT 1 +#define TEE_IOCTL_PARAM_ATTR_TYPE_VALUE_OUTPUT 2 +#define TEE_IOCTL_PARAM_ATTR_TYPE_VALUE_INOUT 3 +#define TEE_IOCTL_PARAM_ATTR_TYPE_MEMREF_INPUT 5 +#define TEE_IOCTL_PARAM_ATTR_TYPE_MEMREF_OUTPUT 6 +#define TEE_IOCTL_PARAM_ATTR_TYPE_MEMREF_INOUT 7 +#define TEE_IOCTL_PARAM_ATTR_TYPE_MASK 0xff +#define TEE_IOCTL_PARAM_ATTR_META 0x100 +#define TEE_IOCTL_PARAM_ATTR_MASK \ + (TEE_IOCTL_PARAM_ATTR_TYPE_MASK | TEE_IOCTL_PARAM_ATTR_META) +#define TEE_IOCTL_LOGIN_PUBLIC 0 +#define TEE_IOCTL_LOGIN_USER 1 +#define TEE_IOCTL_LOGIN_GROUP 2 +#define TEE_IOCTL_LOGIN_APPLICATION 4 +#define TEE_IOCTL_LOGIN_USER_APPLICATION 5 +#define TEE_IOCTL_LOGIN_GROUP_APPLICATION 6 +#define TEE_IOCTL_LOGIN_REE_KERNEL_MIN 0x80000000 +#define TEE_IOCTL_LOGIN_REE_KERNEL_MAX 0xBFFFFFFF +#define TEE_IOCTL_LOGIN_REE_KERNEL 0x80000000 +struct tee_ioctl_param { + __u64 attr; + __u64 a; + __u64 b; + __u64 c; +}; +#define TEE_IOCTL_UUID_LEN 16 +struct tee_ioctl_open_session_arg { + __u8 uuid[TEE_IOCTL_UUID_LEN]; + __u8 clnt_uuid[TEE_IOCTL_UUID_LEN]; + __u32 clnt_login; + __u32 cancel_id; + __u32 session; + __u32 ret; + __u32 ret_origin; + __u32 num_params; + + struct tee_ioctl_param params[]; +}; +#define TEE_IOC_OPEN_SESSION _IOR(TEE_IOC_MAGIC, TEE_IOC_BASE + 2, \ + struct tee_ioctl_buf_data) +struct tee_ioctl_invoke_arg { + __u32 func; + __u32 session; + __u32 cancel_id; + __u32 ret; + __u32 ret_origin; + __u32 num_params; + + struct tee_ioctl_param params[]; +}; +#define TEE_IOC_INVOKE _IOR(TEE_IOC_MAGIC, TEE_IOC_BASE + 3, \ + struct tee_ioctl_buf_data) +struct tee_ioctl_cancel_arg { + __u32 cancel_id; + __u32 session; +}; +#define TEE_IOC_CANCEL _IOR(TEE_IOC_MAGIC, TEE_IOC_BASE + 4, \ + struct tee_ioctl_cancel_arg) +struct tee_ioctl_close_session_arg { + __u32 session; +}; +#define TEE_IOC_CLOSE_SESSION _IOR(TEE_IOC_MAGIC, TEE_IOC_BASE + 5, \ + struct tee_ioctl_close_session_arg) +struct tee_iocl_supp_recv_arg { + __u32 func; + __u32 num_params; + + struct tee_ioctl_param params[]; +}; +#define TEE_IOC_SUPPL_RECV _IOR(TEE_IOC_MAGIC, TEE_IOC_BASE + 6, \ + struct tee_ioctl_buf_data) +struct tee_iocl_supp_send_arg { + __u32 ret; + __u32 num_params; + + struct tee_ioctl_param params[]; +}; +#define TEE_IOC_SUPPL_SEND _IOR(TEE_IOC_MAGIC, TEE_IOC_BASE + 7, \ + struct tee_ioctl_buf_data) +struct tee_ioctl_shm_register_data { + __u64 addr; + __u64 length; + __u32 flags; + __s32 id; +}; +#define TEE_IOC_SHM_REGISTER _IOWR(TEE_IOC_MAGIC, TEE_IOC_BASE + 9, \ + struct tee_ioctl_shm_register_data) +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/termios.h b/linux-5.10/prebuilts/usr/include/linux/termios.h new file mode 100644 index 0000000..892fac4 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/termios.h @@ -0,0 +1,22 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _LINUX_TERMIOS_H +#define _LINUX_TERMIOS_H +#include +#include +#define NFF 5 +struct termiox +{ + __u16 x_hflag; + __u16 x_cflag; + __u16 x_rflag[NFF]; + __u16 x_sflag; +}; +#define RTSXOFF 0x0001 +#define CTSXON 0x0002 +#define DTRXOFF 0x0004 +#define DSRXON 0x0008 +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/thermal.h b/linux-5.10/prebuilts/usr/include/linux/thermal.h new file mode 100644 index 0000000..940f125 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/thermal.h @@ -0,0 +1,81 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI_LINUX_THERMAL_H +#define _UAPI_LINUX_THERMAL_H +#define THERMAL_NAME_LENGTH 20 +enum thermal_device_mode { + THERMAL_DEVICE_DISABLED = 0, + THERMAL_DEVICE_ENABLED, +}; +enum thermal_trip_type { + THERMAL_TRIP_ACTIVE = 0, + THERMAL_TRIP_PASSIVE, + THERMAL_TRIP_HOT, + THERMAL_TRIP_CRITICAL, +}; +#define THERMAL_GENL_FAMILY_NAME "thermal" +#define THERMAL_GENL_VERSION 0x01 +#define THERMAL_GENL_SAMPLING_GROUP_NAME "sampling" +#define THERMAL_GENL_EVENT_GROUP_NAME "event" +enum thermal_genl_attr { + THERMAL_GENL_ATTR_UNSPEC, + THERMAL_GENL_ATTR_TZ, + THERMAL_GENL_ATTR_TZ_ID, + THERMAL_GENL_ATTR_TZ_TEMP, + THERMAL_GENL_ATTR_TZ_TRIP, + THERMAL_GENL_ATTR_TZ_TRIP_ID, + THERMAL_GENL_ATTR_TZ_TRIP_TYPE, + THERMAL_GENL_ATTR_TZ_TRIP_TEMP, + THERMAL_GENL_ATTR_TZ_TRIP_HYST, + THERMAL_GENL_ATTR_TZ_MODE, + THERMAL_GENL_ATTR_TZ_NAME, + THERMAL_GENL_ATTR_TZ_CDEV_WEIGHT, + THERMAL_GENL_ATTR_TZ_GOV, + THERMAL_GENL_ATTR_TZ_GOV_NAME, + THERMAL_GENL_ATTR_CDEV, + THERMAL_GENL_ATTR_CDEV_ID, + THERMAL_GENL_ATTR_CDEV_CUR_STATE, + THERMAL_GENL_ATTR_CDEV_MAX_STATE, + THERMAL_GENL_ATTR_CDEV_NAME, + THERMAL_GENL_ATTR_GOV_NAME, + __THERMAL_GENL_ATTR_MAX, +}; +#define THERMAL_GENL_ATTR_MAX (__THERMAL_GENL_ATTR_MAX - 1) +enum thermal_genl_sampling { + THERMAL_GENL_SAMPLING_TEMP, + __THERMAL_GENL_SAMPLING_MAX, +}; +#define THERMAL_GENL_SAMPLING_MAX (__THERMAL_GENL_SAMPLING_MAX - 1) +enum thermal_genl_event { + THERMAL_GENL_EVENT_UNSPEC, + THERMAL_GENL_EVENT_TZ_CREATE, + THERMAL_GENL_EVENT_TZ_DELETE, + THERMAL_GENL_EVENT_TZ_DISABLE, + THERMAL_GENL_EVENT_TZ_ENABLE, + THERMAL_GENL_EVENT_TZ_TRIP_UP, + THERMAL_GENL_EVENT_TZ_TRIP_DOWN, + THERMAL_GENL_EVENT_TZ_TRIP_CHANGE, + THERMAL_GENL_EVENT_TZ_TRIP_ADD, + THERMAL_GENL_EVENT_TZ_TRIP_DELETE, + THERMAL_GENL_EVENT_CDEV_ADD, + THERMAL_GENL_EVENT_CDEV_DELETE, + THERMAL_GENL_EVENT_CDEV_STATE_UPDATE, + THERMAL_GENL_EVENT_TZ_GOV_CHANGE, + __THERMAL_GENL_EVENT_MAX, +}; +#define THERMAL_GENL_EVENT_MAX (__THERMAL_GENL_EVENT_MAX - 1) +enum thermal_genl_cmd { + THERMAL_GENL_CMD_UNSPEC, + THERMAL_GENL_CMD_TZ_GET_ID, + THERMAL_GENL_CMD_TZ_GET_TRIP, + THERMAL_GENL_CMD_TZ_GET_TEMP, + THERMAL_GENL_CMD_TZ_GET_GOV, + THERMAL_GENL_CMD_TZ_GET_MODE, + THERMAL_GENL_CMD_CDEV_GET, + __THERMAL_GENL_CMD_MAX, +}; +#define THERMAL_GENL_CMD_MAX (__THERMAL_GENL_CMD_MAX - 1) +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/time.h b/linux-5.10/prebuilts/usr/include/linux/time.h new file mode 100644 index 0000000..21bf4fb --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/time.h @@ -0,0 +1,54 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI_LINUX_TIME_H +#define _UAPI_LINUX_TIME_H +#include +#include +#ifndef __KERNEL__ +#ifndef _STRUCT_TIMESPEC +#define _STRUCT_TIMESPEC +struct timespec { + __kernel_old_time_t tv_sec; + long tv_nsec; +}; +#endif +struct timeval { + __kernel_old_time_t tv_sec; + __kernel_suseconds_t tv_usec; +}; +struct itimerspec { + struct timespec it_interval; + struct timespec it_value; +}; +struct itimerval { + struct timeval it_interval; + struct timeval it_value; +}; +#endif +struct timezone { + int tz_minuteswest; + int tz_dsttime; +}; +#define ITIMER_REAL 0 +#define ITIMER_VIRTUAL 1 +#define ITIMER_PROF 2 +#define CLOCK_REALTIME 0 +#define CLOCK_MONOTONIC 1 +#define CLOCK_PROCESS_CPUTIME_ID 2 +#define CLOCK_THREAD_CPUTIME_ID 3 +#define CLOCK_MONOTONIC_RAW 4 +#define CLOCK_REALTIME_COARSE 5 +#define CLOCK_MONOTONIC_COARSE 6 +#define CLOCK_BOOTTIME 7 +#define CLOCK_REALTIME_ALARM 8 +#define CLOCK_BOOTTIME_ALARM 9 +#define CLOCK_SGI_CYCLE 10 +#define CLOCK_TAI 11 +#define MAX_CLOCKS 16 +#define CLOCKS_MASK (CLOCK_REALTIME | CLOCK_MONOTONIC) +#define CLOCKS_MONO CLOCK_MONOTONIC +#define TIMER_ABSTIME 0x01 +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/time_types.h b/linux-5.10/prebuilts/usr/include/linux/time_types.h new file mode 100644 index 0000000..393fc88 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/time_types.h @@ -0,0 +1,35 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI_LINUX_TIME_TYPES_H +#define _UAPI_LINUX_TIME_TYPES_H +#include +struct __kernel_timespec { + __kernel_time64_t tv_sec; + long long tv_nsec; +}; +struct __kernel_itimerspec { + struct __kernel_timespec it_interval; + struct __kernel_timespec it_value; +}; +#ifndef __kernel_old_timeval +struct __kernel_old_timeval { + __kernel_long_t tv_sec; + __kernel_long_t tv_usec; +}; +#endif +struct __kernel_old_timespec { + __kernel_old_time_t tv_sec; + long tv_nsec; +}; +struct __kernel_old_itimerval { + struct __kernel_old_timeval it_interval; + struct __kernel_old_timeval it_value; +}; +struct __kernel_sock_timeval { + __s64 tv_sec; + __s64 tv_usec; +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/timerfd.h b/linux-5.10/prebuilts/usr/include/linux/timerfd.h new file mode 100644 index 0000000..8bc9151 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/timerfd.h @@ -0,0 +1,16 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI_LINUX_TIMERFD_H +#define _UAPI_LINUX_TIMERFD_H +#include +#include +#include +#define TFD_TIMER_ABSTIME (1 << 0) +#define TFD_TIMER_CANCEL_ON_SET (1 << 1) +#define TFD_CLOEXEC O_CLOEXEC +#define TFD_NONBLOCK O_NONBLOCK +#define TFD_IOC_SET_TICKS _IOW('T', 0, __u64) +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/times.h b/linux-5.10/prebuilts/usr/include/linux/times.h new file mode 100644 index 0000000..47089a2 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/times.h @@ -0,0 +1,15 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _LINUX_TIMES_H +#define _LINUX_TIMES_H +#include +struct tms { + __kernel_clock_t tms_utime; + __kernel_clock_t tms_stime; + __kernel_clock_t tms_cutime; + __kernel_clock_t tms_cstime; +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/timex.h b/linux-5.10/prebuilts/usr/include/linux/timex.h new file mode 100644 index 0000000..a97af1b --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/timex.h @@ -0,0 +1,118 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI_LINUX_TIMEX_H +#define _UAPI_LINUX_TIMEX_H +#include +#define NTP_API 4 +#ifndef __KERNEL__ +struct timex { + unsigned int modes; + __kernel_long_t offset; + __kernel_long_t freq; + __kernel_long_t maxerror; + __kernel_long_t esterror; + int status; + __kernel_long_t constant; + __kernel_long_t precision; + __kernel_long_t tolerance; + struct timeval time; + __kernel_long_t tick; + __kernel_long_t ppsfreq; + __kernel_long_t jitter; + int shift; + __kernel_long_t stabil; + __kernel_long_t jitcnt; + __kernel_long_t calcnt; + __kernel_long_t errcnt; + __kernel_long_t stbcnt; + int tai; + int :32; int :32; int :32; int :32; + int :32; int :32; int :32; int :32; + int :32; int :32; int :32; +}; +#endif +struct __kernel_timex_timeval { + __kernel_time64_t tv_sec; + long long tv_usec; +}; +struct __kernel_timex { + unsigned int modes; + int :32; + long long offset; + long long freq; + long long maxerror; + long long esterror; + int status; + int :32; + long long constant; + long long precision; + long long tolerance; + struct __kernel_timex_timeval time; + long long tick; + long long ppsfreq; + long long jitter; + int shift; + int :32; + long long stabil; + long long jitcnt; + long long calcnt; + long long errcnt; + long long stbcnt; + int tai; + int :32; int :32; int :32; int :32; + int :32; int :32; int :32; int :32; + int :32; int :32; int :32; +}; +#define ADJ_OFFSET 0x0001 +#define ADJ_FREQUENCY 0x0002 +#define ADJ_MAXERROR 0x0004 +#define ADJ_ESTERROR 0x0008 +#define ADJ_STATUS 0x0010 +#define ADJ_TIMECONST 0x0020 +#define ADJ_TAI 0x0080 +#define ADJ_SETOFFSET 0x0100 +#define ADJ_MICRO 0x1000 +#define ADJ_NANO 0x2000 +#define ADJ_TICK 0x4000 +#ifndef __KERNEL__ +#define ADJ_OFFSET_SINGLESHOT 0x8001 +#define ADJ_OFFSET_SS_READ 0xa001 +#endif +#define MOD_OFFSET ADJ_OFFSET +#define MOD_FREQUENCY ADJ_FREQUENCY +#define MOD_MAXERROR ADJ_MAXERROR +#define MOD_ESTERROR ADJ_ESTERROR +#define MOD_STATUS ADJ_STATUS +#define MOD_TIMECONST ADJ_TIMECONST +#define MOD_TAI ADJ_TAI +#define MOD_MICRO ADJ_MICRO +#define MOD_NANO ADJ_NANO +#define STA_PLL 0x0001 +#define STA_PPSFREQ 0x0002 +#define STA_PPSTIME 0x0004 +#define STA_FLL 0x0008 +#define STA_INS 0x0010 +#define STA_DEL 0x0020 +#define STA_UNSYNC 0x0040 +#define STA_FREQHOLD 0x0080 +#define STA_PPSSIGNAL 0x0100 +#define STA_PPSJITTER 0x0200 +#define STA_PPSWANDER 0x0400 +#define STA_PPSERROR 0x0800 +#define STA_CLOCKERR 0x1000 +#define STA_NANO 0x2000 +#define STA_MODE 0x4000 +#define STA_CLK 0x8000 +#define STA_RONLY (STA_PPSSIGNAL | STA_PPSJITTER | STA_PPSWANDER | \ + STA_PPSERROR | STA_CLOCKERR | STA_NANO | STA_MODE | STA_CLK) +#define TIME_OK 0 +#define TIME_INS 1 +#define TIME_DEL 2 +#define TIME_OOP 3 +#define TIME_WAIT 4 +#define TIME_ERROR 5 +#define TIME_BAD TIME_ERROR +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/tiocl.h b/linux-5.10/prebuilts/usr/include/linux/tiocl.h new file mode 100644 index 0000000..28cd956 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/tiocl.h @@ -0,0 +1,37 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _LINUX_TIOCL_H +#define _LINUX_TIOCL_H +#define TIOCL_SETSEL 2 +#define TIOCL_SELCHAR 0 +#define TIOCL_SELWORD 1 +#define TIOCL_SELLINE 2 +#define TIOCL_SELPOINTER 3 +#define TIOCL_SELCLEAR 4 +#define TIOCL_SELMOUSEREPORT 16 +#define TIOCL_SELBUTTONMASK 15 +struct tiocl_selection { + unsigned short xs; + unsigned short ys; + unsigned short xe; + unsigned short ye; + unsigned short sel_mode; +}; +#define TIOCL_PASTESEL 3 +#define TIOCL_UNBLANKSCREEN 4 +#define TIOCL_SELLOADLUT 5 + + +#define TIOCL_GETSHIFTSTATE 6 +#define TIOCL_GETMOUSEREPORTING 7 +#define TIOCL_SETVESABLANK 10 +#define TIOCL_SETKMSGREDIRECT 11 +#define TIOCL_GETFGCONSOLE 12 +#define TIOCL_SCROLLCONSOLE 13 +#define TIOCL_BLANKSCREEN 14 +#define TIOCL_BLANKEDSCREEN 15 +#define TIOCL_GETKMSGREDIRECT 17 +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/tipc.h b/linux-5.10/prebuilts/usr/include/linux/tipc.h new file mode 100644 index 0000000..90245d9 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/tipc.h @@ -0,0 +1,183 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _LINUX_TIPC_H_ +#define _LINUX_TIPC_H_ +#include +#include +struct tipc_socket_addr { + __u32 ref; + __u32 node; +}; +struct tipc_service_addr { + __u32 type; + __u32 instance; +}; +struct tipc_service_range { + __u32 type; + __u32 lower; + __u32 upper; +}; +#define TIPC_NODE_STATE 0 +#define TIPC_TOP_SRV 1 +#define TIPC_LINK_STATE 2 +#define TIPC_RESERVED_TYPES 64 +enum tipc_scope { + TIPC_CLUSTER_SCOPE = 2, + TIPC_NODE_SCOPE = 3 +}; +#define TIPC_MAX_USER_MSG_SIZE 66000U +#define TIPC_LOW_IMPORTANCE 0 +#define TIPC_MEDIUM_IMPORTANCE 1 +#define TIPC_HIGH_IMPORTANCE 2 +#define TIPC_CRITICAL_IMPORTANCE 3 +#define TIPC_OK 0 +#define TIPC_ERR_NO_NAME 1 +#define TIPC_ERR_NO_PORT 2 +#define TIPC_ERR_NO_NODE 3 +#define TIPC_ERR_OVERLOAD 4 +#define TIPC_CONN_SHUTDOWN 5 +#define TIPC_SUB_PORTS 0x01 +#define TIPC_SUB_SERVICE 0x02 +#define TIPC_SUB_CANCEL 0x04 +#define TIPC_WAIT_FOREVER (~0) +struct tipc_subscr { + struct tipc_service_range seq; + __u32 timeout; + __u32 filter; + char usr_handle[8]; +}; +#define TIPC_PUBLISHED 1 +#define TIPC_WITHDRAWN 2 +#define TIPC_SUBSCR_TIMEOUT 3 +struct tipc_event { + __u32 event; + __u32 found_lower; + __u32 found_upper; + struct tipc_socket_addr port; + struct tipc_subscr s; +}; +#ifndef AF_TIPC +#define AF_TIPC 30 +#endif +#ifndef PF_TIPC +#define PF_TIPC AF_TIPC +#endif +#ifndef SOL_TIPC +#define SOL_TIPC 271 +#endif +#define TIPC_ADDR_MCAST 1 +#define TIPC_SERVICE_RANGE 1 +#define TIPC_SERVICE_ADDR 2 +#define TIPC_SOCKET_ADDR 3 +struct sockaddr_tipc { + unsigned short family; + unsigned char addrtype; + signed char scope; + union { + struct tipc_socket_addr id; + struct tipc_service_range nameseq; + struct { + struct tipc_service_addr name; + __u32 domain; + } name; + } addr; +}; +#define TIPC_ERRINFO 1 +#define TIPC_RETDATA 2 +#define TIPC_DESTNAME 3 +#define TIPC_IMPORTANCE 127 +#define TIPC_SRC_DROPPABLE 128 +#define TIPC_DEST_DROPPABLE 129 +#define TIPC_CONN_TIMEOUT 130 +#define TIPC_NODE_RECVQ_DEPTH 131 +#define TIPC_SOCK_RECVQ_DEPTH 132 +#define TIPC_MCAST_BROADCAST 133 +#define TIPC_MCAST_REPLICAST 134 +#define TIPC_GROUP_JOIN 135 +#define TIPC_GROUP_LEAVE 136 +#define TIPC_SOCK_RECVQ_USED 137 +#define TIPC_NODELAY 138 +#define TIPC_GROUP_LOOPBACK 0x1 +#define TIPC_GROUP_MEMBER_EVTS 0x2 +struct tipc_group_req { + __u32 type; + __u32 instance; + __u32 scope; + __u32 flags; +}; +#define TIPC_NODEID_LEN 16 +#define TIPC_MAX_MEDIA_NAME 16 +#define TIPC_MAX_IF_NAME 16 +#define TIPC_MAX_BEARER_NAME 32 +#define TIPC_MAX_LINK_NAME 68 +#define SIOCGETLINKNAME SIOCPROTOPRIVATE +#define SIOCGETNODEID (SIOCPROTOPRIVATE + 1) +struct tipc_sioc_ln_req { + __u32 peer; + __u32 bearer_id; + char linkname[TIPC_MAX_LINK_NAME]; +}; +struct tipc_sioc_nodeid_req { + __u32 peer; + char node_id[TIPC_NODEID_LEN]; +}; +#define TIPC_AEAD_ALG_NAME (32) +struct tipc_aead_key { + char alg_name[TIPC_AEAD_ALG_NAME]; + unsigned int keylen; + char key[]; +}; +#define TIPC_AEAD_KEYLEN_MIN (16 + 4) +#define TIPC_AEAD_KEYLEN_MAX (32 + 4) +#define TIPC_AEAD_KEY_SIZE_MAX (sizeof(struct tipc_aead_key) + \ + TIPC_AEAD_KEYLEN_MAX) +static inline int tipc_aead_key_size(struct tipc_aead_key *key) +{ + return sizeof(*key) + key->keylen; +} +#define TIPC_REKEYING_NOW (~0U) +#define TIPC_CFG_SRV 0 +#define TIPC_ZONE_SCOPE 1 +#define TIPC_ADDR_NAMESEQ 1 +#define TIPC_ADDR_NAME 2 +#define TIPC_ADDR_ID 3 +#define TIPC_NODE_BITS 12 +#define TIPC_CLUSTER_BITS 12 +#define TIPC_ZONE_BITS 8 +#define TIPC_NODE_OFFSET 0 +#define TIPC_CLUSTER_OFFSET TIPC_NODE_BITS +#define TIPC_ZONE_OFFSET (TIPC_CLUSTER_OFFSET + TIPC_CLUSTER_BITS) +#define TIPC_NODE_SIZE ((1UL << TIPC_NODE_BITS) - 1) +#define TIPC_CLUSTER_SIZE ((1UL << TIPC_CLUSTER_BITS) - 1) +#define TIPC_ZONE_SIZE ((1UL << TIPC_ZONE_BITS) - 1) +#define TIPC_NODE_MASK (TIPC_NODE_SIZE << TIPC_NODE_OFFSET) +#define TIPC_CLUSTER_MASK (TIPC_CLUSTER_SIZE << TIPC_CLUSTER_OFFSET) +#define TIPC_ZONE_MASK (TIPC_ZONE_SIZE << TIPC_ZONE_OFFSET) +#define TIPC_ZONE_CLUSTER_MASK (TIPC_ZONE_MASK | TIPC_CLUSTER_MASK) +#define tipc_portid tipc_socket_addr +#define tipc_name tipc_service_addr +#define tipc_name_seq tipc_service_range +static inline __u32 tipc_addr(unsigned int zone, + unsigned int cluster, + unsigned int node) +{ + return (zone << TIPC_ZONE_OFFSET) | + (cluster << TIPC_CLUSTER_OFFSET) | + node; +} +static inline unsigned int tipc_zone(__u32 addr) +{ + return addr >> TIPC_ZONE_OFFSET; +} +static inline unsigned int tipc_cluster(__u32 addr) +{ + return (addr & TIPC_CLUSTER_MASK) >> TIPC_CLUSTER_OFFSET; +} +static inline unsigned int tipc_node(__u32 addr) +{ + return addr & TIPC_NODE_MASK; +} +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/tipc_config.h b/linux-5.10/prebuilts/usr/include/linux/tipc_config.h new file mode 100644 index 0000000..3c3ed3c --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/tipc_config.h @@ -0,0 +1,229 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _LINUX_TIPC_CONFIG_H_ +#define _LINUX_TIPC_CONFIG_H_ +#include +#include +#include +#include +#ifndef __KERNEL__ +#include +#endif +#define TIPC_CMD_NOOP 0x0000 +#define TIPC_CMD_GET_NODES 0x0001 +#define TIPC_CMD_GET_MEDIA_NAMES 0x0002 +#define TIPC_CMD_GET_BEARER_NAMES 0x0003 +#define TIPC_CMD_GET_LINKS 0x0004 +#define TIPC_CMD_SHOW_NAME_TABLE 0x0005 +#define TIPC_CMD_SHOW_PORTS 0x0006 +#define TIPC_CMD_SHOW_LINK_STATS 0x000B +#define TIPC_CMD_SHOW_STATS 0x000F +#define TIPC_CMD_GET_REMOTE_MNG 0x4003 +#define TIPC_CMD_GET_MAX_PORTS 0x4004 +#define TIPC_CMD_GET_MAX_PUBL 0x4005 +#define TIPC_CMD_GET_MAX_SUBSCR 0x4006 +#define TIPC_CMD_GET_MAX_ZONES 0x4007 +#define TIPC_CMD_GET_MAX_CLUSTERS 0x4008 +#define TIPC_CMD_GET_MAX_NODES 0x4009 +#define TIPC_CMD_GET_MAX_SLAVES 0x400A +#define TIPC_CMD_GET_NETID 0x400B +#define TIPC_CMD_ENABLE_BEARER 0x4101 +#define TIPC_CMD_DISABLE_BEARER 0x4102 +#define TIPC_CMD_SET_LINK_TOL 0x4107 +#define TIPC_CMD_SET_LINK_PRI 0x4108 +#define TIPC_CMD_SET_LINK_WINDOW 0x4109 +#define TIPC_CMD_SET_LOG_SIZE 0x410A +#define TIPC_CMD_DUMP_LOG 0x410B +#define TIPC_CMD_RESET_LINK_STATS 0x410C +#define TIPC_CMD_SET_NODE_ADDR 0x8001 +#define TIPC_CMD_SET_REMOTE_MNG 0x8003 +#define TIPC_CMD_SET_MAX_PORTS 0x8004 +#define TIPC_CMD_SET_MAX_PUBL 0x8005 +#define TIPC_CMD_SET_MAX_SUBSCR 0x8006 +#define TIPC_CMD_SET_MAX_ZONES 0x8007 +#define TIPC_CMD_SET_MAX_CLUSTERS 0x8008 +#define TIPC_CMD_SET_MAX_NODES 0x8009 +#define TIPC_CMD_SET_MAX_SLAVES 0x800A +#define TIPC_CMD_SET_NETID 0x800B +#define TIPC_CMD_NOT_NET_ADMIN 0xC001 +#define TIPC_TLV_NONE 0 +#define TIPC_TLV_VOID 1 +#define TIPC_TLV_UNSIGNED 2 +#define TIPC_TLV_STRING 3 +#define TIPC_TLV_LARGE_STRING 4 +#define TIPC_TLV_ULTRA_STRING 5 +#define TIPC_TLV_ERROR_STRING 16 +#define TIPC_TLV_NET_ADDR 17 +#define TIPC_TLV_MEDIA_NAME 18 +#define TIPC_TLV_BEARER_NAME 19 +#define TIPC_TLV_LINK_NAME 20 +#define TIPC_TLV_NODE_INFO 21 +#define TIPC_TLV_LINK_INFO 22 +#define TIPC_TLV_BEARER_CONFIG 23 +#define TIPC_TLV_LINK_CONFIG 24 +#define TIPC_TLV_NAME_TBL_QUERY 25 +#define TIPC_TLV_PORT_REF 26 +#define TIPC_MIN_LINK_PRI 0 +#define TIPC_DEF_LINK_PRI 10 +#define TIPC_MAX_LINK_PRI 31 +#define TIPC_MEDIA_LINK_PRI (TIPC_MAX_LINK_PRI + 1) +#define TIPC_MIN_LINK_TOL 50 +#define TIPC_DEF_LINK_TOL 1500 +#define TIPC_MAX_LINK_TOL 30000 +#if (TIPC_MIN_LINK_TOL < 16) +#error "TIPC_MIN_LINK_TOL is too small (abort limit may be NaN)" +#endif +#define TIPC_MIN_LINK_WIN 16 +#define TIPC_DEF_LINK_WIN 50 +#define TIPC_MAX_LINK_WIN 8191 +#define TIPC_DEF_LINK_UDP_MTU 14000 +struct tipc_node_info { + __be32 addr; + __be32 up; +}; +struct tipc_link_info { + __be32 dest; + __be32 up; + char str[TIPC_MAX_LINK_NAME]; +}; +struct tipc_bearer_config { + __be32 priority; + __be32 disc_domain; + char name[TIPC_MAX_BEARER_NAME]; +}; +struct tipc_link_config { + __be32 value; + char name[TIPC_MAX_LINK_NAME]; +}; +#define TIPC_NTQ_ALLTYPES 0x80000000 +struct tipc_name_table_query { + __be32 depth; + __be32 type; + __be32 lowbound; + __be32 upbound; +}; +#define TIPC_CFG_TLV_ERROR "\x80" +#define TIPC_CFG_NOT_NET_ADMIN "\x81" +#define TIPC_CFG_NOT_ZONE_MSTR "\x82" +#define TIPC_CFG_NO_REMOTE "\x83" +#define TIPC_CFG_NOT_SUPPORTED "\x84" +#define TIPC_CFG_INVALID_VALUE "\x85" +struct tlv_desc { + __be16 tlv_len; + __be16 tlv_type; +}; +#define TLV_ALIGNTO 4 +#define TLV_ALIGN(datalen) (((datalen)+(TLV_ALIGNTO-1)) & ~(TLV_ALIGNTO-1)) +#define TLV_LENGTH(datalen) (sizeof(struct tlv_desc) + (datalen)) +#define TLV_SPACE(datalen) (TLV_ALIGN(TLV_LENGTH(datalen))) +#define TLV_DATA(tlv) ((void *)((char *)(tlv) + TLV_LENGTH(0))) +static inline int TLV_OK(const void *tlv, __u16 space) +{ + + return (space >= TLV_SPACE(0)) && + (ntohs(((struct tlv_desc *)tlv)->tlv_len) <= space); +} +static inline int TLV_CHECK(const void *tlv, __u16 space, __u16 exp_type) +{ + return TLV_OK(tlv, space) && + (ntohs(((struct tlv_desc *)tlv)->tlv_type) == exp_type); +} +static inline int TLV_GET_LEN(struct tlv_desc *tlv) +{ + return ntohs(tlv->tlv_len); +} +static inline void TLV_SET_LEN(struct tlv_desc *tlv, __u16 len) +{ + tlv->tlv_len = htons(len); +} +static inline int TLV_CHECK_TYPE(struct tlv_desc *tlv, __u16 type) +{ + return (ntohs(tlv->tlv_type) == type); +} +static inline void TLV_SET_TYPE(struct tlv_desc *tlv, __u16 type) +{ + tlv->tlv_type = htons(type); +} +static inline int TLV_SET(void *tlv, __u16 type, void *data, __u16 len) +{ + struct tlv_desc *tlv_ptr; + int tlv_len; + tlv_len = TLV_LENGTH(len); + tlv_ptr = (struct tlv_desc *)tlv; + tlv_ptr->tlv_type = htons(type); + tlv_ptr->tlv_len = htons(tlv_len); + if (len && data) { + memcpy(TLV_DATA(tlv_ptr), data, len); + memset((char *)TLV_DATA(tlv_ptr) + len, 0, TLV_SPACE(len) - tlv_len); + } + return TLV_SPACE(len); +} +struct tlv_list_desc { + struct tlv_desc *tlv_ptr; + __u32 tlv_space; +}; +static inline void TLV_LIST_INIT(struct tlv_list_desc *list, + void *data, __u32 space) +{ + list->tlv_ptr = (struct tlv_desc *)data; + list->tlv_space = space; +} +static inline int TLV_LIST_EMPTY(struct tlv_list_desc *list) +{ + return (list->tlv_space == 0); +} +static inline int TLV_LIST_CHECK(struct tlv_list_desc *list, __u16 exp_type) +{ + return TLV_CHECK(list->tlv_ptr, list->tlv_space, exp_type); +} +static inline void *TLV_LIST_DATA(struct tlv_list_desc *list) +{ + return TLV_DATA(list->tlv_ptr); +} +static inline void TLV_LIST_STEP(struct tlv_list_desc *list) +{ + __u16 tlv_space = TLV_ALIGN(ntohs(list->tlv_ptr->tlv_len)); + list->tlv_ptr = (struct tlv_desc *)((char *)list->tlv_ptr + tlv_space); + list->tlv_space -= tlv_space; +} +#define TIPC_GENL_NAME "TIPC" +#define TIPC_GENL_VERSION 0x1 +#define TIPC_GENL_CMD 0x1 +struct tipc_genlmsghdr { + __u32 dest; + __u16 cmd; + __u16 reserved; +}; +#define TIPC_GENL_HDRLEN NLMSG_ALIGN(sizeof(struct tipc_genlmsghdr)) +struct tipc_cfg_msg_hdr { + __be32 tcm_len; + __be16 tcm_type; + __be16 tcm_flags; + char tcm_reserved[8]; +}; +#define TCM_F_REQUEST 0x1 +#define TCM_F_MORE 0x2 +#define TCM_ALIGN(datalen) (((datalen)+3) & ~3) +#define TCM_LENGTH(datalen) (sizeof(struct tipc_cfg_msg_hdr) + datalen) +#define TCM_SPACE(datalen) (TCM_ALIGN(TCM_LENGTH(datalen))) +#define TCM_DATA(tcm_hdr) ((void *)((char *)(tcm_hdr) + TCM_LENGTH(0))) +static inline int TCM_SET(void *msg, __u16 cmd, __u16 flags, + void *data, __u16 data_len) +{ + struct tipc_cfg_msg_hdr *tcm_hdr; + int msg_len; + msg_len = TCM_LENGTH(data_len); + tcm_hdr = (struct tipc_cfg_msg_hdr *)msg; + tcm_hdr->tcm_len = htonl(msg_len); + tcm_hdr->tcm_type = htons(cmd); + tcm_hdr->tcm_flags = htons(flags); + if (data_len && data) { + memcpy(TCM_DATA(msg), data, data_len); + memset((char *)TCM_DATA(msg) + data_len, 0, TCM_SPACE(data_len) - msg_len); + } + return TCM_SPACE(data_len); +} +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/tipc_netlink.h b/linux-5.10/prebuilts/usr/include/linux/tipc_netlink.h new file mode 100644 index 0000000..774bac4 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/tipc_netlink.h @@ -0,0 +1,253 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _LINUX_TIPC_NETLINK_H_ +#define _LINUX_TIPC_NETLINK_H_ +#define TIPC_GENL_V2_NAME "TIPCv2" +#define TIPC_GENL_V2_VERSION 0x1 +enum { + TIPC_NL_UNSPEC, + TIPC_NL_LEGACY, + TIPC_NL_BEARER_DISABLE, + TIPC_NL_BEARER_ENABLE, + TIPC_NL_BEARER_GET, + TIPC_NL_BEARER_SET, + TIPC_NL_SOCK_GET, + TIPC_NL_PUBL_GET, + TIPC_NL_LINK_GET, + TIPC_NL_LINK_SET, + TIPC_NL_LINK_RESET_STATS, + TIPC_NL_MEDIA_GET, + TIPC_NL_MEDIA_SET, + TIPC_NL_NODE_GET, + TIPC_NL_NET_GET, + TIPC_NL_NET_SET, + TIPC_NL_NAME_TABLE_GET, + TIPC_NL_MON_SET, + TIPC_NL_MON_GET, + TIPC_NL_MON_PEER_GET, + TIPC_NL_PEER_REMOVE, + TIPC_NL_BEARER_ADD, + TIPC_NL_UDP_GET_REMOTEIP, + TIPC_NL_KEY_SET, + TIPC_NL_KEY_FLUSH, + TIPC_NL_ADDR_LEGACY_GET, + __TIPC_NL_CMD_MAX, + TIPC_NL_CMD_MAX = __TIPC_NL_CMD_MAX - 1 +}; +enum { + TIPC_NLA_UNSPEC, + TIPC_NLA_BEARER, + TIPC_NLA_SOCK, + TIPC_NLA_PUBL, + TIPC_NLA_LINK, + TIPC_NLA_MEDIA, + TIPC_NLA_NODE, + TIPC_NLA_NET, + TIPC_NLA_NAME_TABLE, + TIPC_NLA_MON, + TIPC_NLA_MON_PEER, + __TIPC_NLA_MAX, + TIPC_NLA_MAX = __TIPC_NLA_MAX - 1 +}; +enum { + TIPC_NLA_BEARER_UNSPEC, + TIPC_NLA_BEARER_NAME, + TIPC_NLA_BEARER_PROP, + TIPC_NLA_BEARER_DOMAIN, + TIPC_NLA_BEARER_UDP_OPTS, + __TIPC_NLA_BEARER_MAX, + TIPC_NLA_BEARER_MAX = __TIPC_NLA_BEARER_MAX - 1 +}; +enum { + TIPC_NLA_UDP_UNSPEC, + TIPC_NLA_UDP_LOCAL, + TIPC_NLA_UDP_REMOTE, + TIPC_NLA_UDP_MULTI_REMOTEIP, + __TIPC_NLA_UDP_MAX, + TIPC_NLA_UDP_MAX = __TIPC_NLA_UDP_MAX - 1 +}; +enum { + TIPC_NLA_SOCK_UNSPEC, + TIPC_NLA_SOCK_ADDR, + TIPC_NLA_SOCK_REF, + TIPC_NLA_SOCK_CON, + TIPC_NLA_SOCK_HAS_PUBL, + TIPC_NLA_SOCK_STAT, + TIPC_NLA_SOCK_TYPE, + TIPC_NLA_SOCK_INO, + TIPC_NLA_SOCK_UID, + TIPC_NLA_SOCK_TIPC_STATE, + TIPC_NLA_SOCK_COOKIE, + TIPC_NLA_SOCK_PAD, + TIPC_NLA_SOCK_GROUP, + __TIPC_NLA_SOCK_MAX, + TIPC_NLA_SOCK_MAX = __TIPC_NLA_SOCK_MAX - 1 +}; +enum { + TIPC_NLA_LINK_UNSPEC, + TIPC_NLA_LINK_NAME, + TIPC_NLA_LINK_DEST, + TIPC_NLA_LINK_MTU, + TIPC_NLA_LINK_BROADCAST, + TIPC_NLA_LINK_UP, + TIPC_NLA_LINK_ACTIVE, + TIPC_NLA_LINK_PROP, + TIPC_NLA_LINK_STATS, + TIPC_NLA_LINK_RX, + TIPC_NLA_LINK_TX, + __TIPC_NLA_LINK_MAX, + TIPC_NLA_LINK_MAX = __TIPC_NLA_LINK_MAX - 1 +}; +enum { + TIPC_NLA_MEDIA_UNSPEC, + TIPC_NLA_MEDIA_NAME, + TIPC_NLA_MEDIA_PROP, + __TIPC_NLA_MEDIA_MAX, + TIPC_NLA_MEDIA_MAX = __TIPC_NLA_MEDIA_MAX - 1 +}; +enum { + TIPC_NLA_NODE_UNSPEC, + TIPC_NLA_NODE_ADDR, + TIPC_NLA_NODE_UP, + TIPC_NLA_NODE_ID, + TIPC_NLA_NODE_KEY, + TIPC_NLA_NODE_KEY_MASTER, + TIPC_NLA_NODE_REKEYING, + __TIPC_NLA_NODE_MAX, + TIPC_NLA_NODE_MAX = __TIPC_NLA_NODE_MAX - 1 +}; +enum { + TIPC_NLA_NET_UNSPEC, + TIPC_NLA_NET_ID, + TIPC_NLA_NET_ADDR, + TIPC_NLA_NET_NODEID, + TIPC_NLA_NET_NODEID_W1, + TIPC_NLA_NET_ADDR_LEGACY, + __TIPC_NLA_NET_MAX, + TIPC_NLA_NET_MAX = __TIPC_NLA_NET_MAX - 1 +}; +enum { + TIPC_NLA_NAME_TABLE_UNSPEC, + TIPC_NLA_NAME_TABLE_PUBL, + __TIPC_NLA_NAME_TABLE_MAX, + TIPC_NLA_NAME_TABLE_MAX = __TIPC_NLA_NAME_TABLE_MAX - 1 +}; +enum { + TIPC_NLA_MON_UNSPEC, + TIPC_NLA_MON_ACTIVATION_THRESHOLD, + TIPC_NLA_MON_REF, + TIPC_NLA_MON_ACTIVE, + TIPC_NLA_MON_BEARER_NAME, + TIPC_NLA_MON_PEERCNT, + TIPC_NLA_MON_LISTGEN, + __TIPC_NLA_MON_MAX, + TIPC_NLA_MON_MAX = __TIPC_NLA_MON_MAX - 1 +}; +enum { + TIPC_NLA_PUBL_UNSPEC, + TIPC_NLA_PUBL_TYPE, + TIPC_NLA_PUBL_LOWER, + TIPC_NLA_PUBL_UPPER, + TIPC_NLA_PUBL_SCOPE, + TIPC_NLA_PUBL_NODE, + TIPC_NLA_PUBL_REF, + TIPC_NLA_PUBL_KEY, + __TIPC_NLA_PUBL_MAX, + TIPC_NLA_PUBL_MAX = __TIPC_NLA_PUBL_MAX - 1 +}; +enum { + TIPC_NLA_MON_PEER_UNSPEC, + TIPC_NLA_MON_PEER_ADDR, + TIPC_NLA_MON_PEER_DOMGEN, + TIPC_NLA_MON_PEER_APPLIED, + TIPC_NLA_MON_PEER_UPMAP, + TIPC_NLA_MON_PEER_MEMBERS, + TIPC_NLA_MON_PEER_UP, + TIPC_NLA_MON_PEER_HEAD, + TIPC_NLA_MON_PEER_LOCAL, + TIPC_NLA_MON_PEER_PAD, + __TIPC_NLA_MON_PEER_MAX, + TIPC_NLA_MON_PEER_MAX = __TIPC_NLA_MON_PEER_MAX - 1 +}; +enum { + TIPC_NLA_SOCK_GROUP_ID, + TIPC_NLA_SOCK_GROUP_OPEN, + TIPC_NLA_SOCK_GROUP_NODE_SCOPE, + TIPC_NLA_SOCK_GROUP_CLUSTER_SCOPE, + TIPC_NLA_SOCK_GROUP_INSTANCE, + TIPC_NLA_SOCK_GROUP_BC_SEND_NEXT, + __TIPC_NLA_SOCK_GROUP_MAX, + TIPC_NLA_SOCK_GROUP_MAX = __TIPC_NLA_SOCK_GROUP_MAX - 1 +}; +enum { + TIPC_NLA_CON_UNSPEC, + TIPC_NLA_CON_FLAG, + TIPC_NLA_CON_NODE, + TIPC_NLA_CON_SOCK, + TIPC_NLA_CON_TYPE, + TIPC_NLA_CON_INST, + __TIPC_NLA_CON_MAX, + TIPC_NLA_CON_MAX = __TIPC_NLA_CON_MAX - 1 +}; +enum { + TIPC_NLA_SOCK_STAT_RCVQ, + TIPC_NLA_SOCK_STAT_SENDQ, + TIPC_NLA_SOCK_STAT_LINK_CONG, + TIPC_NLA_SOCK_STAT_CONN_CONG, + TIPC_NLA_SOCK_STAT_DROP, + __TIPC_NLA_SOCK_STAT_MAX, + TIPC_NLA_SOCK_STAT_MAX = __TIPC_NLA_SOCK_STAT_MAX - 1 +}; +enum { + TIPC_NLA_PROP_UNSPEC, + TIPC_NLA_PROP_PRIO, + TIPC_NLA_PROP_TOL, + TIPC_NLA_PROP_WIN, + TIPC_NLA_PROP_MTU, + TIPC_NLA_PROP_BROADCAST, + TIPC_NLA_PROP_BROADCAST_RATIO, + __TIPC_NLA_PROP_MAX, + TIPC_NLA_PROP_MAX = __TIPC_NLA_PROP_MAX - 1 +}; +enum { + TIPC_NLA_STATS_UNSPEC, + TIPC_NLA_STATS_RX_INFO, + TIPC_NLA_STATS_RX_FRAGMENTS, + TIPC_NLA_STATS_RX_FRAGMENTED, + TIPC_NLA_STATS_RX_BUNDLES, + TIPC_NLA_STATS_RX_BUNDLED, + TIPC_NLA_STATS_TX_INFO, + TIPC_NLA_STATS_TX_FRAGMENTS, + TIPC_NLA_STATS_TX_FRAGMENTED, + TIPC_NLA_STATS_TX_BUNDLES, + TIPC_NLA_STATS_TX_BUNDLED, + TIPC_NLA_STATS_MSG_PROF_TOT, + TIPC_NLA_STATS_MSG_LEN_CNT, + TIPC_NLA_STATS_MSG_LEN_TOT, + TIPC_NLA_STATS_MSG_LEN_P0, + TIPC_NLA_STATS_MSG_LEN_P1, + TIPC_NLA_STATS_MSG_LEN_P2, + TIPC_NLA_STATS_MSG_LEN_P3, + TIPC_NLA_STATS_MSG_LEN_P4, + TIPC_NLA_STATS_MSG_LEN_P5, + TIPC_NLA_STATS_MSG_LEN_P6, + TIPC_NLA_STATS_RX_STATES, + TIPC_NLA_STATS_RX_PROBES, + TIPC_NLA_STATS_RX_NACKS, + TIPC_NLA_STATS_RX_DEFERRED, + TIPC_NLA_STATS_TX_STATES, + TIPC_NLA_STATS_TX_PROBES, + TIPC_NLA_STATS_TX_NACKS, + TIPC_NLA_STATS_TX_ACKS, + TIPC_NLA_STATS_RETRANSMITTED, + TIPC_NLA_STATS_DUPLICATES, + TIPC_NLA_STATS_LINK_CONGS, + TIPC_NLA_STATS_MAX_QUEUE, + TIPC_NLA_STATS_AVG_QUEUE, + __TIPC_NLA_STATS_MAX, + TIPC_NLA_STATS_MAX = __TIPC_NLA_STATS_MAX - 1 +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/tipc_sockets_diag.h b/linux-5.10/prebuilts/usr/include/linux/tipc_sockets_diag.h new file mode 100644 index 0000000..6311f5d --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/tipc_sockets_diag.h @@ -0,0 +1,16 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI__TIPC_SOCKETS_DIAG_H__ +#define _UAPI__TIPC_SOCKETS_DIAG_H__ +#include +#include +struct tipc_sock_diag_req { + __u8 sdiag_family; + __u8 sdiag_protocol; + __u16 pad; + __u32 tidiag_states; +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/tls.h b/linux-5.10/prebuilts/usr/include/linux/tls.h new file mode 100644 index 0000000..a9ec065 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/tls.h @@ -0,0 +1,79 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI_LINUX_TLS_H +#define _UAPI_LINUX_TLS_H +#include +#define TLS_TX 1 +#define TLS_RX 2 +#define TLS_VERSION_MINOR(ver) ((ver) & 0xFF) +#define TLS_VERSION_MAJOR(ver) (((ver) >> 8) & 0xFF) +#define TLS_VERSION_NUMBER(id) ((((id##_VERSION_MAJOR) & 0xFF) << 8) | \ + ((id##_VERSION_MINOR) & 0xFF)) +#define TLS_1_2_VERSION_MAJOR 0x3 +#define TLS_1_2_VERSION_MINOR 0x3 +#define TLS_1_2_VERSION TLS_VERSION_NUMBER(TLS_1_2) +#define TLS_1_3_VERSION_MAJOR 0x3 +#define TLS_1_3_VERSION_MINOR 0x4 +#define TLS_1_3_VERSION TLS_VERSION_NUMBER(TLS_1_3) +#define TLS_CIPHER_AES_GCM_128 51 +#define TLS_CIPHER_AES_GCM_128_IV_SIZE 8 +#define TLS_CIPHER_AES_GCM_128_KEY_SIZE 16 +#define TLS_CIPHER_AES_GCM_128_SALT_SIZE 4 +#define TLS_CIPHER_AES_GCM_128_TAG_SIZE 16 +#define TLS_CIPHER_AES_GCM_128_REC_SEQ_SIZE 8 +#define TLS_CIPHER_AES_GCM_256 52 +#define TLS_CIPHER_AES_GCM_256_IV_SIZE 8 +#define TLS_CIPHER_AES_GCM_256_KEY_SIZE 32 +#define TLS_CIPHER_AES_GCM_256_SALT_SIZE 4 +#define TLS_CIPHER_AES_GCM_256_TAG_SIZE 16 +#define TLS_CIPHER_AES_GCM_256_REC_SEQ_SIZE 8 +#define TLS_CIPHER_AES_CCM_128 53 +#define TLS_CIPHER_AES_CCM_128_IV_SIZE 8 +#define TLS_CIPHER_AES_CCM_128_KEY_SIZE 16 +#define TLS_CIPHER_AES_CCM_128_SALT_SIZE 4 +#define TLS_CIPHER_AES_CCM_128_TAG_SIZE 16 +#define TLS_CIPHER_AES_CCM_128_REC_SEQ_SIZE 8 +#define TLS_SET_RECORD_TYPE 1 +#define TLS_GET_RECORD_TYPE 2 +struct tls_crypto_info { + __u16 version; + __u16 cipher_type; +}; +struct tls12_crypto_info_aes_gcm_128 { + struct tls_crypto_info info; + unsigned char iv[TLS_CIPHER_AES_GCM_128_IV_SIZE]; + unsigned char key[TLS_CIPHER_AES_GCM_128_KEY_SIZE]; + unsigned char salt[TLS_CIPHER_AES_GCM_128_SALT_SIZE]; + unsigned char rec_seq[TLS_CIPHER_AES_GCM_128_REC_SEQ_SIZE]; +}; +struct tls12_crypto_info_aes_gcm_256 { + struct tls_crypto_info info; + unsigned char iv[TLS_CIPHER_AES_GCM_256_IV_SIZE]; + unsigned char key[TLS_CIPHER_AES_GCM_256_KEY_SIZE]; + unsigned char salt[TLS_CIPHER_AES_GCM_256_SALT_SIZE]; + unsigned char rec_seq[TLS_CIPHER_AES_GCM_256_REC_SEQ_SIZE]; +}; +struct tls12_crypto_info_aes_ccm_128 { + struct tls_crypto_info info; + unsigned char iv[TLS_CIPHER_AES_CCM_128_IV_SIZE]; + unsigned char key[TLS_CIPHER_AES_CCM_128_KEY_SIZE]; + unsigned char salt[TLS_CIPHER_AES_CCM_128_SALT_SIZE]; + unsigned char rec_seq[TLS_CIPHER_AES_CCM_128_REC_SEQ_SIZE]; +}; +enum { + TLS_INFO_UNSPEC, + TLS_INFO_VERSION, + TLS_INFO_CIPHER, + TLS_INFO_TXCONF, + TLS_INFO_RXCONF, + __TLS_INFO_MAX, +}; +#define TLS_INFO_MAX (__TLS_INFO_MAX - 1) +#define TLS_CONF_BASE 1 +#define TLS_CONF_SW 2 +#define TLS_CONF_HW 3 +#define TLS_CONF_HW_RECORD 4 +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/toshiba.h b/linux-5.10/prebuilts/usr/include/linux/toshiba.h new file mode 100644 index 0000000..f2cb779 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/toshiba.h @@ -0,0 +1,22 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI_LINUX_TOSHIBA_H +#define _UAPI_LINUX_TOSHIBA_H +#define TOSH_PROC "/proc/toshiba" +#define TOSH_DEVICE "/dev/toshiba" +#define TOSHIBA_ACPI_PROC "/proc/acpi/toshiba" +#define TOSHIBA_ACPI_DEVICE "/dev/toshiba_acpi" +typedef struct { + unsigned int eax; + unsigned int ebx __attribute__ ((packed)); + unsigned int ecx __attribute__ ((packed)); + unsigned int edx __attribute__ ((packed)); + unsigned int esi __attribute__ ((packed)); + unsigned int edi __attribute__ ((packed)); +} SMMRegisters; +#define TOSH_SMM _IOWR('t', 0x90, SMMRegisters) +#define TOSHIBA_ACPI_SCI _IOWR('t', 0x91, SMMRegisters) +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/tty.h b/linux-5.10/prebuilts/usr/include/linux/tty.h new file mode 100644 index 0000000..81bdc07 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/tty.h @@ -0,0 +1,38 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI_LINUX_TTY_H +#define _UAPI_LINUX_TTY_H +#define NR_LDISCS 30 +#define N_TTY 0 +#define N_SLIP 1 +#define N_MOUSE 2 +#define N_PPP 3 +#define N_STRIP 4 +#define N_AX25 5 +#define N_X25 6 +#define N_6PACK 7 +#define N_MASC 8 +#define N_R3964 9 +#define N_PROFIBUS_FDL 10 +#define N_IRDA 11 +#define N_SMSBLOCK 12 + +#define N_HDLC 13 +#define N_SYNC_PPP 14 +#define N_HCI 15 +#define N_GIGASET_M101 16 +#define N_SLCAN 17 +#define N_PPS 18 +#define N_V253 19 +#define N_CAIF 20 +#define N_GSM0710 21 +#define N_TI_WL 22 +#define N_TRACESINK 23 +#define N_TRACEROUTER 24 +#define N_NCI 25 +#define N_SPEAKUP 26 +#define N_NULL 27 +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/tty_flags.h b/linux-5.10/prebuilts/usr/include/linux/tty_flags.h new file mode 100644 index 0000000..5b21497 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/tty_flags.h @@ -0,0 +1,75 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _LINUX_TTY_FLAGS_H +#define _LINUX_TTY_FLAGS_H +#define ASYNCB_HUP_NOTIFY 0 +#define ASYNCB_FOURPORT 1 +#define ASYNCB_SAK 2 +#define ASYNCB_SPLIT_TERMIOS 3 +#define ASYNCB_SPD_HI 4 +#define ASYNCB_SPD_VHI 5 +#define ASYNCB_SKIP_TEST 6 +#define ASYNCB_AUTO_IRQ 7 +#define ASYNCB_SESSION_LOCKOUT 8 +#define ASYNCB_PGRP_LOCKOUT 9 +#define ASYNCB_CALLOUT_NOHUP 10 +#define ASYNCB_HARDPPS_CD 11 +#define ASYNCB_SPD_SHI 12 +#define ASYNCB_LOW_LATENCY 13 +#define ASYNCB_BUGGY_UART 14 +#define ASYNCB_AUTOPROBE 15 +#define ASYNCB_MAGIC_MULTIPLIER 16 +#define ASYNCB_LAST_USER 16 +#ifndef __KERNEL__ +#define ASYNCB_INITIALIZED 31 +#define ASYNCB_SUSPENDED 30 +#define ASYNCB_NORMAL_ACTIVE 29 +#define ASYNCB_BOOT_AUTOCONF 28 +#define ASYNCB_CLOSING 27 +#define ASYNCB_CTS_FLOW 26 +#define ASYNCB_CHECK_CD 25 +#define ASYNCB_SHARE_IRQ 24 +#define ASYNCB_CONS_FLOW 23 +#define ASYNCB_FIRST_KERNEL 22 +#endif +#define ASYNC_HUP_NOTIFY (1U << ASYNCB_HUP_NOTIFY) +#define ASYNC_SUSPENDED (1U << ASYNCB_SUSPENDED) +#define ASYNC_FOURPORT (1U << ASYNCB_FOURPORT) +#define ASYNC_SAK (1U << ASYNCB_SAK) +#define ASYNC_SPLIT_TERMIOS (1U << ASYNCB_SPLIT_TERMIOS) +#define ASYNC_SPD_HI (1U << ASYNCB_SPD_HI) +#define ASYNC_SPD_VHI (1U << ASYNCB_SPD_VHI) +#define ASYNC_SKIP_TEST (1U << ASYNCB_SKIP_TEST) +#define ASYNC_AUTO_IRQ (1U << ASYNCB_AUTO_IRQ) +#define ASYNC_SESSION_LOCKOUT (1U << ASYNCB_SESSION_LOCKOUT) +#define ASYNC_PGRP_LOCKOUT (1U << ASYNCB_PGRP_LOCKOUT) +#define ASYNC_CALLOUT_NOHUP (1U << ASYNCB_CALLOUT_NOHUP) +#define ASYNC_HARDPPS_CD (1U << ASYNCB_HARDPPS_CD) +#define ASYNC_SPD_SHI (1U << ASYNCB_SPD_SHI) +#define ASYNC_LOW_LATENCY (1U << ASYNCB_LOW_LATENCY) +#define ASYNC_BUGGY_UART (1U << ASYNCB_BUGGY_UART) +#define ASYNC_AUTOPROBE (1U << ASYNCB_AUTOPROBE) +#define ASYNC_MAGIC_MULTIPLIER (1U << ASYNCB_MAGIC_MULTIPLIER) +#define ASYNC_FLAGS ((1U << (ASYNCB_LAST_USER + 1)) - 1) +#define ASYNC_DEPRECATED (ASYNC_SESSION_LOCKOUT | ASYNC_PGRP_LOCKOUT | \ + ASYNC_CALLOUT_NOHUP | ASYNC_AUTOPROBE) +#define ASYNC_USR_MASK (ASYNC_SPD_MASK|ASYNC_CALLOUT_NOHUP| \ + ASYNC_LOW_LATENCY) +#define ASYNC_SPD_CUST (ASYNC_SPD_HI|ASYNC_SPD_VHI) +#define ASYNC_SPD_WARP (ASYNC_SPD_HI|ASYNC_SPD_SHI) +#define ASYNC_SPD_MASK (ASYNC_SPD_HI|ASYNC_SPD_VHI|ASYNC_SPD_SHI) +#ifndef __KERNEL__ +#define ASYNC_INITIALIZED (1U << ASYNCB_INITIALIZED) +#define ASYNC_NORMAL_ACTIVE (1U << ASYNCB_NORMAL_ACTIVE) +#define ASYNC_BOOT_AUTOCONF (1U << ASYNCB_BOOT_AUTOCONF) +#define ASYNC_CLOSING (1U << ASYNCB_CLOSING) +#define ASYNC_CTS_FLOW (1U << ASYNCB_CTS_FLOW) +#define ASYNC_CHECK_CD (1U << ASYNCB_CHECK_CD) +#define ASYNC_SHARE_IRQ (1U << ASYNCB_SHARE_IRQ) +#define ASYNC_CONS_FLOW (1U << ASYNCB_CONS_FLOW) +#define ASYNC_INTERNAL_FLAGS (~((1U << ASYNCB_FIRST_KERNEL) - 1)) +#endif +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/types.h b/linux-5.10/prebuilts/usr/include/linux/types.h new file mode 100644 index 0000000..5bb5a76 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/types.h @@ -0,0 +1,35 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI_LINUX_TYPES_H +#define _UAPI_LINUX_TYPES_H +#include +#ifndef __ASSEMBLY__ +#ifndef __KERNEL__ +#if 0 +#warning "Attempt to use kernel headers from user space, see https: +#endif +#endif +#include +#if 0 +#define __bitwise__ __attribute__((bitwise)) +#else +#define __bitwise__ +#endif +#define __bitwise __bitwise__ +typedef __u16 __bitwise __le16; +typedef __u16 __bitwise __be16; +typedef __u32 __bitwise __le32; +typedef __u32 __bitwise __be32; +typedef __u64 __bitwise __le64; +typedef __u64 __bitwise __be64; +typedef __u16 __bitwise __sum16; +typedef __u32 __bitwise __wsum; +#define __aligned_u64 __u64 __attribute__((aligned(8))) +#define __aligned_be64 __be64 __attribute__((aligned(8))) +#define __aligned_le64 __le64 __attribute__((aligned(8))) +typedef unsigned __bitwise __poll_t; +#endif +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/udf_fs_i.h b/linux-5.10/prebuilts/usr/include/linux/udf_fs_i.h new file mode 100644 index 0000000..c566258 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/udf_fs_i.h @@ -0,0 +1,12 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UDF_FS_I_H +#define _UDF_FS_I_H 1 +#define UDF_GETEASIZE _IOR('l', 0x40, int) +#define UDF_GETEABLOCK _IOR('l', 0x41, void *) +#define UDF_GETVOLIDENT _IOR('l', 0x42, void *) +#define UDF_RELOCATE_BLOCKS _IOWR('l', 0x43, long) +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/udmabuf.h b/linux-5.10/prebuilts/usr/include/linux/udmabuf.h new file mode 100644 index 0000000..f6ce634 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/udmabuf.h @@ -0,0 +1,30 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI_LINUX_UDMABUF_H +#define _UAPI_LINUX_UDMABUF_H +#include +#include +#define UDMABUF_FLAGS_CLOEXEC 0x01 +struct udmabuf_create { + __u32 memfd; + __u32 flags; + __u64 offset; + __u64 size; +}; +struct udmabuf_create_item { + __u32 memfd; + __u32 __pad; + __u64 offset; + __u64 size; +}; +struct udmabuf_create_list { + __u32 flags; + __u32 count; + struct udmabuf_create_item list[]; +}; +#define UDMABUF_CREATE _IOW('u', 0x42, struct udmabuf_create) +#define UDMABUF_CREATE_LIST _IOW('u', 0x43, struct udmabuf_create_list) +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/udp.h b/linux-5.10/prebuilts/usr/include/linux/udp.h new file mode 100644 index 0000000..f800f5b --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/udp.h @@ -0,0 +1,28 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI_LINUX_UDP_H +#define _UAPI_LINUX_UDP_H +#include +struct __kernel_udphdr { + __be16 source; + __be16 dest; + __be16 len; + __sum16 check; +}; +#define UDP_CORK 1 +#define UDP_ENCAP 100 +#define UDP_NO_CHECK6_TX 101 +#define UDP_NO_CHECK6_RX 102 +#define UDP_SEGMENT 103 +#define UDP_GRO 104 +#define UDP_ENCAP_ESPINUDP_NON_IKE 1 +#define UDP_ENCAP_ESPINUDP 2 +#define UDP_ENCAP_L2TPINUDP 3 +#define UDP_ENCAP_GTP0 4 +#define UDP_ENCAP_GTP1U 5 +#define UDP_ENCAP_RXRPC 6 +#define TCP_ENCAP_ESPINTCP 7 +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/uhid.h b/linux-5.10/prebuilts/usr/include/linux/uhid.h new file mode 100644 index 0000000..6a7d0cc --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/uhid.h @@ -0,0 +1,142 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef __UHID_H_ +#define __UHID_H_ +#include +#include +#include +enum uhid_event_type { + __UHID_LEGACY_CREATE, + UHID_DESTROY, + UHID_START, + UHID_STOP, + UHID_OPEN, + UHID_CLOSE, + UHID_OUTPUT, + __UHID_LEGACY_OUTPUT_EV, + __UHID_LEGACY_INPUT, + UHID_GET_REPORT, + UHID_GET_REPORT_REPLY, + UHID_CREATE2, + UHID_INPUT2, + UHID_SET_REPORT, + UHID_SET_REPORT_REPLY, +}; +struct uhid_create2_req { + __u8 name[128]; + __u8 phys[64]; + __u8 uniq[64]; + __u16 rd_size; + __u16 bus; + __u32 vendor; + __u32 product; + __u32 version; + __u32 country; + __u8 rd_data[HID_MAX_DESCRIPTOR_SIZE]; +} __attribute__((__packed__)); +enum uhid_dev_flag { + UHID_DEV_NUMBERED_FEATURE_REPORTS = (1ULL << 0), + UHID_DEV_NUMBERED_OUTPUT_REPORTS = (1ULL << 1), + UHID_DEV_NUMBERED_INPUT_REPORTS = (1ULL << 2), +}; +struct uhid_start_req { + __u64 dev_flags; +}; +#define UHID_DATA_MAX 4096 +enum uhid_report_type { + UHID_FEATURE_REPORT, + UHID_OUTPUT_REPORT, + UHID_INPUT_REPORT, +}; +struct uhid_input2_req { + __u16 size; + __u8 data[UHID_DATA_MAX]; +} __attribute__((__packed__)); +struct uhid_output_req { + __u8 data[UHID_DATA_MAX]; + __u16 size; + __u8 rtype; +} __attribute__((__packed__)); +struct uhid_get_report_req { + __u32 id; + __u8 rnum; + __u8 rtype; +} __attribute__((__packed__)); +struct uhid_get_report_reply_req { + __u32 id; + __u16 err; + __u16 size; + __u8 data[UHID_DATA_MAX]; +} __attribute__((__packed__)); +struct uhid_set_report_req { + __u32 id; + __u8 rnum; + __u8 rtype; + __u16 size; + __u8 data[UHID_DATA_MAX]; +} __attribute__((__packed__)); +struct uhid_set_report_reply_req { + __u32 id; + __u16 err; +} __attribute__((__packed__)); +enum uhid_legacy_event_type { + UHID_CREATE = __UHID_LEGACY_CREATE, + UHID_OUTPUT_EV = __UHID_LEGACY_OUTPUT_EV, + UHID_INPUT = __UHID_LEGACY_INPUT, + UHID_FEATURE = UHID_GET_REPORT, + UHID_FEATURE_ANSWER = UHID_GET_REPORT_REPLY, +}; +struct uhid_create_req { + __u8 name[128]; + __u8 phys[64]; + __u8 uniq[64]; + __u8 __user *rd_data; + __u16 rd_size; + __u16 bus; + __u32 vendor; + __u32 product; + __u32 version; + __u32 country; +} __attribute__((__packed__)); +struct uhid_input_req { + __u8 data[UHID_DATA_MAX]; + __u16 size; +} __attribute__((__packed__)); +struct uhid_output_ev_req { + __u16 type; + __u16 code; + __s32 value; +} __attribute__((__packed__)); +struct uhid_feature_req { + __u32 id; + __u8 rnum; + __u8 rtype; +} __attribute__((__packed__)); +struct uhid_feature_answer_req { + __u32 id; + __u16 err; + __u16 size; + __u8 data[UHID_DATA_MAX]; +} __attribute__((__packed__)); +struct uhid_event { + __u32 type; + union { + struct uhid_create_req create; + struct uhid_input_req input; + struct uhid_output_req output; + struct uhid_output_ev_req output_ev; + struct uhid_feature_req feature; + struct uhid_get_report_req get_report; + struct uhid_feature_answer_req feature_answer; + struct uhid_get_report_reply_req get_report_reply; + struct uhid_create2_req create2; + struct uhid_input2_req input2; + struct uhid_set_report_req set_report; + struct uhid_set_report_reply_req set_report_reply; + struct uhid_start_req start; + } u; +} __attribute__((__packed__)); +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/uinput.h b/linux-5.10/prebuilts/usr/include/linux/uinput.h new file mode 100644 index 0000000..da2a714 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/uinput.h @@ -0,0 +1,67 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI__UINPUT_H_ +#define _UAPI__UINPUT_H_ +#include +#include +#define UINPUT_VERSION 5 +#define UINPUT_MAX_NAME_SIZE 80 +struct uinput_ff_upload { + __u32 request_id; + __s32 retval; + struct ff_effect effect; + struct ff_effect old; +}; +struct uinput_ff_erase { + __u32 request_id; + __s32 retval; + __u32 effect_id; +}; +#define UINPUT_IOCTL_BASE 'U' +#define UI_DEV_CREATE _IO(UINPUT_IOCTL_BASE, 1) +#define UI_DEV_DESTROY _IO(UINPUT_IOCTL_BASE, 2) +struct uinput_setup { + struct input_id id; + char name[UINPUT_MAX_NAME_SIZE]; + __u32 ff_effects_max; +}; +#define UI_DEV_SETUP _IOW(UINPUT_IOCTL_BASE, 3, struct uinput_setup) +struct uinput_abs_setup { + __u16 code; + + struct input_absinfo absinfo; +}; +#define UI_ABS_SETUP _IOW(UINPUT_IOCTL_BASE, 4, struct uinput_abs_setup) +#define UI_SET_EVBIT _IOW(UINPUT_IOCTL_BASE, 100, int) +#define UI_SET_KEYBIT _IOW(UINPUT_IOCTL_BASE, 101, int) +#define UI_SET_RELBIT _IOW(UINPUT_IOCTL_BASE, 102, int) +#define UI_SET_ABSBIT _IOW(UINPUT_IOCTL_BASE, 103, int) +#define UI_SET_MSCBIT _IOW(UINPUT_IOCTL_BASE, 104, int) +#define UI_SET_LEDBIT _IOW(UINPUT_IOCTL_BASE, 105, int) +#define UI_SET_SNDBIT _IOW(UINPUT_IOCTL_BASE, 106, int) +#define UI_SET_FFBIT _IOW(UINPUT_IOCTL_BASE, 107, int) +#define UI_SET_PHYS _IOW(UINPUT_IOCTL_BASE, 108, char*) +#define UI_SET_SWBIT _IOW(UINPUT_IOCTL_BASE, 109, int) +#define UI_SET_PROPBIT _IOW(UINPUT_IOCTL_BASE, 110, int) +#define UI_BEGIN_FF_UPLOAD _IOWR(UINPUT_IOCTL_BASE, 200, struct uinput_ff_upload) +#define UI_END_FF_UPLOAD _IOW(UINPUT_IOCTL_BASE, 201, struct uinput_ff_upload) +#define UI_BEGIN_FF_ERASE _IOWR(UINPUT_IOCTL_BASE, 202, struct uinput_ff_erase) +#define UI_END_FF_ERASE _IOW(UINPUT_IOCTL_BASE, 203, struct uinput_ff_erase) +#define UI_GET_SYSNAME(len) _IOC(_IOC_READ, UINPUT_IOCTL_BASE, 44, len) +#define UI_GET_VERSION _IOR(UINPUT_IOCTL_BASE, 45, unsigned int) +#define EV_UINPUT 0x0101 +#define UI_FF_UPLOAD 1 +#define UI_FF_ERASE 2 +struct uinput_user_dev { + char name[UINPUT_MAX_NAME_SIZE]; + struct input_id id; + __u32 ff_effects_max; + __s32 absmax[ABS_CNT]; + __s32 absmin[ABS_CNT]; + __s32 absfuzz[ABS_CNT]; + __s32 absflat[ABS_CNT]; +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/uio.h b/linux-5.10/prebuilts/usr/include/linux/uio.h new file mode 100644 index 0000000..f75430d --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/uio.h @@ -0,0 +1,18 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI__LINUX_UIO_H +#define _UAPI__LINUX_UIO_H +#include +#include +struct iovec +{ + void __user *iov_base; + __kernel_size_t iov_len; +}; + +#define UIO_FASTIOV 8 +#define UIO_MAXIOV 1024 +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/uleds.h b/linux-5.10/prebuilts/usr/include/linux/uleds.h new file mode 100644 index 0000000..3bf1511 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/uleds.h @@ -0,0 +1,13 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI__ULEDS_H_ +#define _UAPI__ULEDS_H_ +#define LED_MAX_NAME_SIZE 64 +struct uleds_user_dev { + char name[LED_MAX_NAME_SIZE]; + int max_brightness; +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/ultrasound.h b/linux-5.10/prebuilts/usr/include/linux/ultrasound.h new file mode 100644 index 0000000..c0856c9 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/ultrasound.h @@ -0,0 +1,51 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _ULTRASOUND_H_ +#define _ULTRASOUND_H_ +#define _GUS_NUMVOICES 0x00 +#define _GUS_VOICESAMPLE 0x01 +#define _GUS_VOICEON 0x02 +#define _GUS_VOICEOFF 0x03 +#define _GUS_VOICEMODE 0x04 +#define _GUS_VOICEBALA 0x05 +#define _GUS_VOICEFREQ 0x06 +#define _GUS_VOICEVOL 0x07 +#define _GUS_RAMPRANGE 0x08 +#define _GUS_RAMPRATE 0x09 +#define _GUS_RAMPMODE 0x0a +#define _GUS_RAMPON 0x0b +#define _GUS_RAMPOFF 0x0c +#define _GUS_VOICEFADE 0x0d +#define _GUS_VOLUME_SCALE 0x0e +#define _GUS_VOICEVOL2 0x0f +#define _GUS_VOICE_POS 0x10 +#define _GUS_CMD(chn, voice, cmd, p1, p2) \ + {_SEQ_NEEDBUF(8); _seqbuf[_seqbufptr] = SEQ_PRIVATE;\ + _seqbuf[_seqbufptr+1] = (chn); _seqbuf[_seqbufptr+2] = cmd;\ + _seqbuf[_seqbufptr+3] = voice;\ + *(unsigned short*)&_seqbuf[_seqbufptr+4] = p1;\ + *(unsigned short*)&_seqbuf[_seqbufptr+6] = p2;\ + _SEQ_ADVBUF(8);} +#define GUS_NUMVOICES(chn, p1) _GUS_CMD(chn, 0, _GUS_NUMVOICES, (p1), 0) +#define GUS_VOICESAMPLE(chn, voice, p1) _GUS_CMD(chn, voice, _GUS_VOICESAMPLE, (p1), 0) +#define GUS_VOICEON(chn, voice, p1) _GUS_CMD(chn, voice, _GUS_VOICEON, (p1), 0) +#define GUS_VOICEOFF(chn, voice) _GUS_CMD(chn, voice, _GUS_VOICEOFF, 0, 0) +#define GUS_VOICEFADE(chn, voice) _GUS_CMD(chn, voice, _GUS_VOICEFADE, 0, 0) +#define GUS_VOICEMODE(chn, voice, p1) _GUS_CMD(chn, voice, _GUS_VOICEMODE, (p1), 0) +#define GUS_VOICEBALA(chn, voice, p1) _GUS_CMD(chn, voice, _GUS_VOICEBALA, (p1), 0) +#define GUS_VOICEFREQ(chn, voice, p) _GUS_CMD(chn, voice, _GUS_VOICEFREQ, \ + (p) & 0xffff, ((p) >> 16) & 0xffff) +#define GUS_VOICEVOL(chn, voice, p1) _GUS_CMD(chn, voice, _GUS_VOICEVOL, (p1), 0) +#define GUS_VOICEVOL2(chn, voice, p1) _GUS_CMD(chn, voice, _GUS_VOICEVOL2, (p1), 0) +#define GUS_RAMPRANGE(chn, voice, low, high) _GUS_CMD(chn, voice, _GUS_RAMPRANGE, (low), (high)) +#define GUS_RAMPRATE(chn, voice, p1, p2) _GUS_CMD(chn, voice, _GUS_RAMPRATE, (p1), (p2)) +#define GUS_RAMPMODE(chn, voice, p1) _GUS_CMD(chn, voice, _GUS_RAMPMODE, (p1), 0) +#define GUS_RAMPON(chn, voice, p1) _GUS_CMD(chn, voice, _GUS_RAMPON, (p1), 0) +#define GUS_RAMPOFF(chn, voice) _GUS_CMD(chn, voice, _GUS_RAMPOFF, 0, 0) +#define GUS_VOLUME_SCALE(chn, voice, p1, p2) _GUS_CMD(chn, voice, _GUS_VOLUME_SCALE, (p1), (p2)) +#define GUS_VOICE_POS(chn, voice, p) _GUS_CMD(chn, voice, _GUS_VOICE_POS, \ + (p) & 0xffff, ((p) >> 16) & 0xffff) +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/um_timetravel.h b/linux-5.10/prebuilts/usr/include/linux/um_timetravel.h new file mode 100644 index 0000000..8eb2f9f --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/um_timetravel.h @@ -0,0 +1,37 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI_LINUX_UM_TIMETRAVEL_H +#define _UAPI_LINUX_UM_TIMETRAVEL_H +#include +struct um_timetravel_msg { + + __u32 op; + + __u32 seq; + + __u64 time; +}; +enum um_timetravel_ops { + + UM_TIMETRAVEL_ACK = 0, + + UM_TIMETRAVEL_START = 1, + + UM_TIMETRAVEL_REQUEST = 2, + + UM_TIMETRAVEL_WAIT = 3, + + UM_TIMETRAVEL_GET = 4, + + UM_TIMETRAVEL_UPDATE = 5, + + UM_TIMETRAVEL_RUN = 6, + + UM_TIMETRAVEL_FREE_UNTIL = 7, + + UM_TIMETRAVEL_GET_TOD = 8, +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/un.h b/linux-5.10/prebuilts/usr/include/linux/un.h new file mode 100644 index 0000000..9e2daca --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/un.h @@ -0,0 +1,15 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _LINUX_UN_H +#define _LINUX_UN_H +#include +#define UNIX_PATH_MAX 108 +struct sockaddr_un { + __kernel_sa_family_t sun_family; + char sun_path[UNIX_PATH_MAX]; +}; +#define SIOCUNIXFILE (SIOCPROTOPRIVATE + 0) +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/unistd.h b/linux-5.10/prebuilts/usr/include/linux/unistd.h new file mode 100644 index 0000000..66d9a3b --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/unistd.h @@ -0,0 +1,9 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _LINUX_UNISTD_H_ +#define _LINUX_UNISTD_H_ +#include +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/unix_diag.h b/linux-5.10/prebuilts/usr/include/linux/unix_diag.h new file mode 100644 index 0000000..cfa6d0f --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/unix_diag.h @@ -0,0 +1,54 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef __UNIX_DIAG_H__ +#define __UNIX_DIAG_H__ +#include +struct unix_diag_req { + __u8 sdiag_family; + __u8 sdiag_protocol; + __u16 pad; + __u32 udiag_states; + __u32 udiag_ino; + __u32 udiag_show; + __u32 udiag_cookie[2]; +}; +#define UDIAG_SHOW_NAME 0x00000001 +#define UDIAG_SHOW_VFS 0x00000002 +#define UDIAG_SHOW_PEER 0x00000004 +#define UDIAG_SHOW_ICONS 0x00000008 +#define UDIAG_SHOW_RQLEN 0x00000010 +#define UDIAG_SHOW_MEMINFO 0x00000020 +#define UDIAG_SHOW_UID 0x00000040 +struct unix_diag_msg { + __u8 udiag_family; + __u8 udiag_type; + __u8 udiag_state; + __u8 pad; + __u32 udiag_ino; + __u32 udiag_cookie[2]; +}; +enum { + + UNIX_DIAG_NAME, + UNIX_DIAG_VFS, + UNIX_DIAG_PEER, + UNIX_DIAG_ICONS, + UNIX_DIAG_RQLEN, + UNIX_DIAG_MEMINFO, + UNIX_DIAG_SHUTDOWN, + UNIX_DIAG_UID, + __UNIX_DIAG_MAX, +}; +#define UNIX_DIAG_MAX (__UNIX_DIAG_MAX - 1) +struct unix_diag_vfs { + __u32 udiag_vfs_ino; + __u32 udiag_vfs_dev; +}; +struct unix_diag_rqlen { + __u32 udiag_rqueue; + __u32 udiag_wqueue; +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/usb/audio.h b/linux-5.10/prebuilts/usr/include/linux/usb/audio.h new file mode 100644 index 0000000..c515e53 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/usb/audio.h @@ -0,0 +1,489 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI__LINUX_USB_AUDIO_H +#define _UAPI__LINUX_USB_AUDIO_H +#include +#define UAC_VERSION_1 0x00 +#define UAC_VERSION_2 0x20 +#define UAC_VERSION_3 0x30 +#define USB_SUBCLASS_AUDIOCONTROL 0x01 +#define USB_SUBCLASS_AUDIOSTREAMING 0x02 +#define USB_SUBCLASS_MIDISTREAMING 0x03 +#define UAC_HEADER 0x01 +#define UAC_INPUT_TERMINAL 0x02 +#define UAC_OUTPUT_TERMINAL 0x03 +#define UAC_MIXER_UNIT 0x04 +#define UAC_SELECTOR_UNIT 0x05 +#define UAC_FEATURE_UNIT 0x06 +#define UAC1_PROCESSING_UNIT 0x07 +#define UAC1_EXTENSION_UNIT 0x08 +#define UAC_AS_GENERAL 0x01 +#define UAC_FORMAT_TYPE 0x02 +#define UAC_FORMAT_SPECIFIC 0x03 +#define UAC_PROCESS_UNDEFINED 0x00 +#define UAC_PROCESS_UP_DOWNMIX 0x01 +#define UAC_PROCESS_DOLBY_PROLOGIC 0x02 +#define UAC_PROCESS_STEREO_EXTENDER 0x03 +#define UAC_PROCESS_REVERB 0x04 +#define UAC_PROCESS_CHORUS 0x05 +#define UAC_PROCESS_DYN_RANGE_COMP 0x06 +#define UAC_EP_GENERAL 0x01 +#define UAC_SET_ 0x00 +#define UAC_GET_ 0x80 +#define UAC__CUR 0x1 +#define UAC__MIN 0x2 +#define UAC__MAX 0x3 +#define UAC__RES 0x4 +#define UAC__MEM 0x5 +#define UAC_SET_CUR (UAC_SET_ | UAC__CUR) +#define UAC_GET_CUR (UAC_GET_ | UAC__CUR) +#define UAC_SET_MIN (UAC_SET_ | UAC__MIN) +#define UAC_GET_MIN (UAC_GET_ | UAC__MIN) +#define UAC_SET_MAX (UAC_SET_ | UAC__MAX) +#define UAC_GET_MAX (UAC_GET_ | UAC__MAX) +#define UAC_SET_RES (UAC_SET_ | UAC__RES) +#define UAC_GET_RES (UAC_GET_ | UAC__RES) +#define UAC_SET_MEM (UAC_SET_ | UAC__MEM) +#define UAC_GET_MEM (UAC_GET_ | UAC__MEM) +#define UAC_GET_STAT 0xff +#define UAC_TERM_COPY_PROTECT 0x01 +#define UAC_FU_MUTE 0x01 +#define UAC_FU_VOLUME 0x02 +#define UAC_FU_BASS 0x03 +#define UAC_FU_MID 0x04 +#define UAC_FU_TREBLE 0x05 +#define UAC_FU_GRAPHIC_EQUALIZER 0x06 +#define UAC_FU_AUTOMATIC_GAIN 0x07 +#define UAC_FU_DELAY 0x08 +#define UAC_FU_BASS_BOOST 0x09 +#define UAC_FU_LOUDNESS 0x0a +#define UAC_CONTROL_BIT(CS) (1 << ((CS) - 1)) +#define UAC_UD_ENABLE 0x01 +#define UAC_UD_MODE_SELECT 0x02 +#define UAC_DP_ENABLE 0x01 +#define UAC_DP_MODE_SELECT 0x02 +#define UAC_3D_ENABLE 0x01 +#define UAC_3D_SPACE 0x02 +#define UAC_REVERB_ENABLE 0x01 +#define UAC_REVERB_LEVEL 0x02 +#define UAC_REVERB_TIME 0x03 +#define UAC_REVERB_FEEDBACK 0x04 +#define UAC_CHORUS_ENABLE 0x01 +#define UAC_CHORUS_LEVEL 0x02 +#define UAC_CHORUS_RATE 0x03 +#define UAC_CHORUS_DEPTH 0x04 +#define UAC_DCR_ENABLE 0x01 +#define UAC_DCR_RATE 0x02 +#define UAC_DCR_MAXAMPL 0x03 +#define UAC_DCR_THRESHOLD 0x04 +#define UAC_DCR_ATTACK_TIME 0x05 +#define UAC_DCR_RELEASE_TIME 0x06 +#define UAC_XU_ENABLE 0x01 +#define UAC_MS_HEADER 0x01 +#define UAC_MIDI_IN_JACK 0x02 +#define UAC_MIDI_OUT_JACK 0x03 +#define UAC_MS_GENERAL 0x01 +#define UAC_TERMINAL_UNDEFINED 0x100 +#define UAC_TERMINAL_STREAMING 0x101 +#define UAC_TERMINAL_VENDOR_SPEC 0x1FF +struct uac1_ac_header_descriptor { + __u8 bLength; + __u8 bDescriptorType; + __u8 bDescriptorSubtype; + __le16 bcdADC; + __le16 wTotalLength; + __u8 bInCollection; + __u8 baInterfaceNr[]; +} __attribute__ ((packed)); +#define UAC_DT_AC_HEADER_SIZE(n) (8 + (n)) +#define DECLARE_UAC_AC_HEADER_DESCRIPTOR(n) \ +struct uac1_ac_header_descriptor_##n { \ + __u8 bLength; \ + __u8 bDescriptorType; \ + __u8 bDescriptorSubtype; \ + __le16 bcdADC; \ + __le16 wTotalLength; \ + __u8 bInCollection; \ + __u8 baInterfaceNr[n]; \ +} __attribute__ ((packed)) +struct uac_input_terminal_descriptor { + __u8 bLength; + __u8 bDescriptorType; + __u8 bDescriptorSubtype; + __u8 bTerminalID; + __le16 wTerminalType; + __u8 bAssocTerminal; + __u8 bNrChannels; + __le16 wChannelConfig; + __u8 iChannelNames; + __u8 iTerminal; +} __attribute__ ((packed)); +#define UAC_DT_INPUT_TERMINAL_SIZE 12 +#define UAC_INPUT_TERMINAL_UNDEFINED 0x200 +#define UAC_INPUT_TERMINAL_MICROPHONE 0x201 +#define UAC_INPUT_TERMINAL_DESKTOP_MICROPHONE 0x202 +#define UAC_INPUT_TERMINAL_PERSONAL_MICROPHONE 0x203 +#define UAC_INPUT_TERMINAL_OMNI_DIR_MICROPHONE 0x204 +#define UAC_INPUT_TERMINAL_MICROPHONE_ARRAY 0x205 +#define UAC_INPUT_TERMINAL_PROC_MICROPHONE_ARRAY 0x206 +#define UAC_TERMINAL_CS_COPY_PROTECT_CONTROL 0x01 +struct uac1_output_terminal_descriptor { + __u8 bLength; + __u8 bDescriptorType; + __u8 bDescriptorSubtype; + __u8 bTerminalID; + __le16 wTerminalType; + __u8 bAssocTerminal; + __u8 bSourceID; + __u8 iTerminal; +} __attribute__ ((packed)); +#define UAC_DT_OUTPUT_TERMINAL_SIZE 9 +#define UAC_OUTPUT_TERMINAL_UNDEFINED 0x300 +#define UAC_OUTPUT_TERMINAL_SPEAKER 0x301 +#define UAC_OUTPUT_TERMINAL_HEADPHONES 0x302 +#define UAC_OUTPUT_TERMINAL_HEAD_MOUNTED_DISPLAY_AUDIO 0x303 +#define UAC_OUTPUT_TERMINAL_DESKTOP_SPEAKER 0x304 +#define UAC_OUTPUT_TERMINAL_ROOM_SPEAKER 0x305 +#define UAC_OUTPUT_TERMINAL_COMMUNICATION_SPEAKER 0x306 +#define UAC_OUTPUT_TERMINAL_LOW_FREQ_EFFECTS_SPEAKER 0x307 +#define UAC_BIDIR_TERMINAL_UNDEFINED 0x400 +#define UAC_BIDIR_TERMINAL_HANDSET 0x401 +#define UAC_BIDIR_TERMINAL_HEADSET 0x402 +#define UAC_BIDIR_TERMINAL_SPEAKER_PHONE 0x403 +#define UAC_BIDIR_TERMINAL_ECHO_SUPPRESSING 0x404 +#define UAC_BIDIR_TERMINAL_ECHO_CANCELING 0x405 +#define UAC_DT_FEATURE_UNIT_SIZE(ch) (7 + ((ch) + 1) * 2) +#define DECLARE_UAC_FEATURE_UNIT_DESCRIPTOR(ch) \ +struct uac_feature_unit_descriptor_##ch { \ + __u8 bLength; \ + __u8 bDescriptorType; \ + __u8 bDescriptorSubtype; \ + __u8 bUnitID; \ + __u8 bSourceID; \ + __u8 bControlSize; \ + __le16 bmaControls[ch + 1]; \ + __u8 iFeature; \ +} __attribute__ ((packed)) +struct uac_mixer_unit_descriptor { + __u8 bLength; + __u8 bDescriptorType; + __u8 bDescriptorSubtype; + __u8 bUnitID; + __u8 bNrInPins; + __u8 baSourceID[]; +} __attribute__ ((packed)); +static inline __u8 uac_mixer_unit_bNrChannels(struct uac_mixer_unit_descriptor *desc) +{ + return desc->baSourceID[desc->bNrInPins]; +} +static inline __u32 uac_mixer_unit_wChannelConfig(struct uac_mixer_unit_descriptor *desc, + int protocol) +{ + if (protocol == UAC_VERSION_1) + return (desc->baSourceID[desc->bNrInPins + 2] << 8) | + desc->baSourceID[desc->bNrInPins + 1]; + else + return (desc->baSourceID[desc->bNrInPins + 4] << 24) | + (desc->baSourceID[desc->bNrInPins + 3] << 16) | + (desc->baSourceID[desc->bNrInPins + 2] << 8) | + (desc->baSourceID[desc->bNrInPins + 1]); +} +static inline __u8 uac_mixer_unit_iChannelNames(struct uac_mixer_unit_descriptor *desc, + int protocol) +{ + return (protocol == UAC_VERSION_1) ? + desc->baSourceID[desc->bNrInPins + 3] : + desc->baSourceID[desc->bNrInPins + 5]; +} +static inline __u8 *uac_mixer_unit_bmControls(struct uac_mixer_unit_descriptor *desc, + int protocol) +{ + switch (protocol) { + case UAC_VERSION_1: + return &desc->baSourceID[desc->bNrInPins + 4]; + case UAC_VERSION_2: + return &desc->baSourceID[desc->bNrInPins + 6]; + case UAC_VERSION_3: + return &desc->baSourceID[desc->bNrInPins + 2]; + default: + return NULL; + } +} +static inline __u16 uac3_mixer_unit_wClusterDescrID(struct uac_mixer_unit_descriptor *desc) +{ + return (desc->baSourceID[desc->bNrInPins + 1] << 8) | + desc->baSourceID[desc->bNrInPins]; +} +static inline __u8 uac_mixer_unit_iMixer(struct uac_mixer_unit_descriptor *desc) +{ + __u8 *raw = (__u8 *) desc; + return raw[desc->bLength - 1]; +} +struct uac_selector_unit_descriptor { + __u8 bLength; + __u8 bDescriptorType; + __u8 bDescriptorSubtype; + __u8 bUintID; + __u8 bNrInPins; + __u8 baSourceID[]; +} __attribute__ ((packed)); +static inline __u8 uac_selector_unit_iSelector(struct uac_selector_unit_descriptor *desc) +{ + __u8 *raw = (__u8 *) desc; + return raw[desc->bLength - 1]; +} +struct uac_feature_unit_descriptor { + __u8 bLength; + __u8 bDescriptorType; + __u8 bDescriptorSubtype; + __u8 bUnitID; + __u8 bSourceID; + __u8 bControlSize; + __u8 bmaControls[0]; +} __attribute__((packed)); +static inline __u8 uac_feature_unit_iFeature(struct uac_feature_unit_descriptor *desc) +{ + __u8 *raw = (__u8 *) desc; + return raw[desc->bLength - 1]; +} +struct uac_processing_unit_descriptor { + __u8 bLength; + __u8 bDescriptorType; + __u8 bDescriptorSubtype; + __u8 bUnitID; + __le16 wProcessType; + __u8 bNrInPins; + __u8 baSourceID[]; +} __attribute__ ((packed)); +static inline __u8 uac_processing_unit_bNrChannels(struct uac_processing_unit_descriptor *desc) +{ + return desc->baSourceID[desc->bNrInPins]; +} +static inline __u32 uac_processing_unit_wChannelConfig(struct uac_processing_unit_descriptor *desc, + int protocol) +{ + if (protocol == UAC_VERSION_1) + return (desc->baSourceID[desc->bNrInPins + 2] << 8) | + desc->baSourceID[desc->bNrInPins + 1]; + else + return (desc->baSourceID[desc->bNrInPins + 4] << 24) | + (desc->baSourceID[desc->bNrInPins + 3] << 16) | + (desc->baSourceID[desc->bNrInPins + 2] << 8) | + (desc->baSourceID[desc->bNrInPins + 1]); +} +static inline __u8 uac_processing_unit_iChannelNames(struct uac_processing_unit_descriptor *desc, + int protocol) +{ + return (protocol == UAC_VERSION_1) ? + desc->baSourceID[desc->bNrInPins + 3] : + desc->baSourceID[desc->bNrInPins + 5]; +} +static inline __u8 uac_processing_unit_bControlSize(struct uac_processing_unit_descriptor *desc, + int protocol) +{ + switch (protocol) { + case UAC_VERSION_1: + return desc->baSourceID[desc->bNrInPins + 4]; + case UAC_VERSION_2: + return 2; + case UAC_VERSION_3: + return 4; + default: + return 1; + } +} +static inline __u8 *uac_processing_unit_bmControls(struct uac_processing_unit_descriptor *desc, + int protocol) +{ + switch (protocol) { + case UAC_VERSION_1: + return &desc->baSourceID[desc->bNrInPins + 5]; + case UAC_VERSION_2: + return &desc->baSourceID[desc->bNrInPins + 6]; + case UAC_VERSION_3: + return &desc->baSourceID[desc->bNrInPins + 2]; + default: + return NULL; + } +} +static inline __u8 uac_processing_unit_iProcessing(struct uac_processing_unit_descriptor *desc, + int protocol) +{ + __u8 control_size = uac_processing_unit_bControlSize(desc, protocol); + switch (protocol) { + case UAC_VERSION_1: + case UAC_VERSION_2: + default: + return *(uac_processing_unit_bmControls(desc, protocol) + + control_size); + case UAC_VERSION_3: + return 0; + } +} +static inline __u8 *uac_processing_unit_specific(struct uac_processing_unit_descriptor *desc, + int protocol) +{ + __u8 control_size = uac_processing_unit_bControlSize(desc, protocol); + switch (protocol) { + case UAC_VERSION_1: + case UAC_VERSION_2: + default: + return uac_processing_unit_bmControls(desc, protocol) + + control_size + 1; + case UAC_VERSION_3: + return uac_processing_unit_bmControls(desc, protocol) + + control_size; + } +} +static inline __u8 uac_extension_unit_bControlSize(struct uac_processing_unit_descriptor *desc, + int protocol) +{ + switch (protocol) { + case UAC_VERSION_1: + return desc->baSourceID[desc->bNrInPins + 4]; + case UAC_VERSION_2: + return 1; + case UAC_VERSION_3: + return 4; + default: + return 1; + } +} +static inline __u8 uac_extension_unit_iExtension(struct uac_processing_unit_descriptor *desc, + int protocol) +{ + __u8 control_size = uac_extension_unit_bControlSize(desc, protocol); + switch (protocol) { + case UAC_VERSION_1: + case UAC_VERSION_2: + default: + return *(uac_processing_unit_bmControls(desc, protocol) + + control_size); + case UAC_VERSION_3: + return 0; + } +} +struct uac1_as_header_descriptor { + __u8 bLength; + __u8 bDescriptorType; + __u8 bDescriptorSubtype; + __u8 bTerminalLink; + __u8 bDelay; + __le16 wFormatTag; +} __attribute__ ((packed)); +#define UAC_DT_AS_HEADER_SIZE 7 +#define UAC_FORMAT_TYPE_I_UNDEFINED 0x0 +#define UAC_FORMAT_TYPE_I_PCM 0x1 +#define UAC_FORMAT_TYPE_I_PCM8 0x2 +#define UAC_FORMAT_TYPE_I_IEEE_FLOAT 0x3 +#define UAC_FORMAT_TYPE_I_ALAW 0x4 +#define UAC_FORMAT_TYPE_I_MULAW 0x5 +struct uac_format_type_i_continuous_descriptor { + __u8 bLength; + __u8 bDescriptorType; + __u8 bDescriptorSubtype; + __u8 bFormatType; + __u8 bNrChannels; + __u8 bSubframeSize; + __u8 bBitResolution; + __u8 bSamFreqType; + __u8 tLowerSamFreq[3]; + __u8 tUpperSamFreq[3]; +} __attribute__ ((packed)); +#define UAC_FORMAT_TYPE_I_CONTINUOUS_DESC_SIZE 14 +struct uac_format_type_i_discrete_descriptor { + __u8 bLength; + __u8 bDescriptorType; + __u8 bDescriptorSubtype; + __u8 bFormatType; + __u8 bNrChannels; + __u8 bSubframeSize; + __u8 bBitResolution; + __u8 bSamFreqType; + __u8 tSamFreq[][3]; +} __attribute__ ((packed)); +#define DECLARE_UAC_FORMAT_TYPE_I_DISCRETE_DESC(n) \ +struct uac_format_type_i_discrete_descriptor_##n { \ + __u8 bLength; \ + __u8 bDescriptorType; \ + __u8 bDescriptorSubtype; \ + __u8 bFormatType; \ + __u8 bNrChannels; \ + __u8 bSubframeSize; \ + __u8 bBitResolution; \ + __u8 bSamFreqType; \ + __u8 tSamFreq[n][3]; \ +} __attribute__ ((packed)) +#define UAC_FORMAT_TYPE_I_DISCRETE_DESC_SIZE(n) (8 + (n * 3)) +struct uac_format_type_i_ext_descriptor { + __u8 bLength; + __u8 bDescriptorType; + __u8 bDescriptorSubtype; + __u8 bFormatType; + __u8 bSubslotSize; + __u8 bBitResolution; + __u8 bHeaderLength; + __u8 bControlSize; + __u8 bSideBandProtocol; +} __attribute__((packed)); +#define UAC_FORMAT_TYPE_II_MPEG 0x1001 +#define UAC_FORMAT_TYPE_II_AC3 0x1002 +struct uac_format_type_ii_discrete_descriptor { + __u8 bLength; + __u8 bDescriptorType; + __u8 bDescriptorSubtype; + __u8 bFormatType; + __le16 wMaxBitRate; + __le16 wSamplesPerFrame; + __u8 bSamFreqType; + __u8 tSamFreq[][3]; +} __attribute__((packed)); +struct uac_format_type_ii_ext_descriptor { + __u8 bLength; + __u8 bDescriptorType; + __u8 bDescriptorSubtype; + __u8 bFormatType; + __le16 wMaxBitRate; + __le16 wSamplesPerFrame; + __u8 bHeaderLength; + __u8 bSideBandProtocol; +} __attribute__((packed)); +#define UAC_FORMAT_TYPE_III_IEC1937_AC3 0x2001 +#define UAC_FORMAT_TYPE_III_IEC1937_MPEG1_LAYER1 0x2002 +#define UAC_FORMAT_TYPE_III_IEC1937_MPEG2_NOEXT 0x2003 +#define UAC_FORMAT_TYPE_III_IEC1937_MPEG2_EXT 0x2004 +#define UAC_FORMAT_TYPE_III_IEC1937_MPEG2_LAYER1_LS 0x2005 +#define UAC_FORMAT_TYPE_III_IEC1937_MPEG2_LAYER23_LS 0x2006 +#define UAC_FORMAT_TYPE_UNDEFINED 0x0 +#define UAC_FORMAT_TYPE_I 0x1 +#define UAC_FORMAT_TYPE_II 0x2 +#define UAC_FORMAT_TYPE_III 0x3 +#define UAC_EXT_FORMAT_TYPE_I 0x81 +#define UAC_EXT_FORMAT_TYPE_II 0x82 +#define UAC_EXT_FORMAT_TYPE_III 0x83 +struct uac_iso_endpoint_descriptor { + __u8 bLength; + __u8 bDescriptorType; + __u8 bDescriptorSubtype; + __u8 bmAttributes; + __u8 bLockDelayUnits; + __le16 wLockDelay; +} __attribute__((packed)); +#define UAC_ISO_ENDPOINT_DESC_SIZE 7 +#define UAC_EP_CS_ATTR_SAMPLE_RATE 0x01 +#define UAC_EP_CS_ATTR_PITCH_CONTROL 0x02 +#define UAC_EP_CS_ATTR_FILL_MAX 0x80 +#define UAC1_STATUS_TYPE_ORIG_MASK 0x0f +#define UAC1_STATUS_TYPE_ORIG_AUDIO_CONTROL_IF 0x0 +#define UAC1_STATUS_TYPE_ORIG_AUDIO_STREAM_IF 0x1 +#define UAC1_STATUS_TYPE_ORIG_AUDIO_STREAM_EP 0x2 +#define UAC1_STATUS_TYPE_IRQ_PENDING (1 << 7) +#define UAC1_STATUS_TYPE_MEM_CHANGED (1 << 6) +struct uac1_status_word { + __u8 bStatusType; + __u8 bOriginator; +} __attribute__((packed)); +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/usb/cdc-wdm.h b/linux-5.10/prebuilts/usr/include/linux/usb/cdc-wdm.h new file mode 100644 index 0000000..ec92833 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/usb/cdc-wdm.h @@ -0,0 +1,10 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI__LINUX_USB_CDC_WDM_H +#define _UAPI__LINUX_USB_CDC_WDM_H +#include +#define IOCTL_WDM_MAX_COMMAND _IOR('H', 0xA0, __u16) +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/usb/cdc.h b/linux-5.10/prebuilts/usr/include/linux/usb/cdc.h new file mode 100644 index 0000000..65a7bdc --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/usb/cdc.h @@ -0,0 +1,301 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef __UAPI_LINUX_USB_CDC_H +#define __UAPI_LINUX_USB_CDC_H +#include +#define USB_CDC_SUBCLASS_ACM 0x02 +#define USB_CDC_SUBCLASS_ETHERNET 0x06 +#define USB_CDC_SUBCLASS_WHCM 0x08 +#define USB_CDC_SUBCLASS_DMM 0x09 +#define USB_CDC_SUBCLASS_MDLM 0x0a +#define USB_CDC_SUBCLASS_OBEX 0x0b +#define USB_CDC_SUBCLASS_EEM 0x0c +#define USB_CDC_SUBCLASS_NCM 0x0d +#define USB_CDC_SUBCLASS_MBIM 0x0e +#define USB_CDC_PROTO_NONE 0 +#define USB_CDC_ACM_PROTO_AT_V25TER 1 +#define USB_CDC_ACM_PROTO_AT_PCCA101 2 +#define USB_CDC_ACM_PROTO_AT_PCCA101_WAKE 3 +#define USB_CDC_ACM_PROTO_AT_GSM 4 +#define USB_CDC_ACM_PROTO_AT_3G 5 +#define USB_CDC_ACM_PROTO_AT_CDMA 6 +#define USB_CDC_ACM_PROTO_VENDOR 0xff +#define USB_CDC_PROTO_EEM 7 +#define USB_CDC_NCM_PROTO_NTB 1 +#define USB_CDC_MBIM_PROTO_NTB 2 +#define USB_CDC_HEADER_TYPE 0x00 +#define USB_CDC_CALL_MANAGEMENT_TYPE 0x01 +#define USB_CDC_ACM_TYPE 0x02 +#define USB_CDC_UNION_TYPE 0x06 +#define USB_CDC_COUNTRY_TYPE 0x07 +#define USB_CDC_NETWORK_TERMINAL_TYPE 0x0a +#define USB_CDC_ETHERNET_TYPE 0x0f +#define USB_CDC_WHCM_TYPE 0x11 +#define USB_CDC_MDLM_TYPE 0x12 +#define USB_CDC_MDLM_DETAIL_TYPE 0x13 +#define USB_CDC_DMM_TYPE 0x14 +#define USB_CDC_OBEX_TYPE 0x15 +#define USB_CDC_NCM_TYPE 0x1a +#define USB_CDC_MBIM_TYPE 0x1b +#define USB_CDC_MBIM_EXTENDED_TYPE 0x1c +struct usb_cdc_header_desc { + __u8 bLength; + __u8 bDescriptorType; + __u8 bDescriptorSubType; + __le16 bcdCDC; +} __attribute__ ((packed)); +struct usb_cdc_call_mgmt_descriptor { + __u8 bLength; + __u8 bDescriptorType; + __u8 bDescriptorSubType; + __u8 bmCapabilities; +#define USB_CDC_CALL_MGMT_CAP_CALL_MGMT 0x01 +#define USB_CDC_CALL_MGMT_CAP_DATA_INTF 0x02 + __u8 bDataInterface; +} __attribute__ ((packed)); +struct usb_cdc_acm_descriptor { + __u8 bLength; + __u8 bDescriptorType; + __u8 bDescriptorSubType; + __u8 bmCapabilities; +} __attribute__ ((packed)); +#define USB_CDC_COMM_FEATURE 0x01 +#define USB_CDC_CAP_LINE 0x02 +#define USB_CDC_CAP_BRK 0x04 +#define USB_CDC_CAP_NOTIFY 0x08 +struct usb_cdc_union_desc { + __u8 bLength; + __u8 bDescriptorType; + __u8 bDescriptorSubType; + __u8 bMasterInterface0; + __u8 bSlaveInterface0; + +} __attribute__ ((packed)); +struct usb_cdc_country_functional_desc { + __u8 bLength; + __u8 bDescriptorType; + __u8 bDescriptorSubType; + __u8 iCountryCodeRelDate; + __le16 wCountyCode0; + +} __attribute__ ((packed)); +struct usb_cdc_network_terminal_desc { + __u8 bLength; + __u8 bDescriptorType; + __u8 bDescriptorSubType; + __u8 bEntityId; + __u8 iName; + __u8 bChannelIndex; + __u8 bPhysicalInterface; +} __attribute__ ((packed)); +struct usb_cdc_ether_desc { + __u8 bLength; + __u8 bDescriptorType; + __u8 bDescriptorSubType; + __u8 iMACAddress; + __le32 bmEthernetStatistics; + __le16 wMaxSegmentSize; + __le16 wNumberMCFilters; + __u8 bNumberPowerFilters; +} __attribute__ ((packed)); +struct usb_cdc_dmm_desc { + __u8 bFunctionLength; + __u8 bDescriptorType; + __u8 bDescriptorSubtype; + __u16 bcdVersion; + __le16 wMaxCommand; +} __attribute__ ((packed)); +struct usb_cdc_mdlm_desc { + __u8 bLength; + __u8 bDescriptorType; + __u8 bDescriptorSubType; + __le16 bcdVersion; + __u8 bGUID[16]; +} __attribute__ ((packed)); +struct usb_cdc_mdlm_detail_desc { + __u8 bLength; + __u8 bDescriptorType; + __u8 bDescriptorSubType; + + __u8 bGuidDescriptorType; + __u8 bDetailData[0]; +} __attribute__ ((packed)); +struct usb_cdc_obex_desc { + __u8 bLength; + __u8 bDescriptorType; + __u8 bDescriptorSubType; + __le16 bcdVersion; +} __attribute__ ((packed)); +struct usb_cdc_ncm_desc { + __u8 bLength; + __u8 bDescriptorType; + __u8 bDescriptorSubType; + __le16 bcdNcmVersion; + __u8 bmNetworkCapabilities; +} __attribute__ ((packed)); +struct usb_cdc_mbim_desc { + __u8 bLength; + __u8 bDescriptorType; + __u8 bDescriptorSubType; + __le16 bcdMBIMVersion; + __le16 wMaxControlMessage; + __u8 bNumberFilters; + __u8 bMaxFilterSize; + __le16 wMaxSegmentSize; + __u8 bmNetworkCapabilities; +} __attribute__ ((packed)); +struct usb_cdc_mbim_extended_desc { + __u8 bLength; + __u8 bDescriptorType; + __u8 bDescriptorSubType; + __le16 bcdMBIMExtendedVersion; + __u8 bMaxOutstandingCommandMessages; + __le16 wMTU; +} __attribute__ ((packed)); +#define USB_CDC_SEND_ENCAPSULATED_COMMAND 0x00 +#define USB_CDC_GET_ENCAPSULATED_RESPONSE 0x01 +#define USB_CDC_REQ_SET_LINE_CODING 0x20 +#define USB_CDC_REQ_GET_LINE_CODING 0x21 +#define USB_CDC_REQ_SET_CONTROL_LINE_STATE 0x22 +#define USB_CDC_REQ_SEND_BREAK 0x23 +#define USB_CDC_SET_ETHERNET_MULTICAST_FILTERS 0x40 +#define USB_CDC_SET_ETHERNET_PM_PATTERN_FILTER 0x41 +#define USB_CDC_GET_ETHERNET_PM_PATTERN_FILTER 0x42 +#define USB_CDC_SET_ETHERNET_PACKET_FILTER 0x43 +#define USB_CDC_GET_ETHERNET_STATISTIC 0x44 +#define USB_CDC_GET_NTB_PARAMETERS 0x80 +#define USB_CDC_GET_NET_ADDRESS 0x81 +#define USB_CDC_SET_NET_ADDRESS 0x82 +#define USB_CDC_GET_NTB_FORMAT 0x83 +#define USB_CDC_SET_NTB_FORMAT 0x84 +#define USB_CDC_GET_NTB_INPUT_SIZE 0x85 +#define USB_CDC_SET_NTB_INPUT_SIZE 0x86 +#define USB_CDC_GET_MAX_DATAGRAM_SIZE 0x87 +#define USB_CDC_SET_MAX_DATAGRAM_SIZE 0x88 +#define USB_CDC_GET_CRC_MODE 0x89 +#define USB_CDC_SET_CRC_MODE 0x8a +struct usb_cdc_line_coding { + __le32 dwDTERate; + __u8 bCharFormat; +#define USB_CDC_1_STOP_BITS 0 +#define USB_CDC_1_5_STOP_BITS 1 +#define USB_CDC_2_STOP_BITS 2 + __u8 bParityType; +#define USB_CDC_NO_PARITY 0 +#define USB_CDC_ODD_PARITY 1 +#define USB_CDC_EVEN_PARITY 2 +#define USB_CDC_MARK_PARITY 3 +#define USB_CDC_SPACE_PARITY 4 + __u8 bDataBits; +} __attribute__ ((packed)); +#define USB_CDC_PACKET_TYPE_PROMISCUOUS (1 << 0) +#define USB_CDC_PACKET_TYPE_ALL_MULTICAST (1 << 1) +#define USB_CDC_PACKET_TYPE_DIRECTED (1 << 2) +#define USB_CDC_PACKET_TYPE_BROADCAST (1 << 3) +#define USB_CDC_PACKET_TYPE_MULTICAST (1 << 4) +#define USB_CDC_NOTIFY_NETWORK_CONNECTION 0x00 +#define USB_CDC_NOTIFY_RESPONSE_AVAILABLE 0x01 +#define USB_CDC_NOTIFY_SERIAL_STATE 0x20 +#define USB_CDC_NOTIFY_SPEED_CHANGE 0x2a +struct usb_cdc_notification { + __u8 bmRequestType; + __u8 bNotificationType; + __le16 wValue; + __le16 wIndex; + __le16 wLength; +} __attribute__ ((packed)); +struct usb_cdc_speed_change { + __le32 DLBitRRate; + __le32 ULBitRate; +} __attribute__ ((packed)); +struct usb_cdc_ncm_ntb_parameters { + __le16 wLength; + __le16 bmNtbFormatsSupported; + __le32 dwNtbInMaxSize; + __le16 wNdpInDivisor; + __le16 wNdpInPayloadRemainder; + __le16 wNdpInAlignment; + __le16 wPadding1; + __le32 dwNtbOutMaxSize; + __le16 wNdpOutDivisor; + __le16 wNdpOutPayloadRemainder; + __le16 wNdpOutAlignment; + __le16 wNtbOutMaxDatagrams; +} __attribute__ ((packed)); +#define USB_CDC_NCM_NTH16_SIGN 0x484D434E +#define USB_CDC_NCM_NTH32_SIGN 0x686D636E +struct usb_cdc_ncm_nth16 { + __le32 dwSignature; + __le16 wHeaderLength; + __le16 wSequence; + __le16 wBlockLength; + __le16 wNdpIndex; +} __attribute__ ((packed)); +struct usb_cdc_ncm_nth32 { + __le32 dwSignature; + __le16 wHeaderLength; + __le16 wSequence; + __le32 dwBlockLength; + __le32 dwNdpIndex; +} __attribute__ ((packed)); +#define USB_CDC_NCM_NDP16_CRC_SIGN 0x314D434E +#define USB_CDC_NCM_NDP16_NOCRC_SIGN 0x304D434E +#define USB_CDC_NCM_NDP32_CRC_SIGN 0x316D636E +#define USB_CDC_NCM_NDP32_NOCRC_SIGN 0x306D636E +#define USB_CDC_MBIM_NDP16_IPS_SIGN 0x00535049 +#define USB_CDC_MBIM_NDP32_IPS_SIGN 0x00737069 +#define USB_CDC_MBIM_NDP16_DSS_SIGN 0x00535344 +#define USB_CDC_MBIM_NDP32_DSS_SIGN 0x00737364 +struct usb_cdc_ncm_dpe16 { + __le16 wDatagramIndex; + __le16 wDatagramLength; +} __attribute__((__packed__)); +struct usb_cdc_ncm_ndp16 { + __le32 dwSignature; + __le16 wLength; + __le16 wNextNdpIndex; + struct usb_cdc_ncm_dpe16 dpe16[0]; +} __attribute__ ((packed)); +struct usb_cdc_ncm_dpe32 { + __le32 dwDatagramIndex; + __le32 dwDatagramLength; +} __attribute__((__packed__)); +struct usb_cdc_ncm_ndp32 { + __le32 dwSignature; + __le16 wLength; + __le16 wReserved6; + __le32 dwNextNdpIndex; + __le32 dwReserved12; + struct usb_cdc_ncm_dpe32 dpe32[0]; +} __attribute__ ((packed)); +#define USB_CDC_NCM_NDP16_INDEX_MIN 0x000C +#define USB_CDC_NCM_NDP32_INDEX_MIN 0x0010 +#define USB_CDC_NCM_DATAGRAM_FORMAT_CRC 0x30 +#define USB_CDC_NCM_DATAGRAM_FORMAT_NOCRC 0X31 +#define USB_CDC_NCM_PROTO_CODE_NO_ENCAP_COMMANDS 0x00 +#define USB_CDC_NCM_PROTO_CODE_EXTERN_PROTO 0xFE +#define USB_CDC_NCM_NCAP_ETH_FILTER (1 << 0) +#define USB_CDC_NCM_NCAP_NET_ADDRESS (1 << 1) +#define USB_CDC_NCM_NCAP_ENCAP_COMMAND (1 << 2) +#define USB_CDC_NCM_NCAP_MAX_DATAGRAM_SIZE (1 << 3) +#define USB_CDC_NCM_NCAP_CRC_MODE (1 << 4) +#define USB_CDC_NCM_NCAP_NTB_INPUT_SIZE (1 << 5) +#define USB_CDC_NCM_NTB16_SUPPORTED (1 << 0) +#define USB_CDC_NCM_NTB32_SUPPORTED (1 << 1) +#define USB_CDC_NCM_NDP_ALIGN_MIN_SIZE 0x04 +#define USB_CDC_NCM_NTB_MAX_LENGTH 0x1C +#define USB_CDC_NCM_NTB16_FORMAT 0x00 +#define USB_CDC_NCM_NTB32_FORMAT 0x01 +#define USB_CDC_NCM_NTB_MIN_IN_SIZE 2048 +#define USB_CDC_NCM_NTB_MIN_OUT_SIZE 2048 +struct usb_cdc_ncm_ndp_input_size { + __le32 dwNtbInMaxSize; + __le16 wNtbInMaxDatagrams; + __le16 wReserved; +} __attribute__ ((packed)); +#define USB_CDC_NCM_CRC_NOT_APPENDED 0x00 +#define USB_CDC_NCM_CRC_APPENDED 0x01 +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/usb/ch11.h b/linux-5.10/prebuilts/usr/include/linux/usb/ch11.h new file mode 100644 index 0000000..1f3b73e --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/usb/ch11.h @@ -0,0 +1,171 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef __LINUX_CH11_H +#define __LINUX_CH11_H +#include +#define USB_MAXCHILDREN 31 +#define USB_SS_MAXPORTS 15 +#define USB_RT_HUB (USB_TYPE_CLASS | USB_RECIP_DEVICE) +#define USB_RT_PORT (USB_TYPE_CLASS | USB_RECIP_OTHER) +#define HUB_PORT_STATUS 0 +#define HUB_PORT_PD_STATUS 1 +#define HUB_EXT_PORT_STATUS 2 +#define HUB_CLEAR_TT_BUFFER 8 +#define HUB_RESET_TT 9 +#define HUB_GET_TT_STATE 10 +#define HUB_STOP_TT 11 +#define HUB_SET_DEPTH 12 +#define HUB_GET_PORT_ERR_COUNT 13 +#define C_HUB_LOCAL_POWER 0 +#define C_HUB_OVER_CURRENT 1 +#define USB_PORT_FEAT_CONNECTION 0 +#define USB_PORT_FEAT_ENABLE 1 +#define USB_PORT_FEAT_SUSPEND 2 +#define USB_PORT_FEAT_OVER_CURRENT 3 +#define USB_PORT_FEAT_RESET 4 +#define USB_PORT_FEAT_L1 5 +#define USB_PORT_FEAT_POWER 8 +#define USB_PORT_FEAT_LOWSPEED 9 +#define USB_PORT_FEAT_C_CONNECTION 16 +#define USB_PORT_FEAT_C_ENABLE 17 +#define USB_PORT_FEAT_C_SUSPEND 18 +#define USB_PORT_FEAT_C_OVER_CURRENT 19 +#define USB_PORT_FEAT_C_RESET 20 +#define USB_PORT_FEAT_TEST 21 +#define USB_PORT_FEAT_INDICATOR 22 +#define USB_PORT_FEAT_C_PORT_L1 23 +#define USB_PORT_FEAT_LINK_STATE 5 +#define USB_PORT_FEAT_U1_TIMEOUT 23 +#define USB_PORT_FEAT_U2_TIMEOUT 24 +#define USB_PORT_FEAT_C_PORT_LINK_STATE 25 +#define USB_PORT_FEAT_C_PORT_CONFIG_ERROR 26 +#define USB_PORT_FEAT_REMOTE_WAKE_MASK 27 +#define USB_PORT_FEAT_BH_PORT_RESET 28 +#define USB_PORT_FEAT_C_BH_PORT_RESET 29 +#define USB_PORT_FEAT_FORCE_LINKPM_ACCEPT 30 +#define USB_PORT_LPM_TIMEOUT(p) (((p) & 0xff) << 8) +#define USB_PORT_FEAT_REMOTE_WAKE_CONNECT (1 << 8) +#define USB_PORT_FEAT_REMOTE_WAKE_DISCONNECT (1 << 9) +#define USB_PORT_FEAT_REMOTE_WAKE_OVER_CURRENT (1 << 10) +struct usb_port_status { + __le16 wPortStatus; + __le16 wPortChange; + __le32 dwExtPortStatus; +} __attribute__ ((packed)); +#define USB_PORT_STAT_CONNECTION 0x0001 +#define USB_PORT_STAT_ENABLE 0x0002 +#define USB_PORT_STAT_SUSPEND 0x0004 +#define USB_PORT_STAT_OVERCURRENT 0x0008 +#define USB_PORT_STAT_RESET 0x0010 +#define USB_PORT_STAT_L1 0x0020 +#define USB_PORT_STAT_POWER 0x0100 +#define USB_PORT_STAT_LOW_SPEED 0x0200 +#define USB_PORT_STAT_HIGH_SPEED 0x0400 +#define USB_PORT_STAT_TEST 0x0800 +#define USB_PORT_STAT_INDICATOR 0x1000 +#define USB_PORT_STAT_LINK_STATE 0x01e0 +#define USB_SS_PORT_STAT_POWER 0x0200 +#define USB_SS_PORT_STAT_SPEED 0x1c00 +#define USB_PORT_STAT_SPEED_5GBPS 0x0000 +#define USB_SS_PORT_STAT_MASK (USB_PORT_STAT_CONNECTION | \ + USB_PORT_STAT_ENABLE | \ + USB_PORT_STAT_OVERCURRENT | \ + USB_PORT_STAT_RESET) +#define USB_SS_PORT_LS_U0 0x0000 +#define USB_SS_PORT_LS_U1 0x0020 +#define USB_SS_PORT_LS_U2 0x0040 +#define USB_SS_PORT_LS_U3 0x0060 +#define USB_SS_PORT_LS_SS_DISABLED 0x0080 +#define USB_SS_PORT_LS_RX_DETECT 0x00a0 +#define USB_SS_PORT_LS_SS_INACTIVE 0x00c0 +#define USB_SS_PORT_LS_POLLING 0x00e0 +#define USB_SS_PORT_LS_RECOVERY 0x0100 +#define USB_SS_PORT_LS_HOT_RESET 0x0120 +#define USB_SS_PORT_LS_COMP_MOD 0x0140 +#define USB_SS_PORT_LS_LOOPBACK 0x0160 +#define USB_PORT_STAT_C_CONNECTION 0x0001 +#define USB_PORT_STAT_C_ENABLE 0x0002 +#define USB_PORT_STAT_C_SUSPEND 0x0004 +#define USB_PORT_STAT_C_OVERCURRENT 0x0008 +#define USB_PORT_STAT_C_RESET 0x0010 +#define USB_PORT_STAT_C_L1 0x0020 +#define USB_PORT_STAT_C_BH_RESET 0x0020 +#define USB_PORT_STAT_C_LINK_STATE 0x0040 +#define USB_PORT_STAT_C_CONFIG_ERROR 0x0080 +#define USB_EXT_PORT_STAT_RX_SPEED_ID 0x0000000f +#define USB_EXT_PORT_STAT_TX_SPEED_ID 0x000000f0 +#define USB_EXT_PORT_STAT_RX_LANES 0x00000f00 +#define USB_EXT_PORT_STAT_TX_LANES 0x0000f000 +#define USB_EXT_PORT_RX_LANES(p) \ + (((p) & USB_EXT_PORT_STAT_RX_LANES) >> 8) +#define USB_EXT_PORT_TX_LANES(p) \ + (((p) & USB_EXT_PORT_STAT_TX_LANES) >> 12) +#define HUB_CHAR_LPSM 0x0003 +#define HUB_CHAR_COMMON_LPSM 0x0000 +#define HUB_CHAR_INDV_PORT_LPSM 0x0001 +#define HUB_CHAR_NO_LPSM 0x0002 +#define HUB_CHAR_COMPOUND 0x0004 +#define HUB_CHAR_OCPM 0x0018 +#define HUB_CHAR_COMMON_OCPM 0x0000 +#define HUB_CHAR_INDV_PORT_OCPM 0x0008 +#define HUB_CHAR_NO_OCPM 0x0010 +#define HUB_CHAR_TTTT 0x0060 +#define HUB_CHAR_PORTIND 0x0080 +struct usb_hub_status { + __le16 wHubStatus; + __le16 wHubChange; +} __attribute__ ((packed)); +#define HUB_STATUS_LOCAL_POWER 0x0001 +#define HUB_STATUS_OVERCURRENT 0x0002 +#define HUB_CHANGE_LOCAL_POWER 0x0001 +#define HUB_CHANGE_OVERCURRENT 0x0002 +#define USB_DT_HUB (USB_TYPE_CLASS | 0x09) +#define USB_DT_SS_HUB (USB_TYPE_CLASS | 0x0a) +#define USB_DT_HUB_NONVAR_SIZE 7 +#define USB_DT_SS_HUB_SIZE 12 +#define USB_HUB_PR_FS 0 +#define USB_HUB_PR_HS_NO_TT 0 +#define USB_HUB_PR_HS_SINGLE_TT 1 +#define USB_HUB_PR_HS_MULTI_TT 2 +#define USB_HUB_PR_SS 3 +struct usb_hub_descriptor { + __u8 bDescLength; + __u8 bDescriptorType; + __u8 bNbrPorts; + __le16 wHubCharacteristics; + __u8 bPwrOn2PwrGood; + __u8 bHubContrCurrent; + + union { + struct { + + __u8 DeviceRemovable[(USB_MAXCHILDREN + 1 + 7) / 8]; + __u8 PortPwrCtrlMask[(USB_MAXCHILDREN + 1 + 7) / 8]; + } __attribute__ ((packed)) hs; + struct { + __u8 bHubHdrDecLat; + __le16 wHubDelay; + __le16 DeviceRemovable; + } __attribute__ ((packed)) ss; + } u; +} __attribute__ ((packed)); +#define HUB_LED_AUTO 0 +#define HUB_LED_AMBER 1 +#define HUB_LED_GREEN 2 +#define HUB_LED_OFF 3 +enum hub_led_mode { + INDICATOR_AUTO = 0, + INDICATOR_CYCLE, + + INDICATOR_GREEN_BLINK, INDICATOR_GREEN_BLINK_OFF, + INDICATOR_AMBER_BLINK, INDICATOR_AMBER_BLINK_OFF, + INDICATOR_ALT_BLINK, INDICATOR_ALT_BLINK_OFF +} __attribute__ ((packed)); +#define HUB_TTTT_8_BITS 0x00 +#define HUB_TTTT_16_BITS 0x20 +#define HUB_TTTT_24_BITS 0x40 +#define HUB_TTTT_32_BITS 0x60 +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/usb/ch9.h b/linux-5.10/prebuilts/usr/include/linux/usb/ch9.h new file mode 100644 index 0000000..8fe0336 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/usb/ch9.h @@ -0,0 +1,681 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI__LINUX_USB_CH9_H +#define _UAPI__LINUX_USB_CH9_H +#include +#include +#define USB_DIR_OUT 0 +#define USB_DIR_IN 0x80 +#define USB_TYPE_MASK (0x03 << 5) +#define USB_TYPE_STANDARD (0x00 << 5) +#define USB_TYPE_CLASS (0x01 << 5) +#define USB_TYPE_VENDOR (0x02 << 5) +#define USB_TYPE_RESERVED (0x03 << 5) +#define USB_RECIP_MASK 0x1f +#define USB_RECIP_DEVICE 0x00 +#define USB_RECIP_INTERFACE 0x01 +#define USB_RECIP_ENDPOINT 0x02 +#define USB_RECIP_OTHER 0x03 +#define USB_RECIP_PORT 0x04 +#define USB_RECIP_RPIPE 0x05 +#define USB_REQ_GET_STATUS 0x00 +#define USB_REQ_CLEAR_FEATURE 0x01 +#define USB_REQ_SET_FEATURE 0x03 +#define USB_REQ_SET_ADDRESS 0x05 +#define USB_REQ_GET_DESCRIPTOR 0x06 +#define USB_REQ_SET_DESCRIPTOR 0x07 +#define USB_REQ_GET_CONFIGURATION 0x08 +#define USB_REQ_SET_CONFIGURATION 0x09 +#define USB_REQ_GET_INTERFACE 0x0A +#define USB_REQ_SET_INTERFACE 0x0B +#define USB_REQ_SYNCH_FRAME 0x0C +#define USB_REQ_SET_SEL 0x30 +#define USB_REQ_SET_ISOCH_DELAY 0x31 +#define USB_REQ_SET_ENCRYPTION 0x0D +#define USB_REQ_GET_ENCRYPTION 0x0E +#define USB_REQ_RPIPE_ABORT 0x0E +#define USB_REQ_SET_HANDSHAKE 0x0F +#define USB_REQ_RPIPE_RESET 0x0F +#define USB_REQ_GET_HANDSHAKE 0x10 +#define USB_REQ_SET_CONNECTION 0x11 +#define USB_REQ_SET_SECURITY_DATA 0x12 +#define USB_REQ_GET_SECURITY_DATA 0x13 +#define USB_REQ_SET_WUSB_DATA 0x14 +#define USB_REQ_LOOPBACK_DATA_WRITE 0x15 +#define USB_REQ_LOOPBACK_DATA_READ 0x16 +#define USB_REQ_SET_INTERFACE_DS 0x17 +#define USB_REQ_GET_PARTNER_PDO 20 +#define USB_REQ_GET_BATTERY_STATUS 21 +#define USB_REQ_SET_PDO 22 +#define USB_REQ_GET_VDM 23 +#define USB_REQ_SEND_VDM 24 +#define USB_DEVICE_SELF_POWERED 0 +#define USB_DEVICE_REMOTE_WAKEUP 1 +#define USB_DEVICE_TEST_MODE 2 +#define USB_DEVICE_BATTERY 2 +#define USB_DEVICE_B_HNP_ENABLE 3 +#define USB_DEVICE_WUSB_DEVICE 3 +#define USB_DEVICE_A_HNP_SUPPORT 4 +#define USB_DEVICE_A_ALT_HNP_SUPPORT 5 +#define USB_DEVICE_DEBUG_MODE 6 +#define USB_TEST_J 1 +#define USB_TEST_K 2 +#define USB_TEST_SE0_NAK 3 +#define USB_TEST_PACKET 4 +#define USB_TEST_FORCE_ENABLE 5 +#define USB_STATUS_TYPE_STANDARD 0 +#define USB_STATUS_TYPE_PTM 1 +#define USB_DEVICE_U1_ENABLE 48 +#define USB_DEVICE_U2_ENABLE 49 +#define USB_DEVICE_LTM_ENABLE 50 +#define USB_INTRF_FUNC_SUSPEND 0 +#define USB_INTR_FUNC_SUSPEND_OPT_MASK 0xFF00 +#define USB_INTRF_FUNC_SUSPEND_LP (1 << (8 + 0)) +#define USB_INTRF_FUNC_SUSPEND_RW (1 << (8 + 1)) +#define USB_INTRF_STAT_FUNC_RW_CAP 1 +#define USB_INTRF_STAT_FUNC_RW 2 +#define USB_ENDPOINT_HALT 0 +#define USB_DEV_STAT_U1_ENABLED 2 +#define USB_DEV_STAT_U2_ENABLED 3 +#define USB_DEV_STAT_LTM_ENABLED 4 +#define USB_DEVICE_BATTERY_WAKE_MASK 40 +#define USB_DEVICE_OS_IS_PD_AWARE 41 +#define USB_DEVICE_POLICY_MODE 42 +#define USB_PORT_PR_SWAP 43 +#define USB_PORT_GOTO_MIN 44 +#define USB_PORT_RETURN_POWER 45 +#define USB_PORT_ACCEPT_PD_REQUEST 46 +#define USB_PORT_REJECT_PD_REQUEST 47 +#define USB_PORT_PORT_PD_RESET 48 +#define USB_PORT_C_PORT_PD_CHANGE 49 +#define USB_PORT_CABLE_PD_RESET 50 +#define USB_DEVICE_CHARGING_POLICY 54 +struct usb_ctrlrequest { + __u8 bRequestType; + __u8 bRequest; + __le16 wValue; + __le16 wIndex; + __le16 wLength; +} __attribute__ ((packed)); +#define USB_DT_DEVICE 0x01 +#define USB_DT_CONFIG 0x02 +#define USB_DT_STRING 0x03 +#define USB_DT_INTERFACE 0x04 +#define USB_DT_ENDPOINT 0x05 +#define USB_DT_DEVICE_QUALIFIER 0x06 +#define USB_DT_OTHER_SPEED_CONFIG 0x07 +#define USB_DT_INTERFACE_POWER 0x08 +#define USB_DT_OTG 0x09 +#define USB_DT_DEBUG 0x0a +#define USB_DT_INTERFACE_ASSOCIATION 0x0b +#define USB_DT_SECURITY 0x0c +#define USB_DT_KEY 0x0d +#define USB_DT_ENCRYPTION_TYPE 0x0e +#define USB_DT_BOS 0x0f +#define USB_DT_DEVICE_CAPABILITY 0x10 +#define USB_DT_WIRELESS_ENDPOINT_COMP 0x11 +#define USB_DT_WIRE_ADAPTER 0x21 +#define USB_DT_RPIPE 0x22 +#define USB_DT_CS_RADIO_CONTROL 0x23 +#define USB_DT_PIPE_USAGE 0x24 +#define USB_DT_SS_ENDPOINT_COMP 0x30 +#define USB_DT_SSP_ISOC_ENDPOINT_COMP 0x31 +#define USB_DT_CS_DEVICE (USB_TYPE_CLASS | USB_DT_DEVICE) +#define USB_DT_CS_CONFIG (USB_TYPE_CLASS | USB_DT_CONFIG) +#define USB_DT_CS_STRING (USB_TYPE_CLASS | USB_DT_STRING) +#define USB_DT_CS_INTERFACE (USB_TYPE_CLASS | USB_DT_INTERFACE) +#define USB_DT_CS_ENDPOINT (USB_TYPE_CLASS | USB_DT_ENDPOINT) +struct usb_descriptor_header { + __u8 bLength; + __u8 bDescriptorType; +} __attribute__ ((packed)); +struct usb_device_descriptor { + __u8 bLength; + __u8 bDescriptorType; + __le16 bcdUSB; + __u8 bDeviceClass; + __u8 bDeviceSubClass; + __u8 bDeviceProtocol; + __u8 bMaxPacketSize0; + __le16 idVendor; + __le16 idProduct; + __le16 bcdDevice; + __u8 iManufacturer; + __u8 iProduct; + __u8 iSerialNumber; + __u8 bNumConfigurations; +} __attribute__ ((packed)); +#define USB_DT_DEVICE_SIZE 18 +#define USB_CLASS_PER_INTERFACE 0 +#define USB_CLASS_AUDIO 1 +#define USB_CLASS_COMM 2 +#define USB_CLASS_HID 3 +#define USB_CLASS_PHYSICAL 5 +#define USB_CLASS_STILL_IMAGE 6 +#define USB_CLASS_PRINTER 7 +#define USB_CLASS_MASS_STORAGE 8 +#define USB_CLASS_HUB 9 +#define USB_CLASS_CDC_DATA 0x0a +#define USB_CLASS_CSCID 0x0b +#define USB_CLASS_CONTENT_SEC 0x0d +#define USB_CLASS_VIDEO 0x0e +#define USB_CLASS_WIRELESS_CONTROLLER 0xe0 +#define USB_CLASS_PERSONAL_HEALTHCARE 0x0f +#define USB_CLASS_AUDIO_VIDEO 0x10 +#define USB_CLASS_BILLBOARD 0x11 +#define USB_CLASS_USB_TYPE_C_BRIDGE 0x12 +#define USB_CLASS_MISC 0xef +#define USB_CLASS_APP_SPEC 0xfe +#define USB_CLASS_VENDOR_SPEC 0xff +#define USB_SUBCLASS_VENDOR_SPEC 0xff +struct usb_config_descriptor { + __u8 bLength; + __u8 bDescriptorType; + __le16 wTotalLength; + __u8 bNumInterfaces; + __u8 bConfigurationValue; + __u8 iConfiguration; + __u8 bmAttributes; + __u8 bMaxPower; +} __attribute__ ((packed)); +#define USB_DT_CONFIG_SIZE 9 +#define USB_CONFIG_ATT_ONE (1 << 7) +#define USB_CONFIG_ATT_SELFPOWER (1 << 6) +#define USB_CONFIG_ATT_WAKEUP (1 << 5) +#define USB_CONFIG_ATT_BATTERY (1 << 4) +#define USB_MAX_STRING_LEN 126 +struct usb_string_descriptor { + __u8 bLength; + __u8 bDescriptorType; + __le16 wData[1]; +} __attribute__ ((packed)); +struct usb_interface_descriptor { + __u8 bLength; + __u8 bDescriptorType; + __u8 bInterfaceNumber; + __u8 bAlternateSetting; + __u8 bNumEndpoints; + __u8 bInterfaceClass; + __u8 bInterfaceSubClass; + __u8 bInterfaceProtocol; + __u8 iInterface; +} __attribute__ ((packed)); +#define USB_DT_INTERFACE_SIZE 9 +struct usb_endpoint_descriptor { + __u8 bLength; + __u8 bDescriptorType; + __u8 bEndpointAddress; + __u8 bmAttributes; + __le16 wMaxPacketSize; + __u8 bInterval; + + + __u8 bRefresh; + __u8 bSynchAddress; +} __attribute__ ((packed)); +#define USB_DT_ENDPOINT_SIZE 7 +#define USB_DT_ENDPOINT_AUDIO_SIZE 9 +#define USB_ENDPOINT_NUMBER_MASK 0x0f +#define USB_ENDPOINT_DIR_MASK 0x80 +#define USB_ENDPOINT_XFERTYPE_MASK 0x03 +#define USB_ENDPOINT_XFER_CONTROL 0 +#define USB_ENDPOINT_XFER_ISOC 1 +#define USB_ENDPOINT_XFER_BULK 2 +#define USB_ENDPOINT_XFER_INT 3 +#define USB_ENDPOINT_MAX_ADJUSTABLE 0x80 +#define USB_ENDPOINT_MAXP_MASK 0x07ff +#define USB_EP_MAXP_MULT_SHIFT 11 +#define USB_EP_MAXP_MULT_MASK (3 << USB_EP_MAXP_MULT_SHIFT) +#define USB_EP_MAXP_MULT(m) \ + (((m) & USB_EP_MAXP_MULT_MASK) >> USB_EP_MAXP_MULT_SHIFT) +#define USB_ENDPOINT_INTRTYPE 0x30 +#define USB_ENDPOINT_INTR_PERIODIC (0 << 4) +#define USB_ENDPOINT_INTR_NOTIFICATION (1 << 4) +#define USB_ENDPOINT_SYNCTYPE 0x0c +#define USB_ENDPOINT_SYNC_NONE (0 << 2) +#define USB_ENDPOINT_SYNC_ASYNC (1 << 2) +#define USB_ENDPOINT_SYNC_ADAPTIVE (2 << 2) +#define USB_ENDPOINT_SYNC_SYNC (3 << 2) +#define USB_ENDPOINT_USAGE_MASK 0x30 +#define USB_ENDPOINT_USAGE_DATA 0x00 +#define USB_ENDPOINT_USAGE_FEEDBACK 0x10 +#define USB_ENDPOINT_USAGE_IMPLICIT_FB 0x20 +static inline int usb_endpoint_num(const struct usb_endpoint_descriptor *epd) +{ + return epd->bEndpointAddress & USB_ENDPOINT_NUMBER_MASK; +} +static inline int usb_endpoint_type(const struct usb_endpoint_descriptor *epd) +{ + return epd->bmAttributes & USB_ENDPOINT_XFERTYPE_MASK; +} +static inline int usb_endpoint_dir_in(const struct usb_endpoint_descriptor *epd) +{ + return ((epd->bEndpointAddress & USB_ENDPOINT_DIR_MASK) == USB_DIR_IN); +} +static inline int usb_endpoint_dir_out( + const struct usb_endpoint_descriptor *epd) +{ + return ((epd->bEndpointAddress & USB_ENDPOINT_DIR_MASK) == USB_DIR_OUT); +} +static inline int usb_endpoint_xfer_bulk( + const struct usb_endpoint_descriptor *epd) +{ + return ((epd->bmAttributes & USB_ENDPOINT_XFERTYPE_MASK) == + USB_ENDPOINT_XFER_BULK); +} +static inline int usb_endpoint_xfer_control( + const struct usb_endpoint_descriptor *epd) +{ + return ((epd->bmAttributes & USB_ENDPOINT_XFERTYPE_MASK) == + USB_ENDPOINT_XFER_CONTROL); +} +static inline int usb_endpoint_xfer_int( + const struct usb_endpoint_descriptor *epd) +{ + return ((epd->bmAttributes & USB_ENDPOINT_XFERTYPE_MASK) == + USB_ENDPOINT_XFER_INT); +} +static inline int usb_endpoint_xfer_isoc( + const struct usb_endpoint_descriptor *epd) +{ + return ((epd->bmAttributes & USB_ENDPOINT_XFERTYPE_MASK) == + USB_ENDPOINT_XFER_ISOC); +} +static inline int usb_endpoint_is_bulk_in( + const struct usb_endpoint_descriptor *epd) +{ + return usb_endpoint_xfer_bulk(epd) && usb_endpoint_dir_in(epd); +} +static inline int usb_endpoint_is_bulk_out( + const struct usb_endpoint_descriptor *epd) +{ + return usb_endpoint_xfer_bulk(epd) && usb_endpoint_dir_out(epd); +} +static inline int usb_endpoint_is_int_in( + const struct usb_endpoint_descriptor *epd) +{ + return usb_endpoint_xfer_int(epd) && usb_endpoint_dir_in(epd); +} +static inline int usb_endpoint_is_int_out( + const struct usb_endpoint_descriptor *epd) +{ + return usb_endpoint_xfer_int(epd) && usb_endpoint_dir_out(epd); +} +static inline int usb_endpoint_is_isoc_in( + const struct usb_endpoint_descriptor *epd) +{ + return usb_endpoint_xfer_isoc(epd) && usb_endpoint_dir_in(epd); +} +static inline int usb_endpoint_is_isoc_out( + const struct usb_endpoint_descriptor *epd) +{ + return usb_endpoint_xfer_isoc(epd) && usb_endpoint_dir_out(epd); +} +static inline int usb_endpoint_maxp(const struct usb_endpoint_descriptor *epd) +{ + return __le16_to_cpu(epd->wMaxPacketSize) & USB_ENDPOINT_MAXP_MASK; +} +static inline int +usb_endpoint_maxp_mult(const struct usb_endpoint_descriptor *epd) +{ + int maxp = __le16_to_cpu(epd->wMaxPacketSize); + return USB_EP_MAXP_MULT(maxp) + 1; +} +static inline int usb_endpoint_interrupt_type( + const struct usb_endpoint_descriptor *epd) +{ + return epd->bmAttributes & USB_ENDPOINT_INTRTYPE; +} +struct usb_ssp_isoc_ep_comp_descriptor { + __u8 bLength; + __u8 bDescriptorType; + __le16 wReseved; + __le32 dwBytesPerInterval; +} __attribute__ ((packed)); +#define USB_DT_SSP_ISOC_EP_COMP_SIZE 8 +struct usb_ss_ep_comp_descriptor { + __u8 bLength; + __u8 bDescriptorType; + __u8 bMaxBurst; + __u8 bmAttributes; + __le16 wBytesPerInterval; +} __attribute__ ((packed)); +#define USB_DT_SS_EP_COMP_SIZE 6 +static inline int +usb_ss_max_streams(const struct usb_ss_ep_comp_descriptor *comp) +{ + int max_streams; + if (!comp) + return 0; + max_streams = comp->bmAttributes & 0x1f; + if (!max_streams) + return 0; + max_streams = 1 << max_streams; + return max_streams; +} +#define USB_SS_MULT(p) (1 + ((p) & 0x3)) +#define USB_SS_SSP_ISOC_COMP(p) ((p) & (1 << 7)) +struct usb_qualifier_descriptor { + __u8 bLength; + __u8 bDescriptorType; + __le16 bcdUSB; + __u8 bDeviceClass; + __u8 bDeviceSubClass; + __u8 bDeviceProtocol; + __u8 bMaxPacketSize0; + __u8 bNumConfigurations; + __u8 bRESERVED; +} __attribute__ ((packed)); +struct usb_otg_descriptor { + __u8 bLength; + __u8 bDescriptorType; + __u8 bmAttributes; +} __attribute__ ((packed)); +struct usb_otg20_descriptor { + __u8 bLength; + __u8 bDescriptorType; + __u8 bmAttributes; + __le16 bcdOTG; +} __attribute__ ((packed)); +#define USB_OTG_SRP (1 << 0) +#define USB_OTG_HNP (1 << 1) +#define USB_OTG_ADP (1 << 2) +#define OTG_STS_SELECTOR 0xF000 +struct usb_debug_descriptor { + __u8 bLength; + __u8 bDescriptorType; + + __u8 bDebugInEndpoint; + __u8 bDebugOutEndpoint; +} __attribute__((packed)); +struct usb_interface_assoc_descriptor { + __u8 bLength; + __u8 bDescriptorType; + __u8 bFirstInterface; + __u8 bInterfaceCount; + __u8 bFunctionClass; + __u8 bFunctionSubClass; + __u8 bFunctionProtocol; + __u8 iFunction; +} __attribute__ ((packed)); +#define USB_DT_INTERFACE_ASSOCIATION_SIZE 8 +struct usb_security_descriptor { + __u8 bLength; + __u8 bDescriptorType; + __le16 wTotalLength; + __u8 bNumEncryptionTypes; +} __attribute__((packed)); +struct usb_key_descriptor { + __u8 bLength; + __u8 bDescriptorType; + __u8 tTKID[3]; + __u8 bReserved; + __u8 bKeyData[0]; +} __attribute__((packed)); +struct usb_encryption_descriptor { + __u8 bLength; + __u8 bDescriptorType; + __u8 bEncryptionType; +#define USB_ENC_TYPE_UNSECURE 0 +#define USB_ENC_TYPE_WIRED 1 +#define USB_ENC_TYPE_CCM_1 2 +#define USB_ENC_TYPE_RSA_1 3 + __u8 bEncryptionValue; + __u8 bAuthKeyIndex; +} __attribute__((packed)); +struct usb_bos_descriptor { + __u8 bLength; + __u8 bDescriptorType; + __le16 wTotalLength; + __u8 bNumDeviceCaps; +} __attribute__((packed)); +#define USB_DT_BOS_SIZE 5 +struct usb_dev_cap_header { + __u8 bLength; + __u8 bDescriptorType; + __u8 bDevCapabilityType; +} __attribute__((packed)); +#define USB_CAP_TYPE_WIRELESS_USB 1 +struct usb_wireless_cap_descriptor { + __u8 bLength; + __u8 bDescriptorType; + __u8 bDevCapabilityType; + __u8 bmAttributes; +#define USB_WIRELESS_P2P_DRD (1 << 1) +#define USB_WIRELESS_BEACON_MASK (3 << 2) +#define USB_WIRELESS_BEACON_SELF (1 << 2) +#define USB_WIRELESS_BEACON_DIRECTED (2 << 2) +#define USB_WIRELESS_BEACON_NONE (3 << 2) + __le16 wPHYRates; +#define USB_WIRELESS_PHY_53 (1 << 0) +#define USB_WIRELESS_PHY_80 (1 << 1) +#define USB_WIRELESS_PHY_107 (1 << 2) +#define USB_WIRELESS_PHY_160 (1 << 3) +#define USB_WIRELESS_PHY_200 (1 << 4) +#define USB_WIRELESS_PHY_320 (1 << 5) +#define USB_WIRELESS_PHY_400 (1 << 6) +#define USB_WIRELESS_PHY_480 (1 << 7) + __u8 bmTFITXPowerInfo; + __u8 bmFFITXPowerInfo; + __le16 bmBandGroup; + __u8 bReserved; +} __attribute__((packed)); +#define USB_DT_USB_WIRELESS_CAP_SIZE 11 +#define USB_CAP_TYPE_EXT 2 +struct usb_ext_cap_descriptor { + __u8 bLength; + __u8 bDescriptorType; + __u8 bDevCapabilityType; + __le32 bmAttributes; +#define USB_LPM_SUPPORT (1 << 1) +#define USB_BESL_SUPPORT (1 << 2) +#define USB_BESL_BASELINE_VALID (1 << 3) +#define USB_BESL_DEEP_VALID (1 << 4) +#define USB_SET_BESL_BASELINE(p) (((p) & 0xf) << 8) +#define USB_SET_BESL_DEEP(p) (((p) & 0xf) << 12) +#define USB_GET_BESL_BASELINE(p) (((p) & (0xf << 8)) >> 8) +#define USB_GET_BESL_DEEP(p) (((p) & (0xf << 12)) >> 12) +} __attribute__((packed)); +#define USB_DT_USB_EXT_CAP_SIZE 7 +#define USB_SS_CAP_TYPE 3 +struct usb_ss_cap_descriptor { + __u8 bLength; + __u8 bDescriptorType; + __u8 bDevCapabilityType; + __u8 bmAttributes; +#define USB_LTM_SUPPORT (1 << 1) + __le16 wSpeedSupported; +#define USB_LOW_SPEED_OPERATION (1) +#define USB_FULL_SPEED_OPERATION (1 << 1) +#define USB_HIGH_SPEED_OPERATION (1 << 2) +#define USB_5GBPS_OPERATION (1 << 3) + __u8 bFunctionalitySupport; + __u8 bU1devExitLat; + __le16 bU2DevExitLat; +} __attribute__((packed)); +#define USB_DT_USB_SS_CAP_SIZE 10 +#define CONTAINER_ID_TYPE 4 +struct usb_ss_container_id_descriptor { + __u8 bLength; + __u8 bDescriptorType; + __u8 bDevCapabilityType; + __u8 bReserved; + __u8 ContainerID[16]; +} __attribute__((packed)); +#define USB_DT_USB_SS_CONTN_ID_SIZE 20 +#define USB_SSP_CAP_TYPE 0xa +struct usb_ssp_cap_descriptor { + __u8 bLength; + __u8 bDescriptorType; + __u8 bDevCapabilityType; + __u8 bReserved; + __le32 bmAttributes; +#define USB_SSP_SUBLINK_SPEED_ATTRIBS (0x1f << 0) +#define USB_SSP_SUBLINK_SPEED_IDS (0xf << 5) + __le16 wFunctionalitySupport; +#define USB_SSP_MIN_SUBLINK_SPEED_ATTRIBUTE_ID (0xf) +#define USB_SSP_MIN_RX_LANE_COUNT (0xf << 8) +#define USB_SSP_MIN_TX_LANE_COUNT (0xf << 12) + __le16 wReserved; + __le32 bmSublinkSpeedAttr[1]; +#define USB_SSP_SUBLINK_SPEED_SSID (0xf) +#define USB_SSP_SUBLINK_SPEED_LSE (0x3 << 4) +#define USB_SSP_SUBLINK_SPEED_ST (0x3 << 6) +#define USB_SSP_SUBLINK_SPEED_RSVD (0x3f << 8) +#define USB_SSP_SUBLINK_SPEED_LP (0x3 << 14) +#define USB_SSP_SUBLINK_SPEED_LSM (0xff << 16) +} __attribute__((packed)); +#define USB_PD_POWER_DELIVERY_CAPABILITY 0x06 +#define USB_PD_BATTERY_INFO_CAPABILITY 0x07 +#define USB_PD_PD_CONSUMER_PORT_CAPABILITY 0x08 +#define USB_PD_PD_PROVIDER_PORT_CAPABILITY 0x09 +struct usb_pd_cap_descriptor { + __u8 bLength; + __u8 bDescriptorType; + __u8 bDevCapabilityType; + __u8 bReserved; + __le32 bmAttributes; +#define USB_PD_CAP_BATTERY_CHARGING (1 << 1) +#define USB_PD_CAP_USB_PD (1 << 2) +#define USB_PD_CAP_PROVIDER (1 << 3) +#define USB_PD_CAP_CONSUMER (1 << 4) +#define USB_PD_CAP_CHARGING_POLICY (1 << 5) +#define USB_PD_CAP_TYPE_C_CURRENT (1 << 6) +#define USB_PD_CAP_PWR_AC (1 << 8) +#define USB_PD_CAP_PWR_BAT (1 << 9) +#define USB_PD_CAP_PWR_USE_V_BUS (1 << 14) + __le16 bmProviderPorts; + __le16 bmConsumerPorts; + __le16 bcdBCVersion; + __le16 bcdPDVersion; + __le16 bcdUSBTypeCVersion; +} __attribute__((packed)); +struct usb_pd_cap_battery_info_descriptor { + __u8 bLength; + __u8 bDescriptorType; + __u8 bDevCapabilityType; + + __u8 iBattery; + + __u8 iSerial; + __u8 iManufacturer; + __u8 bBatteryId; + __u8 bReserved; + + __le32 dwChargedThreshold; + + __le32 dwWeakThreshold; + __le32 dwBatteryDesignCapacity; + __le32 dwBatteryLastFullchargeCapacity; +} __attribute__((packed)); +struct usb_pd_cap_consumer_port_descriptor { + __u8 bLength; + __u8 bDescriptorType; + __u8 bDevCapabilityType; + __u8 bReserved; + __u8 bmCapabilities; +#define USB_PD_CAP_CONSUMER_BC (1 << 0) +#define USB_PD_CAP_CONSUMER_PD (1 << 1) +#define USB_PD_CAP_CONSUMER_TYPE_C (1 << 2) + __le16 wMinVoltage; + __le16 wMaxVoltage; + __u16 wReserved; + __le32 dwMaxOperatingPower; + __le32 dwMaxPeakPower; + __le32 dwMaxPeakPowerTime; +#define USB_PD_CAP_CONSUMER_UNKNOWN_PEAK_POWER_TIME 0xffff +} __attribute__((packed)); +struct usb_pd_cap_provider_port_descriptor { + __u8 bLength; + __u8 bDescriptorType; + __u8 bDevCapabilityType; + __u8 bReserved1; + __u8 bmCapabilities; +#define USB_PD_CAP_PROVIDER_BC (1 << 0) +#define USB_PD_CAP_PROVIDER_PD (1 << 1) +#define USB_PD_CAP_PROVIDER_TYPE_C (1 << 2) + __u8 bNumOfPDObjects; + __u8 bReserved2; + __le32 wPowerDataObject[]; +} __attribute__((packed)); +#define USB_PTM_CAP_TYPE 0xb +struct usb_ptm_cap_descriptor { + __u8 bLength; + __u8 bDescriptorType; + __u8 bDevCapabilityType; +} __attribute__((packed)); +#define USB_DT_USB_PTM_ID_SIZE 3 +#define USB_DT_USB_SSP_CAP_SIZE(ssac) (12 + (ssac + 1) * 4) +struct usb_wireless_ep_comp_descriptor { + __u8 bLength; + __u8 bDescriptorType; + __u8 bMaxBurst; + __u8 bMaxSequence; + __le16 wMaxStreamDelay; + __le16 wOverTheAirPacketSize; + __u8 bOverTheAirInterval; + __u8 bmCompAttributes; +#define USB_ENDPOINT_SWITCH_MASK 0x03 +#define USB_ENDPOINT_SWITCH_NO 0 +#define USB_ENDPOINT_SWITCH_SWITCH 1 +#define USB_ENDPOINT_SWITCH_SCALE 2 +} __attribute__((packed)); +struct usb_handshake { + __u8 bMessageNumber; + __u8 bStatus; + __u8 tTKID[3]; + __u8 bReserved; + __u8 CDID[16]; + __u8 nonce[16]; + __u8 MIC[8]; +} __attribute__((packed)); +struct usb_connection_context { + __u8 CHID[16]; + __u8 CDID[16]; + __u8 CK[16]; +} __attribute__((packed)); +enum usb_device_speed { + USB_SPEED_UNKNOWN = 0, + USB_SPEED_LOW, USB_SPEED_FULL, + USB_SPEED_HIGH, + USB_SPEED_WIRELESS, + USB_SPEED_SUPER, + USB_SPEED_SUPER_PLUS, +}; +enum usb_device_state { + + USB_STATE_NOTATTACHED = 0, + + USB_STATE_ATTACHED, + USB_STATE_POWERED, + USB_STATE_RECONNECTING, + USB_STATE_UNAUTHENTICATED, + USB_STATE_DEFAULT, + USB_STATE_ADDRESS, + USB_STATE_CONFIGURED, + USB_STATE_SUSPENDED + +}; +enum usb3_link_state { + USB3_LPM_U0 = 0, + USB3_LPM_U1, + USB3_LPM_U2, + USB3_LPM_U3 +}; +#define USB3_LPM_DISABLED 0x0 +#define USB3_LPM_U1_MAX_TIMEOUT 0x7F +#define USB3_LPM_U2_MAX_TIMEOUT 0xFE +#define USB3_LPM_DEVICE_INITIATED 0xFF +struct usb_set_sel_req { + __u8 u1_sel; + __u8 u1_pel; + __le16 u2_sel; + __le16 u2_pel; +} __attribute__ ((packed)); +#define USB3_LPM_MAX_U1_SEL_PEL 0xFF +#define USB3_LPM_MAX_U2_SEL_PEL 0xFFFF +#define USB_SELF_POWER_VBUS_MAX_DRAW 100 +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/usb/charger.h b/linux-5.10/prebuilts/usr/include/linux/usb/charger.h new file mode 100644 index 0000000..7c318f3 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/usb/charger.h @@ -0,0 +1,20 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI__LINUX_USB_CHARGER_H +#define _UAPI__LINUX_USB_CHARGER_H +enum usb_charger_type { + UNKNOWN_TYPE = 0, + SDP_TYPE = 1, + DCP_TYPE = 2, + CDP_TYPE = 3, + ACA_TYPE = 4, +}; +enum usb_charger_state { + USB_CHARGER_DEFAULT = 0, + USB_CHARGER_PRESENT = 1, + USB_CHARGER_ABSENT = 2, +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/usb/f_accessory.h b/linux-5.10/prebuilts/usr/include/linux/usb/f_accessory.h new file mode 100644 index 0000000..b020ed2 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/usb/f_accessory.h @@ -0,0 +1,33 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI_LINUX_USB_F_ACCESSORY_H +#define _UAPI_LINUX_USB_F_ACCESSORY_H +#define USB_ACCESSORY_VENDOR_ID 0x18D1 +#define USB_ACCESSORY_PRODUCT_ID 0x2D00 +#define USB_ACCESSORY_ADB_PRODUCT_ID 0x2D01 +#define ACCESSORY_STRING_MANUFACTURER 0 +#define ACCESSORY_STRING_MODEL 1 +#define ACCESSORY_STRING_DESCRIPTION 2 +#define ACCESSORY_STRING_VERSION 3 +#define ACCESSORY_STRING_URI 4 +#define ACCESSORY_STRING_SERIAL 5 +#define ACCESSORY_GET_PROTOCOL 51 +#define ACCESSORY_SEND_STRING 52 +#define ACCESSORY_START 53 +#define ACCESSORY_REGISTER_HID 54 +#define ACCESSORY_UNREGISTER_HID 55 +#define ACCESSORY_SET_HID_REPORT_DESC 56 +#define ACCESSORY_SEND_HID_EVENT 57 +#define ACCESSORY_SET_AUDIO_MODE 58 +#define ACCESSORY_GET_STRING_MANUFACTURER _IOW('M', 1, char[256]) +#define ACCESSORY_GET_STRING_MODEL _IOW('M', 2, char[256]) +#define ACCESSORY_GET_STRING_DESCRIPTION _IOW('M', 3, char[256]) +#define ACCESSORY_GET_STRING_VERSION _IOW('M', 4, char[256]) +#define ACCESSORY_GET_STRING_URI _IOW('M', 5, char[256]) +#define ACCESSORY_GET_STRING_SERIAL _IOW('M', 6, char[256]) +#define ACCESSORY_IS_START_REQUESTED _IO('M', 7) +#define ACCESSORY_GET_AUDIO_MODE _IO('M', 8) +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/usb/functionfs.h b/linux-5.10/prebuilts/usr/include/linux/usb/functionfs.h new file mode 100644 index 0000000..44f098a --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/usb/functionfs.h @@ -0,0 +1,104 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI__LINUX_FUNCTIONFS_H__ +#define _UAPI__LINUX_FUNCTIONFS_H__ +#include +#include +#include +enum { + FUNCTIONFS_DESCRIPTORS_MAGIC = 1, + FUNCTIONFS_STRINGS_MAGIC = 2, + FUNCTIONFS_DESCRIPTORS_MAGIC_V2 = 3, +}; +enum functionfs_flags { + FUNCTIONFS_HAS_FS_DESC = 1, + FUNCTIONFS_HAS_HS_DESC = 2, + FUNCTIONFS_HAS_SS_DESC = 4, + FUNCTIONFS_HAS_MS_OS_DESC = 8, + FUNCTIONFS_VIRTUAL_ADDR = 16, + FUNCTIONFS_EVENTFD = 32, + FUNCTIONFS_ALL_CTRL_RECIP = 64, + FUNCTIONFS_CONFIG0_SETUP = 128, +}; +struct usb_endpoint_descriptor_no_audio { + __u8 bLength; + __u8 bDescriptorType; + __u8 bEndpointAddress; + __u8 bmAttributes; + __le16 wMaxPacketSize; + __u8 bInterval; +} __attribute__((packed)); +struct usb_functionfs_descs_head_v2 { + __le32 magic; + __le32 length; + __le32 flags; + +} __attribute__((packed)); +struct usb_functionfs_descs_head { + __le32 magic; + __le32 length; + __le32 fs_count; + __le32 hs_count; +} __attribute__((packed, deprecated)); +struct usb_os_desc_header { + __u8 interface; + __le32 dwLength; + __le16 bcdVersion; + __le16 wIndex; + union { + struct { + __u8 bCount; + __u8 Reserved; + }; + __le16 wCount; + }; +} __attribute__((packed)); +struct usb_ext_compat_desc { + __u8 bFirstInterfaceNumber; + __u8 Reserved1; + __u8 CompatibleID[8]; + __u8 SubCompatibleID[8]; + __u8 Reserved2[6]; +}; +struct usb_ext_prop_desc { + __le32 dwSize; + __le32 dwPropertyDataType; + __le16 wPropertyNameLength; +} __attribute__((packed)); +#ifndef __KERNEL__ +struct usb_functionfs_strings_head { + __le32 magic; + __le32 length; + __le32 str_count; + __le32 lang_count; +} __attribute__((packed)); +#endif +enum usb_functionfs_event_type { + FUNCTIONFS_BIND, + FUNCTIONFS_UNBIND, + FUNCTIONFS_ENABLE, + FUNCTIONFS_DISABLE, + FUNCTIONFS_SETUP, + FUNCTIONFS_SUSPEND, + FUNCTIONFS_RESUME +}; +struct usb_functionfs_event { + union { + + struct usb_ctrlrequest setup; + } __attribute__((packed)) u; + + __u8 type; + __u8 _pad[3]; +} __attribute__((packed)); +#define FUNCTIONFS_FIFO_STATUS _IO('g', 1) +#define FUNCTIONFS_FIFO_FLUSH _IO('g', 2) +#define FUNCTIONFS_CLEAR_HALT _IO('g', 3) +#define FUNCTIONFS_INTERFACE_REVMAP _IO('g', 128) +#define FUNCTIONFS_ENDPOINT_REVMAP _IO('g', 129) +#define FUNCTIONFS_ENDPOINT_DESC _IOR('g', 130, \ + struct usb_endpoint_descriptor) +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/usb/g_printer.h b/linux-5.10/prebuilts/usr/include/linux/usb/g_printer.h new file mode 100644 index 0000000..fc4927f --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/usb/g_printer.h @@ -0,0 +1,13 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef __LINUX_USB_G_PRINTER_H +#define __LINUX_USB_G_PRINTER_H +#define PRINTER_NOT_ERROR 0x08 +#define PRINTER_SELECTED 0x10 +#define PRINTER_PAPER_EMPTY 0x20 +#define GADGET_GET_PRINTER_STATUS _IOR('g', 0x21, unsigned char) +#define GADGET_SET_PRINTER_STATUS _IOWR('g', 0x22, unsigned char) +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/usb/g_uvc.h b/linux-5.10/prebuilts/usr/include/linux/usb/g_uvc.h new file mode 100644 index 0000000..f02ca5e --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/usb/g_uvc.h @@ -0,0 +1,31 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef __LINUX_USB_G_UVC_H +#define __LINUX_USB_G_UVC_H +#include +#include +#include +#define UVC_EVENT_FIRST (V4L2_EVENT_PRIVATE_START + 0) +#define UVC_EVENT_CONNECT (V4L2_EVENT_PRIVATE_START + 0) +#define UVC_EVENT_DISCONNECT (V4L2_EVENT_PRIVATE_START + 1) +#define UVC_EVENT_STREAMON (V4L2_EVENT_PRIVATE_START + 2) +#define UVC_EVENT_STREAMOFF (V4L2_EVENT_PRIVATE_START + 3) +#define UVC_EVENT_SETUP (V4L2_EVENT_PRIVATE_START + 4) +#define UVC_EVENT_DATA (V4L2_EVENT_PRIVATE_START + 5) +#define UVC_EVENT_LAST (V4L2_EVENT_PRIVATE_START + 5) +struct uvc_request_data { + __s32 length; + __u8 data[60]; +}; +struct uvc_event { + union { + enum usb_device_speed speed; + struct usb_ctrlrequest req; + struct uvc_request_data data; + }; +}; +#define UVCIOC_SEND_RESPONSE _IOW('U', 1, struct uvc_request_data) +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/usb/gadgetfs.h b/linux-5.10/prebuilts/usr/include/linux/usb/gadgetfs.h new file mode 100644 index 0000000..06d6ba3 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/usb/gadgetfs.h @@ -0,0 +1,32 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef __LINUX_USB_GADGETFS_H +#define __LINUX_USB_GADGETFS_H +#include +#include +#include +enum usb_gadgetfs_event_type { + GADGETFS_NOP = 0, + GADGETFS_CONNECT, + GADGETFS_DISCONNECT, + GADGETFS_SETUP, + GADGETFS_SUSPEND, + +}; +struct usb_gadgetfs_event { + union { + + + enum usb_device_speed speed; + + struct usb_ctrlrequest setup; + } u; + enum usb_gadgetfs_event_type type; +}; +#define GADGETFS_FIFO_STATUS _IO('g', 1) +#define GADGETFS_FIFO_FLUSH _IO('g', 2) +#define GADGETFS_CLEAR_HALT _IO('g', 3) +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/usb/midi.h b/linux-5.10/prebuilts/usr/include/linux/usb/midi.h new file mode 100644 index 0000000..966ef2f --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/usb/midi.h @@ -0,0 +1,75 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef __LINUX_USB_MIDI_H +#define __LINUX_USB_MIDI_H +#include +#define USB_MS_HEADER 0x01 +#define USB_MS_MIDI_IN_JACK 0x02 +#define USB_MS_MIDI_OUT_JACK 0x03 +#define USB_MS_ELEMENT 0x04 +#define USB_MS_GENERAL 0x01 +#define USB_MS_EMBEDDED 0x01 +#define USB_MS_EXTERNAL 0x02 +struct usb_ms_header_descriptor { + __u8 bLength; + __u8 bDescriptorType; + __u8 bDescriptorSubtype; + __le16 bcdMSC; + __le16 wTotalLength; +} __attribute__ ((packed)); +#define USB_DT_MS_HEADER_SIZE 7 +struct usb_midi_in_jack_descriptor { + __u8 bLength; + __u8 bDescriptorType; + __u8 bDescriptorSubtype; + __u8 bJackType; + __u8 bJackID; + __u8 iJack; +} __attribute__ ((packed)); +#define USB_DT_MIDI_IN_SIZE 6 +struct usb_midi_source_pin { + __u8 baSourceID; + __u8 baSourcePin; +} __attribute__ ((packed)); +struct usb_midi_out_jack_descriptor { + __u8 bLength; + __u8 bDescriptorType; + __u8 bDescriptorSubtype; + __u8 bJackType; + __u8 bJackID; + __u8 bNrInputPins; + struct usb_midi_source_pin pins[]; + +} __attribute__ ((packed)); +#define USB_DT_MIDI_OUT_SIZE(p) (7 + 2 * (p)) +#define DECLARE_USB_MIDI_OUT_JACK_DESCRIPTOR(p) \ +struct usb_midi_out_jack_descriptor_##p { \ + __u8 bLength; \ + __u8 bDescriptorType; \ + __u8 bDescriptorSubtype; \ + __u8 bJackType; \ + __u8 bJackID; \ + __u8 bNrInputPins; \ + struct usb_midi_source_pin pins[p]; \ + __u8 iJack; \ +} __attribute__ ((packed)) +struct usb_ms_endpoint_descriptor { + __u8 bLength; + __u8 bDescriptorType; + __u8 bDescriptorSubtype; + __u8 bNumEmbMIDIJack; + __u8 baAssocJackID[]; +} __attribute__ ((packed)); +#define USB_DT_MS_ENDPOINT_SIZE(n) (4 + (n)) +#define DECLARE_USB_MS_ENDPOINT_DESCRIPTOR(n) \ +struct usb_ms_endpoint_descriptor_##n { \ + __u8 bLength; \ + __u8 bDescriptorType; \ + __u8 bDescriptorSubtype; \ + __u8 bNumEmbMIDIJack; \ + __u8 baAssocJackID[n]; \ +} __attribute__ ((packed)) +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/usb/raw_gadget.h b/linux-5.10/prebuilts/usr/include/linux/usb/raw_gadget.h new file mode 100644 index 0000000..60c0450 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/usb/raw_gadget.h @@ -0,0 +1,87 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI__LINUX_USB_RAW_GADGET_H +#define _UAPI__LINUX_USB_RAW_GADGET_H +#include +#include +#include +#define UDC_NAME_LENGTH_MAX 128 +struct usb_raw_init { + __u8 driver_name[UDC_NAME_LENGTH_MAX]; + __u8 device_name[UDC_NAME_LENGTH_MAX]; + __u8 speed; +}; +enum usb_raw_event_type { + USB_RAW_EVENT_INVALID = 0, + + USB_RAW_EVENT_CONNECT = 1, + + USB_RAW_EVENT_CONTROL = 2, + +}; +struct usb_raw_event { + __u32 type; + __u32 length; + __u8 data[0]; +}; +#define USB_RAW_IO_FLAGS_ZERO 0x0001 +#define USB_RAW_IO_FLAGS_MASK 0x0001 +static inline int usb_raw_io_flags_valid(__u16 flags) +{ + return (flags & ~USB_RAW_IO_FLAGS_MASK) == 0; +} +static inline int usb_raw_io_flags_zero(__u16 flags) +{ + return (flags & USB_RAW_IO_FLAGS_ZERO); +} +struct usb_raw_ep_io { + __u16 ep; + __u16 flags; + __u32 length; + __u8 data[0]; +}; +#define USB_RAW_EPS_NUM_MAX 30 +#define USB_RAW_EP_NAME_MAX 16 +#define USB_RAW_EP_ADDR_ANY 0xff +struct usb_raw_ep_caps { + __u32 type_control : 1; + __u32 type_iso : 1; + __u32 type_bulk : 1; + __u32 type_int : 1; + __u32 dir_in : 1; + __u32 dir_out : 1; +}; +struct usb_raw_ep_limits { + __u16 maxpacket_limit; + __u16 max_streams; + __u32 reserved; +}; +struct usb_raw_ep_info { + __u8 name[USB_RAW_EP_NAME_MAX]; + __u32 addr; + struct usb_raw_ep_caps caps; + struct usb_raw_ep_limits limits; +}; +struct usb_raw_eps_info { + struct usb_raw_ep_info eps[USB_RAW_EPS_NUM_MAX]; +}; +#define USB_RAW_IOCTL_INIT _IOW('U', 0, struct usb_raw_init) +#define USB_RAW_IOCTL_RUN _IO('U', 1) +#define USB_RAW_IOCTL_EVENT_FETCH _IOR('U', 2, struct usb_raw_event) +#define USB_RAW_IOCTL_EP0_WRITE _IOW('U', 3, struct usb_raw_ep_io) +#define USB_RAW_IOCTL_EP0_READ _IOWR('U', 4, struct usb_raw_ep_io) +#define USB_RAW_IOCTL_EP_ENABLE _IOW('U', 5, struct usb_endpoint_descriptor) +#define USB_RAW_IOCTL_EP_DISABLE _IOW('U', 6, __u32) +#define USB_RAW_IOCTL_EP_WRITE _IOW('U', 7, struct usb_raw_ep_io) +#define USB_RAW_IOCTL_EP_READ _IOWR('U', 8, struct usb_raw_ep_io) +#define USB_RAW_IOCTL_CONFIGURE _IO('U', 9) +#define USB_RAW_IOCTL_VBUS_DRAW _IOW('U', 10, __u32) +#define USB_RAW_IOCTL_EPS_INFO _IOR('U', 11, struct usb_raw_eps_info) +#define USB_RAW_IOCTL_EP0_STALL _IO('U', 12) +#define USB_RAW_IOCTL_EP_SET_HALT _IOW('U', 13, __u32) +#define USB_RAW_IOCTL_EP_CLEAR_HALT _IOW('U', 14, __u32) +#define USB_RAW_IOCTL_EP_SET_WEDGE _IOW('U', 15, __u32) +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/usb/tmc.h b/linux-5.10/prebuilts/usr/include/linux/usb/tmc.h new file mode 100644 index 0000000..7952dcf --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/usb/tmc.h @@ -0,0 +1,88 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef __LINUX_USB_TMC_H +#define __LINUX_USB_TMC_H +#include +#define USBTMC_STATUS_SUCCESS 0x01 +#define USBTMC_STATUS_PENDING 0x02 +#define USBTMC_STATUS_FAILED 0x80 +#define USBTMC_STATUS_TRANSFER_NOT_IN_PROGRESS 0x81 +#define USBTMC_STATUS_SPLIT_NOT_IN_PROGRESS 0x82 +#define USBTMC_STATUS_SPLIT_IN_PROGRESS 0x83 +#define USBTMC_REQUEST_INITIATE_ABORT_BULK_OUT 1 +#define USBTMC_REQUEST_CHECK_ABORT_BULK_OUT_STATUS 2 +#define USBTMC_REQUEST_INITIATE_ABORT_BULK_IN 3 +#define USBTMC_REQUEST_CHECK_ABORT_BULK_IN_STATUS 4 +#define USBTMC_REQUEST_INITIATE_CLEAR 5 +#define USBTMC_REQUEST_CHECK_CLEAR_STATUS 6 +#define USBTMC_REQUEST_GET_CAPABILITIES 7 +#define USBTMC_REQUEST_INDICATOR_PULSE 64 +#define USBTMC488_REQUEST_READ_STATUS_BYTE 128 +#define USBTMC488_REQUEST_REN_CONTROL 160 +#define USBTMC488_REQUEST_GOTO_LOCAL 161 +#define USBTMC488_REQUEST_LOCAL_LOCKOUT 162 +struct usbtmc_request { + __u8 bRequestType; + __u8 bRequest; + __u16 wValue; + __u16 wIndex; + __u16 wLength; +} __attribute__ ((packed)); +struct usbtmc_ctrlrequest { + struct usbtmc_request req; + void __user *data; +} __attribute__ ((packed)); +struct usbtmc_termchar { + __u8 term_char; + __u8 term_char_enabled; +} __attribute__ ((packed)); +#define USBTMC_FLAG_ASYNC 0x0001 +#define USBTMC_FLAG_APPEND 0x0002 +#define USBTMC_FLAG_IGNORE_TRAILER 0x0004 +struct usbtmc_message { + __u32 transfer_size; + __u32 transferred; + __u32 flags; + void __user *message; +} __attribute__ ((packed)); +#define USBTMC_IOC_NR 91 +#define USBTMC_IOCTL_INDICATOR_PULSE _IO(USBTMC_IOC_NR, 1) +#define USBTMC_IOCTL_CLEAR _IO(USBTMC_IOC_NR, 2) +#define USBTMC_IOCTL_ABORT_BULK_OUT _IO(USBTMC_IOC_NR, 3) +#define USBTMC_IOCTL_ABORT_BULK_IN _IO(USBTMC_IOC_NR, 4) +#define USBTMC_IOCTL_CLEAR_OUT_HALT _IO(USBTMC_IOC_NR, 6) +#define USBTMC_IOCTL_CLEAR_IN_HALT _IO(USBTMC_IOC_NR, 7) +#define USBTMC_IOCTL_CTRL_REQUEST _IOWR(USBTMC_IOC_NR, 8, struct usbtmc_ctrlrequest) +#define USBTMC_IOCTL_GET_TIMEOUT _IOR(USBTMC_IOC_NR, 9, __u32) +#define USBTMC_IOCTL_SET_TIMEOUT _IOW(USBTMC_IOC_NR, 10, __u32) +#define USBTMC_IOCTL_EOM_ENABLE _IOW(USBTMC_IOC_NR, 11, __u8) +#define USBTMC_IOCTL_CONFIG_TERMCHAR _IOW(USBTMC_IOC_NR, 12, struct usbtmc_termchar) +#define USBTMC_IOCTL_WRITE _IOWR(USBTMC_IOC_NR, 13, struct usbtmc_message) +#define USBTMC_IOCTL_READ _IOWR(USBTMC_IOC_NR, 14, struct usbtmc_message) +#define USBTMC_IOCTL_WRITE_RESULT _IOWR(USBTMC_IOC_NR, 15, __u32) +#define USBTMC_IOCTL_API_VERSION _IOR(USBTMC_IOC_NR, 16, __u32) +#define USBTMC488_IOCTL_GET_CAPS _IOR(USBTMC_IOC_NR, 17, unsigned char) +#define USBTMC488_IOCTL_READ_STB _IOR(USBTMC_IOC_NR, 18, unsigned char) +#define USBTMC488_IOCTL_REN_CONTROL _IOW(USBTMC_IOC_NR, 19, unsigned char) +#define USBTMC488_IOCTL_GOTO_LOCAL _IO(USBTMC_IOC_NR, 20) +#define USBTMC488_IOCTL_LOCAL_LOCKOUT _IO(USBTMC_IOC_NR, 21) +#define USBTMC488_IOCTL_TRIGGER _IO(USBTMC_IOC_NR, 22) +#define USBTMC488_IOCTL_WAIT_SRQ _IOW(USBTMC_IOC_NR, 23, __u32) +#define USBTMC_IOCTL_MSG_IN_ATTR _IOR(USBTMC_IOC_NR, 24, __u8) +#define USBTMC_IOCTL_AUTO_ABORT _IOW(USBTMC_IOC_NR, 25, __u8) +#define USBTMC_IOCTL_CANCEL_IO _IO(USBTMC_IOC_NR, 35) +#define USBTMC_IOCTL_CLEANUP_IO _IO(USBTMC_IOC_NR, 36) +#define USBTMC488_CAPABILITY_TRIGGER 1 +#define USBTMC488_CAPABILITY_SIMPLE 2 +#define USBTMC488_CAPABILITY_REN_CONTROL 2 +#define USBTMC488_CAPABILITY_GOTO_LOCAL 2 +#define USBTMC488_CAPABILITY_LOCAL_LOCKOUT 2 +#define USBTMC488_CAPABILITY_488_DOT_2 4 +#define USBTMC488_CAPABILITY_DT1 16 +#define USBTMC488_CAPABILITY_RL1 32 +#define USBTMC488_CAPABILITY_SR1 64 +#define USBTMC488_CAPABILITY_FULL_SCPI 128 +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/usb/video.h b/linux-5.10/prebuilts/usr/include/linux/usb/video.h new file mode 100644 index 0000000..1926b3c --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/usb/video.h @@ -0,0 +1,450 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef __LINUX_USB_VIDEO_H +#define __LINUX_USB_VIDEO_H +#include +#define UVC_SC_UNDEFINED 0x00 +#define UVC_SC_VIDEOCONTROL 0x01 +#define UVC_SC_VIDEOSTREAMING 0x02 +#define UVC_SC_VIDEO_INTERFACE_COLLECTION 0x03 +#define UVC_PC_PROTOCOL_UNDEFINED 0x00 +#define UVC_PC_PROTOCOL_15 0x01 +#define UVC_VC_DESCRIPTOR_UNDEFINED 0x00 +#define UVC_VC_HEADER 0x01 +#define UVC_VC_INPUT_TERMINAL 0x02 +#define UVC_VC_OUTPUT_TERMINAL 0x03 +#define UVC_VC_SELECTOR_UNIT 0x04 +#define UVC_VC_PROCESSING_UNIT 0x05 +#define UVC_VC_EXTENSION_UNIT 0x06 +#define UVC_VS_UNDEFINED 0x00 +#define UVC_VS_INPUT_HEADER 0x01 +#define UVC_VS_OUTPUT_HEADER 0x02 +#define UVC_VS_STILL_IMAGE_FRAME 0x03 +#define UVC_VS_FORMAT_UNCOMPRESSED 0x04 +#define UVC_VS_FRAME_UNCOMPRESSED 0x05 +#define UVC_VS_FORMAT_MJPEG 0x06 +#define UVC_VS_FRAME_MJPEG 0x07 +#define UVC_VS_FORMAT_MPEG2TS 0x0a +#define UVC_VS_FORMAT_DV 0x0c +#define UVC_VS_COLORFORMAT 0x0d +#define UVC_VS_FORMAT_FRAME_BASED 0x10 +#define UVC_VS_FRAME_FRAME_BASED 0x11 +#define UVC_VS_FORMAT_STREAM_BASED 0x12 +#define UVC_EP_UNDEFINED 0x00 +#define UVC_EP_GENERAL 0x01 +#define UVC_EP_ENDPOINT 0x02 +#define UVC_EP_INTERRUPT 0x03 +#define UVC_RC_UNDEFINED 0x00 +#define UVC_SET_CUR 0x01 +#define UVC_GET_CUR 0x81 +#define UVC_GET_MIN 0x82 +#define UVC_GET_MAX 0x83 +#define UVC_GET_RES 0x84 +#define UVC_GET_LEN 0x85 +#define UVC_GET_INFO 0x86 +#define UVC_GET_DEF 0x87 +#define UVC_VC_CONTROL_UNDEFINED 0x00 +#define UVC_VC_VIDEO_POWER_MODE_CONTROL 0x01 +#define UVC_VC_REQUEST_ERROR_CODE_CONTROL 0x02 +#define UVC_TE_CONTROL_UNDEFINED 0x00 +#define UVC_SU_CONTROL_UNDEFINED 0x00 +#define UVC_SU_INPUT_SELECT_CONTROL 0x01 +#define UVC_CT_CONTROL_UNDEFINED 0x00 +#define UVC_CT_SCANNING_MODE_CONTROL 0x01 +#define UVC_CT_AE_MODE_CONTROL 0x02 +#define UVC_CT_AE_PRIORITY_CONTROL 0x03 +#define UVC_CT_EXPOSURE_TIME_ABSOLUTE_CONTROL 0x04 +#define UVC_CT_EXPOSURE_TIME_RELATIVE_CONTROL 0x05 +#define UVC_CT_FOCUS_ABSOLUTE_CONTROL 0x06 +#define UVC_CT_FOCUS_RELATIVE_CONTROL 0x07 +#define UVC_CT_FOCUS_AUTO_CONTROL 0x08 +#define UVC_CT_IRIS_ABSOLUTE_CONTROL 0x09 +#define UVC_CT_IRIS_RELATIVE_CONTROL 0x0a +#define UVC_CT_ZOOM_ABSOLUTE_CONTROL 0x0b +#define UVC_CT_ZOOM_RELATIVE_CONTROL 0x0c +#define UVC_CT_PANTILT_ABSOLUTE_CONTROL 0x0d +#define UVC_CT_PANTILT_RELATIVE_CONTROL 0x0e +#define UVC_CT_ROLL_ABSOLUTE_CONTROL 0x0f +#define UVC_CT_ROLL_RELATIVE_CONTROL 0x10 +#define UVC_CT_PRIVACY_CONTROL 0x11 +#define UVC_PU_CONTROL_UNDEFINED 0x00 +#define UVC_PU_BACKLIGHT_COMPENSATION_CONTROL 0x01 +#define UVC_PU_BRIGHTNESS_CONTROL 0x02 +#define UVC_PU_CONTRAST_CONTROL 0x03 +#define UVC_PU_GAIN_CONTROL 0x04 +#define UVC_PU_POWER_LINE_FREQUENCY_CONTROL 0x05 +#define UVC_PU_HUE_CONTROL 0x06 +#define UVC_PU_SATURATION_CONTROL 0x07 +#define UVC_PU_SHARPNESS_CONTROL 0x08 +#define UVC_PU_GAMMA_CONTROL 0x09 +#define UVC_PU_WHITE_BALANCE_TEMPERATURE_CONTROL 0x0a +#define UVC_PU_WHITE_BALANCE_TEMPERATURE_AUTO_CONTROL 0x0b +#define UVC_PU_WHITE_BALANCE_COMPONENT_CONTROL 0x0c +#define UVC_PU_WHITE_BALANCE_COMPONENT_AUTO_CONTROL 0x0d +#define UVC_PU_DIGITAL_MULTIPLIER_CONTROL 0x0e +#define UVC_PU_DIGITAL_MULTIPLIER_LIMIT_CONTROL 0x0f +#define UVC_PU_HUE_AUTO_CONTROL 0x10 +#define UVC_PU_ANALOG_VIDEO_STANDARD_CONTROL 0x11 +#define UVC_PU_ANALOG_LOCK_STATUS_CONTROL 0x12 +#define UVC_VS_CONTROL_UNDEFINED 0x00 +#define UVC_VS_PROBE_CONTROL 0x01 +#define UVC_VS_COMMIT_CONTROL 0x02 +#define UVC_VS_STILL_PROBE_CONTROL 0x03 +#define UVC_VS_STILL_COMMIT_CONTROL 0x04 +#define UVC_VS_STILL_IMAGE_TRIGGER_CONTROL 0x05 +#define UVC_VS_STREAM_ERROR_CODE_CONTROL 0x06 +#define UVC_VS_GENERATE_KEY_FRAME_CONTROL 0x07 +#define UVC_VS_UPDATE_FRAME_SEGMENT_CONTROL 0x08 +#define UVC_VS_SYNC_DELAY_CONTROL 0x09 +#define UVC_TT_VENDOR_SPECIFIC 0x0100 +#define UVC_TT_STREAMING 0x0101 +#define UVC_ITT_VENDOR_SPECIFIC 0x0200 +#define UVC_ITT_CAMERA 0x0201 +#define UVC_ITT_MEDIA_TRANSPORT_INPUT 0x0202 +#define UVC_OTT_VENDOR_SPECIFIC 0x0300 +#define UVC_OTT_DISPLAY 0x0301 +#define UVC_OTT_MEDIA_TRANSPORT_OUTPUT 0x0302 +#define UVC_EXTERNAL_VENDOR_SPECIFIC 0x0400 +#define UVC_COMPOSITE_CONNECTOR 0x0401 +#define UVC_SVIDEO_CONNECTOR 0x0402 +#define UVC_COMPONENT_CONNECTOR 0x0403 +#define UVC_STATUS_TYPE_CONTROL 1 +#define UVC_STATUS_TYPE_STREAMING 2 +#define UVC_STREAM_EOH (1 << 7) +#define UVC_STREAM_ERR (1 << 6) +#define UVC_STREAM_STI (1 << 5) +#define UVC_STREAM_RES (1 << 4) +#define UVC_STREAM_SCR (1 << 3) +#define UVC_STREAM_PTS (1 << 2) +#define UVC_STREAM_EOF (1 << 1) +#define UVC_STREAM_FID (1 << 0) +#define UVC_CONTROL_CAP_GET (1 << 0) +#define UVC_CONTROL_CAP_SET (1 << 1) +#define UVC_CONTROL_CAP_DISABLED (1 << 2) +#define UVC_CONTROL_CAP_AUTOUPDATE (1 << 3) +#define UVC_CONTROL_CAP_ASYNCHRONOUS (1 << 4) +struct uvc_descriptor_header { + __u8 bLength; + __u8 bDescriptorType; + __u8 bDescriptorSubType; +} __attribute__((packed)); +struct uvc_header_descriptor { + __u8 bLength; + __u8 bDescriptorType; + __u8 bDescriptorSubType; + __le16 bcdUVC; + __le16 wTotalLength; + __le32 dwClockFrequency; + __u8 bInCollection; + __u8 baInterfaceNr[]; +} __attribute__((__packed__)); +#define UVC_DT_HEADER_SIZE(n) (12+(n)) +#define UVC_HEADER_DESCRIPTOR(n) \ + uvc_header_descriptor_##n +#define DECLARE_UVC_HEADER_DESCRIPTOR(n) \ +struct UVC_HEADER_DESCRIPTOR(n) { \ + __u8 bLength; \ + __u8 bDescriptorType; \ + __u8 bDescriptorSubType; \ + __le16 bcdUVC; \ + __le16 wTotalLength; \ + __le32 dwClockFrequency; \ + __u8 bInCollection; \ + __u8 baInterfaceNr[n]; \ +} __attribute__ ((packed)) +struct uvc_input_terminal_descriptor { + __u8 bLength; + __u8 bDescriptorType; + __u8 bDescriptorSubType; + __u8 bTerminalID; + __le16 wTerminalType; + __u8 bAssocTerminal; + __u8 iTerminal; +} __attribute__((__packed__)); +#define UVC_DT_INPUT_TERMINAL_SIZE 8 +struct uvc_output_terminal_descriptor { + __u8 bLength; + __u8 bDescriptorType; + __u8 bDescriptorSubType; + __u8 bTerminalID; + __le16 wTerminalType; + __u8 bAssocTerminal; + __u8 bSourceID; + __u8 iTerminal; +} __attribute__((__packed__)); +#define UVC_DT_OUTPUT_TERMINAL_SIZE 9 +struct uvc_camera_terminal_descriptor { + __u8 bLength; + __u8 bDescriptorType; + __u8 bDescriptorSubType; + __u8 bTerminalID; + __le16 wTerminalType; + __u8 bAssocTerminal; + __u8 iTerminal; + __le16 wObjectiveFocalLengthMin; + __le16 wObjectiveFocalLengthMax; + __le16 wOcularFocalLength; + __u8 bControlSize; + __u8 bmControls[3]; +} __attribute__((__packed__)); +#define UVC_DT_CAMERA_TERMINAL_SIZE(n) (15+(n)) +struct uvc_selector_unit_descriptor { + __u8 bLength; + __u8 bDescriptorType; + __u8 bDescriptorSubType; + __u8 bUnitID; + __u8 bNrInPins; + __u8 baSourceID[0]; + __u8 iSelector; +} __attribute__((__packed__)); +#define UVC_DT_SELECTOR_UNIT_SIZE(n) (6+(n)) +#define UVC_SELECTOR_UNIT_DESCRIPTOR(n) \ + uvc_selector_unit_descriptor_##n +#define DECLARE_UVC_SELECTOR_UNIT_DESCRIPTOR(n) \ +struct UVC_SELECTOR_UNIT_DESCRIPTOR(n) { \ + __u8 bLength; \ + __u8 bDescriptorType; \ + __u8 bDescriptorSubType; \ + __u8 bUnitID; \ + __u8 bNrInPins; \ + __u8 baSourceID[n]; \ + __u8 iSelector; \ +} __attribute__ ((packed)) +struct uvc_processing_unit_descriptor { + __u8 bLength; + __u8 bDescriptorType; + __u8 bDescriptorSubType; + __u8 bUnitID; + __u8 bSourceID; + __le16 wMaxMultiplier; + __u8 bControlSize; + __u8 bmControls[2]; + __u8 iProcessing; + __u8 bmVideoStandards; +} __attribute__((__packed__)); +#define UVC_DT_PROCESSING_UNIT_SIZE(n) (10+(n)) +struct uvc_extension_unit_descriptor { + __u8 bLength; + __u8 bDescriptorType; + __u8 bDescriptorSubType; + __u8 bUnitID; + __u8 guidExtensionCode[16]; + __u8 bNumControls; + __u8 bNrInPins; + __u8 baSourceID[0]; + __u8 bControlSize; + __u8 bmControls[0]; + __u8 iExtension; +} __attribute__((__packed__)); +#define UVC_DT_EXTENSION_UNIT_SIZE(p, n) (24+(p)+(n)) +#define UVC_EXTENSION_UNIT_DESCRIPTOR(p, n) \ + uvc_extension_unit_descriptor_##p_##n +#define DECLARE_UVC_EXTENSION_UNIT_DESCRIPTOR(p, n) \ +struct UVC_EXTENSION_UNIT_DESCRIPTOR(p, n) { \ + __u8 bLength; \ + __u8 bDescriptorType; \ + __u8 bDescriptorSubType; \ + __u8 bUnitID; \ + __u8 guidExtensionCode[16]; \ + __u8 bNumControls; \ + __u8 bNrInPins; \ + __u8 baSourceID[p]; \ + __u8 bControlSize; \ + __u8 bmControls[n]; \ + __u8 iExtension; \ +} __attribute__ ((packed)) +struct uvc_control_endpoint_descriptor { + __u8 bLength; + __u8 bDescriptorType; + __u8 bDescriptorSubType; + __le16 wMaxTransferSize; +} __attribute__((__packed__)); +#define UVC_DT_CONTROL_ENDPOINT_SIZE 5 +struct uvc_input_header_descriptor { + __u8 bLength; + __u8 bDescriptorType; + __u8 bDescriptorSubType; + __u8 bNumFormats; + __le16 wTotalLength; + __u8 bEndpointAddress; + __u8 bmInfo; + __u8 bTerminalLink; + __u8 bStillCaptureMethod; + __u8 bTriggerSupport; + __u8 bTriggerUsage; + __u8 bControlSize; + __u8 bmaControls[]; +} __attribute__((__packed__)); +#define UVC_DT_INPUT_HEADER_SIZE(n, p) (13+(n*p)) +#define UVC_INPUT_HEADER_DESCRIPTOR(n, p) \ + uvc_input_header_descriptor_##n_##p +#define DECLARE_UVC_INPUT_HEADER_DESCRIPTOR(n, p) \ +struct UVC_INPUT_HEADER_DESCRIPTOR(n, p) { \ + __u8 bLength; \ + __u8 bDescriptorType; \ + __u8 bDescriptorSubType; \ + __u8 bNumFormats; \ + __le16 wTotalLength; \ + __u8 bEndpointAddress; \ + __u8 bmInfo; \ + __u8 bTerminalLink; \ + __u8 bStillCaptureMethod; \ + __u8 bTriggerSupport; \ + __u8 bTriggerUsage; \ + __u8 bControlSize; \ + __u8 bmaControls[p][n]; \ +} __attribute__ ((packed)) +struct uvc_output_header_descriptor { + __u8 bLength; + __u8 bDescriptorType; + __u8 bDescriptorSubType; + __u8 bNumFormats; + __le16 wTotalLength; + __u8 bEndpointAddress; + __u8 bTerminalLink; + __u8 bControlSize; + __u8 bmaControls[]; +} __attribute__((__packed__)); +#define UVC_DT_OUTPUT_HEADER_SIZE(n, p) (9+(n*p)) +#define UVC_OUTPUT_HEADER_DESCRIPTOR(n, p) \ + uvc_output_header_descriptor_##n_##p +#define DECLARE_UVC_OUTPUT_HEADER_DESCRIPTOR(n, p) \ +struct UVC_OUTPUT_HEADER_DESCRIPTOR(n, p) { \ + __u8 bLength; \ + __u8 bDescriptorType; \ + __u8 bDescriptorSubType; \ + __u8 bNumFormats; \ + __le16 wTotalLength; \ + __u8 bEndpointAddress; \ + __u8 bTerminalLink; \ + __u8 bControlSize; \ + __u8 bmaControls[p][n]; \ +} __attribute__ ((packed)) +struct uvc_color_matching_descriptor { + __u8 bLength; + __u8 bDescriptorType; + __u8 bDescriptorSubType; + __u8 bColorPrimaries; + __u8 bTransferCharacteristics; + __u8 bMatrixCoefficients; +} __attribute__((__packed__)); +#define UVC_DT_COLOR_MATCHING_SIZE 6 +struct uvc_streaming_control { + __u16 bmHint; + __u8 bFormatIndex; + __u8 bFrameIndex; + __u32 dwFrameInterval; + __u16 wKeyFrameRate; + __u16 wPFrameRate; + __u16 wCompQuality; + __u16 wCompWindowSize; + __u16 wDelay; + __u32 dwMaxVideoFrameSize; + __u32 dwMaxPayloadTransferSize; + __u32 dwClockFrequency; + __u8 bmFramingInfo; + __u8 bPreferedVersion; + __u8 bMinVersion; + __u8 bMaxVersion; +} __attribute__((__packed__)); +struct uvc_format_uncompressed { + __u8 bLength; + __u8 bDescriptorType; + __u8 bDescriptorSubType; + __u8 bFormatIndex; + __u8 bNumFrameDescriptors; + __u8 guidFormat[16]; + __u8 bBitsPerPixel; + __u8 bDefaultFrameIndex; + __u8 bAspectRatioX; + __u8 bAspectRatioY; + __u8 bmInterfaceFlags; + __u8 bCopyProtect; +} __attribute__((__packed__)); +#define UVC_DT_FORMAT_UNCOMPRESSED_SIZE 27 +struct uvc_frame_uncompressed { + __u8 bLength; + __u8 bDescriptorType; + __u8 bDescriptorSubType; + __u8 bFrameIndex; + __u8 bmCapabilities; + __le16 wWidth; + __le16 wHeight; + __le32 dwMinBitRate; + __le32 dwMaxBitRate; + __le32 dwMaxVideoFrameBufferSize; + __le32 dwDefaultFrameInterval; + __u8 bFrameIntervalType; + __le32 dwFrameInterval[]; +} __attribute__((__packed__)); +#define UVC_DT_FRAME_UNCOMPRESSED_SIZE(n) (26+4*(n)) +#define UVC_FRAME_UNCOMPRESSED(n) \ + uvc_frame_uncompressed_##n +#define DECLARE_UVC_FRAME_UNCOMPRESSED(n) \ +struct UVC_FRAME_UNCOMPRESSED(n) { \ + __u8 bLength; \ + __u8 bDescriptorType; \ + __u8 bDescriptorSubType; \ + __u8 bFrameIndex; \ + __u8 bmCapabilities; \ + __le16 wWidth; \ + __le16 wHeight; \ + __le32 dwMinBitRate; \ + __le32 dwMaxBitRate; \ + __le32 dwMaxVideoFrameBufferSize; \ + __le32 dwDefaultFrameInterval; \ + __u8 bFrameIntervalType; \ + __le32 dwFrameInterval[n]; \ +} __attribute__ ((packed)) +struct uvc_format_mjpeg { + __u8 bLength; + __u8 bDescriptorType; + __u8 bDescriptorSubType; + __u8 bFormatIndex; + __u8 bNumFrameDescriptors; + __u8 bmFlags; + __u8 bDefaultFrameIndex; + __u8 bAspectRatioX; + __u8 bAspectRatioY; + __u8 bmInterfaceFlags; + __u8 bCopyProtect; +} __attribute__((__packed__)); +#define UVC_DT_FORMAT_MJPEG_SIZE 11 +struct uvc_frame_mjpeg { + __u8 bLength; + __u8 bDescriptorType; + __u8 bDescriptorSubType; + __u8 bFrameIndex; + __u8 bmCapabilities; + __le16 wWidth; + __le16 wHeight; + __le32 dwMinBitRate; + __le32 dwMaxBitRate; + __le32 dwMaxVideoFrameBufferSize; + __le32 dwDefaultFrameInterval; + __u8 bFrameIntervalType; + __le32 dwFrameInterval[]; +} __attribute__((__packed__)); +#define UVC_DT_FRAME_MJPEG_SIZE(n) (26+4*(n)) +#define UVC_FRAME_MJPEG(n) \ + uvc_frame_mjpeg_##n +#define DECLARE_UVC_FRAME_MJPEG(n) \ +struct UVC_FRAME_MJPEG(n) { \ + __u8 bLength; \ + __u8 bDescriptorType; \ + __u8 bDescriptorSubType; \ + __u8 bFrameIndex; \ + __u8 bmCapabilities; \ + __le16 wWidth; \ + __le16 wHeight; \ + __le32 dwMinBitRate; \ + __le32 dwMaxBitRate; \ + __le32 dwMaxVideoFrameBufferSize; \ + __le32 dwDefaultFrameInterval; \ + __u8 bFrameIntervalType; \ + __le32 dwFrameInterval[n]; \ +} __attribute__ ((packed)) +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/usbdevice_fs.h b/linux-5.10/prebuilts/usr/include/linux/usbdevice_fs.h new file mode 100644 index 0000000..3e75079 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/usbdevice_fs.h @@ -0,0 +1,163 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI_LINUX_USBDEVICE_FS_H +#define _UAPI_LINUX_USBDEVICE_FS_H +#include +#include +struct usbdevfs_ctrltransfer { + __u8 bRequestType; + __u8 bRequest; + __u16 wValue; + __u16 wIndex; + __u16 wLength; + __u32 timeout; + void __user *data; +}; +struct usbdevfs_bulktransfer { + unsigned int ep; + unsigned int len; + unsigned int timeout; + void __user *data; +}; +struct usbdevfs_setinterface { + unsigned int interface; + unsigned int altsetting; +}; +struct usbdevfs_disconnectsignal { + unsigned int signr; + void __user *context; +}; +#define USBDEVFS_MAXDRIVERNAME 255 +struct usbdevfs_getdriver { + unsigned int interface; + char driver[USBDEVFS_MAXDRIVERNAME + 1]; +}; +struct usbdevfs_connectinfo { + unsigned int devnum; + unsigned char slow; +}; +struct usbdevfs_conninfo_ex { + __u32 size; + + + + __u32 busnum; + + __u32 devnum; + __u32 speed; + __u8 num_ports; + + + + __u8 ports[7]; + + + + +}; +#define USBDEVFS_URB_SHORT_NOT_OK 0x01 +#define USBDEVFS_URB_ISO_ASAP 0x02 +#define USBDEVFS_URB_BULK_CONTINUATION 0x04 +#define USBDEVFS_URB_NO_FSBR 0x20 +#define USBDEVFS_URB_ZERO_PACKET 0x40 +#define USBDEVFS_URB_NO_INTERRUPT 0x80 +#define USBDEVFS_URB_TYPE_ISO 0 +#define USBDEVFS_URB_TYPE_INTERRUPT 1 +#define USBDEVFS_URB_TYPE_CONTROL 2 +#define USBDEVFS_URB_TYPE_BULK 3 +struct usbdevfs_iso_packet_desc { + unsigned int length; + unsigned int actual_length; + unsigned int status; +}; +struct usbdevfs_urb { + unsigned char type; + unsigned char endpoint; + int status; + unsigned int flags; + void __user *buffer; + int buffer_length; + int actual_length; + int start_frame; + union { + int number_of_packets; + unsigned int stream_id; + }; + int error_count; + unsigned int signr; + void __user *usercontext; + struct usbdevfs_iso_packet_desc iso_frame_desc[0]; +}; +struct usbdevfs_ioctl { + int ifno; + int ioctl_code; + void __user *data; +}; +struct usbdevfs_hub_portinfo { + char nports; + char port [127]; +}; +#define USBDEVFS_CAP_ZERO_PACKET 0x01 +#define USBDEVFS_CAP_BULK_CONTINUATION 0x02 +#define USBDEVFS_CAP_NO_PACKET_SIZE_LIM 0x04 +#define USBDEVFS_CAP_BULK_SCATTER_GATHER 0x08 +#define USBDEVFS_CAP_REAP_AFTER_DISCONNECT 0x10 +#define USBDEVFS_CAP_MMAP 0x20 +#define USBDEVFS_CAP_DROP_PRIVILEGES 0x40 +#define USBDEVFS_CAP_CONNINFO_EX 0x80 +#define USBDEVFS_CAP_SUSPEND 0x100 +#define USBDEVFS_DISCONNECT_CLAIM_IF_DRIVER 0x01 +#define USBDEVFS_DISCONNECT_CLAIM_EXCEPT_DRIVER 0x02 +struct usbdevfs_disconnect_claim { + unsigned int interface; + unsigned int flags; + char driver[USBDEVFS_MAXDRIVERNAME + 1]; +}; +struct usbdevfs_streams { + unsigned int num_streams; + unsigned int num_eps; + unsigned char eps[0]; +}; +#define USBDEVFS_CONTROL _IOWR('U', 0, struct usbdevfs_ctrltransfer) +#define USBDEVFS_CONTROL32 _IOWR('U', 0, struct usbdevfs_ctrltransfer32) +#define USBDEVFS_BULK _IOWR('U', 2, struct usbdevfs_bulktransfer) +#define USBDEVFS_BULK32 _IOWR('U', 2, struct usbdevfs_bulktransfer32) +#define USBDEVFS_RESETEP _IOR('U', 3, unsigned int) +#define USBDEVFS_SETINTERFACE _IOR('U', 4, struct usbdevfs_setinterface) +#define USBDEVFS_SETCONFIGURATION _IOR('U', 5, unsigned int) +#define USBDEVFS_GETDRIVER _IOW('U', 8, struct usbdevfs_getdriver) +#define USBDEVFS_SUBMITURB _IOR('U', 10, struct usbdevfs_urb) +#define USBDEVFS_SUBMITURB32 _IOR('U', 10, struct usbdevfs_urb32) +#define USBDEVFS_DISCARDURB _IO('U', 11) +#define USBDEVFS_REAPURB _IOW('U', 12, void *) +#define USBDEVFS_REAPURB32 _IOW('U', 12, __u32) +#define USBDEVFS_REAPURBNDELAY _IOW('U', 13, void *) +#define USBDEVFS_REAPURBNDELAY32 _IOW('U', 13, __u32) +#define USBDEVFS_DISCSIGNAL _IOR('U', 14, struct usbdevfs_disconnectsignal) +#define USBDEVFS_DISCSIGNAL32 _IOR('U', 14, struct usbdevfs_disconnectsignal32) +#define USBDEVFS_CLAIMINTERFACE _IOR('U', 15, unsigned int) +#define USBDEVFS_RELEASEINTERFACE _IOR('U', 16, unsigned int) +#define USBDEVFS_CONNECTINFO _IOW('U', 17, struct usbdevfs_connectinfo) +#define USBDEVFS_IOCTL _IOWR('U', 18, struct usbdevfs_ioctl) +#define USBDEVFS_IOCTL32 _IOWR('U', 18, struct usbdevfs_ioctl32) +#define USBDEVFS_HUB_PORTINFO _IOR('U', 19, struct usbdevfs_hub_portinfo) +#define USBDEVFS_RESET _IO('U', 20) +#define USBDEVFS_CLEAR_HALT _IOR('U', 21, unsigned int) +#define USBDEVFS_DISCONNECT _IO('U', 22) +#define USBDEVFS_CONNECT _IO('U', 23) +#define USBDEVFS_CLAIM_PORT _IOR('U', 24, unsigned int) +#define USBDEVFS_RELEASE_PORT _IOR('U', 25, unsigned int) +#define USBDEVFS_GET_CAPABILITIES _IOR('U', 26, __u32) +#define USBDEVFS_DISCONNECT_CLAIM _IOR('U', 27, struct usbdevfs_disconnect_claim) +#define USBDEVFS_ALLOC_STREAMS _IOR('U', 28, struct usbdevfs_streams) +#define USBDEVFS_FREE_STREAMS _IOR('U', 29, struct usbdevfs_streams) +#define USBDEVFS_DROP_PRIVILEGES _IOW('U', 30, __u32) +#define USBDEVFS_GET_SPEED _IO('U', 31) +#define USBDEVFS_CONNINFO_EX(len) _IOC(_IOC_READ, 'U', 32, len) +#define USBDEVFS_FORBID_SUSPEND _IO('U', 33) +#define USBDEVFS_ALLOW_SUSPEND _IO('U', 34) +#define USBDEVFS_WAIT_FOR_RESUME _IO('U', 35) +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/usbip.h b/linux-5.10/prebuilts/usr/include/linux/usbip.h new file mode 100644 index 0000000..5d85512 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/usbip.h @@ -0,0 +1,22 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI_LINUX_USBIP_H +#define _UAPI_LINUX_USBIP_H +enum usbip_device_status { + + SDEV_ST_AVAILABLE = 0x01, + + SDEV_ST_USED, + + SDEV_ST_ERROR, + + VDEV_ST_NULL, + + VDEV_ST_NOTASSIGNED, + VDEV_ST_USED, + VDEV_ST_ERROR +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/userfaultfd.h b/linux-5.10/prebuilts/usr/include/linux/userfaultfd.h new file mode 100644 index 0000000..22fc5b4 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/userfaultfd.h @@ -0,0 +1,145 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _LINUX_USERFAULTFD_H +#define _LINUX_USERFAULTFD_H +#include +#define UFFD_API ((__u64)0xAA) +#define UFFD_API_FEATURES (UFFD_FEATURE_PAGEFAULT_FLAG_WP | \ + UFFD_FEATURE_EVENT_FORK | \ + UFFD_FEATURE_EVENT_REMAP | \ + UFFD_FEATURE_EVENT_REMOVE | \ + UFFD_FEATURE_EVENT_UNMAP | \ + UFFD_FEATURE_MISSING_HUGETLBFS | \ + UFFD_FEATURE_MISSING_SHMEM | \ + UFFD_FEATURE_SIGBUS | \ + UFFD_FEATURE_THREAD_ID) +#define UFFD_API_IOCTLS \ + ((__u64)1 << _UFFDIO_REGISTER | \ + (__u64)1 << _UFFDIO_UNREGISTER | \ + (__u64)1 << _UFFDIO_API) +#define UFFD_API_RANGE_IOCTLS \ + ((__u64)1 << _UFFDIO_WAKE | \ + (__u64)1 << _UFFDIO_COPY | \ + (__u64)1 << _UFFDIO_ZEROPAGE | \ + (__u64)1 << _UFFDIO_WRITEPROTECT) +#define UFFD_API_RANGE_IOCTLS_BASIC \ + ((__u64)1 << _UFFDIO_WAKE | \ + (__u64)1 << _UFFDIO_COPY) +#define _UFFDIO_REGISTER (0x00) +#define _UFFDIO_UNREGISTER (0x01) +#define _UFFDIO_WAKE (0x02) +#define _UFFDIO_COPY (0x03) +#define _UFFDIO_ZEROPAGE (0x04) +#define _UFFDIO_WRITEPROTECT (0x06) +#define _UFFDIO_API (0x3F) +#define UFFDIO 0xAA +#define UFFDIO_API _IOWR(UFFDIO, _UFFDIO_API, \ + struct uffdio_api) +#define UFFDIO_REGISTER _IOWR(UFFDIO, _UFFDIO_REGISTER, \ + struct uffdio_register) +#define UFFDIO_UNREGISTER _IOR(UFFDIO, _UFFDIO_UNREGISTER, \ + struct uffdio_range) +#define UFFDIO_WAKE _IOR(UFFDIO, _UFFDIO_WAKE, \ + struct uffdio_range) +#define UFFDIO_COPY _IOWR(UFFDIO, _UFFDIO_COPY, \ + struct uffdio_copy) +#define UFFDIO_ZEROPAGE _IOWR(UFFDIO, _UFFDIO_ZEROPAGE, \ + struct uffdio_zeropage) +#define UFFDIO_WRITEPROTECT _IOWR(UFFDIO, _UFFDIO_WRITEPROTECT, \ + struct uffdio_writeprotect) +struct uffd_msg { + __u8 event; + __u8 reserved1; + __u16 reserved2; + __u32 reserved3; + union { + struct { + __u64 flags; + __u64 address; + union { + __u32 ptid; + } feat; + } pagefault; + struct { + __u32 ufd; + } fork; + struct { + __u64 from; + __u64 to; + __u64 len; + } remap; + struct { + __u64 start; + __u64 end; + } remove; + struct { + + __u64 reserved1; + __u64 reserved2; + __u64 reserved3; + } reserved; + } arg; +} __packed; +#define UFFD_EVENT_PAGEFAULT 0x12 +#define UFFD_EVENT_FORK 0x13 +#define UFFD_EVENT_REMAP 0x14 +#define UFFD_EVENT_REMOVE 0x15 +#define UFFD_EVENT_UNMAP 0x16 +#define UFFD_PAGEFAULT_FLAG_WRITE (1<<0) +#define UFFD_PAGEFAULT_FLAG_WP (1<<1) +struct uffdio_api { + + __u64 api; + +#define UFFD_FEATURE_PAGEFAULT_FLAG_WP (1<<0) +#define UFFD_FEATURE_EVENT_FORK (1<<1) +#define UFFD_FEATURE_EVENT_REMAP (1<<2) +#define UFFD_FEATURE_EVENT_REMOVE (1<<3) +#define UFFD_FEATURE_MISSING_HUGETLBFS (1<<4) +#define UFFD_FEATURE_MISSING_SHMEM (1<<5) +#define UFFD_FEATURE_EVENT_UNMAP (1<<6) +#define UFFD_FEATURE_SIGBUS (1<<7) +#define UFFD_FEATURE_THREAD_ID (1<<8) + __u64 features; + __u64 ioctls; +}; +struct uffdio_range { + __u64 start; + __u64 len; +}; +struct uffdio_register { + struct uffdio_range range; +#define UFFDIO_REGISTER_MODE_MISSING ((__u64)1<<0) +#define UFFDIO_REGISTER_MODE_WP ((__u64)1<<1) + __u64 mode; + + __u64 ioctls; +}; +struct uffdio_copy { + __u64 dst; + __u64 src; + __u64 len; +#define UFFDIO_COPY_MODE_DONTWAKE ((__u64)1<<0) + +#define UFFDIO_COPY_MODE_WP ((__u64)1<<1) + __u64 mode; + + __s64 copy; +}; +struct uffdio_zeropage { + struct uffdio_range range; +#define UFFDIO_ZEROPAGE_MODE_DONTWAKE ((__u64)1<<0) + __u64 mode; + + __s64 zeropage; +}; +struct uffdio_writeprotect { + struct uffdio_range range; +#define UFFDIO_WRITEPROTECT_MODE_WP ((__u64)1<<0) +#define UFFDIO_WRITEPROTECT_MODE_DONTWAKE ((__u64)1<<1) + __u64 mode; +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/userio.h b/linux-5.10/prebuilts/usr/include/linux/userio.h new file mode 100644 index 0000000..72e5720 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/userio.h @@ -0,0 +1,18 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _USERIO_H +#define _USERIO_H +#include +enum userio_cmd_type { + USERIO_CMD_REGISTER = 0, + USERIO_CMD_SET_PORT_TYPE = 1, + USERIO_CMD_SEND_INTERRUPT = 2 +}; +struct userio_cmd { + __u8 type; + __u8 data; +} __attribute__((__packed__)); +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/utime.h b/linux-5.10/prebuilts/usr/include/linux/utime.h new file mode 100644 index 0000000..bc08035 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/utime.h @@ -0,0 +1,13 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _LINUX_UTIME_H +#define _LINUX_UTIME_H +#include +struct utimbuf { + __kernel_old_time_t actime; + __kernel_old_time_t modtime; +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/utsname.h b/linux-5.10/prebuilts/usr/include/linux/utsname.h new file mode 100644 index 0000000..a2a20e5 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/utsname.h @@ -0,0 +1,32 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI_LINUX_UTSNAME_H +#define _UAPI_LINUX_UTSNAME_H +#define __OLD_UTS_LEN 8 +struct oldold_utsname { + char sysname[9]; + char nodename[9]; + char release[9]; + char version[9]; + char machine[9]; +}; +#define __NEW_UTS_LEN 64 +struct old_utsname { + char sysname[65]; + char nodename[65]; + char release[65]; + char version[65]; + char machine[65]; +}; +struct new_utsname { + char sysname[__NEW_UTS_LEN + 1]; + char nodename[__NEW_UTS_LEN + 1]; + char release[__NEW_UTS_LEN + 1]; + char version[__NEW_UTS_LEN + 1]; + char machine[__NEW_UTS_LEN + 1]; + char domainname[__NEW_UTS_LEN + 1]; +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/uuid.h b/linux-5.10/prebuilts/usr/include/linux/uuid.h new file mode 100644 index 0000000..88a4506 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/uuid.h @@ -0,0 +1,24 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI_LINUX_UUID_H_ +#define _UAPI_LINUX_UUID_H_ +#include +typedef struct { + __u8 b[16]; +} guid_t; +#define GUID_INIT(a, b, c, d0, d1, d2, d3, d4, d5, d6, d7) \ +((guid_t) \ +{{ (a) & 0xff, ((a) >> 8) & 0xff, ((a) >> 16) & 0xff, ((a) >> 24) & 0xff, \ + (b) & 0xff, ((b) >> 8) & 0xff, \ + (c) & 0xff, ((c) >> 8) & 0xff, \ + (d0), (d1), (d2), (d3), (d4), (d5), (d6), (d7) }}) +typedef guid_t uuid_le; +#define UUID_LE(a, b, c, d0, d1, d2, d3, d4, d5, d6, d7) \ + GUID_INIT(a, b, c, d0, d1, d2, d3, d4, d5, d6, d7) +#define NULL_UUID_LE \ + UUID_LE(0x00000000, 0x0000, 0x0000, 0x00, 0x00, 0x00, 0x00, \ + 0x00, 0x00, 0x00, 0x00) +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/uvcvideo.h b/linux-5.10/prebuilts/usr/include/linux/uvcvideo.h new file mode 100644 index 0000000..f5d6008 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/uvcvideo.h @@ -0,0 +1,63 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef __LINUX_UVCVIDEO_H_ +#define __LINUX_UVCVIDEO_H_ +#include +#include +#define UVC_CTRL_DATA_TYPE_RAW 0 +#define UVC_CTRL_DATA_TYPE_SIGNED 1 +#define UVC_CTRL_DATA_TYPE_UNSIGNED 2 +#define UVC_CTRL_DATA_TYPE_BOOLEAN 3 +#define UVC_CTRL_DATA_TYPE_ENUM 4 +#define UVC_CTRL_DATA_TYPE_BITMASK 5 +#define UVC_CTRL_FLAG_SET_CUR (1 << 0) +#define UVC_CTRL_FLAG_GET_CUR (1 << 1) +#define UVC_CTRL_FLAG_GET_MIN (1 << 2) +#define UVC_CTRL_FLAG_GET_MAX (1 << 3) +#define UVC_CTRL_FLAG_GET_RES (1 << 4) +#define UVC_CTRL_FLAG_GET_DEF (1 << 5) +#define UVC_CTRL_FLAG_RESTORE (1 << 6) +#define UVC_CTRL_FLAG_AUTO_UPDATE (1 << 7) +#define UVC_CTRL_FLAG_ASYNCHRONOUS (1 << 8) +#define UVC_CTRL_FLAG_GET_RANGE \ + (UVC_CTRL_FLAG_GET_CUR | UVC_CTRL_FLAG_GET_MIN | \ + UVC_CTRL_FLAG_GET_MAX | UVC_CTRL_FLAG_GET_RES | \ + UVC_CTRL_FLAG_GET_DEF) +struct uvc_menu_info { + __u32 value; + __u8 name[32]; +}; +struct uvc_xu_control_mapping { + __u32 id; + __u8 name[32]; + __u8 entity[16]; + __u8 selector; + __u8 size; + __u8 offset; + __u32 v4l2_type; + __u32 data_type; + struct uvc_menu_info __user *menu_info; + __u32 menu_count; + __u32 reserved[4]; +}; +struct uvc_xu_control_query { + __u8 unit; + __u8 selector; + __u8 query; + + __u16 size; + __u8 __user *data; +}; +#define UVCIOC_CTRL_MAP _IOWR('u', 0x20, struct uvc_xu_control_mapping) +#define UVCIOC_CTRL_QUERY _IOWR('u', 0x21, struct uvc_xu_control_query) +struct uvc_meta_buf { + __u64 ns; + __u16 sof; + __u8 length; + __u8 flags; + __u8 buf[]; +} __packed; +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/v4l2-common.h b/linux-5.10/prebuilts/usr/include/linux/v4l2-common.h new file mode 100644 index 0000000..ce9c9f1 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/v4l2-common.h @@ -0,0 +1,38 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef __V4L2_COMMON__ +#define __V4L2_COMMON__ +#include +#define V4L2_SEL_TGT_CROP 0x0000 +#define V4L2_SEL_TGT_CROP_DEFAULT 0x0001 +#define V4L2_SEL_TGT_CROP_BOUNDS 0x0002 +#define V4L2_SEL_TGT_NATIVE_SIZE 0x0003 +#define V4L2_SEL_TGT_COMPOSE 0x0100 +#define V4L2_SEL_TGT_COMPOSE_DEFAULT 0x0101 +#define V4L2_SEL_TGT_COMPOSE_BOUNDS 0x0102 +#define V4L2_SEL_TGT_COMPOSE_PADDED 0x0103 +#define V4L2_SEL_FLAG_GE (1 << 0) +#define V4L2_SEL_FLAG_LE (1 << 1) +#define V4L2_SEL_FLAG_KEEP_CONFIG (1 << 2) +struct v4l2_edid { + __u32 pad; + __u32 start_block; + __u32 blocks; + __u32 reserved[5]; + __u8 *edid; +}; +#ifndef __KERNEL__ +#define V4L2_SEL_TGT_CROP_ACTIVE V4L2_SEL_TGT_CROP +#define V4L2_SEL_TGT_COMPOSE_ACTIVE V4L2_SEL_TGT_COMPOSE +#define V4L2_SUBDEV_SEL_TGT_CROP_ACTUAL V4L2_SEL_TGT_CROP +#define V4L2_SUBDEV_SEL_TGT_COMPOSE_ACTUAL V4L2_SEL_TGT_COMPOSE +#define V4L2_SUBDEV_SEL_TGT_CROP_BOUNDS V4L2_SEL_TGT_CROP_BOUNDS +#define V4L2_SUBDEV_SEL_TGT_COMPOSE_BOUNDS V4L2_SEL_TGT_COMPOSE_BOUNDS +#define V4L2_SUBDEV_SEL_FLAG_SIZE_GE V4L2_SEL_FLAG_GE +#define V4L2_SUBDEV_SEL_FLAG_SIZE_LE V4L2_SEL_FLAG_LE +#define V4L2_SUBDEV_SEL_FLAG_KEEP_CONFIG V4L2_SEL_FLAG_KEEP_CONFIG +#endif +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/v4l2-controls.h b/linux-5.10/prebuilts/usr/include/linux/v4l2-controls.h new file mode 100644 index 0000000..73f3736 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/v4l2-controls.h @@ -0,0 +1,973 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef __LINUX_V4L2_CONTROLS_H +#define __LINUX_V4L2_CONTROLS_H +#include +#define V4L2_CTRL_CLASS_USER 0x00980000 +#define V4L2_CTRL_CLASS_MPEG 0x00990000 +#define V4L2_CTRL_CLASS_CAMERA 0x009a0000 +#define V4L2_CTRL_CLASS_FM_TX 0x009b0000 +#define V4L2_CTRL_CLASS_FLASH 0x009c0000 +#define V4L2_CTRL_CLASS_JPEG 0x009d0000 +#define V4L2_CTRL_CLASS_IMAGE_SOURCE 0x009e0000 +#define V4L2_CTRL_CLASS_IMAGE_PROC 0x009f0000 +#define V4L2_CTRL_CLASS_DV 0x00a00000 +#define V4L2_CTRL_CLASS_FM_RX 0x00a10000 +#define V4L2_CTRL_CLASS_RF_TUNER 0x00a20000 +#define V4L2_CTRL_CLASS_DETECT 0x00a30000 +#define V4L2_CID_BASE (V4L2_CTRL_CLASS_USER | 0x900) +#define V4L2_CID_USER_BASE V4L2_CID_BASE +#define V4L2_CID_USER_CLASS (V4L2_CTRL_CLASS_USER | 1) +#define V4L2_CID_BRIGHTNESS (V4L2_CID_BASE+0) +#define V4L2_CID_CONTRAST (V4L2_CID_BASE+1) +#define V4L2_CID_SATURATION (V4L2_CID_BASE+2) +#define V4L2_CID_HUE (V4L2_CID_BASE+3) +#define V4L2_CID_AUDIO_VOLUME (V4L2_CID_BASE+5) +#define V4L2_CID_AUDIO_BALANCE (V4L2_CID_BASE+6) +#define V4L2_CID_AUDIO_BASS (V4L2_CID_BASE+7) +#define V4L2_CID_AUDIO_TREBLE (V4L2_CID_BASE+8) +#define V4L2_CID_AUDIO_MUTE (V4L2_CID_BASE+9) +#define V4L2_CID_AUDIO_LOUDNESS (V4L2_CID_BASE+10) +#define V4L2_CID_BLACK_LEVEL (V4L2_CID_BASE+11) +#define V4L2_CID_AUTO_WHITE_BALANCE (V4L2_CID_BASE+12) +#define V4L2_CID_DO_WHITE_BALANCE (V4L2_CID_BASE+13) +#define V4L2_CID_RED_BALANCE (V4L2_CID_BASE+14) +#define V4L2_CID_BLUE_BALANCE (V4L2_CID_BASE+15) +#define V4L2_CID_GAMMA (V4L2_CID_BASE+16) +#define V4L2_CID_WHITENESS (V4L2_CID_GAMMA) +#define V4L2_CID_EXPOSURE (V4L2_CID_BASE+17) +#define V4L2_CID_AUTOGAIN (V4L2_CID_BASE+18) +#define V4L2_CID_GAIN (V4L2_CID_BASE+19) +#define V4L2_CID_HFLIP (V4L2_CID_BASE+20) +#define V4L2_CID_VFLIP (V4L2_CID_BASE+21) +#define V4L2_CID_POWER_LINE_FREQUENCY (V4L2_CID_BASE+24) +enum v4l2_power_line_frequency { + V4L2_CID_POWER_LINE_FREQUENCY_DISABLED = 0, + V4L2_CID_POWER_LINE_FREQUENCY_50HZ = 1, + V4L2_CID_POWER_LINE_FREQUENCY_60HZ = 2, + V4L2_CID_POWER_LINE_FREQUENCY_AUTO = 3, +}; +#define V4L2_CID_HUE_AUTO (V4L2_CID_BASE+25) +#define V4L2_CID_WHITE_BALANCE_TEMPERATURE (V4L2_CID_BASE+26) +#define V4L2_CID_SHARPNESS (V4L2_CID_BASE+27) +#define V4L2_CID_BACKLIGHT_COMPENSATION (V4L2_CID_BASE+28) +#define V4L2_CID_CHROMA_AGC (V4L2_CID_BASE+29) +#define V4L2_CID_COLOR_KILLER (V4L2_CID_BASE+30) +#define V4L2_CID_COLORFX (V4L2_CID_BASE+31) +enum v4l2_colorfx { + V4L2_COLORFX_NONE = 0, + V4L2_COLORFX_BW = 1, + V4L2_COLORFX_SEPIA = 2, + V4L2_COLORFX_NEGATIVE = 3, + V4L2_COLORFX_EMBOSS = 4, + V4L2_COLORFX_SKETCH = 5, + V4L2_COLORFX_SKY_BLUE = 6, + V4L2_COLORFX_GRASS_GREEN = 7, + V4L2_COLORFX_SKIN_WHITEN = 8, + V4L2_COLORFX_VIVID = 9, + V4L2_COLORFX_AQUA = 10, + V4L2_COLORFX_ART_FREEZE = 11, + V4L2_COLORFX_SILHOUETTE = 12, + V4L2_COLORFX_SOLARIZATION = 13, + V4L2_COLORFX_ANTIQUE = 14, + V4L2_COLORFX_SET_CBCR = 15, +}; +#define V4L2_CID_AUTOBRIGHTNESS (V4L2_CID_BASE+32) +#define V4L2_CID_BAND_STOP_FILTER (V4L2_CID_BASE+33) +#define V4L2_CID_ROTATE (V4L2_CID_BASE+34) +#define V4L2_CID_BG_COLOR (V4L2_CID_BASE+35) +#define V4L2_CID_CHROMA_GAIN (V4L2_CID_BASE+36) +#define V4L2_CID_ILLUMINATORS_1 (V4L2_CID_BASE+37) +#define V4L2_CID_ILLUMINATORS_2 (V4L2_CID_BASE+38) +#define V4L2_CID_MIN_BUFFERS_FOR_CAPTURE (V4L2_CID_BASE+39) +#define V4L2_CID_MIN_BUFFERS_FOR_OUTPUT (V4L2_CID_BASE+40) +#define V4L2_CID_ALPHA_COMPONENT (V4L2_CID_BASE+41) +#define V4L2_CID_COLORFX_CBCR (V4L2_CID_BASE+42) +#define V4L2_CID_LASTP1 (V4L2_CID_BASE+43) +#define V4L2_CID_USER_MEYE_BASE (V4L2_CID_USER_BASE + 0x1000) +#define V4L2_CID_USER_BTTV_BASE (V4L2_CID_USER_BASE + 0x1010) +#define V4L2_CID_USER_S2255_BASE (V4L2_CID_USER_BASE + 0x1030) +#define V4L2_CID_USER_SI476X_BASE (V4L2_CID_USER_BASE + 0x1040) +#define V4L2_CID_USER_TI_VPE_BASE (V4L2_CID_USER_BASE + 0x1050) +#define V4L2_CID_USER_SAA7134_BASE (V4L2_CID_USER_BASE + 0x1060) +#define V4L2_CID_USER_ADV7180_BASE (V4L2_CID_USER_BASE + 0x1070) +#define V4L2_CID_USER_TC358743_BASE (V4L2_CID_USER_BASE + 0x1080) +#define V4L2_CID_USER_MAX217X_BASE (V4L2_CID_USER_BASE + 0x1090) +#define V4L2_CID_USER_IMX_BASE (V4L2_CID_USER_BASE + 0x10b0) +#define V4L2_CID_USER_ATMEL_ISC_BASE (V4L2_CID_USER_BASE + 0x10c0) +#define V4L2_CID_MPEG_BASE (V4L2_CTRL_CLASS_MPEG | 0x900) +#define V4L2_CID_MPEG_CLASS (V4L2_CTRL_CLASS_MPEG | 1) +#define V4L2_CID_MPEG_STREAM_TYPE (V4L2_CID_MPEG_BASE+0) +enum v4l2_mpeg_stream_type { + V4L2_MPEG_STREAM_TYPE_MPEG2_PS = 0, + V4L2_MPEG_STREAM_TYPE_MPEG2_TS = 1, + V4L2_MPEG_STREAM_TYPE_MPEG1_SS = 2, + V4L2_MPEG_STREAM_TYPE_MPEG2_DVD = 3, + V4L2_MPEG_STREAM_TYPE_MPEG1_VCD = 4, + V4L2_MPEG_STREAM_TYPE_MPEG2_SVCD = 5, +}; +#define V4L2_CID_MPEG_STREAM_PID_PMT (V4L2_CID_MPEG_BASE+1) +#define V4L2_CID_MPEG_STREAM_PID_AUDIO (V4L2_CID_MPEG_BASE+2) +#define V4L2_CID_MPEG_STREAM_PID_VIDEO (V4L2_CID_MPEG_BASE+3) +#define V4L2_CID_MPEG_STREAM_PID_PCR (V4L2_CID_MPEG_BASE+4) +#define V4L2_CID_MPEG_STREAM_PES_ID_AUDIO (V4L2_CID_MPEG_BASE+5) +#define V4L2_CID_MPEG_STREAM_PES_ID_VIDEO (V4L2_CID_MPEG_BASE+6) +#define V4L2_CID_MPEG_STREAM_VBI_FMT (V4L2_CID_MPEG_BASE+7) +enum v4l2_mpeg_stream_vbi_fmt { + V4L2_MPEG_STREAM_VBI_FMT_NONE = 0, + V4L2_MPEG_STREAM_VBI_FMT_IVTV = 1, +}; +#define V4L2_CID_MPEG_AUDIO_SAMPLING_FREQ (V4L2_CID_MPEG_BASE+100) +enum v4l2_mpeg_audio_sampling_freq { + V4L2_MPEG_AUDIO_SAMPLING_FREQ_44100 = 0, + V4L2_MPEG_AUDIO_SAMPLING_FREQ_48000 = 1, + V4L2_MPEG_AUDIO_SAMPLING_FREQ_32000 = 2, +}; +#define V4L2_CID_MPEG_AUDIO_ENCODING (V4L2_CID_MPEG_BASE+101) +enum v4l2_mpeg_audio_encoding { + V4L2_MPEG_AUDIO_ENCODING_LAYER_1 = 0, + V4L2_MPEG_AUDIO_ENCODING_LAYER_2 = 1, + V4L2_MPEG_AUDIO_ENCODING_LAYER_3 = 2, + V4L2_MPEG_AUDIO_ENCODING_AAC = 3, + V4L2_MPEG_AUDIO_ENCODING_AC3 = 4, +}; +#define V4L2_CID_MPEG_AUDIO_L1_BITRATE (V4L2_CID_MPEG_BASE+102) +enum v4l2_mpeg_audio_l1_bitrate { + V4L2_MPEG_AUDIO_L1_BITRATE_32K = 0, + V4L2_MPEG_AUDIO_L1_BITRATE_64K = 1, + V4L2_MPEG_AUDIO_L1_BITRATE_96K = 2, + V4L2_MPEG_AUDIO_L1_BITRATE_128K = 3, + V4L2_MPEG_AUDIO_L1_BITRATE_160K = 4, + V4L2_MPEG_AUDIO_L1_BITRATE_192K = 5, + V4L2_MPEG_AUDIO_L1_BITRATE_224K = 6, + V4L2_MPEG_AUDIO_L1_BITRATE_256K = 7, + V4L2_MPEG_AUDIO_L1_BITRATE_288K = 8, + V4L2_MPEG_AUDIO_L1_BITRATE_320K = 9, + V4L2_MPEG_AUDIO_L1_BITRATE_352K = 10, + V4L2_MPEG_AUDIO_L1_BITRATE_384K = 11, + V4L2_MPEG_AUDIO_L1_BITRATE_416K = 12, + V4L2_MPEG_AUDIO_L1_BITRATE_448K = 13, +}; +#define V4L2_CID_MPEG_AUDIO_L2_BITRATE (V4L2_CID_MPEG_BASE+103) +enum v4l2_mpeg_audio_l2_bitrate { + V4L2_MPEG_AUDIO_L2_BITRATE_32K = 0, + V4L2_MPEG_AUDIO_L2_BITRATE_48K = 1, + V4L2_MPEG_AUDIO_L2_BITRATE_56K = 2, + V4L2_MPEG_AUDIO_L2_BITRATE_64K = 3, + V4L2_MPEG_AUDIO_L2_BITRATE_80K = 4, + V4L2_MPEG_AUDIO_L2_BITRATE_96K = 5, + V4L2_MPEG_AUDIO_L2_BITRATE_112K = 6, + V4L2_MPEG_AUDIO_L2_BITRATE_128K = 7, + V4L2_MPEG_AUDIO_L2_BITRATE_160K = 8, + V4L2_MPEG_AUDIO_L2_BITRATE_192K = 9, + V4L2_MPEG_AUDIO_L2_BITRATE_224K = 10, + V4L2_MPEG_AUDIO_L2_BITRATE_256K = 11, + V4L2_MPEG_AUDIO_L2_BITRATE_320K = 12, + V4L2_MPEG_AUDIO_L2_BITRATE_384K = 13, +}; +#define V4L2_CID_MPEG_AUDIO_L3_BITRATE (V4L2_CID_MPEG_BASE+104) +enum v4l2_mpeg_audio_l3_bitrate { + V4L2_MPEG_AUDIO_L3_BITRATE_32K = 0, + V4L2_MPEG_AUDIO_L3_BITRATE_40K = 1, + V4L2_MPEG_AUDIO_L3_BITRATE_48K = 2, + V4L2_MPEG_AUDIO_L3_BITRATE_56K = 3, + V4L2_MPEG_AUDIO_L3_BITRATE_64K = 4, + V4L2_MPEG_AUDIO_L3_BITRATE_80K = 5, + V4L2_MPEG_AUDIO_L3_BITRATE_96K = 6, + V4L2_MPEG_AUDIO_L3_BITRATE_112K = 7, + V4L2_MPEG_AUDIO_L3_BITRATE_128K = 8, + V4L2_MPEG_AUDIO_L3_BITRATE_160K = 9, + V4L2_MPEG_AUDIO_L3_BITRATE_192K = 10, + V4L2_MPEG_AUDIO_L3_BITRATE_224K = 11, + V4L2_MPEG_AUDIO_L3_BITRATE_256K = 12, + V4L2_MPEG_AUDIO_L3_BITRATE_320K = 13, +}; +#define V4L2_CID_MPEG_AUDIO_MODE (V4L2_CID_MPEG_BASE+105) +enum v4l2_mpeg_audio_mode { + V4L2_MPEG_AUDIO_MODE_STEREO = 0, + V4L2_MPEG_AUDIO_MODE_JOINT_STEREO = 1, + V4L2_MPEG_AUDIO_MODE_DUAL = 2, + V4L2_MPEG_AUDIO_MODE_MONO = 3, +}; +#define V4L2_CID_MPEG_AUDIO_MODE_EXTENSION (V4L2_CID_MPEG_BASE+106) +enum v4l2_mpeg_audio_mode_extension { + V4L2_MPEG_AUDIO_MODE_EXTENSION_BOUND_4 = 0, + V4L2_MPEG_AUDIO_MODE_EXTENSION_BOUND_8 = 1, + V4L2_MPEG_AUDIO_MODE_EXTENSION_BOUND_12 = 2, + V4L2_MPEG_AUDIO_MODE_EXTENSION_BOUND_16 = 3, +}; +#define V4L2_CID_MPEG_AUDIO_EMPHASIS (V4L2_CID_MPEG_BASE+107) +enum v4l2_mpeg_audio_emphasis { + V4L2_MPEG_AUDIO_EMPHASIS_NONE = 0, + V4L2_MPEG_AUDIO_EMPHASIS_50_DIV_15_uS = 1, + V4L2_MPEG_AUDIO_EMPHASIS_CCITT_J17 = 2, +}; +#define V4L2_CID_MPEG_AUDIO_CRC (V4L2_CID_MPEG_BASE+108) +enum v4l2_mpeg_audio_crc { + V4L2_MPEG_AUDIO_CRC_NONE = 0, + V4L2_MPEG_AUDIO_CRC_CRC16 = 1, +}; +#define V4L2_CID_MPEG_AUDIO_MUTE (V4L2_CID_MPEG_BASE+109) +#define V4L2_CID_MPEG_AUDIO_AAC_BITRATE (V4L2_CID_MPEG_BASE+110) +#define V4L2_CID_MPEG_AUDIO_AC3_BITRATE (V4L2_CID_MPEG_BASE+111) +enum v4l2_mpeg_audio_ac3_bitrate { + V4L2_MPEG_AUDIO_AC3_BITRATE_32K = 0, + V4L2_MPEG_AUDIO_AC3_BITRATE_40K = 1, + V4L2_MPEG_AUDIO_AC3_BITRATE_48K = 2, + V4L2_MPEG_AUDIO_AC3_BITRATE_56K = 3, + V4L2_MPEG_AUDIO_AC3_BITRATE_64K = 4, + V4L2_MPEG_AUDIO_AC3_BITRATE_80K = 5, + V4L2_MPEG_AUDIO_AC3_BITRATE_96K = 6, + V4L2_MPEG_AUDIO_AC3_BITRATE_112K = 7, + V4L2_MPEG_AUDIO_AC3_BITRATE_128K = 8, + V4L2_MPEG_AUDIO_AC3_BITRATE_160K = 9, + V4L2_MPEG_AUDIO_AC3_BITRATE_192K = 10, + V4L2_MPEG_AUDIO_AC3_BITRATE_224K = 11, + V4L2_MPEG_AUDIO_AC3_BITRATE_256K = 12, + V4L2_MPEG_AUDIO_AC3_BITRATE_320K = 13, + V4L2_MPEG_AUDIO_AC3_BITRATE_384K = 14, + V4L2_MPEG_AUDIO_AC3_BITRATE_448K = 15, + V4L2_MPEG_AUDIO_AC3_BITRATE_512K = 16, + V4L2_MPEG_AUDIO_AC3_BITRATE_576K = 17, + V4L2_MPEG_AUDIO_AC3_BITRATE_640K = 18, +}; +#define V4L2_CID_MPEG_AUDIO_DEC_PLAYBACK (V4L2_CID_MPEG_BASE+112) +enum v4l2_mpeg_audio_dec_playback { + V4L2_MPEG_AUDIO_DEC_PLAYBACK_AUTO = 0, + V4L2_MPEG_AUDIO_DEC_PLAYBACK_STEREO = 1, + V4L2_MPEG_AUDIO_DEC_PLAYBACK_LEFT = 2, + V4L2_MPEG_AUDIO_DEC_PLAYBACK_RIGHT = 3, + V4L2_MPEG_AUDIO_DEC_PLAYBACK_MONO = 4, + V4L2_MPEG_AUDIO_DEC_PLAYBACK_SWAPPED_STEREO = 5, +}; +#define V4L2_CID_MPEG_AUDIO_DEC_MULTILINGUAL_PLAYBACK (V4L2_CID_MPEG_BASE+113) +#define V4L2_CID_MPEG_VIDEO_ENCODING (V4L2_CID_MPEG_BASE+200) +enum v4l2_mpeg_video_encoding { + V4L2_MPEG_VIDEO_ENCODING_MPEG_1 = 0, + V4L2_MPEG_VIDEO_ENCODING_MPEG_2 = 1, + V4L2_MPEG_VIDEO_ENCODING_MPEG_4_AVC = 2, +}; +#define V4L2_CID_MPEG_VIDEO_ASPECT (V4L2_CID_MPEG_BASE+201) +enum v4l2_mpeg_video_aspect { + V4L2_MPEG_VIDEO_ASPECT_1x1 = 0, + V4L2_MPEG_VIDEO_ASPECT_4x3 = 1, + V4L2_MPEG_VIDEO_ASPECT_16x9 = 2, + V4L2_MPEG_VIDEO_ASPECT_221x100 = 3, +}; +#define V4L2_CID_MPEG_VIDEO_B_FRAMES (V4L2_CID_MPEG_BASE+202) +#define V4L2_CID_MPEG_VIDEO_GOP_SIZE (V4L2_CID_MPEG_BASE+203) +#define V4L2_CID_MPEG_VIDEO_GOP_CLOSURE (V4L2_CID_MPEG_BASE+204) +#define V4L2_CID_MPEG_VIDEO_PULLDOWN (V4L2_CID_MPEG_BASE+205) +#define V4L2_CID_MPEG_VIDEO_BITRATE_MODE (V4L2_CID_MPEG_BASE+206) +enum v4l2_mpeg_video_bitrate_mode { + V4L2_MPEG_VIDEO_BITRATE_MODE_VBR = 0, + V4L2_MPEG_VIDEO_BITRATE_MODE_CBR = 1, + V4L2_MPEG_VIDEO_BITRATE_MODE_CQ = 2, +}; +#define V4L2_CID_MPEG_VIDEO_BITRATE (V4L2_CID_MPEG_BASE+207) +#define V4L2_CID_MPEG_VIDEO_BITRATE_PEAK (V4L2_CID_MPEG_BASE+208) +#define V4L2_CID_MPEG_VIDEO_TEMPORAL_DECIMATION (V4L2_CID_MPEG_BASE+209) +#define V4L2_CID_MPEG_VIDEO_MUTE (V4L2_CID_MPEG_BASE+210) +#define V4L2_CID_MPEG_VIDEO_MUTE_YUV (V4L2_CID_MPEG_BASE+211) +#define V4L2_CID_MPEG_VIDEO_DECODER_SLICE_INTERFACE (V4L2_CID_MPEG_BASE+212) +#define V4L2_CID_MPEG_VIDEO_DECODER_MPEG4_DEBLOCK_FILTER (V4L2_CID_MPEG_BASE+213) +#define V4L2_CID_MPEG_VIDEO_CYCLIC_INTRA_REFRESH_MB (V4L2_CID_MPEG_BASE+214) +#define V4L2_CID_MPEG_VIDEO_FRAME_RC_ENABLE (V4L2_CID_MPEG_BASE+215) +#define V4L2_CID_MPEG_VIDEO_HEADER_MODE (V4L2_CID_MPEG_BASE+216) +enum v4l2_mpeg_video_header_mode { + V4L2_MPEG_VIDEO_HEADER_MODE_SEPARATE = 0, + V4L2_MPEG_VIDEO_HEADER_MODE_JOINED_WITH_1ST_FRAME = 1, +}; +#define V4L2_CID_MPEG_VIDEO_MAX_REF_PIC (V4L2_CID_MPEG_BASE+217) +#define V4L2_CID_MPEG_VIDEO_MB_RC_ENABLE (V4L2_CID_MPEG_BASE+218) +#define V4L2_CID_MPEG_VIDEO_MULTI_SLICE_MAX_BYTES (V4L2_CID_MPEG_BASE+219) +#define V4L2_CID_MPEG_VIDEO_MULTI_SLICE_MAX_MB (V4L2_CID_MPEG_BASE+220) +#define V4L2_CID_MPEG_VIDEO_MULTI_SLICE_MODE (V4L2_CID_MPEG_BASE+221) +enum v4l2_mpeg_video_multi_slice_mode { + V4L2_MPEG_VIDEO_MULTI_SLICE_MODE_SINGLE = 0, + V4L2_MPEG_VIDEO_MULTI_SLICE_MODE_MAX_MB = 1, + V4L2_MPEG_VIDEO_MULTI_SLICE_MODE_MAX_BYTES = 2, +#ifndef __KERNEL__ + + V4L2_MPEG_VIDEO_MULTI_SICE_MODE_MAX_MB = 1, + V4L2_MPEG_VIDEO_MULTI_SICE_MODE_MAX_BYTES = 2, +#endif +}; +#define V4L2_CID_MPEG_VIDEO_VBV_SIZE (V4L2_CID_MPEG_BASE+222) +#define V4L2_CID_MPEG_VIDEO_DEC_PTS (V4L2_CID_MPEG_BASE+223) +#define V4L2_CID_MPEG_VIDEO_DEC_FRAME (V4L2_CID_MPEG_BASE+224) +#define V4L2_CID_MPEG_VIDEO_VBV_DELAY (V4L2_CID_MPEG_BASE+225) +#define V4L2_CID_MPEG_VIDEO_REPEAT_SEQ_HEADER (V4L2_CID_MPEG_BASE+226) +#define V4L2_CID_MPEG_VIDEO_MV_H_SEARCH_RANGE (V4L2_CID_MPEG_BASE+227) +#define V4L2_CID_MPEG_VIDEO_MV_V_SEARCH_RANGE (V4L2_CID_MPEG_BASE+228) +#define V4L2_CID_MPEG_VIDEO_FORCE_KEY_FRAME (V4L2_CID_MPEG_BASE+229) +#define V4L2_CID_MPEG_VIDEO_MPEG2_LEVEL (V4L2_CID_MPEG_BASE+270) +enum v4l2_mpeg_video_mpeg2_level { + V4L2_MPEG_VIDEO_MPEG2_LEVEL_LOW = 0, + V4L2_MPEG_VIDEO_MPEG2_LEVEL_MAIN = 1, + V4L2_MPEG_VIDEO_MPEG2_LEVEL_HIGH_1440 = 2, + V4L2_MPEG_VIDEO_MPEG2_LEVEL_HIGH = 3, +}; +#define V4L2_CID_MPEG_VIDEO_MPEG2_PROFILE (V4L2_CID_MPEG_BASE+271) +enum v4l2_mpeg_video_mpeg2_profile { + V4L2_MPEG_VIDEO_MPEG2_PROFILE_SIMPLE = 0, + V4L2_MPEG_VIDEO_MPEG2_PROFILE_MAIN = 1, + V4L2_MPEG_VIDEO_MPEG2_PROFILE_SNR_SCALABLE = 2, + V4L2_MPEG_VIDEO_MPEG2_PROFILE_SPATIALLY_SCALABLE = 3, + V4L2_MPEG_VIDEO_MPEG2_PROFILE_HIGH = 4, + V4L2_MPEG_VIDEO_MPEG2_PROFILE_MULTIVIEW = 5, +}; +#define V4L2_CID_FWHT_I_FRAME_QP (V4L2_CID_MPEG_BASE + 290) +#define V4L2_CID_FWHT_P_FRAME_QP (V4L2_CID_MPEG_BASE + 291) +#define V4L2_CID_MPEG_VIDEO_H263_I_FRAME_QP (V4L2_CID_MPEG_BASE+300) +#define V4L2_CID_MPEG_VIDEO_H263_P_FRAME_QP (V4L2_CID_MPEG_BASE+301) +#define V4L2_CID_MPEG_VIDEO_H263_B_FRAME_QP (V4L2_CID_MPEG_BASE+302) +#define V4L2_CID_MPEG_VIDEO_H263_MIN_QP (V4L2_CID_MPEG_BASE+303) +#define V4L2_CID_MPEG_VIDEO_H263_MAX_QP (V4L2_CID_MPEG_BASE+304) +#define V4L2_CID_MPEG_VIDEO_H264_I_FRAME_QP (V4L2_CID_MPEG_BASE+350) +#define V4L2_CID_MPEG_VIDEO_H264_P_FRAME_QP (V4L2_CID_MPEG_BASE+351) +#define V4L2_CID_MPEG_VIDEO_H264_B_FRAME_QP (V4L2_CID_MPEG_BASE+352) +#define V4L2_CID_MPEG_VIDEO_H264_MIN_QP (V4L2_CID_MPEG_BASE+353) +#define V4L2_CID_MPEG_VIDEO_H264_MAX_QP (V4L2_CID_MPEG_BASE+354) +#define V4L2_CID_MPEG_VIDEO_H264_8X8_TRANSFORM (V4L2_CID_MPEG_BASE+355) +#define V4L2_CID_MPEG_VIDEO_H264_CPB_SIZE (V4L2_CID_MPEG_BASE+356) +#define V4L2_CID_MPEG_VIDEO_H264_ENTROPY_MODE (V4L2_CID_MPEG_BASE+357) +enum v4l2_mpeg_video_h264_entropy_mode { + V4L2_MPEG_VIDEO_H264_ENTROPY_MODE_CAVLC = 0, + V4L2_MPEG_VIDEO_H264_ENTROPY_MODE_CABAC = 1, +}; +#define V4L2_CID_MPEG_VIDEO_H264_I_PERIOD (V4L2_CID_MPEG_BASE+358) +#define V4L2_CID_MPEG_VIDEO_H264_LEVEL (V4L2_CID_MPEG_BASE+359) +enum v4l2_mpeg_video_h264_level { + V4L2_MPEG_VIDEO_H264_LEVEL_1_0 = 0, + V4L2_MPEG_VIDEO_H264_LEVEL_1B = 1, + V4L2_MPEG_VIDEO_H264_LEVEL_1_1 = 2, + V4L2_MPEG_VIDEO_H264_LEVEL_1_2 = 3, + V4L2_MPEG_VIDEO_H264_LEVEL_1_3 = 4, + V4L2_MPEG_VIDEO_H264_LEVEL_2_0 = 5, + V4L2_MPEG_VIDEO_H264_LEVEL_2_1 = 6, + V4L2_MPEG_VIDEO_H264_LEVEL_2_2 = 7, + V4L2_MPEG_VIDEO_H264_LEVEL_3_0 = 8, + V4L2_MPEG_VIDEO_H264_LEVEL_3_1 = 9, + V4L2_MPEG_VIDEO_H264_LEVEL_3_2 = 10, + V4L2_MPEG_VIDEO_H264_LEVEL_4_0 = 11, + V4L2_MPEG_VIDEO_H264_LEVEL_4_1 = 12, + V4L2_MPEG_VIDEO_H264_LEVEL_4_2 = 13, + V4L2_MPEG_VIDEO_H264_LEVEL_5_0 = 14, + V4L2_MPEG_VIDEO_H264_LEVEL_5_1 = 15, + V4L2_MPEG_VIDEO_H264_LEVEL_5_2 = 16, + V4L2_MPEG_VIDEO_H264_LEVEL_6_0 = 17, + V4L2_MPEG_VIDEO_H264_LEVEL_6_1 = 18, + V4L2_MPEG_VIDEO_H264_LEVEL_6_2 = 19, +}; +#define V4L2_CID_MPEG_VIDEO_H264_LOOP_FILTER_ALPHA (V4L2_CID_MPEG_BASE+360) +#define V4L2_CID_MPEG_VIDEO_H264_LOOP_FILTER_BETA (V4L2_CID_MPEG_BASE+361) +#define V4L2_CID_MPEG_VIDEO_H264_LOOP_FILTER_MODE (V4L2_CID_MPEG_BASE+362) +enum v4l2_mpeg_video_h264_loop_filter_mode { + V4L2_MPEG_VIDEO_H264_LOOP_FILTER_MODE_ENABLED = 0, + V4L2_MPEG_VIDEO_H264_LOOP_FILTER_MODE_DISABLED = 1, + V4L2_MPEG_VIDEO_H264_LOOP_FILTER_MODE_DISABLED_AT_SLICE_BOUNDARY = 2, +}; +#define V4L2_CID_MPEG_VIDEO_H264_PROFILE (V4L2_CID_MPEG_BASE+363) +enum v4l2_mpeg_video_h264_profile { + V4L2_MPEG_VIDEO_H264_PROFILE_BASELINE = 0, + V4L2_MPEG_VIDEO_H264_PROFILE_CONSTRAINED_BASELINE = 1, + V4L2_MPEG_VIDEO_H264_PROFILE_MAIN = 2, + V4L2_MPEG_VIDEO_H264_PROFILE_EXTENDED = 3, + V4L2_MPEG_VIDEO_H264_PROFILE_HIGH = 4, + V4L2_MPEG_VIDEO_H264_PROFILE_HIGH_10 = 5, + V4L2_MPEG_VIDEO_H264_PROFILE_HIGH_422 = 6, + V4L2_MPEG_VIDEO_H264_PROFILE_HIGH_444_PREDICTIVE = 7, + V4L2_MPEG_VIDEO_H264_PROFILE_HIGH_10_INTRA = 8, + V4L2_MPEG_VIDEO_H264_PROFILE_HIGH_422_INTRA = 9, + V4L2_MPEG_VIDEO_H264_PROFILE_HIGH_444_INTRA = 10, + V4L2_MPEG_VIDEO_H264_PROFILE_CAVLC_444_INTRA = 11, + V4L2_MPEG_VIDEO_H264_PROFILE_SCALABLE_BASELINE = 12, + V4L2_MPEG_VIDEO_H264_PROFILE_SCALABLE_HIGH = 13, + V4L2_MPEG_VIDEO_H264_PROFILE_SCALABLE_HIGH_INTRA = 14, + V4L2_MPEG_VIDEO_H264_PROFILE_STEREO_HIGH = 15, + V4L2_MPEG_VIDEO_H264_PROFILE_MULTIVIEW_HIGH = 16, + V4L2_MPEG_VIDEO_H264_PROFILE_CONSTRAINED_HIGH = 17, +}; +#define V4L2_CID_MPEG_VIDEO_H264_VUI_EXT_SAR_HEIGHT (V4L2_CID_MPEG_BASE+364) +#define V4L2_CID_MPEG_VIDEO_H264_VUI_EXT_SAR_WIDTH (V4L2_CID_MPEG_BASE+365) +#define V4L2_CID_MPEG_VIDEO_H264_VUI_SAR_ENABLE (V4L2_CID_MPEG_BASE+366) +#define V4L2_CID_MPEG_VIDEO_H264_VUI_SAR_IDC (V4L2_CID_MPEG_BASE+367) +enum v4l2_mpeg_video_h264_vui_sar_idc { + V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_UNSPECIFIED = 0, + V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_1x1 = 1, + V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_12x11 = 2, + V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_10x11 = 3, + V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_16x11 = 4, + V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_40x33 = 5, + V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_24x11 = 6, + V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_20x11 = 7, + V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_32x11 = 8, + V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_80x33 = 9, + V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_18x11 = 10, + V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_15x11 = 11, + V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_64x33 = 12, + V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_160x99 = 13, + V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_4x3 = 14, + V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_3x2 = 15, + V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_2x1 = 16, + V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_EXTENDED = 17, +}; +#define V4L2_CID_MPEG_VIDEO_H264_SEI_FRAME_PACKING (V4L2_CID_MPEG_BASE+368) +#define V4L2_CID_MPEG_VIDEO_H264_SEI_FP_CURRENT_FRAME_0 (V4L2_CID_MPEG_BASE+369) +#define V4L2_CID_MPEG_VIDEO_H264_SEI_FP_ARRANGEMENT_TYPE (V4L2_CID_MPEG_BASE+370) +enum v4l2_mpeg_video_h264_sei_fp_arrangement_type { + V4L2_MPEG_VIDEO_H264_SEI_FP_ARRANGEMENT_TYPE_CHECKERBOARD = 0, + V4L2_MPEG_VIDEO_H264_SEI_FP_ARRANGEMENT_TYPE_COLUMN = 1, + V4L2_MPEG_VIDEO_H264_SEI_FP_ARRANGEMENT_TYPE_ROW = 2, + V4L2_MPEG_VIDEO_H264_SEI_FP_ARRANGEMENT_TYPE_SIDE_BY_SIDE = 3, + V4L2_MPEG_VIDEO_H264_SEI_FP_ARRANGEMENT_TYPE_TOP_BOTTOM = 4, + V4L2_MPEG_VIDEO_H264_SEI_FP_ARRANGEMENT_TYPE_TEMPORAL = 5, +}; +#define V4L2_CID_MPEG_VIDEO_H264_FMO (V4L2_CID_MPEG_BASE+371) +#define V4L2_CID_MPEG_VIDEO_H264_FMO_MAP_TYPE (V4L2_CID_MPEG_BASE+372) +enum v4l2_mpeg_video_h264_fmo_map_type { + V4L2_MPEG_VIDEO_H264_FMO_MAP_TYPE_INTERLEAVED_SLICES = 0, + V4L2_MPEG_VIDEO_H264_FMO_MAP_TYPE_SCATTERED_SLICES = 1, + V4L2_MPEG_VIDEO_H264_FMO_MAP_TYPE_FOREGROUND_WITH_LEFT_OVER = 2, + V4L2_MPEG_VIDEO_H264_FMO_MAP_TYPE_BOX_OUT = 3, + V4L2_MPEG_VIDEO_H264_FMO_MAP_TYPE_RASTER_SCAN = 4, + V4L2_MPEG_VIDEO_H264_FMO_MAP_TYPE_WIPE_SCAN = 5, + V4L2_MPEG_VIDEO_H264_FMO_MAP_TYPE_EXPLICIT = 6, +}; +#define V4L2_CID_MPEG_VIDEO_H264_FMO_SLICE_GROUP (V4L2_CID_MPEG_BASE+373) +#define V4L2_CID_MPEG_VIDEO_H264_FMO_CHANGE_DIRECTION (V4L2_CID_MPEG_BASE+374) +enum v4l2_mpeg_video_h264_fmo_change_dir { + V4L2_MPEG_VIDEO_H264_FMO_CHANGE_DIR_RIGHT = 0, + V4L2_MPEG_VIDEO_H264_FMO_CHANGE_DIR_LEFT = 1, +}; +#define V4L2_CID_MPEG_VIDEO_H264_FMO_CHANGE_RATE (V4L2_CID_MPEG_BASE+375) +#define V4L2_CID_MPEG_VIDEO_H264_FMO_RUN_LENGTH (V4L2_CID_MPEG_BASE+376) +#define V4L2_CID_MPEG_VIDEO_H264_ASO (V4L2_CID_MPEG_BASE+377) +#define V4L2_CID_MPEG_VIDEO_H264_ASO_SLICE_ORDER (V4L2_CID_MPEG_BASE+378) +#define V4L2_CID_MPEG_VIDEO_H264_HIERARCHICAL_CODING (V4L2_CID_MPEG_BASE+379) +#define V4L2_CID_MPEG_VIDEO_H264_HIERARCHICAL_CODING_TYPE (V4L2_CID_MPEG_BASE+380) +enum v4l2_mpeg_video_h264_hierarchical_coding_type { + V4L2_MPEG_VIDEO_H264_HIERARCHICAL_CODING_B = 0, + V4L2_MPEG_VIDEO_H264_HIERARCHICAL_CODING_P = 1, +}; +#define V4L2_CID_MPEG_VIDEO_H264_HIERARCHICAL_CODING_LAYER (V4L2_CID_MPEG_BASE+381) +#define V4L2_CID_MPEG_VIDEO_H264_HIERARCHICAL_CODING_LAYER_QP (V4L2_CID_MPEG_BASE+382) +#define V4L2_CID_MPEG_VIDEO_H264_CONSTRAINED_INTRA_PREDICTION (V4L2_CID_MPEG_BASE+383) +#define V4L2_CID_MPEG_VIDEO_H264_CHROMA_QP_INDEX_OFFSET (V4L2_CID_MPEG_BASE+384) +#define V4L2_CID_MPEG_VIDEO_H264_I_FRAME_MIN_QP (V4L2_CID_MPEG_BASE+385) +#define V4L2_CID_MPEG_VIDEO_H264_I_FRAME_MAX_QP (V4L2_CID_MPEG_BASE+386) +#define V4L2_CID_MPEG_VIDEO_H264_P_FRAME_MIN_QP (V4L2_CID_MPEG_BASE+387) +#define V4L2_CID_MPEG_VIDEO_H264_P_FRAME_MAX_QP (V4L2_CID_MPEG_BASE+388) +#define V4L2_CID_MPEG_VIDEO_MPEG4_I_FRAME_QP (V4L2_CID_MPEG_BASE+400) +#define V4L2_CID_MPEG_VIDEO_MPEG4_P_FRAME_QP (V4L2_CID_MPEG_BASE+401) +#define V4L2_CID_MPEG_VIDEO_MPEG4_B_FRAME_QP (V4L2_CID_MPEG_BASE+402) +#define V4L2_CID_MPEG_VIDEO_MPEG4_MIN_QP (V4L2_CID_MPEG_BASE+403) +#define V4L2_CID_MPEG_VIDEO_MPEG4_MAX_QP (V4L2_CID_MPEG_BASE+404) +#define V4L2_CID_MPEG_VIDEO_MPEG4_LEVEL (V4L2_CID_MPEG_BASE+405) +enum v4l2_mpeg_video_mpeg4_level { + V4L2_MPEG_VIDEO_MPEG4_LEVEL_0 = 0, + V4L2_MPEG_VIDEO_MPEG4_LEVEL_0B = 1, + V4L2_MPEG_VIDEO_MPEG4_LEVEL_1 = 2, + V4L2_MPEG_VIDEO_MPEG4_LEVEL_2 = 3, + V4L2_MPEG_VIDEO_MPEG4_LEVEL_3 = 4, + V4L2_MPEG_VIDEO_MPEG4_LEVEL_3B = 5, + V4L2_MPEG_VIDEO_MPEG4_LEVEL_4 = 6, + V4L2_MPEG_VIDEO_MPEG4_LEVEL_5 = 7, +}; +#define V4L2_CID_MPEG_VIDEO_MPEG4_PROFILE (V4L2_CID_MPEG_BASE+406) +enum v4l2_mpeg_video_mpeg4_profile { + V4L2_MPEG_VIDEO_MPEG4_PROFILE_SIMPLE = 0, + V4L2_MPEG_VIDEO_MPEG4_PROFILE_ADVANCED_SIMPLE = 1, + V4L2_MPEG_VIDEO_MPEG4_PROFILE_CORE = 2, + V4L2_MPEG_VIDEO_MPEG4_PROFILE_SIMPLE_SCALABLE = 3, + V4L2_MPEG_VIDEO_MPEG4_PROFILE_ADVANCED_CODING_EFFICIENCY = 4, +}; +#define V4L2_CID_MPEG_VIDEO_MPEG4_QPEL (V4L2_CID_MPEG_BASE+407) +#define V4L2_CID_MPEG_VIDEO_VPX_NUM_PARTITIONS (V4L2_CID_MPEG_BASE+500) +enum v4l2_vp8_num_partitions { + V4L2_CID_MPEG_VIDEO_VPX_1_PARTITION = 0, + V4L2_CID_MPEG_VIDEO_VPX_2_PARTITIONS = 1, + V4L2_CID_MPEG_VIDEO_VPX_4_PARTITIONS = 2, + V4L2_CID_MPEG_VIDEO_VPX_8_PARTITIONS = 3, +}; +#define V4L2_CID_MPEG_VIDEO_VPX_IMD_DISABLE_4X4 (V4L2_CID_MPEG_BASE+501) +#define V4L2_CID_MPEG_VIDEO_VPX_NUM_REF_FRAMES (V4L2_CID_MPEG_BASE+502) +enum v4l2_vp8_num_ref_frames { + V4L2_CID_MPEG_VIDEO_VPX_1_REF_FRAME = 0, + V4L2_CID_MPEG_VIDEO_VPX_2_REF_FRAME = 1, + V4L2_CID_MPEG_VIDEO_VPX_3_REF_FRAME = 2, +}; +#define V4L2_CID_MPEG_VIDEO_VPX_FILTER_LEVEL (V4L2_CID_MPEG_BASE+503) +#define V4L2_CID_MPEG_VIDEO_VPX_FILTER_SHARPNESS (V4L2_CID_MPEG_BASE+504) +#define V4L2_CID_MPEG_VIDEO_VPX_GOLDEN_FRAME_REF_PERIOD (V4L2_CID_MPEG_BASE+505) +#define V4L2_CID_MPEG_VIDEO_VPX_GOLDEN_FRAME_SEL (V4L2_CID_MPEG_BASE+506) +enum v4l2_vp8_golden_frame_sel { + V4L2_CID_MPEG_VIDEO_VPX_GOLDEN_FRAME_USE_PREV = 0, + V4L2_CID_MPEG_VIDEO_VPX_GOLDEN_FRAME_USE_REF_PERIOD = 1, +}; +#define V4L2_CID_MPEG_VIDEO_VPX_MIN_QP (V4L2_CID_MPEG_BASE+507) +#define V4L2_CID_MPEG_VIDEO_VPX_MAX_QP (V4L2_CID_MPEG_BASE+508) +#define V4L2_CID_MPEG_VIDEO_VPX_I_FRAME_QP (V4L2_CID_MPEG_BASE+509) +#define V4L2_CID_MPEG_VIDEO_VPX_P_FRAME_QP (V4L2_CID_MPEG_BASE+510) +#define V4L2_CID_MPEG_VIDEO_VP8_PROFILE (V4L2_CID_MPEG_BASE+511) +enum v4l2_mpeg_video_vp8_profile { + V4L2_MPEG_VIDEO_VP8_PROFILE_0 = 0, + V4L2_MPEG_VIDEO_VP8_PROFILE_1 = 1, + V4L2_MPEG_VIDEO_VP8_PROFILE_2 = 2, + V4L2_MPEG_VIDEO_VP8_PROFILE_3 = 3, +}; +#define V4L2_CID_MPEG_VIDEO_VPX_PROFILE V4L2_CID_MPEG_VIDEO_VP8_PROFILE +#define V4L2_CID_MPEG_VIDEO_VP9_PROFILE (V4L2_CID_MPEG_BASE+512) +enum v4l2_mpeg_video_vp9_profile { + V4L2_MPEG_VIDEO_VP9_PROFILE_0 = 0, + V4L2_MPEG_VIDEO_VP9_PROFILE_1 = 1, + V4L2_MPEG_VIDEO_VP9_PROFILE_2 = 2, + V4L2_MPEG_VIDEO_VP9_PROFILE_3 = 3, +}; +#define V4L2_CID_MPEG_VIDEO_VP9_LEVEL (V4L2_CID_MPEG_BASE+513) +enum v4l2_mpeg_video_vp9_level { + V4L2_MPEG_VIDEO_VP9_LEVEL_1_0 = 0, + V4L2_MPEG_VIDEO_VP9_LEVEL_1_1 = 1, + V4L2_MPEG_VIDEO_VP9_LEVEL_2_0 = 2, + V4L2_MPEG_VIDEO_VP9_LEVEL_2_1 = 3, + V4L2_MPEG_VIDEO_VP9_LEVEL_3_0 = 4, + V4L2_MPEG_VIDEO_VP9_LEVEL_3_1 = 5, + V4L2_MPEG_VIDEO_VP9_LEVEL_4_0 = 6, + V4L2_MPEG_VIDEO_VP9_LEVEL_4_1 = 7, + V4L2_MPEG_VIDEO_VP9_LEVEL_5_0 = 8, + V4L2_MPEG_VIDEO_VP9_LEVEL_5_1 = 9, + V4L2_MPEG_VIDEO_VP9_LEVEL_5_2 = 10, + V4L2_MPEG_VIDEO_VP9_LEVEL_6_0 = 11, + V4L2_MPEG_VIDEO_VP9_LEVEL_6_1 = 12, + V4L2_MPEG_VIDEO_VP9_LEVEL_6_2 = 13, +}; +#define V4L2_CID_MPEG_VIDEO_HEVC_MIN_QP (V4L2_CID_MPEG_BASE + 600) +#define V4L2_CID_MPEG_VIDEO_HEVC_MAX_QP (V4L2_CID_MPEG_BASE + 601) +#define V4L2_CID_MPEG_VIDEO_HEVC_I_FRAME_QP (V4L2_CID_MPEG_BASE + 602) +#define V4L2_CID_MPEG_VIDEO_HEVC_P_FRAME_QP (V4L2_CID_MPEG_BASE + 603) +#define V4L2_CID_MPEG_VIDEO_HEVC_B_FRAME_QP (V4L2_CID_MPEG_BASE + 604) +#define V4L2_CID_MPEG_VIDEO_HEVC_HIER_QP (V4L2_CID_MPEG_BASE + 605) +#define V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_TYPE (V4L2_CID_MPEG_BASE + 606) +enum v4l2_mpeg_video_hevc_hier_coding_type { + V4L2_MPEG_VIDEO_HEVC_HIERARCHICAL_CODING_B = 0, + V4L2_MPEG_VIDEO_HEVC_HIERARCHICAL_CODING_P = 1, +}; +#define V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_LAYER (V4L2_CID_MPEG_BASE + 607) +#define V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L0_QP (V4L2_CID_MPEG_BASE + 608) +#define V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L1_QP (V4L2_CID_MPEG_BASE + 609) +#define V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L2_QP (V4L2_CID_MPEG_BASE + 610) +#define V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L3_QP (V4L2_CID_MPEG_BASE + 611) +#define V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L4_QP (V4L2_CID_MPEG_BASE + 612) +#define V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L5_QP (V4L2_CID_MPEG_BASE + 613) +#define V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L6_QP (V4L2_CID_MPEG_BASE + 614) +#define V4L2_CID_MPEG_VIDEO_HEVC_PROFILE (V4L2_CID_MPEG_BASE + 615) +enum v4l2_mpeg_video_hevc_profile { + V4L2_MPEG_VIDEO_HEVC_PROFILE_MAIN = 0, + V4L2_MPEG_VIDEO_HEVC_PROFILE_MAIN_STILL_PICTURE = 1, + V4L2_MPEG_VIDEO_HEVC_PROFILE_MAIN_10 = 2, +}; +#define V4L2_CID_MPEG_VIDEO_HEVC_LEVEL (V4L2_CID_MPEG_BASE + 616) +enum v4l2_mpeg_video_hevc_level { + V4L2_MPEG_VIDEO_HEVC_LEVEL_1 = 0, + V4L2_MPEG_VIDEO_HEVC_LEVEL_2 = 1, + V4L2_MPEG_VIDEO_HEVC_LEVEL_2_1 = 2, + V4L2_MPEG_VIDEO_HEVC_LEVEL_3 = 3, + V4L2_MPEG_VIDEO_HEVC_LEVEL_3_1 = 4, + V4L2_MPEG_VIDEO_HEVC_LEVEL_4 = 5, + V4L2_MPEG_VIDEO_HEVC_LEVEL_4_1 = 6, + V4L2_MPEG_VIDEO_HEVC_LEVEL_5 = 7, + V4L2_MPEG_VIDEO_HEVC_LEVEL_5_1 = 8, + V4L2_MPEG_VIDEO_HEVC_LEVEL_5_2 = 9, + V4L2_MPEG_VIDEO_HEVC_LEVEL_6 = 10, + V4L2_MPEG_VIDEO_HEVC_LEVEL_6_1 = 11, + V4L2_MPEG_VIDEO_HEVC_LEVEL_6_2 = 12, +}; +#define V4L2_CID_MPEG_VIDEO_HEVC_FRAME_RATE_RESOLUTION (V4L2_CID_MPEG_BASE + 617) +#define V4L2_CID_MPEG_VIDEO_HEVC_TIER (V4L2_CID_MPEG_BASE + 618) +enum v4l2_mpeg_video_hevc_tier { + V4L2_MPEG_VIDEO_HEVC_TIER_MAIN = 0, + V4L2_MPEG_VIDEO_HEVC_TIER_HIGH = 1, +}; +#define V4L2_CID_MPEG_VIDEO_HEVC_MAX_PARTITION_DEPTH (V4L2_CID_MPEG_BASE + 619) +#define V4L2_CID_MPEG_VIDEO_HEVC_LOOP_FILTER_MODE (V4L2_CID_MPEG_BASE + 620) +enum v4l2_cid_mpeg_video_hevc_loop_filter_mode { + V4L2_MPEG_VIDEO_HEVC_LOOP_FILTER_MODE_DISABLED = 0, + V4L2_MPEG_VIDEO_HEVC_LOOP_FILTER_MODE_ENABLED = 1, + V4L2_MPEG_VIDEO_HEVC_LOOP_FILTER_MODE_DISABLED_AT_SLICE_BOUNDARY = 2, +}; +#define V4L2_CID_MPEG_VIDEO_HEVC_LF_BETA_OFFSET_DIV2 (V4L2_CID_MPEG_BASE + 621) +#define V4L2_CID_MPEG_VIDEO_HEVC_LF_TC_OFFSET_DIV2 (V4L2_CID_MPEG_BASE + 622) +#define V4L2_CID_MPEG_VIDEO_HEVC_REFRESH_TYPE (V4L2_CID_MPEG_BASE + 623) +enum v4l2_cid_mpeg_video_hevc_refresh_type { + V4L2_MPEG_VIDEO_HEVC_REFRESH_NONE = 0, + V4L2_MPEG_VIDEO_HEVC_REFRESH_CRA = 1, + V4L2_MPEG_VIDEO_HEVC_REFRESH_IDR = 2, +}; +#define V4L2_CID_MPEG_VIDEO_HEVC_REFRESH_PERIOD (V4L2_CID_MPEG_BASE + 624) +#define V4L2_CID_MPEG_VIDEO_HEVC_LOSSLESS_CU (V4L2_CID_MPEG_BASE + 625) +#define V4L2_CID_MPEG_VIDEO_HEVC_CONST_INTRA_PRED (V4L2_CID_MPEG_BASE + 626) +#define V4L2_CID_MPEG_VIDEO_HEVC_WAVEFRONT (V4L2_CID_MPEG_BASE + 627) +#define V4L2_CID_MPEG_VIDEO_HEVC_GENERAL_PB (V4L2_CID_MPEG_BASE + 628) +#define V4L2_CID_MPEG_VIDEO_HEVC_TEMPORAL_ID (V4L2_CID_MPEG_BASE + 629) +#define V4L2_CID_MPEG_VIDEO_HEVC_STRONG_SMOOTHING (V4L2_CID_MPEG_BASE + 630) +#define V4L2_CID_MPEG_VIDEO_HEVC_MAX_NUM_MERGE_MV_MINUS1 (V4L2_CID_MPEG_BASE + 631) +#define V4L2_CID_MPEG_VIDEO_HEVC_INTRA_PU_SPLIT (V4L2_CID_MPEG_BASE + 632) +#define V4L2_CID_MPEG_VIDEO_HEVC_TMV_PREDICTION (V4L2_CID_MPEG_BASE + 633) +#define V4L2_CID_MPEG_VIDEO_HEVC_WITHOUT_STARTCODE (V4L2_CID_MPEG_BASE + 634) +#define V4L2_CID_MPEG_VIDEO_HEVC_SIZE_OF_LENGTH_FIELD (V4L2_CID_MPEG_BASE + 635) +enum v4l2_cid_mpeg_video_hevc_size_of_length_field { + V4L2_MPEG_VIDEO_HEVC_SIZE_0 = 0, + V4L2_MPEG_VIDEO_HEVC_SIZE_1 = 1, + V4L2_MPEG_VIDEO_HEVC_SIZE_2 = 2, + V4L2_MPEG_VIDEO_HEVC_SIZE_4 = 3, +}; +#define V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L0_BR (V4L2_CID_MPEG_BASE + 636) +#define V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L1_BR (V4L2_CID_MPEG_BASE + 637) +#define V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L2_BR (V4L2_CID_MPEG_BASE + 638) +#define V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L3_BR (V4L2_CID_MPEG_BASE + 639) +#define V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L4_BR (V4L2_CID_MPEG_BASE + 640) +#define V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L5_BR (V4L2_CID_MPEG_BASE + 641) +#define V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L6_BR (V4L2_CID_MPEG_BASE + 642) +#define V4L2_CID_MPEG_VIDEO_REF_NUMBER_FOR_PFRAMES (V4L2_CID_MPEG_BASE + 643) +#define V4L2_CID_MPEG_VIDEO_PREPEND_SPSPPS_TO_IDR (V4L2_CID_MPEG_BASE + 644) +#define V4L2_CID_MPEG_VIDEO_CONSTANT_QUALITY (V4L2_CID_MPEG_BASE + 645) +#define V4L2_CID_MPEG_VIDEO_FRAME_SKIP_MODE (V4L2_CID_MPEG_BASE + 646) +enum v4l2_mpeg_video_frame_skip_mode { + V4L2_MPEG_VIDEO_FRAME_SKIP_MODE_DISABLED = 0, + V4L2_MPEG_VIDEO_FRAME_SKIP_MODE_LEVEL_LIMIT = 1, + V4L2_MPEG_VIDEO_FRAME_SKIP_MODE_BUF_LIMIT = 2, +}; +#define V4L2_CID_MPEG_CX2341X_BASE (V4L2_CTRL_CLASS_MPEG | 0x1000) +#define V4L2_CID_MPEG_CX2341X_VIDEO_SPATIAL_FILTER_MODE (V4L2_CID_MPEG_CX2341X_BASE+0) +enum v4l2_mpeg_cx2341x_video_spatial_filter_mode { + V4L2_MPEG_CX2341X_VIDEO_SPATIAL_FILTER_MODE_MANUAL = 0, + V4L2_MPEG_CX2341X_VIDEO_SPATIAL_FILTER_MODE_AUTO = 1, +}; +#define V4L2_CID_MPEG_CX2341X_VIDEO_SPATIAL_FILTER (V4L2_CID_MPEG_CX2341X_BASE+1) +#define V4L2_CID_MPEG_CX2341X_VIDEO_LUMA_SPATIAL_FILTER_TYPE (V4L2_CID_MPEG_CX2341X_BASE+2) +enum v4l2_mpeg_cx2341x_video_luma_spatial_filter_type { + V4L2_MPEG_CX2341X_VIDEO_LUMA_SPATIAL_FILTER_TYPE_OFF = 0, + V4L2_MPEG_CX2341X_VIDEO_LUMA_SPATIAL_FILTER_TYPE_1D_HOR = 1, + V4L2_MPEG_CX2341X_VIDEO_LUMA_SPATIAL_FILTER_TYPE_1D_VERT = 2, + V4L2_MPEG_CX2341X_VIDEO_LUMA_SPATIAL_FILTER_TYPE_2D_HV_SEPARABLE = 3, + V4L2_MPEG_CX2341X_VIDEO_LUMA_SPATIAL_FILTER_TYPE_2D_SYM_NON_SEPARABLE = 4, +}; +#define V4L2_CID_MPEG_CX2341X_VIDEO_CHROMA_SPATIAL_FILTER_TYPE (V4L2_CID_MPEG_CX2341X_BASE+3) +enum v4l2_mpeg_cx2341x_video_chroma_spatial_filter_type { + V4L2_MPEG_CX2341X_VIDEO_CHROMA_SPATIAL_FILTER_TYPE_OFF = 0, + V4L2_MPEG_CX2341X_VIDEO_CHROMA_SPATIAL_FILTER_TYPE_1D_HOR = 1, +}; +#define V4L2_CID_MPEG_CX2341X_VIDEO_TEMPORAL_FILTER_MODE (V4L2_CID_MPEG_CX2341X_BASE+4) +enum v4l2_mpeg_cx2341x_video_temporal_filter_mode { + V4L2_MPEG_CX2341X_VIDEO_TEMPORAL_FILTER_MODE_MANUAL = 0, + V4L2_MPEG_CX2341X_VIDEO_TEMPORAL_FILTER_MODE_AUTO = 1, +}; +#define V4L2_CID_MPEG_CX2341X_VIDEO_TEMPORAL_FILTER (V4L2_CID_MPEG_CX2341X_BASE+5) +#define V4L2_CID_MPEG_CX2341X_VIDEO_MEDIAN_FILTER_TYPE (V4L2_CID_MPEG_CX2341X_BASE+6) +enum v4l2_mpeg_cx2341x_video_median_filter_type { + V4L2_MPEG_CX2341X_VIDEO_MEDIAN_FILTER_TYPE_OFF = 0, + V4L2_MPEG_CX2341X_VIDEO_MEDIAN_FILTER_TYPE_HOR = 1, + V4L2_MPEG_CX2341X_VIDEO_MEDIAN_FILTER_TYPE_VERT = 2, + V4L2_MPEG_CX2341X_VIDEO_MEDIAN_FILTER_TYPE_HOR_VERT = 3, + V4L2_MPEG_CX2341X_VIDEO_MEDIAN_FILTER_TYPE_DIAG = 4, +}; +#define V4L2_CID_MPEG_CX2341X_VIDEO_LUMA_MEDIAN_FILTER_BOTTOM (V4L2_CID_MPEG_CX2341X_BASE+7) +#define V4L2_CID_MPEG_CX2341X_VIDEO_LUMA_MEDIAN_FILTER_TOP (V4L2_CID_MPEG_CX2341X_BASE+8) +#define V4L2_CID_MPEG_CX2341X_VIDEO_CHROMA_MEDIAN_FILTER_BOTTOM (V4L2_CID_MPEG_CX2341X_BASE+9) +#define V4L2_CID_MPEG_CX2341X_VIDEO_CHROMA_MEDIAN_FILTER_TOP (V4L2_CID_MPEG_CX2341X_BASE+10) +#define V4L2_CID_MPEG_CX2341X_STREAM_INSERT_NAV_PACKETS (V4L2_CID_MPEG_CX2341X_BASE+11) +#define V4L2_CID_MPEG_MFC51_BASE (V4L2_CTRL_CLASS_MPEG | 0x1100) +#define V4L2_CID_MPEG_MFC51_VIDEO_DECODER_H264_DISPLAY_DELAY (V4L2_CID_MPEG_MFC51_BASE+0) +#define V4L2_CID_MPEG_MFC51_VIDEO_DECODER_H264_DISPLAY_DELAY_ENABLE (V4L2_CID_MPEG_MFC51_BASE+1) +#define V4L2_CID_MPEG_MFC51_VIDEO_FRAME_SKIP_MODE (V4L2_CID_MPEG_MFC51_BASE+2) +enum v4l2_mpeg_mfc51_video_frame_skip_mode { + V4L2_MPEG_MFC51_VIDEO_FRAME_SKIP_MODE_DISABLED = 0, + V4L2_MPEG_MFC51_VIDEO_FRAME_SKIP_MODE_LEVEL_LIMIT = 1, + V4L2_MPEG_MFC51_VIDEO_FRAME_SKIP_MODE_BUF_LIMIT = 2, +}; +#define V4L2_CID_MPEG_MFC51_VIDEO_FORCE_FRAME_TYPE (V4L2_CID_MPEG_MFC51_BASE+3) +enum v4l2_mpeg_mfc51_video_force_frame_type { + V4L2_MPEG_MFC51_VIDEO_FORCE_FRAME_TYPE_DISABLED = 0, + V4L2_MPEG_MFC51_VIDEO_FORCE_FRAME_TYPE_I_FRAME = 1, + V4L2_MPEG_MFC51_VIDEO_FORCE_FRAME_TYPE_NOT_CODED = 2, +}; +#define V4L2_CID_MPEG_MFC51_VIDEO_PADDING (V4L2_CID_MPEG_MFC51_BASE+4) +#define V4L2_CID_MPEG_MFC51_VIDEO_PADDING_YUV (V4L2_CID_MPEG_MFC51_BASE+5) +#define V4L2_CID_MPEG_MFC51_VIDEO_RC_FIXED_TARGET_BIT (V4L2_CID_MPEG_MFC51_BASE+6) +#define V4L2_CID_MPEG_MFC51_VIDEO_RC_REACTION_COEFF (V4L2_CID_MPEG_MFC51_BASE+7) +#define V4L2_CID_MPEG_MFC51_VIDEO_H264_ADAPTIVE_RC_ACTIVITY (V4L2_CID_MPEG_MFC51_BASE+50) +#define V4L2_CID_MPEG_MFC51_VIDEO_H264_ADAPTIVE_RC_DARK (V4L2_CID_MPEG_MFC51_BASE+51) +#define V4L2_CID_MPEG_MFC51_VIDEO_H264_ADAPTIVE_RC_SMOOTH (V4L2_CID_MPEG_MFC51_BASE+52) +#define V4L2_CID_MPEG_MFC51_VIDEO_H264_ADAPTIVE_RC_STATIC (V4L2_CID_MPEG_MFC51_BASE+53) +#define V4L2_CID_MPEG_MFC51_VIDEO_H264_NUM_REF_PIC_FOR_P (V4L2_CID_MPEG_MFC51_BASE+54) +#define V4L2_CID_CAMERA_CLASS_BASE (V4L2_CTRL_CLASS_CAMERA | 0x900) +#define V4L2_CID_CAMERA_CLASS (V4L2_CTRL_CLASS_CAMERA | 1) +#define V4L2_CID_EXPOSURE_AUTO (V4L2_CID_CAMERA_CLASS_BASE+1) +enum v4l2_exposure_auto_type { + V4L2_EXPOSURE_AUTO = 0, + V4L2_EXPOSURE_MANUAL = 1, + V4L2_EXPOSURE_SHUTTER_PRIORITY = 2, + V4L2_EXPOSURE_APERTURE_PRIORITY = 3 +}; +#define V4L2_CID_EXPOSURE_ABSOLUTE (V4L2_CID_CAMERA_CLASS_BASE+2) +#define V4L2_CID_EXPOSURE_AUTO_PRIORITY (V4L2_CID_CAMERA_CLASS_BASE+3) +#define V4L2_CID_PAN_RELATIVE (V4L2_CID_CAMERA_CLASS_BASE+4) +#define V4L2_CID_TILT_RELATIVE (V4L2_CID_CAMERA_CLASS_BASE+5) +#define V4L2_CID_PAN_RESET (V4L2_CID_CAMERA_CLASS_BASE+6) +#define V4L2_CID_TILT_RESET (V4L2_CID_CAMERA_CLASS_BASE+7) +#define V4L2_CID_PAN_ABSOLUTE (V4L2_CID_CAMERA_CLASS_BASE+8) +#define V4L2_CID_TILT_ABSOLUTE (V4L2_CID_CAMERA_CLASS_BASE+9) +#define V4L2_CID_FOCUS_ABSOLUTE (V4L2_CID_CAMERA_CLASS_BASE+10) +#define V4L2_CID_FOCUS_RELATIVE (V4L2_CID_CAMERA_CLASS_BASE+11) +#define V4L2_CID_FOCUS_AUTO (V4L2_CID_CAMERA_CLASS_BASE+12) +#define V4L2_CID_ZOOM_ABSOLUTE (V4L2_CID_CAMERA_CLASS_BASE+13) +#define V4L2_CID_ZOOM_RELATIVE (V4L2_CID_CAMERA_CLASS_BASE+14) +#define V4L2_CID_ZOOM_CONTINUOUS (V4L2_CID_CAMERA_CLASS_BASE+15) +#define V4L2_CID_PRIVACY (V4L2_CID_CAMERA_CLASS_BASE+16) +#define V4L2_CID_IRIS_ABSOLUTE (V4L2_CID_CAMERA_CLASS_BASE+17) +#define V4L2_CID_IRIS_RELATIVE (V4L2_CID_CAMERA_CLASS_BASE+18) +#define V4L2_CID_AUTO_EXPOSURE_BIAS (V4L2_CID_CAMERA_CLASS_BASE+19) +#define V4L2_CID_AUTO_N_PRESET_WHITE_BALANCE (V4L2_CID_CAMERA_CLASS_BASE+20) +enum v4l2_auto_n_preset_white_balance { + V4L2_WHITE_BALANCE_MANUAL = 0, + V4L2_WHITE_BALANCE_AUTO = 1, + V4L2_WHITE_BALANCE_INCANDESCENT = 2, + V4L2_WHITE_BALANCE_FLUORESCENT = 3, + V4L2_WHITE_BALANCE_FLUORESCENT_H = 4, + V4L2_WHITE_BALANCE_HORIZON = 5, + V4L2_WHITE_BALANCE_DAYLIGHT = 6, + V4L2_WHITE_BALANCE_FLASH = 7, + V4L2_WHITE_BALANCE_CLOUDY = 8, + V4L2_WHITE_BALANCE_SHADE = 9, +}; +#define V4L2_CID_WIDE_DYNAMIC_RANGE (V4L2_CID_CAMERA_CLASS_BASE+21) +#define V4L2_CID_IMAGE_STABILIZATION (V4L2_CID_CAMERA_CLASS_BASE+22) +#define V4L2_CID_ISO_SENSITIVITY (V4L2_CID_CAMERA_CLASS_BASE+23) +#define V4L2_CID_ISO_SENSITIVITY_AUTO (V4L2_CID_CAMERA_CLASS_BASE+24) +enum v4l2_iso_sensitivity_auto_type { + V4L2_ISO_SENSITIVITY_MANUAL = 0, + V4L2_ISO_SENSITIVITY_AUTO = 1, +}; +#define V4L2_CID_EXPOSURE_METERING (V4L2_CID_CAMERA_CLASS_BASE+25) +enum v4l2_exposure_metering { + V4L2_EXPOSURE_METERING_AVERAGE = 0, + V4L2_EXPOSURE_METERING_CENTER_WEIGHTED = 1, + V4L2_EXPOSURE_METERING_SPOT = 2, + V4L2_EXPOSURE_METERING_MATRIX = 3, +}; +#define V4L2_CID_SCENE_MODE (V4L2_CID_CAMERA_CLASS_BASE+26) +enum v4l2_scene_mode { + V4L2_SCENE_MODE_NONE = 0, + V4L2_SCENE_MODE_BACKLIGHT = 1, + V4L2_SCENE_MODE_BEACH_SNOW = 2, + V4L2_SCENE_MODE_CANDLE_LIGHT = 3, + V4L2_SCENE_MODE_DAWN_DUSK = 4, + V4L2_SCENE_MODE_FALL_COLORS = 5, + V4L2_SCENE_MODE_FIREWORKS = 6, + V4L2_SCENE_MODE_LANDSCAPE = 7, + V4L2_SCENE_MODE_NIGHT = 8, + V4L2_SCENE_MODE_PARTY_INDOOR = 9, + V4L2_SCENE_MODE_PORTRAIT = 10, + V4L2_SCENE_MODE_SPORTS = 11, + V4L2_SCENE_MODE_SUNSET = 12, + V4L2_SCENE_MODE_TEXT = 13, +}; +#define V4L2_CID_3A_LOCK (V4L2_CID_CAMERA_CLASS_BASE+27) +#define V4L2_LOCK_EXPOSURE (1 << 0) +#define V4L2_LOCK_WHITE_BALANCE (1 << 1) +#define V4L2_LOCK_FOCUS (1 << 2) +#define V4L2_CID_AUTO_FOCUS_START (V4L2_CID_CAMERA_CLASS_BASE+28) +#define V4L2_CID_AUTO_FOCUS_STOP (V4L2_CID_CAMERA_CLASS_BASE+29) +#define V4L2_CID_AUTO_FOCUS_STATUS (V4L2_CID_CAMERA_CLASS_BASE+30) +#define V4L2_AUTO_FOCUS_STATUS_IDLE (0 << 0) +#define V4L2_AUTO_FOCUS_STATUS_BUSY (1 << 0) +#define V4L2_AUTO_FOCUS_STATUS_REACHED (1 << 1) +#define V4L2_AUTO_FOCUS_STATUS_FAILED (1 << 2) +#define V4L2_CID_AUTO_FOCUS_RANGE (V4L2_CID_CAMERA_CLASS_BASE+31) +enum v4l2_auto_focus_range { + V4L2_AUTO_FOCUS_RANGE_AUTO = 0, + V4L2_AUTO_FOCUS_RANGE_NORMAL = 1, + V4L2_AUTO_FOCUS_RANGE_MACRO = 2, + V4L2_AUTO_FOCUS_RANGE_INFINITY = 3, +}; +#define V4L2_CID_PAN_SPEED (V4L2_CID_CAMERA_CLASS_BASE+32) +#define V4L2_CID_TILT_SPEED (V4L2_CID_CAMERA_CLASS_BASE+33) +#define V4L2_CID_CAMERA_ORIENTATION (V4L2_CID_CAMERA_CLASS_BASE+34) +#define V4L2_CAMERA_ORIENTATION_FRONT 0 +#define V4L2_CAMERA_ORIENTATION_BACK 1 +#define V4L2_CAMERA_ORIENTATION_EXTERNAL 2 +#define V4L2_CID_CAMERA_SENSOR_ROTATION (V4L2_CID_CAMERA_CLASS_BASE+35) +#define V4L2_CID_FM_TX_CLASS_BASE (V4L2_CTRL_CLASS_FM_TX | 0x900) +#define V4L2_CID_FM_TX_CLASS (V4L2_CTRL_CLASS_FM_TX | 1) +#define V4L2_CID_RDS_TX_DEVIATION (V4L2_CID_FM_TX_CLASS_BASE + 1) +#define V4L2_CID_RDS_TX_PI (V4L2_CID_FM_TX_CLASS_BASE + 2) +#define V4L2_CID_RDS_TX_PTY (V4L2_CID_FM_TX_CLASS_BASE + 3) +#define V4L2_CID_RDS_TX_PS_NAME (V4L2_CID_FM_TX_CLASS_BASE + 5) +#define V4L2_CID_RDS_TX_RADIO_TEXT (V4L2_CID_FM_TX_CLASS_BASE + 6) +#define V4L2_CID_RDS_TX_MONO_STEREO (V4L2_CID_FM_TX_CLASS_BASE + 7) +#define V4L2_CID_RDS_TX_ARTIFICIAL_HEAD (V4L2_CID_FM_TX_CLASS_BASE + 8) +#define V4L2_CID_RDS_TX_COMPRESSED (V4L2_CID_FM_TX_CLASS_BASE + 9) +#define V4L2_CID_RDS_TX_DYNAMIC_PTY (V4L2_CID_FM_TX_CLASS_BASE + 10) +#define V4L2_CID_RDS_TX_TRAFFIC_ANNOUNCEMENT (V4L2_CID_FM_TX_CLASS_BASE + 11) +#define V4L2_CID_RDS_TX_TRAFFIC_PROGRAM (V4L2_CID_FM_TX_CLASS_BASE + 12) +#define V4L2_CID_RDS_TX_MUSIC_SPEECH (V4L2_CID_FM_TX_CLASS_BASE + 13) +#define V4L2_CID_RDS_TX_ALT_FREQS_ENABLE (V4L2_CID_FM_TX_CLASS_BASE + 14) +#define V4L2_CID_RDS_TX_ALT_FREQS (V4L2_CID_FM_TX_CLASS_BASE + 15) +#define V4L2_CID_AUDIO_LIMITER_ENABLED (V4L2_CID_FM_TX_CLASS_BASE + 64) +#define V4L2_CID_AUDIO_LIMITER_RELEASE_TIME (V4L2_CID_FM_TX_CLASS_BASE + 65) +#define V4L2_CID_AUDIO_LIMITER_DEVIATION (V4L2_CID_FM_TX_CLASS_BASE + 66) +#define V4L2_CID_AUDIO_COMPRESSION_ENABLED (V4L2_CID_FM_TX_CLASS_BASE + 80) +#define V4L2_CID_AUDIO_COMPRESSION_GAIN (V4L2_CID_FM_TX_CLASS_BASE + 81) +#define V4L2_CID_AUDIO_COMPRESSION_THRESHOLD (V4L2_CID_FM_TX_CLASS_BASE + 82) +#define V4L2_CID_AUDIO_COMPRESSION_ATTACK_TIME (V4L2_CID_FM_TX_CLASS_BASE + 83) +#define V4L2_CID_AUDIO_COMPRESSION_RELEASE_TIME (V4L2_CID_FM_TX_CLASS_BASE + 84) +#define V4L2_CID_PILOT_TONE_ENABLED (V4L2_CID_FM_TX_CLASS_BASE + 96) +#define V4L2_CID_PILOT_TONE_DEVIATION (V4L2_CID_FM_TX_CLASS_BASE + 97) +#define V4L2_CID_PILOT_TONE_FREQUENCY (V4L2_CID_FM_TX_CLASS_BASE + 98) +#define V4L2_CID_TUNE_PREEMPHASIS (V4L2_CID_FM_TX_CLASS_BASE + 112) +enum v4l2_preemphasis { + V4L2_PREEMPHASIS_DISABLED = 0, + V4L2_PREEMPHASIS_50_uS = 1, + V4L2_PREEMPHASIS_75_uS = 2, +}; +#define V4L2_CID_TUNE_POWER_LEVEL (V4L2_CID_FM_TX_CLASS_BASE + 113) +#define V4L2_CID_TUNE_ANTENNA_CAPACITOR (V4L2_CID_FM_TX_CLASS_BASE + 114) +#define V4L2_CID_FLASH_CLASS_BASE (V4L2_CTRL_CLASS_FLASH | 0x900) +#define V4L2_CID_FLASH_CLASS (V4L2_CTRL_CLASS_FLASH | 1) +#define V4L2_CID_FLASH_LED_MODE (V4L2_CID_FLASH_CLASS_BASE + 1) +enum v4l2_flash_led_mode { + V4L2_FLASH_LED_MODE_NONE, + V4L2_FLASH_LED_MODE_FLASH, + V4L2_FLASH_LED_MODE_TORCH, +}; +#define V4L2_CID_FLASH_STROBE_SOURCE (V4L2_CID_FLASH_CLASS_BASE + 2) +enum v4l2_flash_strobe_source { + V4L2_FLASH_STROBE_SOURCE_SOFTWARE, + V4L2_FLASH_STROBE_SOURCE_EXTERNAL, +}; +#define V4L2_CID_FLASH_STROBE (V4L2_CID_FLASH_CLASS_BASE + 3) +#define V4L2_CID_FLASH_STROBE_STOP (V4L2_CID_FLASH_CLASS_BASE + 4) +#define V4L2_CID_FLASH_STROBE_STATUS (V4L2_CID_FLASH_CLASS_BASE + 5) +#define V4L2_CID_FLASH_TIMEOUT (V4L2_CID_FLASH_CLASS_BASE + 6) +#define V4L2_CID_FLASH_INTENSITY (V4L2_CID_FLASH_CLASS_BASE + 7) +#define V4L2_CID_FLASH_TORCH_INTENSITY (V4L2_CID_FLASH_CLASS_BASE + 8) +#define V4L2_CID_FLASH_INDICATOR_INTENSITY (V4L2_CID_FLASH_CLASS_BASE + 9) +#define V4L2_CID_FLASH_FAULT (V4L2_CID_FLASH_CLASS_BASE + 10) +#define V4L2_FLASH_FAULT_OVER_VOLTAGE (1 << 0) +#define V4L2_FLASH_FAULT_TIMEOUT (1 << 1) +#define V4L2_FLASH_FAULT_OVER_TEMPERATURE (1 << 2) +#define V4L2_FLASH_FAULT_SHORT_CIRCUIT (1 << 3) +#define V4L2_FLASH_FAULT_OVER_CURRENT (1 << 4) +#define V4L2_FLASH_FAULT_INDICATOR (1 << 5) +#define V4L2_FLASH_FAULT_UNDER_VOLTAGE (1 << 6) +#define V4L2_FLASH_FAULT_INPUT_VOLTAGE (1 << 7) +#define V4L2_FLASH_FAULT_LED_OVER_TEMPERATURE (1 << 8) +#define V4L2_CID_FLASH_CHARGE (V4L2_CID_FLASH_CLASS_BASE + 11) +#define V4L2_CID_FLASH_READY (V4L2_CID_FLASH_CLASS_BASE + 12) +#define V4L2_CID_JPEG_CLASS_BASE (V4L2_CTRL_CLASS_JPEG | 0x900) +#define V4L2_CID_JPEG_CLASS (V4L2_CTRL_CLASS_JPEG | 1) +#define V4L2_CID_JPEG_CHROMA_SUBSAMPLING (V4L2_CID_JPEG_CLASS_BASE + 1) +enum v4l2_jpeg_chroma_subsampling { + V4L2_JPEG_CHROMA_SUBSAMPLING_444 = 0, + V4L2_JPEG_CHROMA_SUBSAMPLING_422 = 1, + V4L2_JPEG_CHROMA_SUBSAMPLING_420 = 2, + V4L2_JPEG_CHROMA_SUBSAMPLING_411 = 3, + V4L2_JPEG_CHROMA_SUBSAMPLING_410 = 4, + V4L2_JPEG_CHROMA_SUBSAMPLING_GRAY = 5, +}; +#define V4L2_CID_JPEG_RESTART_INTERVAL (V4L2_CID_JPEG_CLASS_BASE + 2) +#define V4L2_CID_JPEG_COMPRESSION_QUALITY (V4L2_CID_JPEG_CLASS_BASE + 3) +#define V4L2_CID_JPEG_ACTIVE_MARKER (V4L2_CID_JPEG_CLASS_BASE + 4) +#define V4L2_JPEG_ACTIVE_MARKER_APP0 (1 << 0) +#define V4L2_JPEG_ACTIVE_MARKER_APP1 (1 << 1) +#define V4L2_JPEG_ACTIVE_MARKER_COM (1 << 16) +#define V4L2_JPEG_ACTIVE_MARKER_DQT (1 << 17) +#define V4L2_JPEG_ACTIVE_MARKER_DHT (1 << 18) +#define V4L2_CID_IMAGE_SOURCE_CLASS_BASE (V4L2_CTRL_CLASS_IMAGE_SOURCE | 0x900) +#define V4L2_CID_IMAGE_SOURCE_CLASS (V4L2_CTRL_CLASS_IMAGE_SOURCE | 1) +#define V4L2_CID_VBLANK (V4L2_CID_IMAGE_SOURCE_CLASS_BASE + 1) +#define V4L2_CID_HBLANK (V4L2_CID_IMAGE_SOURCE_CLASS_BASE + 2) +#define V4L2_CID_ANALOGUE_GAIN (V4L2_CID_IMAGE_SOURCE_CLASS_BASE + 3) +#define V4L2_CID_TEST_PATTERN_RED (V4L2_CID_IMAGE_SOURCE_CLASS_BASE + 4) +#define V4L2_CID_TEST_PATTERN_GREENR (V4L2_CID_IMAGE_SOURCE_CLASS_BASE + 5) +#define V4L2_CID_TEST_PATTERN_BLUE (V4L2_CID_IMAGE_SOURCE_CLASS_BASE + 6) +#define V4L2_CID_TEST_PATTERN_GREENB (V4L2_CID_IMAGE_SOURCE_CLASS_BASE + 7) +#define V4L2_CID_UNIT_CELL_SIZE (V4L2_CID_IMAGE_SOURCE_CLASS_BASE + 8) +#define V4L2_CID_IMAGE_PROC_CLASS_BASE (V4L2_CTRL_CLASS_IMAGE_PROC | 0x900) +#define V4L2_CID_IMAGE_PROC_CLASS (V4L2_CTRL_CLASS_IMAGE_PROC | 1) +#define V4L2_CID_LINK_FREQ (V4L2_CID_IMAGE_PROC_CLASS_BASE + 1) +#define V4L2_CID_PIXEL_RATE (V4L2_CID_IMAGE_PROC_CLASS_BASE + 2) +#define V4L2_CID_TEST_PATTERN (V4L2_CID_IMAGE_PROC_CLASS_BASE + 3) +#define V4L2_CID_DEINTERLACING_MODE (V4L2_CID_IMAGE_PROC_CLASS_BASE + 4) +#define V4L2_CID_DIGITAL_GAIN (V4L2_CID_IMAGE_PROC_CLASS_BASE + 5) +#define V4L2_CID_DV_CLASS_BASE (V4L2_CTRL_CLASS_DV | 0x900) +#define V4L2_CID_DV_CLASS (V4L2_CTRL_CLASS_DV | 1) +#define V4L2_CID_DV_TX_HOTPLUG (V4L2_CID_DV_CLASS_BASE + 1) +#define V4L2_CID_DV_TX_RXSENSE (V4L2_CID_DV_CLASS_BASE + 2) +#define V4L2_CID_DV_TX_EDID_PRESENT (V4L2_CID_DV_CLASS_BASE + 3) +#define V4L2_CID_DV_TX_MODE (V4L2_CID_DV_CLASS_BASE + 4) +enum v4l2_dv_tx_mode { + V4L2_DV_TX_MODE_DVI_D = 0, + V4L2_DV_TX_MODE_HDMI = 1, +}; +#define V4L2_CID_DV_TX_RGB_RANGE (V4L2_CID_DV_CLASS_BASE + 5) +enum v4l2_dv_rgb_range { + V4L2_DV_RGB_RANGE_AUTO = 0, + V4L2_DV_RGB_RANGE_LIMITED = 1, + V4L2_DV_RGB_RANGE_FULL = 2, +}; +#define V4L2_CID_DV_TX_IT_CONTENT_TYPE (V4L2_CID_DV_CLASS_BASE + 6) +enum v4l2_dv_it_content_type { + V4L2_DV_IT_CONTENT_TYPE_GRAPHICS = 0, + V4L2_DV_IT_CONTENT_TYPE_PHOTO = 1, + V4L2_DV_IT_CONTENT_TYPE_CINEMA = 2, + V4L2_DV_IT_CONTENT_TYPE_GAME = 3, + V4L2_DV_IT_CONTENT_TYPE_NO_ITC = 4, +}; +#define V4L2_CID_DV_RX_POWER_PRESENT (V4L2_CID_DV_CLASS_BASE + 100) +#define V4L2_CID_DV_RX_RGB_RANGE (V4L2_CID_DV_CLASS_BASE + 101) +#define V4L2_CID_DV_RX_IT_CONTENT_TYPE (V4L2_CID_DV_CLASS_BASE + 102) +#define V4L2_CID_FM_RX_CLASS_BASE (V4L2_CTRL_CLASS_FM_RX | 0x900) +#define V4L2_CID_FM_RX_CLASS (V4L2_CTRL_CLASS_FM_RX | 1) +#define V4L2_CID_TUNE_DEEMPHASIS (V4L2_CID_FM_RX_CLASS_BASE + 1) +enum v4l2_deemphasis { + V4L2_DEEMPHASIS_DISABLED = V4L2_PREEMPHASIS_DISABLED, + V4L2_DEEMPHASIS_50_uS = V4L2_PREEMPHASIS_50_uS, + V4L2_DEEMPHASIS_75_uS = V4L2_PREEMPHASIS_75_uS, +}; +#define V4L2_CID_RDS_RECEPTION (V4L2_CID_FM_RX_CLASS_BASE + 2) +#define V4L2_CID_RDS_RX_PTY (V4L2_CID_FM_RX_CLASS_BASE + 3) +#define V4L2_CID_RDS_RX_PS_NAME (V4L2_CID_FM_RX_CLASS_BASE + 4) +#define V4L2_CID_RDS_RX_RADIO_TEXT (V4L2_CID_FM_RX_CLASS_BASE + 5) +#define V4L2_CID_RDS_RX_TRAFFIC_ANNOUNCEMENT (V4L2_CID_FM_RX_CLASS_BASE + 6) +#define V4L2_CID_RDS_RX_TRAFFIC_PROGRAM (V4L2_CID_FM_RX_CLASS_BASE + 7) +#define V4L2_CID_RDS_RX_MUSIC_SPEECH (V4L2_CID_FM_RX_CLASS_BASE + 8) +#define V4L2_CID_RF_TUNER_CLASS_BASE (V4L2_CTRL_CLASS_RF_TUNER | 0x900) +#define V4L2_CID_RF_TUNER_CLASS (V4L2_CTRL_CLASS_RF_TUNER | 1) +#define V4L2_CID_RF_TUNER_BANDWIDTH_AUTO (V4L2_CID_RF_TUNER_CLASS_BASE + 11) +#define V4L2_CID_RF_TUNER_BANDWIDTH (V4L2_CID_RF_TUNER_CLASS_BASE + 12) +#define V4L2_CID_RF_TUNER_RF_GAIN (V4L2_CID_RF_TUNER_CLASS_BASE + 32) +#define V4L2_CID_RF_TUNER_LNA_GAIN_AUTO (V4L2_CID_RF_TUNER_CLASS_BASE + 41) +#define V4L2_CID_RF_TUNER_LNA_GAIN (V4L2_CID_RF_TUNER_CLASS_BASE + 42) +#define V4L2_CID_RF_TUNER_MIXER_GAIN_AUTO (V4L2_CID_RF_TUNER_CLASS_BASE + 51) +#define V4L2_CID_RF_TUNER_MIXER_GAIN (V4L2_CID_RF_TUNER_CLASS_BASE + 52) +#define V4L2_CID_RF_TUNER_IF_GAIN_AUTO (V4L2_CID_RF_TUNER_CLASS_BASE + 61) +#define V4L2_CID_RF_TUNER_IF_GAIN (V4L2_CID_RF_TUNER_CLASS_BASE + 62) +#define V4L2_CID_RF_TUNER_PLL_LOCK (V4L2_CID_RF_TUNER_CLASS_BASE + 91) +#define V4L2_CID_DETECT_CLASS_BASE (V4L2_CTRL_CLASS_DETECT | 0x900) +#define V4L2_CID_DETECT_CLASS (V4L2_CTRL_CLASS_DETECT | 1) +#define V4L2_CID_DETECT_MD_MODE (V4L2_CID_DETECT_CLASS_BASE + 1) +enum v4l2_detect_md_mode { + V4L2_DETECT_MD_MODE_DISABLED = 0, + V4L2_DETECT_MD_MODE_GLOBAL = 1, + V4L2_DETECT_MD_MODE_THRESHOLD_GRID = 2, + V4L2_DETECT_MD_MODE_REGION_GRID = 3, +}; +#define V4L2_CID_DETECT_MD_GLOBAL_THRESHOLD (V4L2_CID_DETECT_CLASS_BASE + 2) +#define V4L2_CID_DETECT_MD_THRESHOLD_GRID (V4L2_CID_DETECT_CLASS_BASE + 3) +#define V4L2_CID_DETECT_MD_REGION_GRID (V4L2_CID_DETECT_CLASS_BASE + 4) +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/v4l2-dv-timings.h b/linux-5.10/prebuilts/usr/include/linux/v4l2-dv-timings.h new file mode 100644 index 0000000..7e8806c --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/v4l2-dv-timings.h @@ -0,0 +1,821 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _V4L2_DV_TIMINGS_H +#define _V4L2_DV_TIMINGS_H +#if __GNUC__ < 4 || (__GNUC__ == 4 && (__GNUC_MINOR__ < 6)) +#define V4L2_INIT_BT_TIMINGS(_width, args...) \ + { .bt = { _width , ## args } } +#else +#define V4L2_INIT_BT_TIMINGS(_width, args...) \ + .bt = { _width , ## args } +#endif +#define V4L2_DV_BT_CEA_640X480P59_94 { \ + .type = V4L2_DV_BT_656_1120, \ + V4L2_INIT_BT_TIMINGS(640, 480, 0, 0, \ + 25175000, 16, 96, 48, 10, 2, 33, 0, 0, 0, \ + V4L2_DV_BT_STD_DMT | V4L2_DV_BT_STD_CEA861, \ + V4L2_DV_FL_HAS_CEA861_VIC, { 0, 0 }, 1) \ +} +#define V4L2_DV_BT_CEA_720X480I59_94 { \ + .type = V4L2_DV_BT_656_1120, \ + V4L2_INIT_BT_TIMINGS(720, 480, 1, 0, \ + 13500000, 19, 62, 57, 4, 3, 15, 4, 3, 16, \ + V4L2_DV_BT_STD_CEA861, \ + V4L2_DV_FL_HALF_LINE | V4L2_DV_FL_IS_CE_VIDEO | \ + V4L2_DV_FL_HAS_PICTURE_ASPECT | V4L2_DV_FL_HAS_CEA861_VIC, \ + { 4, 3 }, 6) \ +} +#define V4L2_DV_BT_CEA_720X480P59_94 { \ + .type = V4L2_DV_BT_656_1120, \ + V4L2_INIT_BT_TIMINGS(720, 480, 0, 0, \ + 27000000, 16, 62, 60, 9, 6, 30, 0, 0, 0, \ + V4L2_DV_BT_STD_CEA861, \ + V4L2_DV_FL_IS_CE_VIDEO | V4L2_DV_FL_HAS_PICTURE_ASPECT | \ + V4L2_DV_FL_HAS_CEA861_VIC, { 4, 3 }, 2) \ +} +#define V4L2_DV_BT_CEA_720X576I50 { \ + .type = V4L2_DV_BT_656_1120, \ + V4L2_INIT_BT_TIMINGS(720, 576, 1, 0, \ + 13500000, 12, 63, 69, 2, 3, 19, 2, 3, 20, \ + V4L2_DV_BT_STD_CEA861, \ + V4L2_DV_FL_HALF_LINE | V4L2_DV_FL_IS_CE_VIDEO | \ + V4L2_DV_FL_HAS_PICTURE_ASPECT | V4L2_DV_FL_HAS_CEA861_VIC, \ + { 4, 3 }, 21) \ +} +#define V4L2_DV_BT_CEA_720X576P50 { \ + .type = V4L2_DV_BT_656_1120, \ + V4L2_INIT_BT_TIMINGS(720, 576, 0, 0, \ + 27000000, 12, 64, 68, 5, 5, 39, 0, 0, 0, \ + V4L2_DV_BT_STD_CEA861, \ + V4L2_DV_FL_IS_CE_VIDEO | V4L2_DV_FL_HAS_PICTURE_ASPECT | \ + V4L2_DV_FL_HAS_CEA861_VIC, { 4, 3 }, 17) \ +} +#define V4L2_DV_BT_CEA_1280X720P24 { \ + .type = V4L2_DV_BT_656_1120, \ + V4L2_INIT_BT_TIMINGS(1280, 720, 0, \ + V4L2_DV_HSYNC_POS_POL | V4L2_DV_VSYNC_POS_POL, \ + 59400000, 1760, 40, 220, 5, 5, 20, 0, 0, 0, \ + V4L2_DV_BT_STD_DMT | V4L2_DV_BT_STD_CEA861, \ + V4L2_DV_FL_CAN_REDUCE_FPS | V4L2_DV_FL_HAS_CEA861_VIC, { 0, 0 }, 60) \ +} +#define V4L2_DV_BT_CEA_1280X720P25 { \ + .type = V4L2_DV_BT_656_1120, \ + V4L2_INIT_BT_TIMINGS(1280, 720, 0, \ + V4L2_DV_HSYNC_POS_POL | V4L2_DV_VSYNC_POS_POL, \ + 74250000, 2420, 40, 220, 5, 5, 20, 0, 0, 0, \ + V4L2_DV_BT_STD_CEA861, \ + V4L2_DV_FL_IS_CE_VIDEO | V4L2_DV_FL_HAS_CEA861_VIC, { 0, 0 }, 61) \ +} +#define V4L2_DV_BT_CEA_1280X720P30 { \ + .type = V4L2_DV_BT_656_1120, \ + V4L2_INIT_BT_TIMINGS(1280, 720, 0, \ + V4L2_DV_HSYNC_POS_POL | V4L2_DV_VSYNC_POS_POL, \ + 74250000, 1760, 40, 220, 5, 5, 20, 0, 0, 0, \ + V4L2_DV_BT_STD_CEA861, \ + V4L2_DV_FL_CAN_REDUCE_FPS | V4L2_DV_FL_IS_CE_VIDEO | \ + V4L2_DV_FL_HAS_CEA861_VIC, { 0, 0 }, 62) \ +} +#define V4L2_DV_BT_CEA_1280X720P50 { \ + .type = V4L2_DV_BT_656_1120, \ + V4L2_INIT_BT_TIMINGS(1280, 720, 0, \ + V4L2_DV_HSYNC_POS_POL | V4L2_DV_VSYNC_POS_POL, \ + 74250000, 440, 40, 220, 5, 5, 20, 0, 0, 0, \ + V4L2_DV_BT_STD_CEA861, \ + V4L2_DV_FL_IS_CE_VIDEO | V4L2_DV_FL_HAS_CEA861_VIC, { 0, 0 }, 19) \ +} +#define V4L2_DV_BT_CEA_1280X720P60 { \ + .type = V4L2_DV_BT_656_1120, \ + V4L2_INIT_BT_TIMINGS(1280, 720, 0, \ + V4L2_DV_HSYNC_POS_POL | V4L2_DV_VSYNC_POS_POL, \ + 74250000, 110, 40, 220, 5, 5, 20, 0, 0, 0, \ + V4L2_DV_BT_STD_CEA861, \ + V4L2_DV_FL_CAN_REDUCE_FPS | V4L2_DV_FL_IS_CE_VIDEO | \ + V4L2_DV_FL_HAS_CEA861_VIC, { 0, 0 }, 4) \ +} +#define V4L2_DV_BT_CEA_1920X1080P24 { \ + .type = V4L2_DV_BT_656_1120, \ + V4L2_INIT_BT_TIMINGS(1920, 1080, 0, \ + V4L2_DV_HSYNC_POS_POL | V4L2_DV_VSYNC_POS_POL, \ + 74250000, 638, 44, 148, 4, 5, 36, 0, 0, 0, \ + V4L2_DV_BT_STD_CEA861, \ + V4L2_DV_FL_CAN_REDUCE_FPS | V4L2_DV_FL_IS_CE_VIDEO | \ + V4L2_DV_FL_HAS_CEA861_VIC, { 0, 0 }, 32) \ +} +#define V4L2_DV_BT_CEA_1920X1080P25 { \ + .type = V4L2_DV_BT_656_1120, \ + V4L2_INIT_BT_TIMINGS(1920, 1080, 0, \ + V4L2_DV_HSYNC_POS_POL | V4L2_DV_VSYNC_POS_POL, \ + 74250000, 528, 44, 148, 4, 5, 36, 0, 0, 0, \ + V4L2_DV_BT_STD_CEA861, \ + V4L2_DV_FL_IS_CE_VIDEO | V4L2_DV_FL_HAS_CEA861_VIC, { 0, 0 }, 33) \ +} +#define V4L2_DV_BT_CEA_1920X1080P30 { \ + .type = V4L2_DV_BT_656_1120, \ + V4L2_INIT_BT_TIMINGS(1920, 1080, 0, \ + V4L2_DV_HSYNC_POS_POL | V4L2_DV_VSYNC_POS_POL, \ + 74250000, 88, 44, 148, 4, 5, 36, 0, 0, 0, \ + V4L2_DV_BT_STD_CEA861, \ + V4L2_DV_FL_CAN_REDUCE_FPS | V4L2_DV_FL_IS_CE_VIDEO | \ + V4L2_DV_FL_HAS_CEA861_VIC, { 0, 0 }, 34) \ +} +#define V4L2_DV_BT_CEA_1920X1080I50 { \ + .type = V4L2_DV_BT_656_1120, \ + V4L2_INIT_BT_TIMINGS(1920, 1080, 1, \ + V4L2_DV_HSYNC_POS_POL | V4L2_DV_VSYNC_POS_POL, \ + 74250000, 528, 44, 148, 2, 5, 15, 2, 5, 16, \ + V4L2_DV_BT_STD_CEA861, \ + V4L2_DV_FL_HALF_LINE | V4L2_DV_FL_IS_CE_VIDEO | \ + V4L2_DV_FL_HAS_CEA861_VIC, { 0, 0 }, 20) \ +} +#define V4L2_DV_BT_CEA_1920X1080P50 { \ + .type = V4L2_DV_BT_656_1120, \ + V4L2_INIT_BT_TIMINGS(1920, 1080, 0, \ + V4L2_DV_HSYNC_POS_POL | V4L2_DV_VSYNC_POS_POL, \ + 148500000, 528, 44, 148, 4, 5, 36, 0, 0, 0, \ + V4L2_DV_BT_STD_CEA861, \ + V4L2_DV_FL_IS_CE_VIDEO | V4L2_DV_FL_HAS_CEA861_VIC, { 0, 0 }, 31) \ +} +#define V4L2_DV_BT_CEA_1920X1080I60 { \ + .type = V4L2_DV_BT_656_1120, \ + V4L2_INIT_BT_TIMINGS(1920, 1080, 1, \ + V4L2_DV_HSYNC_POS_POL | V4L2_DV_VSYNC_POS_POL, \ + 74250000, 88, 44, 148, 2, 5, 15, 2, 5, 16, \ + V4L2_DV_BT_STD_CEA861, \ + V4L2_DV_FL_CAN_REDUCE_FPS | \ + V4L2_DV_FL_HALF_LINE | V4L2_DV_FL_IS_CE_VIDEO | \ + V4L2_DV_FL_HAS_CEA861_VIC, { 0, 0 }, 5) \ +} +#define V4L2_DV_BT_CEA_1920X1080P60 { \ + .type = V4L2_DV_BT_656_1120, \ + V4L2_INIT_BT_TIMINGS(1920, 1080, 0, \ + V4L2_DV_HSYNC_POS_POL | V4L2_DV_VSYNC_POS_POL, \ + 148500000, 88, 44, 148, 4, 5, 36, 0, 0, 0, \ + V4L2_DV_BT_STD_DMT | V4L2_DV_BT_STD_CEA861, \ + V4L2_DV_FL_CAN_REDUCE_FPS | V4L2_DV_FL_IS_CE_VIDEO | \ + V4L2_DV_FL_HAS_CEA861_VIC, { 0, 0 }, 16) \ +} +#define V4L2_DV_BT_CEA_3840X2160P24 { \ + .type = V4L2_DV_BT_656_1120, \ + V4L2_INIT_BT_TIMINGS(3840, 2160, 0, \ + V4L2_DV_HSYNC_POS_POL | V4L2_DV_VSYNC_POS_POL, \ + 297000000, 1276, 88, 296, 8, 10, 72, 0, 0, 0, \ + V4L2_DV_BT_STD_CEA861, \ + V4L2_DV_FL_CAN_REDUCE_FPS | V4L2_DV_FL_IS_CE_VIDEO | \ + V4L2_DV_FL_HAS_CEA861_VIC | V4L2_DV_FL_HAS_HDMI_VIC, \ + { 0, 0 }, 93, 3) \ +} +#define V4L2_DV_BT_CEA_3840X2160P25 { \ + .type = V4L2_DV_BT_656_1120, \ + V4L2_INIT_BT_TIMINGS(3840, 2160, 0, \ + V4L2_DV_HSYNC_POS_POL | V4L2_DV_VSYNC_POS_POL, \ + 297000000, 1056, 88, 296, 8, 10, 72, 0, 0, 0, \ + V4L2_DV_BT_STD_CEA861, \ + V4L2_DV_FL_IS_CE_VIDEO | V4L2_DV_FL_HAS_CEA861_VIC | \ + V4L2_DV_FL_HAS_HDMI_VIC, { 0, 0 }, 94, 2) \ +} +#define V4L2_DV_BT_CEA_3840X2160P30 { \ + .type = V4L2_DV_BT_656_1120, \ + V4L2_INIT_BT_TIMINGS(3840, 2160, 0, \ + V4L2_DV_HSYNC_POS_POL | V4L2_DV_VSYNC_POS_POL, \ + 297000000, 176, 88, 296, 8, 10, 72, 0, 0, 0, \ + V4L2_DV_BT_STD_CEA861, \ + V4L2_DV_FL_CAN_REDUCE_FPS | V4L2_DV_FL_IS_CE_VIDEO | \ + V4L2_DV_FL_HAS_CEA861_VIC | V4L2_DV_FL_HAS_HDMI_VIC, \ + { 0, 0 }, 95, 1) \ +} +#define V4L2_DV_BT_CEA_3840X2160P50 { \ + .type = V4L2_DV_BT_656_1120, \ + V4L2_INIT_BT_TIMINGS(3840, 2160, 0, \ + V4L2_DV_HSYNC_POS_POL | V4L2_DV_VSYNC_POS_POL, \ + 594000000, 1056, 88, 296, 8, 10, 72, 0, 0, 0, \ + V4L2_DV_BT_STD_CEA861, \ + V4L2_DV_FL_IS_CE_VIDEO | V4L2_DV_FL_HAS_CEA861_VIC, { 0, 0 }, 96) \ +} +#define V4L2_DV_BT_CEA_3840X2160P60 { \ + .type = V4L2_DV_BT_656_1120, \ + V4L2_INIT_BT_TIMINGS(3840, 2160, 0, \ + V4L2_DV_HSYNC_POS_POL | V4L2_DV_VSYNC_POS_POL, \ + 594000000, 176, 88, 296, 8, 10, 72, 0, 0, 0, \ + V4L2_DV_BT_STD_CEA861, \ + V4L2_DV_FL_CAN_REDUCE_FPS | V4L2_DV_FL_IS_CE_VIDEO | \ + V4L2_DV_FL_HAS_CEA861_VIC, { 0, 0 }, 97) \ +} +#define V4L2_DV_BT_CEA_4096X2160P24 { \ + .type = V4L2_DV_BT_656_1120, \ + V4L2_INIT_BT_TIMINGS(4096, 2160, 0, \ + V4L2_DV_HSYNC_POS_POL | V4L2_DV_VSYNC_POS_POL, \ + 297000000, 1020, 88, 296, 8, 10, 72, 0, 0, 0, \ + V4L2_DV_BT_STD_CEA861, \ + V4L2_DV_FL_CAN_REDUCE_FPS | V4L2_DV_FL_IS_CE_VIDEO | \ + V4L2_DV_FL_HAS_CEA861_VIC | V4L2_DV_FL_HAS_HDMI_VIC, \ + { 0, 0 }, 98, 4) \ +} +#define V4L2_DV_BT_CEA_4096X2160P25 { \ + .type = V4L2_DV_BT_656_1120, \ + V4L2_INIT_BT_TIMINGS(4096, 2160, 0, \ + V4L2_DV_HSYNC_POS_POL | V4L2_DV_VSYNC_POS_POL, \ + 297000000, 968, 88, 128, 8, 10, 72, 0, 0, 0, \ + V4L2_DV_BT_STD_CEA861, \ + V4L2_DV_FL_IS_CE_VIDEO | V4L2_DV_FL_HAS_CEA861_VIC, { 0, 0 }, 99) \ +} +#define V4L2_DV_BT_CEA_4096X2160P30 { \ + .type = V4L2_DV_BT_656_1120, \ + V4L2_INIT_BT_TIMINGS(4096, 2160, 0, \ + V4L2_DV_HSYNC_POS_POL | V4L2_DV_VSYNC_POS_POL, \ + 297000000, 88, 88, 128, 8, 10, 72, 0, 0, 0, \ + V4L2_DV_BT_STD_CEA861, \ + V4L2_DV_FL_CAN_REDUCE_FPS | V4L2_DV_FL_IS_CE_VIDEO | \ + V4L2_DV_FL_HAS_CEA861_VIC, { 0, 0 }, 100) \ +} +#define V4L2_DV_BT_CEA_4096X2160P50 { \ + .type = V4L2_DV_BT_656_1120, \ + V4L2_INIT_BT_TIMINGS(4096, 2160, 0, \ + V4L2_DV_HSYNC_POS_POL | V4L2_DV_VSYNC_POS_POL, \ + 594000000, 968, 88, 128, 8, 10, 72, 0, 0, 0, \ + V4L2_DV_BT_STD_CEA861, \ + V4L2_DV_FL_IS_CE_VIDEO | V4L2_DV_FL_HAS_CEA861_VIC, { 0, 0 }, 101) \ +} +#define V4L2_DV_BT_CEA_4096X2160P60 { \ + .type = V4L2_DV_BT_656_1120, \ + V4L2_INIT_BT_TIMINGS(4096, 2160, 0, \ + V4L2_DV_HSYNC_POS_POL | V4L2_DV_VSYNC_POS_POL, \ + 594000000, 88, 88, 128, 8, 10, 72, 0, 0, 0, \ + V4L2_DV_BT_STD_CEA861, \ + V4L2_DV_FL_CAN_REDUCE_FPS | V4L2_DV_FL_IS_CE_VIDEO | \ + V4L2_DV_FL_HAS_CEA861_VIC, { 0, 0 }, 102) \ +} +#define V4L2_DV_BT_DMT_640X350P85 { \ + .type = V4L2_DV_BT_656_1120, \ + V4L2_INIT_BT_TIMINGS(640, 350, 0, V4L2_DV_HSYNC_POS_POL, \ + 31500000, 32, 64, 96, 32, 3, 60, 0, 0, 0, \ + V4L2_DV_BT_STD_DMT, 0) \ +} +#define V4L2_DV_BT_DMT_640X400P85 { \ + .type = V4L2_DV_BT_656_1120, \ + V4L2_INIT_BT_TIMINGS(640, 400, 0, V4L2_DV_VSYNC_POS_POL, \ + 31500000, 32, 64, 96, 1, 3, 41, 0, 0, 0, \ + V4L2_DV_BT_STD_DMT, 0) \ +} +#define V4L2_DV_BT_DMT_720X400P85 { \ + .type = V4L2_DV_BT_656_1120, \ + V4L2_INIT_BT_TIMINGS(720, 400, 0, V4L2_DV_VSYNC_POS_POL, \ + 35500000, 36, 72, 108, 1, 3, 42, 0, 0, 0, \ + V4L2_DV_BT_STD_DMT, 0) \ +} +#define V4L2_DV_BT_DMT_640X480P60 V4L2_DV_BT_CEA_640X480P59_94 +#define V4L2_DV_BT_DMT_640X480P72 { \ + .type = V4L2_DV_BT_656_1120, \ + V4L2_INIT_BT_TIMINGS(640, 480, 0, 0, \ + 31500000, 24, 40, 128, 9, 3, 28, 0, 0, 0, \ + V4L2_DV_BT_STD_DMT, 0) \ +} +#define V4L2_DV_BT_DMT_640X480P75 { \ + .type = V4L2_DV_BT_656_1120, \ + V4L2_INIT_BT_TIMINGS(640, 480, 0, 0, \ + 31500000, 16, 64, 120, 1, 3, 16, 0, 0, 0, \ + V4L2_DV_BT_STD_DMT, 0) \ +} +#define V4L2_DV_BT_DMT_640X480P85 { \ + .type = V4L2_DV_BT_656_1120, \ + V4L2_INIT_BT_TIMINGS(640, 480, 0, 0, \ + 36000000, 56, 56, 80, 1, 3, 25, 0, 0, 0, \ + V4L2_DV_BT_STD_DMT, 0) \ +} +#define V4L2_DV_BT_DMT_800X600P56 { \ + .type = V4L2_DV_BT_656_1120, \ + V4L2_INIT_BT_TIMINGS(800, 600, 0, \ + V4L2_DV_HSYNC_POS_POL | V4L2_DV_VSYNC_POS_POL, \ + 36000000, 24, 72, 128, 1, 2, 22, 0, 0, 0, \ + V4L2_DV_BT_STD_DMT, 0) \ +} +#define V4L2_DV_BT_DMT_800X600P60 { \ + .type = V4L2_DV_BT_656_1120, \ + V4L2_INIT_BT_TIMINGS(800, 600, 0, \ + V4L2_DV_HSYNC_POS_POL | V4L2_DV_VSYNC_POS_POL, \ + 40000000, 40, 128, 88, 1, 4, 23, 0, 0, 0, \ + V4L2_DV_BT_STD_DMT, 0) \ +} +#define V4L2_DV_BT_DMT_800X600P72 { \ + .type = V4L2_DV_BT_656_1120, \ + V4L2_INIT_BT_TIMINGS(800, 600, 0, \ + V4L2_DV_HSYNC_POS_POL | V4L2_DV_VSYNC_POS_POL, \ + 50000000, 56, 120, 64, 37, 6, 23, 0, 0, 0, \ + V4L2_DV_BT_STD_DMT, 0) \ +} +#define V4L2_DV_BT_DMT_800X600P75 { \ + .type = V4L2_DV_BT_656_1120, \ + V4L2_INIT_BT_TIMINGS(800, 600, 0, \ + V4L2_DV_HSYNC_POS_POL | V4L2_DV_VSYNC_POS_POL, \ + 49500000, 16, 80, 160, 1, 3, 21, 0, 0, 0, \ + V4L2_DV_BT_STD_DMT, 0) \ +} +#define V4L2_DV_BT_DMT_800X600P85 { \ + .type = V4L2_DV_BT_656_1120, \ + V4L2_INIT_BT_TIMINGS(800, 600, 0, \ + V4L2_DV_HSYNC_POS_POL | V4L2_DV_VSYNC_POS_POL, \ + 56250000, 32, 64, 152, 1, 3, 27, 0, 0, 0, \ + V4L2_DV_BT_STD_DMT, 0) \ +} +#define V4L2_DV_BT_DMT_800X600P120_RB { \ + .type = V4L2_DV_BT_656_1120, \ + V4L2_INIT_BT_TIMINGS(800, 600, 0, V4L2_DV_HSYNC_POS_POL, \ + 73250000, 48, 32, 80, 3, 4, 29, 0, 0, 0, \ + V4L2_DV_BT_STD_DMT | V4L2_DV_BT_STD_CVT, \ + V4L2_DV_FL_REDUCED_BLANKING) \ +} +#define V4L2_DV_BT_DMT_848X480P60 { \ + .type = V4L2_DV_BT_656_1120, \ + V4L2_INIT_BT_TIMINGS(848, 480, 0, \ + V4L2_DV_HSYNC_POS_POL | V4L2_DV_VSYNC_POS_POL, \ + 33750000, 16, 112, 112, 6, 8, 23, 0, 0, 0, \ + V4L2_DV_BT_STD_DMT, 0) \ +} +#define V4L2_DV_BT_DMT_1024X768I43 { \ + .type = V4L2_DV_BT_656_1120, \ + V4L2_INIT_BT_TIMINGS(1024, 768, 1, \ + V4L2_DV_HSYNC_POS_POL | V4L2_DV_VSYNC_POS_POL, \ + 44900000, 8, 176, 56, 0, 4, 20, 0, 4, 21, \ + V4L2_DV_BT_STD_DMT, 0) \ +} +#define V4L2_DV_BT_DMT_1024X768P60 { \ + .type = V4L2_DV_BT_656_1120, \ + V4L2_INIT_BT_TIMINGS(1024, 768, 0, 0, \ + 65000000, 24, 136, 160, 3, 6, 29, 0, 0, 0, \ + V4L2_DV_BT_STD_DMT, 0) \ +} +#define V4L2_DV_BT_DMT_1024X768P70 { \ + .type = V4L2_DV_BT_656_1120, \ + V4L2_INIT_BT_TIMINGS(1024, 768, 0, 0, \ + 75000000, 24, 136, 144, 3, 6, 29, 0, 0, 0, \ + V4L2_DV_BT_STD_DMT, 0) \ +} +#define V4L2_DV_BT_DMT_1024X768P75 { \ + .type = V4L2_DV_BT_656_1120, \ + V4L2_INIT_BT_TIMINGS(1024, 768, 0, \ + V4L2_DV_HSYNC_POS_POL | V4L2_DV_VSYNC_POS_POL, \ + 78750000, 16, 96, 176, 1, 3, 28, 0, 0, 0, \ + V4L2_DV_BT_STD_DMT, 0) \ +} +#define V4L2_DV_BT_DMT_1024X768P85 { \ + .type = V4L2_DV_BT_656_1120, \ + V4L2_INIT_BT_TIMINGS(1024, 768, 0, \ + V4L2_DV_HSYNC_POS_POL | V4L2_DV_VSYNC_POS_POL, \ + 94500000, 48, 96, 208, 1, 3, 36, 0, 0, 0, \ + V4L2_DV_BT_STD_DMT, 0) \ +} +#define V4L2_DV_BT_DMT_1024X768P120_RB { \ + .type = V4L2_DV_BT_656_1120, \ + V4L2_INIT_BT_TIMINGS(1024, 768, 0, V4L2_DV_HSYNC_POS_POL, \ + 115500000, 48, 32, 80, 3, 4, 38, 0, 0, 0, \ + V4L2_DV_BT_STD_DMT | V4L2_DV_BT_STD_CVT, \ + V4L2_DV_FL_REDUCED_BLANKING) \ +} +#define V4L2_DV_BT_DMT_1152X864P75 { \ + .type = V4L2_DV_BT_656_1120, \ + V4L2_INIT_BT_TIMINGS(1152, 864, 0, \ + V4L2_DV_HSYNC_POS_POL | V4L2_DV_VSYNC_POS_POL, \ + 108000000, 64, 128, 256, 1, 3, 32, 0, 0, 0, \ + V4L2_DV_BT_STD_DMT, 0) \ +} +#define V4L2_DV_BT_DMT_1280X720P60 V4L2_DV_BT_CEA_1280X720P60 +#define V4L2_DV_BT_DMT_1280X768P60_RB { \ + .type = V4L2_DV_BT_656_1120, \ + V4L2_INIT_BT_TIMINGS(1280, 768, 0, V4L2_DV_HSYNC_POS_POL, \ + 68250000, 48, 32, 80, 3, 7, 12, 0, 0, 0, \ + V4L2_DV_BT_STD_DMT | V4L2_DV_BT_STD_CVT, \ + V4L2_DV_FL_REDUCED_BLANKING) \ +} +#define V4L2_DV_BT_DMT_1280X768P60 { \ + .type = V4L2_DV_BT_656_1120, \ + V4L2_INIT_BT_TIMINGS(1280, 768, 0, V4L2_DV_VSYNC_POS_POL, \ + 79500000, 64, 128, 192, 3, 7, 20, 0, 0, 0, \ + V4L2_DV_BT_STD_DMT | V4L2_DV_BT_STD_CVT, 0) \ +} +#define V4L2_DV_BT_DMT_1280X768P75 { \ + .type = V4L2_DV_BT_656_1120, \ + V4L2_INIT_BT_TIMINGS(1280, 768, 0, V4L2_DV_VSYNC_POS_POL, \ + 102250000, 80, 128, 208, 3, 7, 27, 0, 0, 0, \ + V4L2_DV_BT_STD_DMT | V4L2_DV_BT_STD_CVT, 0) \ +} +#define V4L2_DV_BT_DMT_1280X768P85 { \ + .type = V4L2_DV_BT_656_1120, \ + V4L2_INIT_BT_TIMINGS(1280, 768, 0, V4L2_DV_VSYNC_POS_POL, \ + 117500000, 80, 136, 216, 3, 7, 31, 0, 0, 0, \ + V4L2_DV_BT_STD_DMT | V4L2_DV_BT_STD_CVT, 0) \ +} +#define V4L2_DV_BT_DMT_1280X768P120_RB { \ + .type = V4L2_DV_BT_656_1120, \ + V4L2_INIT_BT_TIMINGS(1280, 768, 0, V4L2_DV_HSYNC_POS_POL, \ + 140250000, 48, 32, 80, 3, 7, 35, 0, 0, 0, \ + V4L2_DV_BT_STD_DMT | V4L2_DV_BT_STD_CVT, \ + V4L2_DV_FL_REDUCED_BLANKING) \ +} +#define V4L2_DV_BT_DMT_1280X800P60_RB { \ + .type = V4L2_DV_BT_656_1120, \ + V4L2_INIT_BT_TIMINGS(1280, 800, 0, V4L2_DV_HSYNC_POS_POL, \ + 71000000, 48, 32, 80, 3, 6, 14, 0, 0, 0, \ + V4L2_DV_BT_STD_DMT | V4L2_DV_BT_STD_CVT, \ + V4L2_DV_FL_REDUCED_BLANKING) \ +} +#define V4L2_DV_BT_DMT_1280X800P60 { \ + .type = V4L2_DV_BT_656_1120, \ + V4L2_INIT_BT_TIMINGS(1280, 800, 0, V4L2_DV_VSYNC_POS_POL, \ + 83500000, 72, 128, 200, 3, 6, 22, 0, 0, 0, \ + V4L2_DV_BT_STD_DMT | V4L2_DV_BT_STD_CVT, 0) \ +} +#define V4L2_DV_BT_DMT_1280X800P75 { \ + .type = V4L2_DV_BT_656_1120, \ + V4L2_INIT_BT_TIMINGS(1280, 800, 0, V4L2_DV_VSYNC_POS_POL, \ + 106500000, 80, 128, 208, 3, 6, 29, 0, 0, 0, \ + V4L2_DV_BT_STD_DMT | V4L2_DV_BT_STD_CVT, 0) \ +} +#define V4L2_DV_BT_DMT_1280X800P85 { \ + .type = V4L2_DV_BT_656_1120, \ + V4L2_INIT_BT_TIMINGS(1280, 800, 0, V4L2_DV_VSYNC_POS_POL, \ + 122500000, 80, 136, 216, 3, 6, 34, 0, 0, 0, \ + V4L2_DV_BT_STD_DMT | V4L2_DV_BT_STD_CVT, 0) \ +} +#define V4L2_DV_BT_DMT_1280X800P120_RB { \ + .type = V4L2_DV_BT_656_1120, \ + V4L2_INIT_BT_TIMINGS(1280, 800, 0, V4L2_DV_HSYNC_POS_POL, \ + 146250000, 48, 32, 80, 3, 6, 38, 0, 0, 0, \ + V4L2_DV_BT_STD_DMT | V4L2_DV_BT_STD_CVT, \ + V4L2_DV_FL_REDUCED_BLANKING) \ +} +#define V4L2_DV_BT_DMT_1280X960P60 { \ + .type = V4L2_DV_BT_656_1120, \ + V4L2_INIT_BT_TIMINGS(1280, 960, 0, \ + V4L2_DV_HSYNC_POS_POL | V4L2_DV_VSYNC_POS_POL, \ + 108000000, 96, 112, 312, 1, 3, 36, 0, 0, 0, \ + V4L2_DV_BT_STD_DMT, 0) \ +} +#define V4L2_DV_BT_DMT_1280X960P85 { \ + .type = V4L2_DV_BT_656_1120, \ + V4L2_INIT_BT_TIMINGS(1280, 960, 0, \ + V4L2_DV_HSYNC_POS_POL | V4L2_DV_VSYNC_POS_POL, \ + 148500000, 64, 160, 224, 1, 3, 47, 0, 0, 0, \ + V4L2_DV_BT_STD_DMT, 0) \ +} +#define V4L2_DV_BT_DMT_1280X960P120_RB { \ + .type = V4L2_DV_BT_656_1120, \ + V4L2_INIT_BT_TIMINGS(1280, 960, 0, V4L2_DV_HSYNC_POS_POL, \ + 175500000, 48, 32, 80, 3, 4, 50, 0, 0, 0, \ + V4L2_DV_BT_STD_DMT | V4L2_DV_BT_STD_CVT, \ + V4L2_DV_FL_REDUCED_BLANKING) \ +} +#define V4L2_DV_BT_DMT_1280X1024P60 { \ + .type = V4L2_DV_BT_656_1120, \ + V4L2_INIT_BT_TIMINGS(1280, 1024, 0, \ + V4L2_DV_HSYNC_POS_POL | V4L2_DV_VSYNC_POS_POL, \ + 108000000, 48, 112, 248, 1, 3, 38, 0, 0, 0, \ + V4L2_DV_BT_STD_DMT, 0) \ +} +#define V4L2_DV_BT_DMT_1280X1024P75 { \ + .type = V4L2_DV_BT_656_1120, \ + V4L2_INIT_BT_TIMINGS(1280, 1024, 0, \ + V4L2_DV_HSYNC_POS_POL | V4L2_DV_VSYNC_POS_POL, \ + 135000000, 16, 144, 248, 1, 3, 38, 0, 0, 0, \ + V4L2_DV_BT_STD_DMT, 0) \ +} +#define V4L2_DV_BT_DMT_1280X1024P85 { \ + .type = V4L2_DV_BT_656_1120, \ + V4L2_INIT_BT_TIMINGS(1280, 1024, 0, \ + V4L2_DV_HSYNC_POS_POL | V4L2_DV_VSYNC_POS_POL, \ + 157500000, 64, 160, 224, 1, 3, 44, 0, 0, 0, \ + V4L2_DV_BT_STD_DMT, 0) \ +} +#define V4L2_DV_BT_DMT_1280X1024P120_RB { \ + .type = V4L2_DV_BT_656_1120, \ + V4L2_INIT_BT_TIMINGS(1280, 1024, 0, V4L2_DV_HSYNC_POS_POL, \ + 187250000, 48, 32, 80, 3, 7, 50, 0, 0, 0, \ + V4L2_DV_BT_STD_DMT | V4L2_DV_BT_STD_CVT, \ + V4L2_DV_FL_REDUCED_BLANKING) \ +} +#define V4L2_DV_BT_DMT_1360X768P60 { \ + .type = V4L2_DV_BT_656_1120, \ + V4L2_INIT_BT_TIMINGS(1360, 768, 0, \ + V4L2_DV_HSYNC_POS_POL | V4L2_DV_VSYNC_POS_POL, \ + 85500000, 64, 112, 256, 3, 6, 18, 0, 0, 0, \ + V4L2_DV_BT_STD_DMT, 0) \ +} +#define V4L2_DV_BT_DMT_1360X768P120_RB { \ + .type = V4L2_DV_BT_656_1120, \ + V4L2_INIT_BT_TIMINGS(1360, 768, 0, V4L2_DV_HSYNC_POS_POL, \ + 148250000, 48, 32, 80, 3, 5, 37, 0, 0, 0, \ + V4L2_DV_BT_STD_DMT | V4L2_DV_BT_STD_CVT, \ + V4L2_DV_FL_REDUCED_BLANKING) \ +} +#define V4L2_DV_BT_DMT_1366X768P60 { \ + .type = V4L2_DV_BT_656_1120, \ + V4L2_INIT_BT_TIMINGS(1366, 768, 0, \ + V4L2_DV_HSYNC_POS_POL | V4L2_DV_VSYNC_POS_POL, \ + 85500000, 70, 143, 213, 3, 3, 24, 0, 0, 0, \ + V4L2_DV_BT_STD_DMT, 0) \ +} +#define V4L2_DV_BT_DMT_1366X768P60_RB { \ + .type = V4L2_DV_BT_656_1120, \ + V4L2_INIT_BT_TIMINGS(1366, 768, 0, \ + V4L2_DV_HSYNC_POS_POL | V4L2_DV_VSYNC_POS_POL, \ + 72000000, 14, 56, 64, 1, 3, 28, 0, 0, 0, \ + V4L2_DV_BT_STD_DMT, V4L2_DV_FL_REDUCED_BLANKING) \ +} +#define V4L2_DV_BT_DMT_1400X1050P60_RB { \ + .type = V4L2_DV_BT_656_1120, \ + V4L2_INIT_BT_TIMINGS(1400, 1050, 0, V4L2_DV_HSYNC_POS_POL, \ + 101000000, 48, 32, 80, 3, 4, 23, 0, 0, 0, \ + V4L2_DV_BT_STD_DMT | V4L2_DV_BT_STD_CVT, \ + V4L2_DV_FL_REDUCED_BLANKING) \ +} +#define V4L2_DV_BT_DMT_1400X1050P60 { \ + .type = V4L2_DV_BT_656_1120, \ + V4L2_INIT_BT_TIMINGS(1400, 1050, 0, V4L2_DV_VSYNC_POS_POL, \ + 121750000, 88, 144, 232, 3, 4, 32, 0, 0, 0, \ + V4L2_DV_BT_STD_DMT | V4L2_DV_BT_STD_CVT, 0) \ +} +#define V4L2_DV_BT_DMT_1400X1050P75 { \ + .type = V4L2_DV_BT_656_1120, \ + V4L2_INIT_BT_TIMINGS(1400, 1050, 0, V4L2_DV_VSYNC_POS_POL, \ + 156000000, 104, 144, 248, 3, 4, 42, 0, 0, 0, \ + V4L2_DV_BT_STD_DMT | V4L2_DV_BT_STD_CVT, 0) \ +} +#define V4L2_DV_BT_DMT_1400X1050P85 { \ + .type = V4L2_DV_BT_656_1120, \ + V4L2_INIT_BT_TIMINGS(1400, 1050, 0, V4L2_DV_VSYNC_POS_POL, \ + 179500000, 104, 152, 256, 3, 4, 48, 0, 0, 0, \ + V4L2_DV_BT_STD_DMT | V4L2_DV_BT_STD_CVT, 0) \ +} +#define V4L2_DV_BT_DMT_1400X1050P120_RB { \ + .type = V4L2_DV_BT_656_1120, \ + V4L2_INIT_BT_TIMINGS(1400, 1050, 0, V4L2_DV_HSYNC_POS_POL, \ + 208000000, 48, 32, 80, 3, 4, 55, 0, 0, 0, \ + V4L2_DV_BT_STD_DMT | V4L2_DV_BT_STD_CVT, \ + V4L2_DV_FL_REDUCED_BLANKING) \ +} +#define V4L2_DV_BT_DMT_1440X900P60_RB { \ + .type = V4L2_DV_BT_656_1120, \ + V4L2_INIT_BT_TIMINGS(1440, 900, 0, V4L2_DV_HSYNC_POS_POL, \ + 88750000, 48, 32, 80, 3, 6, 17, 0, 0, 0, \ + V4L2_DV_BT_STD_DMT | V4L2_DV_BT_STD_CVT, \ + V4L2_DV_FL_REDUCED_BLANKING) \ +} +#define V4L2_DV_BT_DMT_1440X900P60 { \ + .type = V4L2_DV_BT_656_1120, \ + V4L2_INIT_BT_TIMINGS(1440, 900, 0, V4L2_DV_VSYNC_POS_POL, \ + 106500000, 80, 152, 232, 3, 6, 25, 0, 0, 0, \ + V4L2_DV_BT_STD_DMT | V4L2_DV_BT_STD_CVT, 0) \ +} +#define V4L2_DV_BT_DMT_1440X900P75 { \ + .type = V4L2_DV_BT_656_1120, \ + V4L2_INIT_BT_TIMINGS(1440, 900, 0, V4L2_DV_VSYNC_POS_POL, \ + 136750000, 96, 152, 248, 3, 6, 33, 0, 0, 0, \ + V4L2_DV_BT_STD_DMT | V4L2_DV_BT_STD_CVT, 0) \ +} +#define V4L2_DV_BT_DMT_1440X900P85 { \ + .type = V4L2_DV_BT_656_1120, \ + V4L2_INIT_BT_TIMINGS(1440, 900, 0, V4L2_DV_VSYNC_POS_POL, \ + 157000000, 104, 152, 256, 3, 6, 39, 0, 0, 0, \ + V4L2_DV_BT_STD_DMT | V4L2_DV_BT_STD_CVT, 0) \ +} +#define V4L2_DV_BT_DMT_1440X900P120_RB { \ + .type = V4L2_DV_BT_656_1120, \ + V4L2_INIT_BT_TIMINGS(1440, 900, 0, V4L2_DV_HSYNC_POS_POL, \ + 182750000, 48, 32, 80, 3, 6, 44, 0, 0, 0, \ + V4L2_DV_BT_STD_DMT | V4L2_DV_BT_STD_CVT, \ + V4L2_DV_FL_REDUCED_BLANKING) \ +} +#define V4L2_DV_BT_DMT_1600X900P60_RB { \ + .type = V4L2_DV_BT_656_1120, \ + V4L2_INIT_BT_TIMINGS(1600, 900, 0, \ + V4L2_DV_HSYNC_POS_POL | V4L2_DV_VSYNC_POS_POL, \ + 108000000, 24, 80, 96, 1, 3, 96, 0, 0, 0, \ + V4L2_DV_BT_STD_DMT, V4L2_DV_FL_REDUCED_BLANKING) \ +} +#define V4L2_DV_BT_DMT_1600X1200P60 { \ + .type = V4L2_DV_BT_656_1120, \ + V4L2_INIT_BT_TIMINGS(1600, 1200, 0, \ + V4L2_DV_HSYNC_POS_POL | V4L2_DV_VSYNC_POS_POL, \ + 162000000, 64, 192, 304, 1, 3, 46, 0, 0, 0, \ + V4L2_DV_BT_STD_DMT, 0) \ +} +#define V4L2_DV_BT_DMT_1600X1200P65 { \ + .type = V4L2_DV_BT_656_1120, \ + V4L2_INIT_BT_TIMINGS(1600, 1200, 0, \ + V4L2_DV_HSYNC_POS_POL | V4L2_DV_VSYNC_POS_POL, \ + 175500000, 64, 192, 304, 1, 3, 46, 0, 0, 0, \ + V4L2_DV_BT_STD_DMT, 0) \ +} +#define V4L2_DV_BT_DMT_1600X1200P70 { \ + .type = V4L2_DV_BT_656_1120, \ + V4L2_INIT_BT_TIMINGS(1600, 1200, 0, \ + V4L2_DV_HSYNC_POS_POL | V4L2_DV_VSYNC_POS_POL, \ + 189000000, 64, 192, 304, 1, 3, 46, 0, 0, 0, \ + V4L2_DV_BT_STD_DMT, 0) \ +} +#define V4L2_DV_BT_DMT_1600X1200P75 { \ + .type = V4L2_DV_BT_656_1120, \ + V4L2_INIT_BT_TIMINGS(1600, 1200, 0, \ + V4L2_DV_HSYNC_POS_POL | V4L2_DV_VSYNC_POS_POL, \ + 202500000, 64, 192, 304, 1, 3, 46, 0, 0, 0, \ + V4L2_DV_BT_STD_DMT, 0) \ +} +#define V4L2_DV_BT_DMT_1600X1200P85 { \ + .type = V4L2_DV_BT_656_1120, \ + V4L2_INIT_BT_TIMINGS(1600, 1200, 0, \ + V4L2_DV_HSYNC_POS_POL | V4L2_DV_VSYNC_POS_POL, \ + 229500000, 64, 192, 304, 1, 3, 46, 0, 0, 0, \ + V4L2_DV_BT_STD_DMT, 0) \ +} +#define V4L2_DV_BT_DMT_1600X1200P120_RB { \ + .type = V4L2_DV_BT_656_1120, \ + V4L2_INIT_BT_TIMINGS(1600, 1200, 0, V4L2_DV_HSYNC_POS_POL, \ + 268250000, 48, 32, 80, 3, 4, 64, 0, 0, 0, \ + V4L2_DV_BT_STD_DMT | V4L2_DV_BT_STD_CVT, \ + V4L2_DV_FL_REDUCED_BLANKING) \ +} +#define V4L2_DV_BT_DMT_1680X1050P60_RB { \ + .type = V4L2_DV_BT_656_1120, \ + V4L2_INIT_BT_TIMINGS(1680, 1050, 0, V4L2_DV_HSYNC_POS_POL, \ + 119000000, 48, 32, 80, 3, 6, 21, 0, 0, 0, \ + V4L2_DV_BT_STD_DMT | V4L2_DV_BT_STD_CVT, \ + V4L2_DV_FL_REDUCED_BLANKING) \ +} +#define V4L2_DV_BT_DMT_1680X1050P60 { \ + .type = V4L2_DV_BT_656_1120, \ + V4L2_INIT_BT_TIMINGS(1680, 1050, 0, V4L2_DV_VSYNC_POS_POL, \ + 146250000, 104, 176, 280, 3, 6, 30, 0, 0, 0, \ + V4L2_DV_BT_STD_DMT | V4L2_DV_BT_STD_CVT, 0) \ +} +#define V4L2_DV_BT_DMT_1680X1050P75 { \ + .type = V4L2_DV_BT_656_1120, \ + V4L2_INIT_BT_TIMINGS(1680, 1050, 0, V4L2_DV_VSYNC_POS_POL, \ + 187000000, 120, 176, 296, 3, 6, 40, 0, 0, 0, \ + V4L2_DV_BT_STD_DMT | V4L2_DV_BT_STD_CVT, 0) \ +} +#define V4L2_DV_BT_DMT_1680X1050P85 { \ + .type = V4L2_DV_BT_656_1120, \ + V4L2_INIT_BT_TIMINGS(1680, 1050, 0, V4L2_DV_VSYNC_POS_POL, \ + 214750000, 128, 176, 304, 3, 6, 46, 0, 0, 0, \ + V4L2_DV_BT_STD_DMT | V4L2_DV_BT_STD_CVT, 0) \ +} +#define V4L2_DV_BT_DMT_1680X1050P120_RB { \ + .type = V4L2_DV_BT_656_1120, \ + V4L2_INIT_BT_TIMINGS(1680, 1050, 0, V4L2_DV_HSYNC_POS_POL, \ + 245500000, 48, 32, 80, 3, 6, 53, 0, 0, 0, \ + V4L2_DV_BT_STD_DMT | V4L2_DV_BT_STD_CVT, \ + V4L2_DV_FL_REDUCED_BLANKING) \ +} +#define V4L2_DV_BT_DMT_1792X1344P60 { \ + .type = V4L2_DV_BT_656_1120, \ + V4L2_INIT_BT_TIMINGS(1792, 1344, 0, V4L2_DV_VSYNC_POS_POL, \ + 204750000, 128, 200, 328, 1, 3, 46, 0, 0, 0, \ + V4L2_DV_BT_STD_DMT, 0) \ +} +#define V4L2_DV_BT_DMT_1792X1344P75 { \ + .type = V4L2_DV_BT_656_1120, \ + V4L2_INIT_BT_TIMINGS(1792, 1344, 0, V4L2_DV_VSYNC_POS_POL, \ + 261000000, 96, 216, 352, 1, 3, 69, 0, 0, 0, \ + V4L2_DV_BT_STD_DMT, 0) \ +} +#define V4L2_DV_BT_DMT_1792X1344P120_RB { \ + .type = V4L2_DV_BT_656_1120, \ + V4L2_INIT_BT_TIMINGS(1792, 1344, 0, V4L2_DV_HSYNC_POS_POL, \ + 333250000, 48, 32, 80, 3, 4, 72, 0, 0, 0, \ + V4L2_DV_BT_STD_DMT | V4L2_DV_BT_STD_CVT, \ + V4L2_DV_FL_REDUCED_BLANKING) \ +} +#define V4L2_DV_BT_DMT_1856X1392P60 { \ + .type = V4L2_DV_BT_656_1120, \ + V4L2_INIT_BT_TIMINGS(1856, 1392, 0, V4L2_DV_VSYNC_POS_POL, \ + 218250000, 96, 224, 352, 1, 3, 43, 0, 0, 0, \ + V4L2_DV_BT_STD_DMT, 0) \ +} +#define V4L2_DV_BT_DMT_1856X1392P75 { \ + .type = V4L2_DV_BT_656_1120, \ + V4L2_INIT_BT_TIMINGS(1856, 1392, 0, V4L2_DV_VSYNC_POS_POL, \ + 288000000, 128, 224, 352, 1, 3, 104, 0, 0, 0, \ + V4L2_DV_BT_STD_DMT, 0) \ +} +#define V4L2_DV_BT_DMT_1856X1392P120_RB { \ + .type = V4L2_DV_BT_656_1120, \ + V4L2_INIT_BT_TIMINGS(1856, 1392, 0, V4L2_DV_HSYNC_POS_POL, \ + 356500000, 48, 32, 80, 3, 4, 75, 0, 0, 0, \ + V4L2_DV_BT_STD_DMT | V4L2_DV_BT_STD_CVT, \ + V4L2_DV_FL_REDUCED_BLANKING) \ +} +#define V4L2_DV_BT_DMT_1920X1080P60 V4L2_DV_BT_CEA_1920X1080P60 +#define V4L2_DV_BT_DMT_1920X1200P60_RB { \ + .type = V4L2_DV_BT_656_1120, \ + V4L2_INIT_BT_TIMINGS(1920, 1200, 0, V4L2_DV_HSYNC_POS_POL, \ + 154000000, 48, 32, 80, 3, 6, 26, 0, 0, 0, \ + V4L2_DV_BT_STD_DMT | V4L2_DV_BT_STD_CVT, \ + V4L2_DV_FL_REDUCED_BLANKING) \ +} +#define V4L2_DV_BT_DMT_1920X1200P60 { \ + .type = V4L2_DV_BT_656_1120, \ + V4L2_INIT_BT_TIMINGS(1920, 1200, 0, V4L2_DV_VSYNC_POS_POL, \ + 193250000, 136, 200, 336, 3, 6, 36, 0, 0, 0, \ + V4L2_DV_BT_STD_DMT | V4L2_DV_BT_STD_CVT, 0) \ +} +#define V4L2_DV_BT_DMT_1920X1200P75 { \ + .type = V4L2_DV_BT_656_1120, \ + V4L2_INIT_BT_TIMINGS(1920, 1200, 0, V4L2_DV_VSYNC_POS_POL, \ + 245250000, 136, 208, 344, 3, 6, 46, 0, 0, 0, \ + V4L2_DV_BT_STD_DMT | V4L2_DV_BT_STD_CVT, 0) \ +} +#define V4L2_DV_BT_DMT_1920X1200P85 { \ + .type = V4L2_DV_BT_656_1120, \ + V4L2_INIT_BT_TIMINGS(1920, 1200, 0, V4L2_DV_VSYNC_POS_POL, \ + 281250000, 144, 208, 352, 3, 6, 53, 0, 0, 0, \ + V4L2_DV_BT_STD_DMT | V4L2_DV_BT_STD_CVT, 0) \ +} +#define V4L2_DV_BT_DMT_1920X1200P120_RB { \ + .type = V4L2_DV_BT_656_1120, \ + V4L2_INIT_BT_TIMINGS(1920, 1200, 0, V4L2_DV_HSYNC_POS_POL, \ + 317000000, 48, 32, 80, 3, 6, 62, 0, 0, 0, \ + V4L2_DV_BT_STD_DMT | V4L2_DV_BT_STD_CVT, \ + V4L2_DV_FL_REDUCED_BLANKING) \ +} +#define V4L2_DV_BT_DMT_1920X1440P60 { \ + .type = V4L2_DV_BT_656_1120, \ + V4L2_INIT_BT_TIMINGS(1920, 1440, 0, V4L2_DV_VSYNC_POS_POL, \ + 234000000, 128, 208, 344, 1, 3, 56, 0, 0, 0, \ + V4L2_DV_BT_STD_DMT, 0) \ +} +#define V4L2_DV_BT_DMT_1920X1440P75 { \ + .type = V4L2_DV_BT_656_1120, \ + V4L2_INIT_BT_TIMINGS(1920, 1440, 0, V4L2_DV_VSYNC_POS_POL, \ + 297000000, 144, 224, 352, 1, 3, 56, 0, 0, 0, \ + V4L2_DV_BT_STD_DMT, 0) \ +} +#define V4L2_DV_BT_DMT_1920X1440P120_RB { \ + .type = V4L2_DV_BT_656_1120, \ + V4L2_INIT_BT_TIMINGS(1920, 1440, 0, V4L2_DV_HSYNC_POS_POL, \ + 380500000, 48, 32, 80, 3, 4, 78, 0, 0, 0, \ + V4L2_DV_BT_STD_DMT | V4L2_DV_BT_STD_CVT, \ + V4L2_DV_FL_REDUCED_BLANKING) \ +} +#define V4L2_DV_BT_DMT_2048X1152P60_RB { \ + .type = V4L2_DV_BT_656_1120, \ + V4L2_INIT_BT_TIMINGS(2048, 1152, 0, \ + V4L2_DV_HSYNC_POS_POL | V4L2_DV_VSYNC_POS_POL, \ + 162000000, 26, 80, 96, 1, 3, 44, 0, 0, 0, \ + V4L2_DV_BT_STD_DMT, V4L2_DV_FL_REDUCED_BLANKING) \ +} +#define V4L2_DV_BT_DMT_2560X1600P60_RB { \ + .type = V4L2_DV_BT_656_1120, \ + V4L2_INIT_BT_TIMINGS(2560, 1600, 0, V4L2_DV_HSYNC_POS_POL, \ + 268500000, 48, 32, 80, 3, 6, 37, 0, 0, 0, \ + V4L2_DV_BT_STD_DMT | V4L2_DV_BT_STD_CVT, \ + V4L2_DV_FL_REDUCED_BLANKING) \ +} +#define V4L2_DV_BT_DMT_2560X1600P60 { \ + .type = V4L2_DV_BT_656_1120, \ + V4L2_INIT_BT_TIMINGS(2560, 1600, 0, V4L2_DV_VSYNC_POS_POL, \ + 348500000, 192, 280, 472, 3, 6, 49, 0, 0, 0, \ + V4L2_DV_BT_STD_DMT | V4L2_DV_BT_STD_CVT, 0) \ +} +#define V4L2_DV_BT_DMT_2560X1600P75 { \ + .type = V4L2_DV_BT_656_1120, \ + V4L2_INIT_BT_TIMINGS(2560, 1600, 0, V4L2_DV_VSYNC_POS_POL, \ + 443250000, 208, 280, 488, 3, 6, 63, 0, 0, 0, \ + V4L2_DV_BT_STD_DMT | V4L2_DV_BT_STD_CVT, 0) \ +} +#define V4L2_DV_BT_DMT_2560X1600P85 { \ + .type = V4L2_DV_BT_656_1120, \ + V4L2_INIT_BT_TIMINGS(2560, 1600, 0, V4L2_DV_VSYNC_POS_POL, \ + 505250000, 208, 280, 488, 3, 6, 73, 0, 0, 0, \ + V4L2_DV_BT_STD_DMT | V4L2_DV_BT_STD_CVT, 0) \ +} +#define V4L2_DV_BT_DMT_2560X1600P120_RB { \ + .type = V4L2_DV_BT_656_1120, \ + V4L2_INIT_BT_TIMINGS(2560, 1600, 0, V4L2_DV_HSYNC_POS_POL, \ + 552750000, 48, 32, 80, 3, 6, 85, 0, 0, 0, \ + V4L2_DV_BT_STD_DMT | V4L2_DV_BT_STD_CVT, \ + V4L2_DV_FL_REDUCED_BLANKING) \ +} +#define V4L2_DV_BT_DMT_4096X2160P60_RB { \ + .type = V4L2_DV_BT_656_1120, \ + V4L2_INIT_BT_TIMINGS(4096, 2160, 0, V4L2_DV_HSYNC_POS_POL, \ + 556744000, 8, 32, 40, 48, 8, 6, 0, 0, 0, \ + V4L2_DV_BT_STD_DMT | V4L2_DV_BT_STD_CVT, \ + V4L2_DV_FL_REDUCED_BLANKING) \ +} +#define V4L2_DV_BT_DMT_4096X2160P59_94_RB { \ + .type = V4L2_DV_BT_656_1120, \ + V4L2_INIT_BT_TIMINGS(4096, 2160, 0, V4L2_DV_HSYNC_POS_POL, \ + 556188000, 8, 32, 40, 48, 8, 6, 0, 0, 0, \ + V4L2_DV_BT_STD_DMT | V4L2_DV_BT_STD_CVT, \ + V4L2_DV_FL_REDUCED_BLANKING) \ +} +#define V4L2_DV_BT_SDI_720X487I60 { \ + .type = V4L2_DV_BT_656_1120, \ + V4L2_INIT_BT_TIMINGS(720, 487, 1, \ + V4L2_DV_HSYNC_POS_POL, \ + 13500000, 16, 121, 0, 0, 19, 0, 0, 19, 0, \ + V4L2_DV_BT_STD_SDI, \ + V4L2_DV_FL_FIRST_FIELD_EXTRA_LINE) \ +} +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/v4l2-mediabus.h b/linux-5.10/prebuilts/usr/include/linux/v4l2-mediabus.h new file mode 100644 index 0000000..e029e43 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/v4l2-mediabus.h @@ -0,0 +1,111 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef __LINUX_V4L2_MEDIABUS_H +#define __LINUX_V4L2_MEDIABUS_H +#include +#include +#include +#define V4L2_MBUS_FRAMEFMT_SET_CSC 0x0001 +struct v4l2_mbus_framefmt { + __u32 width; + __u32 height; + __u32 code; + __u32 field; + __u32 colorspace; + union { + + __u16 ycbcr_enc; + + __u16 hsv_enc; + }; + __u16 quantization; + __u16 xfer_func; + __u16 flags; + __u16 reserved[10]; +}; +#ifndef __KERNEL__ +#define V4L2_MBUS_FROM_MEDIA_BUS_FMT(name) \ + V4L2_MBUS_FMT_ ## name = MEDIA_BUS_FMT_ ## name +enum v4l2_mbus_pixelcode { + V4L2_MBUS_FROM_MEDIA_BUS_FMT(FIXED), + V4L2_MBUS_FROM_MEDIA_BUS_FMT(RGB444_2X8_PADHI_BE), + V4L2_MBUS_FROM_MEDIA_BUS_FMT(RGB444_2X8_PADHI_LE), + V4L2_MBUS_FROM_MEDIA_BUS_FMT(RGB555_2X8_PADHI_BE), + V4L2_MBUS_FROM_MEDIA_BUS_FMT(RGB555_2X8_PADHI_LE), + V4L2_MBUS_FROM_MEDIA_BUS_FMT(BGR565_2X8_BE), + V4L2_MBUS_FROM_MEDIA_BUS_FMT(BGR565_2X8_LE), + V4L2_MBUS_FROM_MEDIA_BUS_FMT(RGB565_2X8_BE), + V4L2_MBUS_FROM_MEDIA_BUS_FMT(RGB565_2X8_LE), + V4L2_MBUS_FROM_MEDIA_BUS_FMT(RGB666_1X18), + V4L2_MBUS_FROM_MEDIA_BUS_FMT(RGB888_1X24), + V4L2_MBUS_FROM_MEDIA_BUS_FMT(RGB888_2X12_BE), + V4L2_MBUS_FROM_MEDIA_BUS_FMT(RGB888_2X12_LE), + V4L2_MBUS_FROM_MEDIA_BUS_FMT(ARGB8888_1X32), + V4L2_MBUS_FROM_MEDIA_BUS_FMT(Y8_1X8), + V4L2_MBUS_FROM_MEDIA_BUS_FMT(UV8_1X8), + V4L2_MBUS_FROM_MEDIA_BUS_FMT(UYVY8_1_5X8), + V4L2_MBUS_FROM_MEDIA_BUS_FMT(VYUY8_1_5X8), + V4L2_MBUS_FROM_MEDIA_BUS_FMT(YUYV8_1_5X8), + V4L2_MBUS_FROM_MEDIA_BUS_FMT(YVYU8_1_5X8), + V4L2_MBUS_FROM_MEDIA_BUS_FMT(UYVY8_2X8), + V4L2_MBUS_FROM_MEDIA_BUS_FMT(VYUY8_2X8), + V4L2_MBUS_FROM_MEDIA_BUS_FMT(YUYV8_2X8), + V4L2_MBUS_FROM_MEDIA_BUS_FMT(YVYU8_2X8), + V4L2_MBUS_FROM_MEDIA_BUS_FMT(Y10_1X10), + V4L2_MBUS_FROM_MEDIA_BUS_FMT(UYVY10_2X10), + V4L2_MBUS_FROM_MEDIA_BUS_FMT(VYUY10_2X10), + V4L2_MBUS_FROM_MEDIA_BUS_FMT(YUYV10_2X10), + V4L2_MBUS_FROM_MEDIA_BUS_FMT(YVYU10_2X10), + V4L2_MBUS_FROM_MEDIA_BUS_FMT(Y12_1X12), + V4L2_MBUS_FROM_MEDIA_BUS_FMT(UYVY8_1X16), + V4L2_MBUS_FROM_MEDIA_BUS_FMT(VYUY8_1X16), + V4L2_MBUS_FROM_MEDIA_BUS_FMT(YUYV8_1X16), + V4L2_MBUS_FROM_MEDIA_BUS_FMT(YVYU8_1X16), + V4L2_MBUS_FROM_MEDIA_BUS_FMT(YDYUYDYV8_1X16), + V4L2_MBUS_FROM_MEDIA_BUS_FMT(UYVY10_1X20), + V4L2_MBUS_FROM_MEDIA_BUS_FMT(VYUY10_1X20), + V4L2_MBUS_FROM_MEDIA_BUS_FMT(YUYV10_1X20), + V4L2_MBUS_FROM_MEDIA_BUS_FMT(YVYU10_1X20), + V4L2_MBUS_FROM_MEDIA_BUS_FMT(YUV10_1X30), + V4L2_MBUS_FROM_MEDIA_BUS_FMT(AYUV8_1X32), + V4L2_MBUS_FROM_MEDIA_BUS_FMT(UYVY12_2X12), + V4L2_MBUS_FROM_MEDIA_BUS_FMT(VYUY12_2X12), + V4L2_MBUS_FROM_MEDIA_BUS_FMT(YUYV12_2X12), + V4L2_MBUS_FROM_MEDIA_BUS_FMT(YVYU12_2X12), + V4L2_MBUS_FROM_MEDIA_BUS_FMT(UYVY12_1X24), + V4L2_MBUS_FROM_MEDIA_BUS_FMT(VYUY12_1X24), + V4L2_MBUS_FROM_MEDIA_BUS_FMT(YUYV12_1X24), + V4L2_MBUS_FROM_MEDIA_BUS_FMT(YVYU12_1X24), + V4L2_MBUS_FROM_MEDIA_BUS_FMT(SBGGR8_1X8), + V4L2_MBUS_FROM_MEDIA_BUS_FMT(SGBRG8_1X8), + V4L2_MBUS_FROM_MEDIA_BUS_FMT(SGRBG8_1X8), + V4L2_MBUS_FROM_MEDIA_BUS_FMT(SRGGB8_1X8), + V4L2_MBUS_FROM_MEDIA_BUS_FMT(SBGGR10_ALAW8_1X8), + V4L2_MBUS_FROM_MEDIA_BUS_FMT(SGBRG10_ALAW8_1X8), + V4L2_MBUS_FROM_MEDIA_BUS_FMT(SGRBG10_ALAW8_1X8), + V4L2_MBUS_FROM_MEDIA_BUS_FMT(SRGGB10_ALAW8_1X8), + V4L2_MBUS_FROM_MEDIA_BUS_FMT(SBGGR10_DPCM8_1X8), + V4L2_MBUS_FROM_MEDIA_BUS_FMT(SGBRG10_DPCM8_1X8), + V4L2_MBUS_FROM_MEDIA_BUS_FMT(SGRBG10_DPCM8_1X8), + V4L2_MBUS_FROM_MEDIA_BUS_FMT(SRGGB10_DPCM8_1X8), + V4L2_MBUS_FROM_MEDIA_BUS_FMT(SBGGR10_2X8_PADHI_BE), + V4L2_MBUS_FROM_MEDIA_BUS_FMT(SBGGR10_2X8_PADHI_LE), + V4L2_MBUS_FROM_MEDIA_BUS_FMT(SBGGR10_2X8_PADLO_BE), + V4L2_MBUS_FROM_MEDIA_BUS_FMT(SBGGR10_2X8_PADLO_LE), + V4L2_MBUS_FROM_MEDIA_BUS_FMT(SBGGR10_1X10), + V4L2_MBUS_FROM_MEDIA_BUS_FMT(SGBRG10_1X10), + V4L2_MBUS_FROM_MEDIA_BUS_FMT(SGRBG10_1X10), + V4L2_MBUS_FROM_MEDIA_BUS_FMT(SRGGB10_1X10), + V4L2_MBUS_FROM_MEDIA_BUS_FMT(SBGGR12_1X12), + V4L2_MBUS_FROM_MEDIA_BUS_FMT(SGBRG12_1X12), + V4L2_MBUS_FROM_MEDIA_BUS_FMT(SGRBG12_1X12), + V4L2_MBUS_FROM_MEDIA_BUS_FMT(SRGGB12_1X12), + V4L2_MBUS_FROM_MEDIA_BUS_FMT(JPEG_1X8), + V4L2_MBUS_FROM_MEDIA_BUS_FMT(S5C_UYVY_JPEG_1X8), + V4L2_MBUS_FROM_MEDIA_BUS_FMT(AHSV8888_1X32), +}; +#endif +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/v4l2-subdev.h b/linux-5.10/prebuilts/usr/include/linux/v4l2-subdev.h new file mode 100644 index 0000000..c3ffbcc --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/v4l2-subdev.h @@ -0,0 +1,105 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef __LINUX_V4L2_SUBDEV_H +#define __LINUX_V4L2_SUBDEV_H +#include +#include +#include +#include +enum v4l2_subdev_format_whence { + V4L2_SUBDEV_FORMAT_TRY = 0, + V4L2_SUBDEV_FORMAT_ACTIVE = 1, +}; +struct v4l2_subdev_format { + __u32 which; + __u32 pad; + struct v4l2_mbus_framefmt format; + __u32 reserved[8]; +}; +struct v4l2_subdev_crop { + __u32 which; + __u32 pad; + struct v4l2_rect rect; + __u32 reserved[8]; +}; +#define V4L2_SUBDEV_MBUS_CODE_CSC_COLORSPACE 0x00000001 +#define V4L2_SUBDEV_MBUS_CODE_CSC_XFER_FUNC 0x00000002 +#define V4L2_SUBDEV_MBUS_CODE_CSC_YCBCR_ENC 0x00000004 +#define V4L2_SUBDEV_MBUS_CODE_CSC_HSV_ENC V4L2_SUBDEV_MBUS_CODE_CSC_YCBCR_ENC +#define V4L2_SUBDEV_MBUS_CODE_CSC_QUANTIZATION 0x00000008 +struct v4l2_subdev_mbus_code_enum { + __u32 pad; + __u32 index; + __u32 code; + __u32 which; + __u32 flags; + __u32 reserved[7]; +}; +struct v4l2_subdev_frame_size_enum { + __u32 index; + __u32 pad; + __u32 code; + __u32 min_width; + __u32 max_width; + __u32 min_height; + __u32 max_height; + __u32 which; + __u32 reserved[8]; +}; +struct v4l2_subdev_frame_interval { + __u32 pad; + struct v4l2_fract interval; + __u32 reserved[9]; +}; +struct v4l2_subdev_frame_interval_enum { + __u32 index; + __u32 pad; + __u32 code; + __u32 width; + __u32 height; + struct v4l2_fract interval; + __u32 which; + __u32 reserved[8]; +}; +struct v4l2_subdev_selection { + __u32 which; + __u32 pad; + __u32 target; + __u32 flags; + struct v4l2_rect r; + __u32 reserved[8]; +}; +struct v4l2_subdev_capability { + __u32 version; + __u32 capabilities; + __u32 reserved[14]; +}; +#define V4L2_SUBDEV_CAP_RO_SUBDEV 0x00000001 +#define v4l2_subdev_edid v4l2_edid +#define VIDIOC_SUBDEV_QUERYCAP _IOR('V', 0, struct v4l2_subdev_capability) +#define VIDIOC_SUBDEV_G_FMT _IOWR('V', 4, struct v4l2_subdev_format) +#define VIDIOC_SUBDEV_S_FMT _IOWR('V', 5, struct v4l2_subdev_format) +#define VIDIOC_SUBDEV_G_FRAME_INTERVAL _IOWR('V', 21, struct v4l2_subdev_frame_interval) +#define VIDIOC_SUBDEV_S_FRAME_INTERVAL _IOWR('V', 22, struct v4l2_subdev_frame_interval) +#define VIDIOC_SUBDEV_ENUM_MBUS_CODE _IOWR('V', 2, struct v4l2_subdev_mbus_code_enum) +#define VIDIOC_SUBDEV_ENUM_FRAME_SIZE _IOWR('V', 74, struct v4l2_subdev_frame_size_enum) +#define VIDIOC_SUBDEV_ENUM_FRAME_INTERVAL _IOWR('V', 75, struct v4l2_subdev_frame_interval_enum) +#define VIDIOC_SUBDEV_G_CROP _IOWR('V', 59, struct v4l2_subdev_crop) +#define VIDIOC_SUBDEV_S_CROP _IOWR('V', 60, struct v4l2_subdev_crop) +#define VIDIOC_SUBDEV_G_SELECTION _IOWR('V', 61, struct v4l2_subdev_selection) +#define VIDIOC_SUBDEV_S_SELECTION _IOWR('V', 62, struct v4l2_subdev_selection) +#define VIDIOC_SUBDEV_G_STD _IOR('V', 23, v4l2_std_id) +#define VIDIOC_SUBDEV_S_STD _IOW('V', 24, v4l2_std_id) +#define VIDIOC_SUBDEV_ENUMSTD _IOWR('V', 25, struct v4l2_standard) +#define VIDIOC_SUBDEV_G_EDID _IOWR('V', 40, struct v4l2_edid) +#define VIDIOC_SUBDEV_S_EDID _IOWR('V', 41, struct v4l2_edid) +#define VIDIOC_SUBDEV_QUERYSTD _IOR('V', 63, v4l2_std_id) +#define VIDIOC_SUBDEV_S_DV_TIMINGS _IOWR('V', 87, struct v4l2_dv_timings) +#define VIDIOC_SUBDEV_G_DV_TIMINGS _IOWR('V', 88, struct v4l2_dv_timings) +#define VIDIOC_SUBDEV_ENUM_DV_TIMINGS _IOWR('V', 98, struct v4l2_enum_dv_timings) +#define VIDIOC_SUBDEV_QUERY_DV_TIMINGS _IOR('V', 99, struct v4l2_dv_timings) +#define VIDIOC_SUBDEV_DV_TIMINGS_CAP _IOWR('V', 100, struct v4l2_dv_timings_cap) +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/vbox_err.h b/linux-5.10/prebuilts/usr/include/linux/vbox_err.h new file mode 100644 index 0000000..7abf7d4 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/vbox_err.h @@ -0,0 +1,144 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef __UAPI_VBOX_ERR_H__ +#define __UAPI_VBOX_ERR_H__ +#define VINF_SUCCESS 0 +#define VERR_GENERAL_FAILURE (-1) +#define VERR_INVALID_PARAMETER (-2) +#define VERR_INVALID_MAGIC (-3) +#define VERR_INVALID_HANDLE (-4) +#define VERR_LOCK_FAILED (-5) +#define VERR_INVALID_POINTER (-6) +#define VERR_IDT_FAILED (-7) +#define VERR_NO_MEMORY (-8) +#define VERR_ALREADY_LOADED (-9) +#define VERR_PERMISSION_DENIED (-10) +#define VERR_VERSION_MISMATCH (-11) +#define VERR_NOT_IMPLEMENTED (-12) +#define VERR_INVALID_FLAGS (-13) +#define VERR_NOT_EQUAL (-18) +#define VERR_NOT_SYMLINK (-19) +#define VERR_NO_TMP_MEMORY (-20) +#define VERR_INVALID_FMODE (-21) +#define VERR_WRONG_ORDER (-22) +#define VERR_NO_TLS_FOR_SELF (-23) +#define VERR_FAILED_TO_SET_SELF_TLS (-24) +#define VERR_NO_CONT_MEMORY (-26) +#define VERR_NO_PAGE_MEMORY (-27) +#define VERR_THREAD_IS_DEAD (-29) +#define VERR_THREAD_NOT_WAITABLE (-30) +#define VERR_PAGE_TABLE_NOT_PRESENT (-31) +#define VERR_INVALID_CONTEXT (-32) +#define VERR_TIMER_BUSY (-33) +#define VERR_ADDRESS_CONFLICT (-34) +#define VERR_UNRESOLVED_ERROR (-35) +#define VERR_INVALID_FUNCTION (-36) +#define VERR_NOT_SUPPORTED (-37) +#define VERR_ACCESS_DENIED (-38) +#define VERR_INTERRUPTED (-39) +#define VERR_TIMEOUT (-40) +#define VERR_BUFFER_OVERFLOW (-41) +#define VERR_TOO_MUCH_DATA (-42) +#define VERR_MAX_THRDS_REACHED (-43) +#define VERR_MAX_PROCS_REACHED (-44) +#define VERR_SIGNAL_REFUSED (-45) +#define VERR_SIGNAL_PENDING (-46) +#define VERR_SIGNAL_INVALID (-47) +#define VERR_STATE_CHANGED (-48) +#define VERR_INVALID_UUID_FORMAT (-49) +#define VERR_PROCESS_NOT_FOUND (-50) +#define VERR_PROCESS_RUNNING (-51) +#define VERR_TRY_AGAIN (-52) +#define VERR_PARSE_ERROR (-53) +#define VERR_OUT_OF_RANGE (-54) +#define VERR_NUMBER_TOO_BIG (-55) +#define VERR_NO_DIGITS (-56) +#define VERR_NEGATIVE_UNSIGNED (-57) +#define VERR_NO_TRANSLATION (-58) +#define VERR_NOT_FOUND (-78) +#define VERR_INVALID_STATE (-79) +#define VERR_OUT_OF_RESOURCES (-80) +#define VERR_FILE_NOT_FOUND (-102) +#define VERR_PATH_NOT_FOUND (-103) +#define VERR_INVALID_NAME (-104) +#define VERR_ALREADY_EXISTS (-105) +#define VERR_TOO_MANY_OPEN_FILES (-106) +#define VERR_SEEK (-107) +#define VERR_NEGATIVE_SEEK (-108) +#define VERR_SEEK_ON_DEVICE (-109) +#define VERR_EOF (-110) +#define VERR_READ_ERROR (-111) +#define VERR_WRITE_ERROR (-112) +#define VERR_WRITE_PROTECT (-113) +#define VERR_SHARING_VIOLATION (-114) +#define VERR_FILE_LOCK_FAILED (-115) +#define VERR_FILE_LOCK_VIOLATION (-116) +#define VERR_CANT_CREATE (-117) +#define VERR_CANT_DELETE_DIRECTORY (-118) +#define VERR_NOT_SAME_DEVICE (-119) +#define VERR_FILENAME_TOO_LONG (-120) +#define VERR_MEDIA_NOT_PRESENT (-121) +#define VERR_MEDIA_NOT_RECOGNIZED (-122) +#define VERR_FILE_NOT_LOCKED (-123) +#define VERR_FILE_LOCK_LOST (-124) +#define VERR_DIR_NOT_EMPTY (-125) +#define VERR_NOT_A_DIRECTORY (-126) +#define VERR_IS_A_DIRECTORY (-127) +#define VERR_FILE_TOO_BIG (-128) +#define VERR_NET_IO_ERROR (-400) +#define VERR_NET_OUT_OF_RESOURCES (-401) +#define VERR_NET_HOST_NOT_FOUND (-402) +#define VERR_NET_PATH_NOT_FOUND (-403) +#define VERR_NET_PRINT_ERROR (-404) +#define VERR_NET_NO_NETWORK (-405) +#define VERR_NET_NOT_UNIQUE_NAME (-406) +#define VERR_NET_IN_PROGRESS (-436) +#define VERR_NET_ALREADY_IN_PROGRESS (-437) +#define VERR_NET_NOT_SOCKET (-438) +#define VERR_NET_DEST_ADDRESS_REQUIRED (-439) +#define VERR_NET_MSG_SIZE (-440) +#define VERR_NET_PROTOCOL_TYPE (-441) +#define VERR_NET_PROTOCOL_NOT_AVAILABLE (-442) +#define VERR_NET_PROTOCOL_NOT_SUPPORTED (-443) +#define VERR_NET_SOCKET_TYPE_NOT_SUPPORTED (-444) +#define VERR_NET_OPERATION_NOT_SUPPORTED (-445) +#define VERR_NET_PROTOCOL_FAMILY_NOT_SUPPORTED (-446) +#define VERR_NET_ADDRESS_FAMILY_NOT_SUPPORTED (-447) +#define VERR_NET_ADDRESS_IN_USE (-448) +#define VERR_NET_ADDRESS_NOT_AVAILABLE (-449) +#define VERR_NET_DOWN (-450) +#define VERR_NET_UNREACHABLE (-451) +#define VERR_NET_CONNECTION_RESET (-452) +#define VERR_NET_CONNECTION_ABORTED (-453) +#define VERR_NET_CONNECTION_RESET_BY_PEER (-454) +#define VERR_NET_NO_BUFFER_SPACE (-455) +#define VERR_NET_ALREADY_CONNECTED (-456) +#define VERR_NET_NOT_CONNECTED (-457) +#define VERR_NET_SHUTDOWN (-458) +#define VERR_NET_TOO_MANY_REFERENCES (-459) +#define VERR_NET_CONNECTION_TIMED_OUT (-460) +#define VERR_NET_CONNECTION_REFUSED (-461) +#define VERR_NET_HOST_DOWN (-464) +#define VERR_NET_HOST_UNREACHABLE (-465) +#define VERR_NET_PROTOCOL_ERROR (-466) +#define VERR_NET_INCOMPLETE_TX_PACKET (-467) +#define VERR_RESOURCE_BUSY (-138) +#define VERR_DISK_FULL (-152) +#define VERR_TOO_MANY_SYMLINKS (-156) +#define VERR_NO_MORE_FILES (-201) +#define VERR_INTERNAL_ERROR (-225) +#define VERR_INTERNAL_ERROR_2 (-226) +#define VERR_INTERNAL_ERROR_3 (-227) +#define VERR_INTERNAL_ERROR_4 (-228) +#define VERR_DEV_IO_ERROR (-250) +#define VERR_IO_BAD_LENGTH (-255) +#define VERR_BROKEN_PIPE (-301) +#define VERR_NO_DATA (-304) +#define VERR_SEM_DESTROYED (-363) +#define VERR_DEADLOCK (-365) +#define VERR_BAD_EXE_FORMAT (-608) +#define VINF_HGCM_ASYNC_EXECUTE (2903) +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/vbox_vmmdev_types.h b/linux-5.10/prebuilts/usr/include/linux/vbox_vmmdev_types.h new file mode 100644 index 0000000..fa15ec8 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/vbox_vmmdev_types.h @@ -0,0 +1,206 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef __UAPI_VBOX_VMMDEV_TYPES_H__ +#define __UAPI_VBOX_VMMDEV_TYPES_H__ +#include +#include +#define VMMDEV_ASSERT_SIZE(type, size) \ + typedef char type ## _asrt_size[1 - 2*!!(sizeof(struct type) != (size))] +enum vmmdev_request_type { + VMMDEVREQ_INVALID_REQUEST = 0, + VMMDEVREQ_GET_MOUSE_STATUS = 1, + VMMDEVREQ_SET_MOUSE_STATUS = 2, + VMMDEVREQ_SET_POINTER_SHAPE = 3, + VMMDEVREQ_GET_HOST_VERSION = 4, + VMMDEVREQ_IDLE = 5, + VMMDEVREQ_GET_HOST_TIME = 10, + VMMDEVREQ_GET_HYPERVISOR_INFO = 20, + VMMDEVREQ_SET_HYPERVISOR_INFO = 21, + VMMDEVREQ_REGISTER_PATCH_MEMORY = 22, + VMMDEVREQ_DEREGISTER_PATCH_MEMORY = 23, + VMMDEVREQ_SET_POWER_STATUS = 30, + VMMDEVREQ_ACKNOWLEDGE_EVENTS = 41, + VMMDEVREQ_CTL_GUEST_FILTER_MASK = 42, + VMMDEVREQ_REPORT_GUEST_INFO = 50, + VMMDEVREQ_REPORT_GUEST_INFO2 = 58, + VMMDEVREQ_REPORT_GUEST_STATUS = 59, + VMMDEVREQ_REPORT_GUEST_USER_STATE = 74, + + VMMDEVREQ_GET_DISPLAY_CHANGE_REQ = 51, + VMMDEVREQ_VIDEMODE_SUPPORTED = 52, + VMMDEVREQ_GET_HEIGHT_REDUCTION = 53, + + VMMDEVREQ_GET_DISPLAY_CHANGE_REQ2 = 54, + VMMDEVREQ_REPORT_GUEST_CAPABILITIES = 55, + VMMDEVREQ_SET_GUEST_CAPABILITIES = 56, + VMMDEVREQ_VIDEMODE_SUPPORTED2 = 57, + VMMDEVREQ_GET_DISPLAY_CHANGE_REQEX = 80, + VMMDEVREQ_GET_DISPLAY_CHANGE_REQ_MULTI = 81, + VMMDEVREQ_HGCM_CONNECT = 60, + VMMDEVREQ_HGCM_DISCONNECT = 61, + VMMDEVREQ_HGCM_CALL32 = 62, + VMMDEVREQ_HGCM_CALL64 = 63, + VMMDEVREQ_HGCM_CANCEL = 64, + VMMDEVREQ_HGCM_CANCEL2 = 65, + VMMDEVREQ_VIDEO_ACCEL_ENABLE = 70, + VMMDEVREQ_VIDEO_ACCEL_FLUSH = 71, + VMMDEVREQ_VIDEO_SET_VISIBLE_REGION = 72, + VMMDEVREQ_GET_SEAMLESS_CHANGE_REQ = 73, + VMMDEVREQ_QUERY_CREDENTIALS = 100, + VMMDEVREQ_REPORT_CREDENTIALS_JUDGEMENT = 101, + VMMDEVREQ_REPORT_GUEST_STATS = 110, + VMMDEVREQ_GET_MEMBALLOON_CHANGE_REQ = 111, + VMMDEVREQ_GET_STATISTICS_CHANGE_REQ = 112, + VMMDEVREQ_CHANGE_MEMBALLOON = 113, + VMMDEVREQ_GET_VRDPCHANGE_REQ = 150, + VMMDEVREQ_LOG_STRING = 200, + VMMDEVREQ_GET_CPU_HOTPLUG_REQ = 210, + VMMDEVREQ_SET_CPU_HOTPLUG_STATUS = 211, + VMMDEVREQ_REGISTER_SHARED_MODULE = 212, + VMMDEVREQ_UNREGISTER_SHARED_MODULE = 213, + VMMDEVREQ_CHECK_SHARED_MODULES = 214, + VMMDEVREQ_GET_PAGE_SHARING_STATUS = 215, + VMMDEVREQ_DEBUG_IS_PAGE_SHARED = 216, + VMMDEVREQ_GET_SESSION_ID = 217, + VMMDEVREQ_WRITE_COREDUMP = 218, + VMMDEVREQ_GUEST_HEARTBEAT = 219, + VMMDEVREQ_HEARTBEAT_CONFIGURE = 220, + VMMDEVREQ_NT_BUG_CHECK = 221, + VMMDEVREQ_VIDEO_UPDATE_MONITOR_POSITIONS = 222, + + VMMDEVREQ_SIZEHACK = 0x7fffffff +}; +#if __BITS_PER_LONG == 64 +#define VMMDEVREQ_HGCM_CALL VMMDEVREQ_HGCM_CALL64 +#else +#define VMMDEVREQ_HGCM_CALL VMMDEVREQ_HGCM_CALL32 +#endif +#define VMMDEV_REQUESTOR_USR_NOT_GIVEN 0x00000000 +#define VMMDEV_REQUESTOR_USR_DRV 0x00000001 +#define VMMDEV_REQUESTOR_USR_DRV_OTHER 0x00000002 +#define VMMDEV_REQUESTOR_USR_ROOT 0x00000003 +#define VMMDEV_REQUESTOR_USR_USER 0x00000006 +#define VMMDEV_REQUESTOR_USR_MASK 0x00000007 +#define VMMDEV_REQUESTOR_KERNEL 0x00000000 +#define VMMDEV_REQUESTOR_USERMODE 0x00000008 +#define VMMDEV_REQUESTOR_MODE_MASK 0x00000008 +#define VMMDEV_REQUESTOR_CON_DONT_KNOW 0x00000000 +#define VMMDEV_REQUESTOR_CON_NO 0x00000010 +#define VMMDEV_REQUESTOR_CON_YES 0x00000020 +#define VMMDEV_REQUESTOR_CON_MASK 0x00000030 +#define VMMDEV_REQUESTOR_GRP_VBOX 0x00000080 +#define VMMDEV_REQUESTOR_TRUST_NOT_GIVEN 0x00000000 +#define VMMDEV_REQUESTOR_TRUST_UNTRUSTED 0x00001000 +#define VMMDEV_REQUESTOR_TRUST_LOW 0x00002000 +#define VMMDEV_REQUESTOR_TRUST_MEDIUM 0x00003000 +#define VMMDEV_REQUESTOR_TRUST_MEDIUM_PLUS 0x00004000 +#define VMMDEV_REQUESTOR_TRUST_HIGH 0x00005000 +#define VMMDEV_REQUESTOR_TRUST_SYSTEM 0x00006000 +#define VMMDEV_REQUESTOR_TRUST_PROTECTED 0x00007000 +#define VMMDEV_REQUESTOR_TRUST_MASK 0x00007000 +#define VMMDEV_REQUESTOR_USER_DEVICE 0x00008000 +enum vmmdev_hgcm_service_location_type { + VMMDEV_HGCM_LOC_INVALID = 0, + VMMDEV_HGCM_LOC_LOCALHOST = 1, + VMMDEV_HGCM_LOC_LOCALHOST_EXISTING = 2, + + VMMDEV_HGCM_LOC_SIZEHACK = 0x7fffffff +}; +struct vmmdev_hgcm_service_location_localhost { + + char service_name[128]; +}; +VMMDEV_ASSERT_SIZE(vmmdev_hgcm_service_location_localhost, 128); +struct vmmdev_hgcm_service_location { + + enum vmmdev_hgcm_service_location_type type; + union { + struct vmmdev_hgcm_service_location_localhost localhost; + } u; +}; +VMMDEV_ASSERT_SIZE(vmmdev_hgcm_service_location, 128 + 4); +enum vmmdev_hgcm_function_parameter_type { + VMMDEV_HGCM_PARM_TYPE_INVALID = 0, + VMMDEV_HGCM_PARM_TYPE_32BIT = 1, + VMMDEV_HGCM_PARM_TYPE_64BIT = 2, + + VMMDEV_HGCM_PARM_TYPE_PHYSADDR = 3, + + VMMDEV_HGCM_PARM_TYPE_LINADDR = 4, + + VMMDEV_HGCM_PARM_TYPE_LINADDR_IN = 5, + + VMMDEV_HGCM_PARM_TYPE_LINADDR_OUT = 6, + + VMMDEV_HGCM_PARM_TYPE_LINADDR_KERNEL = 7, + + VMMDEV_HGCM_PARM_TYPE_LINADDR_KERNEL_IN = 8, + + VMMDEV_HGCM_PARM_TYPE_LINADDR_KERNEL_OUT = 9, + + VMMDEV_HGCM_PARM_TYPE_PAGELIST = 10, + + VMMDEV_HGCM_PARM_TYPE_SIZEHACK = 0x7fffffff +}; +struct vmmdev_hgcm_function_parameter32 { + enum vmmdev_hgcm_function_parameter_type type; + union { + __u32 value32; + __u64 value64; + struct { + __u32 size; + union { + __u32 phys_addr; + __u32 linear_addr; + } u; + } pointer; + struct { + + __u32 size; + + __u32 offset; + } page_list; + } u; +} __packed; +VMMDEV_ASSERT_SIZE(vmmdev_hgcm_function_parameter32, 4 + 8); +struct vmmdev_hgcm_function_parameter64 { + enum vmmdev_hgcm_function_parameter_type type; + union { + __u32 value32; + __u64 value64; + struct { + __u32 size; + union { + __u64 phys_addr; + __u64 linear_addr; + } u; + } __packed pointer; + struct { + + __u32 size; + + __u32 offset; + } page_list; + } __packed u; +} __packed; +VMMDEV_ASSERT_SIZE(vmmdev_hgcm_function_parameter64, 4 + 12); +#if __BITS_PER_LONG == 64 +#define vmmdev_hgcm_function_parameter vmmdev_hgcm_function_parameter64 +#else +#define vmmdev_hgcm_function_parameter vmmdev_hgcm_function_parameter32 +#endif +#define VMMDEV_HGCM_F_PARM_DIRECTION_NONE 0x00000000U +#define VMMDEV_HGCM_F_PARM_DIRECTION_TO_HOST 0x00000001U +#define VMMDEV_HGCM_F_PARM_DIRECTION_FROM_HOST 0x00000002U +#define VMMDEV_HGCM_F_PARM_DIRECTION_BOTH 0x00000003U +struct vmmdev_hgcm_pagelist { + __u32 flags; + __u16 offset_first_page; + __u16 page_count; + __u64 pages[1]; +}; +VMMDEV_ASSERT_SIZE(vmmdev_hgcm_pagelist, 4 + 2 + 2 + 8); +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/vboxguest.h b/linux-5.10/prebuilts/usr/include/linux/vboxguest.h new file mode 100644 index 0000000..0ff76de --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/vboxguest.h @@ -0,0 +1,228 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef __UAPI_VBOXGUEST_H__ +#define __UAPI_VBOXGUEST_H__ +#include +#include +#include +#include +#define VBG_IOCTL_HDR_VERSION 0x10001 +#define VBG_IOCTL_HDR_TYPE_DEFAULT 0 +struct vbg_ioctl_hdr { + + __u32 size_in; + + __u32 version; + + __u32 type; + + __s32 rc; + + __u32 size_out; + + __u32 reserved; +}; +VMMDEV_ASSERT_SIZE(vbg_ioctl_hdr, 24); +#define VBG_IOC_VERSION 0x00010000u +struct vbg_ioctl_driver_version_info { + + struct vbg_ioctl_hdr hdr; + union { + struct { + + __u32 req_version; + + __u32 min_version; + + __u32 reserved1; + + __u32 reserved2; + } in; + struct { + + __u32 session_version; + + __u32 driver_version; + + __u32 driver_revision; + + __u32 reserved1; + + __u32 reserved2; + } out; + } u; +}; +VMMDEV_ASSERT_SIZE(vbg_ioctl_driver_version_info, 24 + 20); +#define VBG_IOCTL_DRIVER_VERSION_INFO \ + _IOWR('V', 0, struct vbg_ioctl_driver_version_info) +#define VBG_IOCTL_VMMDEV_REQUEST(s) _IOC(_IOC_READ | _IOC_WRITE, 'V', 2, s) +#define VBG_IOCTL_VMMDEV_REQUEST_BIG _IO('V', 3) +struct vbg_ioctl_hgcm_connect { + struct vbg_ioctl_hdr hdr; + union { + struct { + struct vmmdev_hgcm_service_location loc; + } in; + struct { + __u32 client_id; + } out; + } u; +}; +VMMDEV_ASSERT_SIZE(vbg_ioctl_hgcm_connect, 24 + 132); +#define VBG_IOCTL_HGCM_CONNECT \ + _IOWR('V', 4, struct vbg_ioctl_hgcm_connect) +struct vbg_ioctl_hgcm_disconnect { + struct vbg_ioctl_hdr hdr; + union { + struct { + __u32 client_id; + } in; + } u; +}; +VMMDEV_ASSERT_SIZE(vbg_ioctl_hgcm_disconnect, 24 + 4); +#define VBG_IOCTL_HGCM_DISCONNECT \ + _IOWR('V', 5, struct vbg_ioctl_hgcm_disconnect) +struct vbg_ioctl_hgcm_call { + + struct vbg_ioctl_hdr hdr; + + __u32 client_id; + + __u32 function; + + __u32 timeout_ms; + + __u8 interruptible; + + __u8 reserved; + + __u16 parm_count; + +}; +VMMDEV_ASSERT_SIZE(vbg_ioctl_hgcm_call, 24 + 16); +#define VBG_IOCTL_HGCM_CALL_32(s) _IOC(_IOC_READ | _IOC_WRITE, 'V', 6, s) +#define VBG_IOCTL_HGCM_CALL_64(s) _IOC(_IOC_READ | _IOC_WRITE, 'V', 7, s) +#if __BITS_PER_LONG == 64 +#define VBG_IOCTL_HGCM_CALL(s) VBG_IOCTL_HGCM_CALL_64(s) +#else +#define VBG_IOCTL_HGCM_CALL(s) VBG_IOCTL_HGCM_CALL_32(s) +#endif +struct vbg_ioctl_log { + + struct vbg_ioctl_hdr hdr; + union { + struct { + + char msg[1]; + } in; + } u; +}; +#define VBG_IOCTL_LOG(s) _IO('V', 9) +struct vbg_ioctl_wait_for_events { + + struct vbg_ioctl_hdr hdr; + union { + struct { + + __u32 timeout_ms; + + __u32 events; + } in; + struct { + + __u32 events; + } out; + } u; +}; +VMMDEV_ASSERT_SIZE(vbg_ioctl_wait_for_events, 24 + 8); +#define VBG_IOCTL_WAIT_FOR_EVENTS \ + _IOWR('V', 10, struct vbg_ioctl_wait_for_events) +#define VBG_IOCTL_INTERRUPT_ALL_WAIT_FOR_EVENTS \ + _IOWR('V', 11, struct vbg_ioctl_hdr) +struct vbg_ioctl_change_filter { + + struct vbg_ioctl_hdr hdr; + union { + struct { + + __u32 or_mask; + + __u32 not_mask; + } in; + } u; +}; +VMMDEV_ASSERT_SIZE(vbg_ioctl_change_filter, 24 + 8); +#define VBG_IOCTL_CHANGE_FILTER_MASK \ + _IOWR('V', 12, struct vbg_ioctl_change_filter) +struct vbg_ioctl_acquire_guest_caps { + + struct vbg_ioctl_hdr hdr; + union { + struct { + + __u32 flags; + + __u32 or_mask; + + __u32 not_mask; + } in; + } u; +}; +VMMDEV_ASSERT_SIZE(vbg_ioctl_acquire_guest_caps, 24 + 12); +#define VBGL_IOC_AGC_FLAGS_CONFIG_ACQUIRE_MODE 0x00000001 +#define VBGL_IOC_AGC_FLAGS_VALID_MASK 0x00000001 +#define VBG_IOCTL_ACQUIRE_GUEST_CAPABILITIES \ + _IOWR('V', 13, struct vbg_ioctl_acquire_guest_caps) +struct vbg_ioctl_set_guest_caps { + + struct vbg_ioctl_hdr hdr; + union { + struct { + + __u32 or_mask; + + __u32 not_mask; + } in; + struct { + + __u32 session_caps; + + __u32 global_caps; + } out; + } u; +}; +VMMDEV_ASSERT_SIZE(vbg_ioctl_set_guest_caps, 24 + 8); +#define VBG_IOCTL_CHANGE_GUEST_CAPABILITIES \ + _IOWR('V', 14, struct vbg_ioctl_set_guest_caps) +struct vbg_ioctl_check_balloon { + + struct vbg_ioctl_hdr hdr; + union { + struct { + + __u32 balloon_chunks; + + __u8 handle_in_r3; + + __u8 padding[3]; + } out; + } u; +}; +VMMDEV_ASSERT_SIZE(vbg_ioctl_check_balloon, 24 + 8); +#define VBG_IOCTL_CHECK_BALLOON \ + _IOWR('V', 17, struct vbg_ioctl_check_balloon) +struct vbg_ioctl_write_coredump { + struct vbg_ioctl_hdr hdr; + union { + struct { + __u32 flags; + } in; + } u; +}; +VMMDEV_ASSERT_SIZE(vbg_ioctl_write_coredump, 24 + 4); +#define VBG_IOCTL_WRITE_CORE_DUMP \ + _IOWR('V', 19, struct vbg_ioctl_write_coredump) +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/version.h b/linux-5.10/prebuilts/usr/include/linux/version.h new file mode 100644 index 0000000..a276d60 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/version.h @@ -0,0 +1,7 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#define LINUX_VERSION_CODE 330297 +#define KERNEL_VERSION(a,b,c) (((a) << 16) + ((b) << 8) + ((c) > 255 ? 255 : (c))) diff --git a/linux-5.10/prebuilts/usr/include/linux/veth.h b/linux-5.10/prebuilts/usr/include/linux/veth.h new file mode 100644 index 0000000..9e69a87 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/veth.h @@ -0,0 +1,14 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef __NET_VETH_H_ +#define __NET_VETH_H_ +enum { + VETH_INFO_UNSPEC, + VETH_INFO_PEER, + __VETH_INFO_MAX +#define VETH_INFO_MAX (__VETH_INFO_MAX - 1) +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/vfio.h b/linux-5.10/prebuilts/usr/include/linux/vfio.h new file mode 100644 index 0000000..e0d9317 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/vfio.h @@ -0,0 +1,432 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPIVFIO_H +#define _UAPIVFIO_H +#include +#include +#define VFIO_API_VERSION 0 +#define VFIO_TYPE1_IOMMU 1 +#define VFIO_SPAPR_TCE_IOMMU 2 +#define VFIO_TYPE1v2_IOMMU 3 +#define VFIO_DMA_CC_IOMMU 4 +#define VFIO_EEH 5 +#define VFIO_TYPE1_NESTING_IOMMU 6 +#define VFIO_SPAPR_TCE_v2_IOMMU 7 +#define VFIO_NOIOMMU_IOMMU 8 +#define VFIO_TYPE (';') +#define VFIO_BASE 100 +struct vfio_info_cap_header { + __u16 id; + __u16 version; + __u32 next; +}; +#define VFIO_GET_API_VERSION _IO(VFIO_TYPE, VFIO_BASE + 0) +#define VFIO_CHECK_EXTENSION _IO(VFIO_TYPE, VFIO_BASE + 1) +#define VFIO_SET_IOMMU _IO(VFIO_TYPE, VFIO_BASE + 2) +struct vfio_group_status { + __u32 argsz; + __u32 flags; +#define VFIO_GROUP_FLAGS_VIABLE (1 << 0) +#define VFIO_GROUP_FLAGS_CONTAINER_SET (1 << 1) +}; +#define VFIO_GROUP_GET_STATUS _IO(VFIO_TYPE, VFIO_BASE + 3) +#define VFIO_GROUP_SET_CONTAINER _IO(VFIO_TYPE, VFIO_BASE + 4) +#define VFIO_GROUP_UNSET_CONTAINER _IO(VFIO_TYPE, VFIO_BASE + 5) +#define VFIO_GROUP_GET_DEVICE_FD _IO(VFIO_TYPE, VFIO_BASE + 6) +struct vfio_device_info { + __u32 argsz; + __u32 flags; +#define VFIO_DEVICE_FLAGS_RESET (1 << 0) +#define VFIO_DEVICE_FLAGS_PCI (1 << 1) +#define VFIO_DEVICE_FLAGS_PLATFORM (1 << 2) +#define VFIO_DEVICE_FLAGS_AMBA (1 << 3) +#define VFIO_DEVICE_FLAGS_CCW (1 << 4) +#define VFIO_DEVICE_FLAGS_AP (1 << 5) +#define VFIO_DEVICE_FLAGS_FSL_MC (1 << 6) +#define VFIO_DEVICE_FLAGS_CAPS (1 << 7) + __u32 num_regions; + __u32 num_irqs; + __u32 cap_offset; +}; +#define VFIO_DEVICE_GET_INFO _IO(VFIO_TYPE, VFIO_BASE + 7) +#define VFIO_DEVICE_API_PCI_STRING "vfio-pci" +#define VFIO_DEVICE_API_PLATFORM_STRING "vfio-platform" +#define VFIO_DEVICE_API_AMBA_STRING "vfio-amba" +#define VFIO_DEVICE_API_CCW_STRING "vfio-ccw" +#define VFIO_DEVICE_API_AP_STRING "vfio-ap" +#define VFIO_DEVICE_INFO_CAP_ZPCI_BASE 1 +#define VFIO_DEVICE_INFO_CAP_ZPCI_GROUP 2 +#define VFIO_DEVICE_INFO_CAP_ZPCI_UTIL 3 +#define VFIO_DEVICE_INFO_CAP_ZPCI_PFIP 4 +struct vfio_region_info { + __u32 argsz; + __u32 flags; +#define VFIO_REGION_INFO_FLAG_READ (1 << 0) +#define VFIO_REGION_INFO_FLAG_WRITE (1 << 1) +#define VFIO_REGION_INFO_FLAG_MMAP (1 << 2) +#define VFIO_REGION_INFO_FLAG_CAPS (1 << 3) + __u32 index; + __u32 cap_offset; + __u64 size; + __u64 offset; +}; +#define VFIO_DEVICE_GET_REGION_INFO _IO(VFIO_TYPE, VFIO_BASE + 8) +#define VFIO_REGION_INFO_CAP_SPARSE_MMAP 1 +struct vfio_region_sparse_mmap_area { + __u64 offset; + __u64 size; +}; +struct vfio_region_info_cap_sparse_mmap { + struct vfio_info_cap_header header; + __u32 nr_areas; + __u32 reserved; + struct vfio_region_sparse_mmap_area areas[]; +}; +#define VFIO_REGION_INFO_CAP_TYPE 2 +struct vfio_region_info_cap_type { + struct vfio_info_cap_header header; + __u32 type; + __u32 subtype; +}; +#define VFIO_REGION_TYPE_PCI_VENDOR_TYPE (1 << 31) +#define VFIO_REGION_TYPE_PCI_VENDOR_MASK (0xffff) +#define VFIO_REGION_TYPE_GFX (1) +#define VFIO_REGION_TYPE_CCW (2) +#define VFIO_REGION_TYPE_MIGRATION (3) +#define VFIO_REGION_SUBTYPE_INTEL_IGD_OPREGION (1) +#define VFIO_REGION_SUBTYPE_INTEL_IGD_HOST_CFG (2) +#define VFIO_REGION_SUBTYPE_INTEL_IGD_LPC_CFG (3) +#define VFIO_REGION_SUBTYPE_NVIDIA_NVLINK2_RAM (1) +#define VFIO_REGION_SUBTYPE_IBM_NVLINK2_ATSD (1) +#define VFIO_REGION_SUBTYPE_GFX_EDID (1) +struct vfio_region_gfx_edid { + __u32 edid_offset; + __u32 edid_max_size; + __u32 edid_size; + __u32 max_xres; + __u32 max_yres; + __u32 link_state; +#define VFIO_DEVICE_GFX_LINK_STATE_UP 1 +#define VFIO_DEVICE_GFX_LINK_STATE_DOWN 2 +}; +#define VFIO_REGION_SUBTYPE_CCW_ASYNC_CMD (1) +#define VFIO_REGION_SUBTYPE_CCW_SCHIB (2) +#define VFIO_REGION_SUBTYPE_CCW_CRW (3) +#define VFIO_REGION_SUBTYPE_MIGRATION (1) +struct vfio_device_migration_info { + __u32 device_state; +#define VFIO_DEVICE_STATE_STOP (0) +#define VFIO_DEVICE_STATE_RUNNING (1 << 0) +#define VFIO_DEVICE_STATE_SAVING (1 << 1) +#define VFIO_DEVICE_STATE_RESUMING (1 << 2) +#define VFIO_DEVICE_STATE_MASK (VFIO_DEVICE_STATE_RUNNING | \ + VFIO_DEVICE_STATE_SAVING | \ + VFIO_DEVICE_STATE_RESUMING) +#define VFIO_DEVICE_STATE_VALID(state) \ + (state & VFIO_DEVICE_STATE_RESUMING ? \ + (state & VFIO_DEVICE_STATE_MASK) == VFIO_DEVICE_STATE_RESUMING : 1) +#define VFIO_DEVICE_STATE_IS_ERROR(state) \ + ((state & VFIO_DEVICE_STATE_MASK) == (VFIO_DEVICE_STATE_SAVING | \ + VFIO_DEVICE_STATE_RESUMING)) +#define VFIO_DEVICE_STATE_SET_ERROR(state) \ + ((state & ~VFIO_DEVICE_STATE_MASK) | VFIO_DEVICE_SATE_SAVING | \ + VFIO_DEVICE_STATE_RESUMING) + __u32 reserved; + __u64 pending_bytes; + __u64 data_offset; + __u64 data_size; +}; +#define VFIO_REGION_INFO_CAP_MSIX_MAPPABLE 3 +#define VFIO_REGION_INFO_CAP_NVLINK2_SSATGT 4 +struct vfio_region_info_cap_nvlink2_ssatgt { + struct vfio_info_cap_header header; + __u64 tgt; +}; +#define VFIO_REGION_INFO_CAP_NVLINK2_LNKSPD 5 +struct vfio_region_info_cap_nvlink2_lnkspd { + struct vfio_info_cap_header header; + __u32 link_speed; + __u32 __pad; +}; +struct vfio_irq_info { + __u32 argsz; + __u32 flags; +#define VFIO_IRQ_INFO_EVENTFD (1 << 0) +#define VFIO_IRQ_INFO_MASKABLE (1 << 1) +#define VFIO_IRQ_INFO_AUTOMASKED (1 << 2) +#define VFIO_IRQ_INFO_NORESIZE (1 << 3) + __u32 index; + __u32 count; +}; +#define VFIO_DEVICE_GET_IRQ_INFO _IO(VFIO_TYPE, VFIO_BASE + 9) +struct vfio_irq_set { + __u32 argsz; + __u32 flags; +#define VFIO_IRQ_SET_DATA_NONE (1 << 0) +#define VFIO_IRQ_SET_DATA_BOOL (1 << 1) +#define VFIO_IRQ_SET_DATA_EVENTFD (1 << 2) +#define VFIO_IRQ_SET_ACTION_MASK (1 << 3) +#define VFIO_IRQ_SET_ACTION_UNMASK (1 << 4) +#define VFIO_IRQ_SET_ACTION_TRIGGER (1 << 5) + __u32 index; + __u32 start; + __u32 count; + __u8 data[]; +}; +#define VFIO_DEVICE_SET_IRQS _IO(VFIO_TYPE, VFIO_BASE + 10) +#define VFIO_IRQ_SET_DATA_TYPE_MASK (VFIO_IRQ_SET_DATA_NONE | \ + VFIO_IRQ_SET_DATA_BOOL | \ + VFIO_IRQ_SET_DATA_EVENTFD) +#define VFIO_IRQ_SET_ACTION_TYPE_MASK (VFIO_IRQ_SET_ACTION_MASK | \ + VFIO_IRQ_SET_ACTION_UNMASK | \ + VFIO_IRQ_SET_ACTION_TRIGGER) +#define VFIO_DEVICE_RESET _IO(VFIO_TYPE, VFIO_BASE + 11) +enum { + VFIO_PCI_BAR0_REGION_INDEX, + VFIO_PCI_BAR1_REGION_INDEX, + VFIO_PCI_BAR2_REGION_INDEX, + VFIO_PCI_BAR3_REGION_INDEX, + VFIO_PCI_BAR4_REGION_INDEX, + VFIO_PCI_BAR5_REGION_INDEX, + VFIO_PCI_ROM_REGION_INDEX, + VFIO_PCI_CONFIG_REGION_INDEX, + + VFIO_PCI_VGA_REGION_INDEX, + VFIO_PCI_NUM_REGIONS = 9 + +}; +enum { + VFIO_PCI_INTX_IRQ_INDEX, + VFIO_PCI_MSI_IRQ_INDEX, + VFIO_PCI_MSIX_IRQ_INDEX, + VFIO_PCI_ERR_IRQ_INDEX, + VFIO_PCI_REQ_IRQ_INDEX, + VFIO_PCI_NUM_IRQS +}; +enum { + VFIO_CCW_CONFIG_REGION_INDEX, + VFIO_CCW_NUM_REGIONS +}; +enum { + VFIO_CCW_IO_IRQ_INDEX, + VFIO_CCW_CRW_IRQ_INDEX, + VFIO_CCW_NUM_IRQS +}; +struct vfio_pci_dependent_device { + __u32 group_id; + __u16 segment; + __u8 bus; + __u8 devfn; +}; +struct vfio_pci_hot_reset_info { + __u32 argsz; + __u32 flags; + __u32 count; + struct vfio_pci_dependent_device devices[]; +}; +#define VFIO_DEVICE_GET_PCI_HOT_RESET_INFO _IO(VFIO_TYPE, VFIO_BASE + 12) +struct vfio_pci_hot_reset { + __u32 argsz; + __u32 flags; + __u32 count; + __s32 group_fds[]; +}; +#define VFIO_DEVICE_PCI_HOT_RESET _IO(VFIO_TYPE, VFIO_BASE + 13) +struct vfio_device_gfx_plane_info { + __u32 argsz; + __u32 flags; +#define VFIO_GFX_PLANE_TYPE_PROBE (1 << 0) +#define VFIO_GFX_PLANE_TYPE_DMABUF (1 << 1) +#define VFIO_GFX_PLANE_TYPE_REGION (1 << 2) + + __u32 drm_plane_type; + + __u32 drm_format; + __u64 drm_format_mod; + __u32 width; + __u32 height; + __u32 stride; + __u32 size; + __u32 x_pos; + __u32 y_pos; + __u32 x_hot; + __u32 y_hot; + union { + __u32 region_index; + __u32 dmabuf_id; + }; +}; +#define VFIO_DEVICE_QUERY_GFX_PLANE _IO(VFIO_TYPE, VFIO_BASE + 14) +#define VFIO_DEVICE_GET_GFX_DMABUF _IO(VFIO_TYPE, VFIO_BASE + 15) +struct vfio_device_ioeventfd { + __u32 argsz; + __u32 flags; +#define VFIO_DEVICE_IOEVENTFD_8 (1 << 0) +#define VFIO_DEVICE_IOEVENTFD_16 (1 << 1) +#define VFIO_DEVICE_IOEVENTFD_32 (1 << 2) +#define VFIO_DEVICE_IOEVENTFD_64 (1 << 3) +#define VFIO_DEVICE_IOEVENTFD_SIZE_MASK (0xf) + __u64 offset; + __u64 data; + __s32 fd; +}; +#define VFIO_DEVICE_IOEVENTFD _IO(VFIO_TYPE, VFIO_BASE + 16) +struct vfio_device_feature { + __u32 argsz; + __u32 flags; +#define VFIO_DEVICE_FEATURE_MASK (0xffff) +#define VFIO_DEVICE_FEATURE_GET (1 << 16) +#define VFIO_DEVICE_FEATURE_SET (1 << 17) +#define VFIO_DEVICE_FEATURE_PROBE (1 << 18) + __u8 data[]; +}; +#define VFIO_DEVICE_FEATURE _IO(VFIO_TYPE, VFIO_BASE + 17) +#define VFIO_DEVICE_FEATURE_PCI_VF_TOKEN (0) +struct vfio_iommu_type1_info { + __u32 argsz; + __u32 flags; +#define VFIO_IOMMU_INFO_PGSIZES (1 << 0) +#define VFIO_IOMMU_INFO_CAPS (1 << 1) + __u64 iova_pgsizes; + __u32 cap_offset; +}; +#define VFIO_IOMMU_TYPE1_INFO_CAP_IOVA_RANGE 1 +struct vfio_iova_range { + __u64 start; + __u64 end; +}; +struct vfio_iommu_type1_info_cap_iova_range { + struct vfio_info_cap_header header; + __u32 nr_iovas; + __u32 reserved; + struct vfio_iova_range iova_ranges[]; +}; +#define VFIO_IOMMU_TYPE1_INFO_CAP_MIGRATION 2 +struct vfio_iommu_type1_info_cap_migration { + struct vfio_info_cap_header header; + __u32 flags; + __u64 pgsize_bitmap; + __u64 max_dirty_bitmap_size; +}; +#define VFIO_IOMMU_TYPE1_INFO_DMA_AVAIL 3 +struct vfio_iommu_type1_info_dma_avail { + struct vfio_info_cap_header header; + __u32 avail; +}; +#define VFIO_IOMMU_GET_INFO _IO(VFIO_TYPE, VFIO_BASE + 12) +struct vfio_iommu_type1_dma_map { + __u32 argsz; + __u32 flags; +#define VFIO_DMA_MAP_FLAG_READ (1 << 0) +#define VFIO_DMA_MAP_FLAG_WRITE (1 << 1) + __u64 vaddr; + __u64 iova; + __u64 size; +}; +#define VFIO_IOMMU_MAP_DMA _IO(VFIO_TYPE, VFIO_BASE + 13) +struct vfio_bitmap { + __u64 pgsize; + __u64 size; + __u64 __user *data; +}; +struct vfio_iommu_type1_dma_unmap { + __u32 argsz; + __u32 flags; +#define VFIO_DMA_UNMAP_FLAG_GET_DIRTY_BITMAP (1 << 0) + __u64 iova; + __u64 size; + __u8 data[]; +}; +#define VFIO_IOMMU_UNMAP_DMA _IO(VFIO_TYPE, VFIO_BASE + 14) +#define VFIO_IOMMU_ENABLE _IO(VFIO_TYPE, VFIO_BASE + 15) +#define VFIO_IOMMU_DISABLE _IO(VFIO_TYPE, VFIO_BASE + 16) +struct vfio_iommu_type1_dirty_bitmap { + __u32 argsz; + __u32 flags; +#define VFIO_IOMMU_DIRTY_PAGES_FLAG_START (1 << 0) +#define VFIO_IOMMU_DIRTY_PAGES_FLAG_STOP (1 << 1) +#define VFIO_IOMMU_DIRTY_PAGES_FLAG_GET_BITMAP (1 << 2) + __u8 data[]; +}; +struct vfio_iommu_type1_dirty_bitmap_get { + __u64 iova; + __u64 size; + struct vfio_bitmap bitmap; +}; +#define VFIO_IOMMU_DIRTY_PAGES _IO(VFIO_TYPE, VFIO_BASE + 17) +struct vfio_iommu_spapr_tce_ddw_info { + __u64 pgsizes; + __u32 max_dynamic_windows_supported; + __u32 levels; +}; +struct vfio_iommu_spapr_tce_info { + __u32 argsz; + __u32 flags; +#define VFIO_IOMMU_SPAPR_INFO_DDW (1 << 0) + __u32 dma32_window_start; + __u32 dma32_window_size; + struct vfio_iommu_spapr_tce_ddw_info ddw; +}; +#define VFIO_IOMMU_SPAPR_TCE_GET_INFO _IO(VFIO_TYPE, VFIO_BASE + 12) +struct vfio_eeh_pe_err { + __u32 type; + __u32 func; + __u64 addr; + __u64 mask; +}; +struct vfio_eeh_pe_op { + __u32 argsz; + __u32 flags; + __u32 op; + union { + struct vfio_eeh_pe_err err; + }; +}; +#define VFIO_EEH_PE_DISABLE 0 +#define VFIO_EEH_PE_ENABLE 1 +#define VFIO_EEH_PE_UNFREEZE_IO 2 +#define VFIO_EEH_PE_UNFREEZE_DMA 3 +#define VFIO_EEH_PE_GET_STATE 4 +#define VFIO_EEH_PE_STATE_NORMAL 0 +#define VFIO_EEH_PE_STATE_RESET 1 +#define VFIO_EEH_PE_STATE_STOPPED 2 +#define VFIO_EEH_PE_STATE_STOPPED_DMA 4 +#define VFIO_EEH_PE_STATE_UNAVAIL 5 +#define VFIO_EEH_PE_RESET_DEACTIVATE 5 +#define VFIO_EEH_PE_RESET_HOT 6 +#define VFIO_EEH_PE_RESET_FUNDAMENTAL 7 +#define VFIO_EEH_PE_CONFIGURE 8 +#define VFIO_EEH_PE_INJECT_ERR 9 +#define VFIO_EEH_PE_OP _IO(VFIO_TYPE, VFIO_BASE + 21) +struct vfio_iommu_spapr_register_memory { + __u32 argsz; + __u32 flags; + __u64 vaddr; + __u64 size; +}; +#define VFIO_IOMMU_SPAPR_REGISTER_MEMORY _IO(VFIO_TYPE, VFIO_BASE + 17) +#define VFIO_IOMMU_SPAPR_UNREGISTER_MEMORY _IO(VFIO_TYPE, VFIO_BASE + 18) +struct vfio_iommu_spapr_tce_create { + __u32 argsz; + __u32 flags; + + __u32 page_shift; + __u32 __resv1; + __u64 window_size; + __u32 levels; + __u32 __resv2; + + __u64 start_addr; +}; +#define VFIO_IOMMU_SPAPR_TCE_CREATE _IO(VFIO_TYPE, VFIO_BASE + 19) +struct vfio_iommu_spapr_tce_remove { + __u32 argsz; + __u32 flags; + + __u64 start_addr; +}; +#define VFIO_IOMMU_SPAPR_TCE_REMOVE _IO(VFIO_TYPE, VFIO_BASE + 20) +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/vfio_ccw.h b/linux-5.10/prebuilts/usr/include/linux/vfio_ccw.h new file mode 100644 index 0000000..17d9a3f --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/vfio_ccw.h @@ -0,0 +1,32 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _VFIO_CCW_H_ +#define _VFIO_CCW_H_ +#include +struct ccw_io_region { +#define ORB_AREA_SIZE 12 + __u8 orb_area[ORB_AREA_SIZE]; +#define SCSW_AREA_SIZE 12 + __u8 scsw_area[SCSW_AREA_SIZE]; +#define IRB_AREA_SIZE 96 + __u8 irb_area[IRB_AREA_SIZE]; + __u32 ret_code; +} __packed; +#define VFIO_CCW_ASYNC_CMD_HSCH (1 << 0) +#define VFIO_CCW_ASYNC_CMD_CSCH (1 << 1) +struct ccw_cmd_region { + __u32 command; + __u32 ret_code; +} __packed; +struct ccw_schib_region { +#define SCHIB_AREA_SIZE 52 + __u8 schib_area[SCHIB_AREA_SIZE]; +} __packed; +struct ccw_crw_region { + __u32 crw; + __u32 pad; +} __packed; +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/vfio_zdev.h b/linux-5.10/prebuilts/usr/include/linux/vfio_zdev.h new file mode 100644 index 0000000..8fa34a4 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/vfio_zdev.h @@ -0,0 +1,41 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _VFIO_ZDEV_H_ +#define _VFIO_ZDEV_H_ +#include +#include +struct vfio_device_info_cap_zpci_base { + struct vfio_info_cap_header header; + __u64 start_dma; + __u64 end_dma; + __u16 pchid; + __u16 vfn; + __u16 fmb_length; + __u8 pft; + __u8 gid; +}; +struct vfio_device_info_cap_zpci_group { + struct vfio_info_cap_header header; + __u64 dasm; + __u64 msi_addr; + __u64 flags; +#define VFIO_DEVICE_INFO_ZPCI_FLAG_REFRESH 1 + __u16 mui; + __u16 noi; + __u16 maxstbl; + __u8 version; +}; +struct vfio_device_info_cap_zpci_util { + struct vfio_info_cap_header header; + __u32 size; + __u8 util_str[]; +}; +struct vfio_device_info_cap_zpci_pfip { + struct vfio_info_cap_header header; + __u32 size; + __u8 pfip[]; +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/vhost.h b/linux-5.10/prebuilts/usr/include/linux/vhost.h new file mode 100644 index 0000000..5328591 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/vhost.h @@ -0,0 +1,60 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _LINUX_VHOST_H +#define _LINUX_VHOST_H +#include +#include +#include +#define VHOST_FILE_UNBIND -1 +#define VHOST_VIRTIO 0xAF +#define VHOST_GET_FEATURES _IOR(VHOST_VIRTIO, 0x00, __u64) +#define VHOST_SET_FEATURES _IOW(VHOST_VIRTIO, 0x00, __u64) +#define VHOST_SET_OWNER _IO(VHOST_VIRTIO, 0x01) +#define VHOST_RESET_OWNER _IO(VHOST_VIRTIO, 0x02) +#define VHOST_SET_MEM_TABLE _IOW(VHOST_VIRTIO, 0x03, struct vhost_memory) +#define VHOST_SET_LOG_BASE _IOW(VHOST_VIRTIO, 0x04, __u64) +#define VHOST_SET_LOG_FD _IOW(VHOST_VIRTIO, 0x07, int) +#define VHOST_SET_VRING_NUM _IOW(VHOST_VIRTIO, 0x10, struct vhost_vring_state) +#define VHOST_SET_VRING_ADDR _IOW(VHOST_VIRTIO, 0x11, struct vhost_vring_addr) +#define VHOST_SET_VRING_BASE _IOW(VHOST_VIRTIO, 0x12, struct vhost_vring_state) +#define VHOST_GET_VRING_BASE _IOWR(VHOST_VIRTIO, 0x12, struct vhost_vring_state) +#define VHOST_VRING_LITTLE_ENDIAN 0 +#define VHOST_VRING_BIG_ENDIAN 1 +#define VHOST_SET_VRING_ENDIAN _IOW(VHOST_VIRTIO, 0x13, struct vhost_vring_state) +#define VHOST_GET_VRING_ENDIAN _IOW(VHOST_VIRTIO, 0x14, struct vhost_vring_state) +#define VHOST_SET_VRING_KICK _IOW(VHOST_VIRTIO, 0x20, struct vhost_vring_file) +#define VHOST_SET_VRING_CALL _IOW(VHOST_VIRTIO, 0x21, struct vhost_vring_file) +#define VHOST_SET_VRING_ERR _IOW(VHOST_VIRTIO, 0x22, struct vhost_vring_file) +#define VHOST_SET_VRING_BUSYLOOP_TIMEOUT _IOW(VHOST_VIRTIO, 0x23, \ + struct vhost_vring_state) +#define VHOST_GET_VRING_BUSYLOOP_TIMEOUT _IOW(VHOST_VIRTIO, 0x24, \ + struct vhost_vring_state) +#define VHOST_BACKEND_F_IOTLB_MSG_V2 0x1 +#define VHOST_BACKEND_F_IOTLB_BATCH 0x2 +#define VHOST_SET_BACKEND_FEATURES _IOW(VHOST_VIRTIO, 0x25, __u64) +#define VHOST_GET_BACKEND_FEATURES _IOR(VHOST_VIRTIO, 0x26, __u64) +#define VHOST_NET_SET_BACKEND _IOW(VHOST_VIRTIO, 0x30, struct vhost_vring_file) +#define VHOST_SCSI_SET_ENDPOINT _IOW(VHOST_VIRTIO, 0x40, struct vhost_scsi_target) +#define VHOST_SCSI_CLEAR_ENDPOINT _IOW(VHOST_VIRTIO, 0x41, struct vhost_scsi_target) +#define VHOST_SCSI_GET_ABI_VERSION _IOW(VHOST_VIRTIO, 0x42, int) +#define VHOST_SCSI_SET_EVENTS_MISSED _IOW(VHOST_VIRTIO, 0x43, __u32) +#define VHOST_SCSI_GET_EVENTS_MISSED _IOW(VHOST_VIRTIO, 0x44, __u32) +#define VHOST_VSOCK_SET_GUEST_CID _IOW(VHOST_VIRTIO, 0x60, __u64) +#define VHOST_VSOCK_SET_RUNNING _IOW(VHOST_VIRTIO, 0x61, int) +#define VHOST_VDPA_GET_DEVICE_ID _IOR(VHOST_VIRTIO, 0x70, __u32) +#define VHOST_VDPA_GET_STATUS _IOR(VHOST_VIRTIO, 0x71, __u8) +#define VHOST_VDPA_SET_STATUS _IOW(VHOST_VIRTIO, 0x72, __u8) +#define VHOST_VDPA_GET_CONFIG _IOR(VHOST_VIRTIO, 0x73, \ + struct vhost_vdpa_config) +#define VHOST_VDPA_SET_CONFIG _IOW(VHOST_VIRTIO, 0x74, \ + struct vhost_vdpa_config) +#define VHOST_VDPA_SET_VRING_ENABLE _IOW(VHOST_VIRTIO, 0x75, \ + struct vhost_vring_state) +#define VHOST_VDPA_GET_VRING_NUM _IOR(VHOST_VIRTIO, 0x76, __u16) +#define VHOST_VDPA_SET_CONFIG_CALL _IOW(VHOST_VIRTIO, 0x77, int) +#define VHOST_VDPA_GET_IOVA_RANGE _IOR(VHOST_VIRTIO, 0x78, \ + struct vhost_vdpa_iova_range) +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/vhost_types.h b/linux-5.10/prebuilts/usr/include/linux/vhost_types.h new file mode 100644 index 0000000..5b50f96 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/vhost_types.h @@ -0,0 +1,100 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _LINUX_VHOST_TYPES_H +#define _LINUX_VHOST_TYPES_H +#include +#include +#include +#include +struct vhost_vring_state { + unsigned int index; + unsigned int num; +}; +struct vhost_vring_file { + unsigned int index; + int fd; +}; +struct vhost_vring_addr { + unsigned int index; + + unsigned int flags; + + +#define VHOST_VRING_F_LOG 0 + + __u64 desc_user_addr; + + __u64 used_user_addr; + + __u64 avail_user_addr; + + + __u64 log_guest_addr; +}; +struct vhost_iotlb_msg { + __u64 iova; + __u64 size; + __u64 uaddr; +#define VHOST_ACCESS_RO 0x1 +#define VHOST_ACCESS_WO 0x2 +#define VHOST_ACCESS_RW 0x3 + __u8 perm; +#define VHOST_IOTLB_MISS 1 +#define VHOST_IOTLB_UPDATE 2 +#define VHOST_IOTLB_INVALIDATE 3 +#define VHOST_IOTLB_ACCESS_FAIL 4 +#define VHOST_IOTLB_BATCH_BEGIN 5 +#define VHOST_IOTLB_BATCH_END 6 + __u8 type; +}; +#define VHOST_IOTLB_MSG 0x1 +#define VHOST_IOTLB_MSG_V2 0x2 +struct vhost_msg { + int type; + union { + struct vhost_iotlb_msg iotlb; + __u8 padding[64]; + }; +}; +struct vhost_msg_v2 { + __u32 type; + __u32 reserved; + union { + struct vhost_iotlb_msg iotlb; + __u8 padding[64]; + }; +}; +struct vhost_memory_region { + __u64 guest_phys_addr; + __u64 memory_size; + __u64 userspace_addr; + __u64 flags_padding; +}; +#define VHOST_PAGE_SIZE 0x1000 +struct vhost_memory { + __u32 nregions; + __u32 padding; + struct vhost_memory_region regions[0]; +}; +#define VHOST_SCSI_ABI_VERSION 1 +struct vhost_scsi_target { + int abi_version; + char vhost_wwpn[224]; + unsigned short vhost_tpgt; + unsigned short reserved; +}; +struct vhost_vdpa_config { + __u32 off; + __u32 len; + __u8 buf[0]; +}; +struct vhost_vdpa_iova_range { + __u64 first; + __u64 last; +}; +#define VHOST_F_LOG_ALL 26 +#define VHOST_NET_F_VIRTIO_NET_HDR 27 +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/videodev2.h b/linux-5.10/prebuilts/usr/include/linux/videodev2.h new file mode 100644 index 0000000..356ee1f --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/videodev2.h @@ -0,0 +1,1595 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI__LINUX_VIDEODEV2_H +#define _UAPI__LINUX_VIDEODEV2_H +#ifndef __KERNEL__ +#include +#endif +#include +#include +#include +#include +#include +#define VIDEO_MAX_FRAME 32 +#define VIDEO_MAX_PLANES 8 +#define v4l2_fourcc(a, b, c, d)\ + ((__u32)(a) | ((__u32)(b) << 8) | ((__u32)(c) << 16) | ((__u32)(d) << 24)) +#define v4l2_fourcc_be(a, b, c, d) (v4l2_fourcc(a, b, c, d) | (1U << 31)) +enum v4l2_field { + V4L2_FIELD_ANY = 0, + V4L2_FIELD_NONE = 1, + V4L2_FIELD_TOP = 2, + V4L2_FIELD_BOTTOM = 3, + V4L2_FIELD_INTERLACED = 4, + V4L2_FIELD_SEQ_TB = 5, + V4L2_FIELD_SEQ_BT = 6, + V4L2_FIELD_ALTERNATE = 7, + V4L2_FIELD_INTERLACED_TB = 8, + V4L2_FIELD_INTERLACED_BT = 9, +}; +#define V4L2_FIELD_HAS_TOP(field) \ + ((field) == V4L2_FIELD_TOP ||\ + (field) == V4L2_FIELD_INTERLACED ||\ + (field) == V4L2_FIELD_INTERLACED_TB ||\ + (field) == V4L2_FIELD_INTERLACED_BT ||\ + (field) == V4L2_FIELD_SEQ_TB ||\ + (field) == V4L2_FIELD_SEQ_BT) +#define V4L2_FIELD_HAS_BOTTOM(field) \ + ((field) == V4L2_FIELD_BOTTOM ||\ + (field) == V4L2_FIELD_INTERLACED ||\ + (field) == V4L2_FIELD_INTERLACED_TB ||\ + (field) == V4L2_FIELD_INTERLACED_BT ||\ + (field) == V4L2_FIELD_SEQ_TB ||\ + (field) == V4L2_FIELD_SEQ_BT) +#define V4L2_FIELD_HAS_BOTH(field) \ + ((field) == V4L2_FIELD_INTERLACED ||\ + (field) == V4L2_FIELD_INTERLACED_TB ||\ + (field) == V4L2_FIELD_INTERLACED_BT ||\ + (field) == V4L2_FIELD_SEQ_TB ||\ + (field) == V4L2_FIELD_SEQ_BT) +#define V4L2_FIELD_HAS_T_OR_B(field) \ + ((field) == V4L2_FIELD_BOTTOM ||\ + (field) == V4L2_FIELD_TOP ||\ + (field) == V4L2_FIELD_ALTERNATE) +#define V4L2_FIELD_IS_INTERLACED(field) \ + ((field) == V4L2_FIELD_INTERLACED ||\ + (field) == V4L2_FIELD_INTERLACED_TB ||\ + (field) == V4L2_FIELD_INTERLACED_BT) +#define V4L2_FIELD_IS_SEQUENTIAL(field) \ + ((field) == V4L2_FIELD_SEQ_TB ||\ + (field) == V4L2_FIELD_SEQ_BT) +enum v4l2_buf_type { + V4L2_BUF_TYPE_VIDEO_CAPTURE = 1, + V4L2_BUF_TYPE_VIDEO_OUTPUT = 2, + V4L2_BUF_TYPE_VIDEO_OVERLAY = 3, + V4L2_BUF_TYPE_VBI_CAPTURE = 4, + V4L2_BUF_TYPE_VBI_OUTPUT = 5, + V4L2_BUF_TYPE_SLICED_VBI_CAPTURE = 6, + V4L2_BUF_TYPE_SLICED_VBI_OUTPUT = 7, + V4L2_BUF_TYPE_VIDEO_OUTPUT_OVERLAY = 8, + V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE = 9, + V4L2_BUF_TYPE_VIDEO_OUTPUT_MPLANE = 10, + V4L2_BUF_TYPE_SDR_CAPTURE = 11, + V4L2_BUF_TYPE_SDR_OUTPUT = 12, + V4L2_BUF_TYPE_META_CAPTURE = 13, + V4L2_BUF_TYPE_META_OUTPUT = 14, + + V4L2_BUF_TYPE_PRIVATE = 0x80, +}; +#define V4L2_TYPE_IS_MULTIPLANAR(type) \ + ((type) == V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE \ + || (type) == V4L2_BUF_TYPE_VIDEO_OUTPUT_MPLANE) +#define V4L2_TYPE_IS_OUTPUT(type) \ + ((type) == V4L2_BUF_TYPE_VIDEO_OUTPUT \ + || (type) == V4L2_BUF_TYPE_VIDEO_OUTPUT_MPLANE \ + || (type) == V4L2_BUF_TYPE_VIDEO_OVERLAY \ + || (type) == V4L2_BUF_TYPE_VIDEO_OUTPUT_OVERLAY \ + || (type) == V4L2_BUF_TYPE_VBI_OUTPUT \ + || (type) == V4L2_BUF_TYPE_SLICED_VBI_OUTPUT \ + || (type) == V4L2_BUF_TYPE_SDR_OUTPUT \ + || (type) == V4L2_BUF_TYPE_META_OUTPUT) +#define V4L2_TYPE_IS_CAPTURE(type) (!V4L2_TYPE_IS_OUTPUT(type)) +enum v4l2_tuner_type { + V4L2_TUNER_RADIO = 1, + V4L2_TUNER_ANALOG_TV = 2, + V4L2_TUNER_DIGITAL_TV = 3, + V4L2_TUNER_SDR = 4, + V4L2_TUNER_RF = 5, +}; +#define V4L2_TUNER_ADC V4L2_TUNER_SDR +enum v4l2_memory { + V4L2_MEMORY_MMAP = 1, + V4L2_MEMORY_USERPTR = 2, + V4L2_MEMORY_OVERLAY = 3, + V4L2_MEMORY_DMABUF = 4, +}; +enum v4l2_colorspace { + + V4L2_COLORSPACE_DEFAULT = 0, + + V4L2_COLORSPACE_SMPTE170M = 1, + + V4L2_COLORSPACE_SMPTE240M = 2, + + V4L2_COLORSPACE_REC709 = 3, + + V4L2_COLORSPACE_BT878 = 4, + + V4L2_COLORSPACE_470_SYSTEM_M = 5, + + V4L2_COLORSPACE_470_SYSTEM_BG = 6, + + V4L2_COLORSPACE_JPEG = 7, + + V4L2_COLORSPACE_SRGB = 8, + + V4L2_COLORSPACE_OPRGB = 9, + + V4L2_COLORSPACE_BT2020 = 10, + + V4L2_COLORSPACE_RAW = 11, + + V4L2_COLORSPACE_DCI_P3 = 12, +}; +#define V4L2_MAP_COLORSPACE_DEFAULT(is_sdtv, is_hdtv) \ + ((is_sdtv) ? V4L2_COLORSPACE_SMPTE170M : \ + ((is_hdtv) ? V4L2_COLORSPACE_REC709 : V4L2_COLORSPACE_SRGB)) +enum v4l2_xfer_func { + + V4L2_XFER_FUNC_DEFAULT = 0, + V4L2_XFER_FUNC_709 = 1, + V4L2_XFER_FUNC_SRGB = 2, + V4L2_XFER_FUNC_OPRGB = 3, + V4L2_XFER_FUNC_SMPTE240M = 4, + V4L2_XFER_FUNC_NONE = 5, + V4L2_XFER_FUNC_DCI_P3 = 6, + V4L2_XFER_FUNC_SMPTE2084 = 7, +}; +#define V4L2_MAP_XFER_FUNC_DEFAULT(colsp) \ + ((colsp) == V4L2_COLORSPACE_OPRGB ? V4L2_XFER_FUNC_OPRGB : \ + ((colsp) == V4L2_COLORSPACE_SMPTE240M ? V4L2_XFER_FUNC_SMPTE240M : \ + ((colsp) == V4L2_COLORSPACE_DCI_P3 ? V4L2_XFER_FUNC_DCI_P3 : \ + ((colsp) == V4L2_COLORSPACE_RAW ? V4L2_XFER_FUNC_NONE : \ + ((colsp) == V4L2_COLORSPACE_SRGB || (colsp) == V4L2_COLORSPACE_JPEG ? \ + V4L2_XFER_FUNC_SRGB : V4L2_XFER_FUNC_709))))) +enum v4l2_ycbcr_encoding { + + V4L2_YCBCR_ENC_DEFAULT = 0, + + V4L2_YCBCR_ENC_601 = 1, + + V4L2_YCBCR_ENC_709 = 2, + + V4L2_YCBCR_ENC_XV601 = 3, + + V4L2_YCBCR_ENC_XV709 = 4, +#ifndef __KERNEL__ + + V4L2_YCBCR_ENC_SYCC = 5, +#endif + + V4L2_YCBCR_ENC_BT2020 = 6, + + V4L2_YCBCR_ENC_BT2020_CONST_LUM = 7, + + V4L2_YCBCR_ENC_SMPTE240M = 8, +}; +enum v4l2_hsv_encoding { + + V4L2_HSV_ENC_180 = 128, + + V4L2_HSV_ENC_256 = 129, +}; +#define V4L2_MAP_YCBCR_ENC_DEFAULT(colsp) \ + (((colsp) == V4L2_COLORSPACE_REC709 || \ + (colsp) == V4L2_COLORSPACE_DCI_P3) ? V4L2_YCBCR_ENC_709 : \ + ((colsp) == V4L2_COLORSPACE_BT2020 ? V4L2_YCBCR_ENC_BT2020 : \ + ((colsp) == V4L2_COLORSPACE_SMPTE240M ? V4L2_YCBCR_ENC_SMPTE240M : \ + V4L2_YCBCR_ENC_601))) +enum v4l2_quantization { + + V4L2_QUANTIZATION_DEFAULT = 0, + V4L2_QUANTIZATION_FULL_RANGE = 1, + V4L2_QUANTIZATION_LIM_RANGE = 2, +}; +#define V4L2_MAP_QUANTIZATION_DEFAULT(is_rgb_or_hsv, colsp, ycbcr_enc) \ + (((is_rgb_or_hsv) || (colsp) == V4L2_COLORSPACE_JPEG) ? \ + V4L2_QUANTIZATION_FULL_RANGE : V4L2_QUANTIZATION_LIM_RANGE) +#ifndef __KERNEL__ +#define V4L2_COLORSPACE_ADOBERGB V4L2_COLORSPACE_OPRGB +#define V4L2_XFER_FUNC_ADOBERGB V4L2_XFER_FUNC_OPRGB +#endif +enum v4l2_priority { + V4L2_PRIORITY_UNSET = 0, + V4L2_PRIORITY_BACKGROUND = 1, + V4L2_PRIORITY_INTERACTIVE = 2, + V4L2_PRIORITY_RECORD = 3, + V4L2_PRIORITY_DEFAULT = V4L2_PRIORITY_INTERACTIVE, +}; +struct v4l2_rect { + __s32 left; + __s32 top; + __u32 width; + __u32 height; +}; +struct v4l2_fract { + __u32 numerator; + __u32 denominator; +}; +struct v4l2_area { + __u32 width; + __u32 height; +}; +struct v4l2_capability { + __u8 driver[16]; + __u8 card[32]; + __u8 bus_info[32]; + __u32 version; + __u32 capabilities; + __u32 device_caps; + __u32 reserved[3]; +}; +#define V4L2_CAP_VIDEO_CAPTURE 0x00000001 +#define V4L2_CAP_VIDEO_OUTPUT 0x00000002 +#define V4L2_CAP_VIDEO_OVERLAY 0x00000004 +#define V4L2_CAP_VBI_CAPTURE 0x00000010 +#define V4L2_CAP_VBI_OUTPUT 0x00000020 +#define V4L2_CAP_SLICED_VBI_CAPTURE 0x00000040 +#define V4L2_CAP_SLICED_VBI_OUTPUT 0x00000080 +#define V4L2_CAP_RDS_CAPTURE 0x00000100 +#define V4L2_CAP_VIDEO_OUTPUT_OVERLAY 0x00000200 +#define V4L2_CAP_HW_FREQ_SEEK 0x00000400 +#define V4L2_CAP_RDS_OUTPUT 0x00000800 +#define V4L2_CAP_VIDEO_CAPTURE_MPLANE 0x00001000 +#define V4L2_CAP_VIDEO_OUTPUT_MPLANE 0x00002000 +#define V4L2_CAP_VIDEO_M2M_MPLANE 0x00004000 +#define V4L2_CAP_VIDEO_M2M 0x00008000 +#define V4L2_CAP_TUNER 0x00010000 +#define V4L2_CAP_AUDIO 0x00020000 +#define V4L2_CAP_RADIO 0x00040000 +#define V4L2_CAP_MODULATOR 0x00080000 +#define V4L2_CAP_SDR_CAPTURE 0x00100000 +#define V4L2_CAP_EXT_PIX_FORMAT 0x00200000 +#define V4L2_CAP_SDR_OUTPUT 0x00400000 +#define V4L2_CAP_META_CAPTURE 0x00800000 +#define V4L2_CAP_READWRITE 0x01000000 +#define V4L2_CAP_ASYNCIO 0x02000000 +#define V4L2_CAP_STREAMING 0x04000000 +#define V4L2_CAP_META_OUTPUT 0x08000000 +#define V4L2_CAP_TOUCH 0x10000000 +#define V4L2_CAP_IO_MC 0x20000000 +#define V4L2_CAP_DEVICE_CAPS 0x80000000 +struct v4l2_pix_format { + __u32 width; + __u32 height; + __u32 pixelformat; + __u32 field; + __u32 bytesperline; + __u32 sizeimage; + __u32 colorspace; + __u32 priv; + __u32 flags; + union { + + __u32 ycbcr_enc; + + __u32 hsv_enc; + }; + __u32 quantization; + __u32 xfer_func; +}; +#define V4L2_PIX_FMT_RGB332 v4l2_fourcc('R', 'G', 'B', '1') +#define V4L2_PIX_FMT_RGB444 v4l2_fourcc('R', '4', '4', '4') +#define V4L2_PIX_FMT_ARGB444 v4l2_fourcc('A', 'R', '1', '2') +#define V4L2_PIX_FMT_XRGB444 v4l2_fourcc('X', 'R', '1', '2') +#define V4L2_PIX_FMT_RGBA444 v4l2_fourcc('R', 'A', '1', '2') +#define V4L2_PIX_FMT_RGBX444 v4l2_fourcc('R', 'X', '1', '2') +#define V4L2_PIX_FMT_ABGR444 v4l2_fourcc('A', 'B', '1', '2') +#define V4L2_PIX_FMT_XBGR444 v4l2_fourcc('X', 'B', '1', '2') +#define V4L2_PIX_FMT_BGRA444 v4l2_fourcc('G', 'A', '1', '2') +#define V4L2_PIX_FMT_BGRX444 v4l2_fourcc('B', 'X', '1', '2') +#define V4L2_PIX_FMT_RGB555 v4l2_fourcc('R', 'G', 'B', 'O') +#define V4L2_PIX_FMT_ARGB555 v4l2_fourcc('A', 'R', '1', '5') +#define V4L2_PIX_FMT_XRGB555 v4l2_fourcc('X', 'R', '1', '5') +#define V4L2_PIX_FMT_RGBA555 v4l2_fourcc('R', 'A', '1', '5') +#define V4L2_PIX_FMT_RGBX555 v4l2_fourcc('R', 'X', '1', '5') +#define V4L2_PIX_FMT_ABGR555 v4l2_fourcc('A', 'B', '1', '5') +#define V4L2_PIX_FMT_XBGR555 v4l2_fourcc('X', 'B', '1', '5') +#define V4L2_PIX_FMT_BGRA555 v4l2_fourcc('B', 'A', '1', '5') +#define V4L2_PIX_FMT_BGRX555 v4l2_fourcc('B', 'X', '1', '5') +#define V4L2_PIX_FMT_RGB565 v4l2_fourcc('R', 'G', 'B', 'P') +#define V4L2_PIX_FMT_RGB555X v4l2_fourcc('R', 'G', 'B', 'Q') +#define V4L2_PIX_FMT_ARGB555X v4l2_fourcc_be('A', 'R', '1', '5') +#define V4L2_PIX_FMT_XRGB555X v4l2_fourcc_be('X', 'R', '1', '5') +#define V4L2_PIX_FMT_RGB565X v4l2_fourcc('R', 'G', 'B', 'R') +#define V4L2_PIX_FMT_BGR666 v4l2_fourcc('B', 'G', 'R', 'H') +#define V4L2_PIX_FMT_BGR24 v4l2_fourcc('B', 'G', 'R', '3') +#define V4L2_PIX_FMT_RGB24 v4l2_fourcc('R', 'G', 'B', '3') +#define V4L2_PIX_FMT_BGR32 v4l2_fourcc('B', 'G', 'R', '4') +#define V4L2_PIX_FMT_ABGR32 v4l2_fourcc('A', 'R', '2', '4') +#define V4L2_PIX_FMT_XBGR32 v4l2_fourcc('X', 'R', '2', '4') +#define V4L2_PIX_FMT_BGRA32 v4l2_fourcc('R', 'A', '2', '4') +#define V4L2_PIX_FMT_BGRX32 v4l2_fourcc('R', 'X', '2', '4') +#define V4L2_PIX_FMT_RGB32 v4l2_fourcc('R', 'G', 'B', '4') +#define V4L2_PIX_FMT_RGBA32 v4l2_fourcc('A', 'B', '2', '4') +#define V4L2_PIX_FMT_RGBX32 v4l2_fourcc('X', 'B', '2', '4') +#define V4L2_PIX_FMT_ARGB32 v4l2_fourcc('B', 'A', '2', '4') +#define V4L2_PIX_FMT_XRGB32 v4l2_fourcc('B', 'X', '2', '4') +#define V4L2_PIX_FMT_GREY v4l2_fourcc('G', 'R', 'E', 'Y') +#define V4L2_PIX_FMT_Y4 v4l2_fourcc('Y', '0', '4', ' ') +#define V4L2_PIX_FMT_Y6 v4l2_fourcc('Y', '0', '6', ' ') +#define V4L2_PIX_FMT_Y10 v4l2_fourcc('Y', '1', '0', ' ') +#define V4L2_PIX_FMT_Y12 v4l2_fourcc('Y', '1', '2', ' ') +#define V4L2_PIX_FMT_Y14 v4l2_fourcc('Y', '1', '4', ' ') +#define V4L2_PIX_FMT_Y16 v4l2_fourcc('Y', '1', '6', ' ') +#define V4L2_PIX_FMT_Y16_BE v4l2_fourcc_be('Y', '1', '6', ' ') +#define V4L2_PIX_FMT_Y10BPACK v4l2_fourcc('Y', '1', '0', 'B') +#define V4L2_PIX_FMT_Y10P v4l2_fourcc('Y', '1', '0', 'P') +#define V4L2_PIX_FMT_PAL8 v4l2_fourcc('P', 'A', 'L', '8') +#define V4L2_PIX_FMT_UV8 v4l2_fourcc('U', 'V', '8', ' ') +#define V4L2_PIX_FMT_YUYV v4l2_fourcc('Y', 'U', 'Y', 'V') +#define V4L2_PIX_FMT_YYUV v4l2_fourcc('Y', 'Y', 'U', 'V') +#define V4L2_PIX_FMT_YVYU v4l2_fourcc('Y', 'V', 'Y', 'U') +#define V4L2_PIX_FMT_UYVY v4l2_fourcc('U', 'Y', 'V', 'Y') +#define V4L2_PIX_FMT_VYUY v4l2_fourcc('V', 'Y', 'U', 'Y') +#define V4L2_PIX_FMT_Y41P v4l2_fourcc('Y', '4', '1', 'P') +#define V4L2_PIX_FMT_YUV444 v4l2_fourcc('Y', '4', '4', '4') +#define V4L2_PIX_FMT_YUV555 v4l2_fourcc('Y', 'U', 'V', 'O') +#define V4L2_PIX_FMT_YUV565 v4l2_fourcc('Y', 'U', 'V', 'P') +#define V4L2_PIX_FMT_YUV32 v4l2_fourcc('Y', 'U', 'V', '4') +#define V4L2_PIX_FMT_AYUV32 v4l2_fourcc('A', 'Y', 'U', 'V') +#define V4L2_PIX_FMT_XYUV32 v4l2_fourcc('X', 'Y', 'U', 'V') +#define V4L2_PIX_FMT_VUYA32 v4l2_fourcc('V', 'U', 'Y', 'A') +#define V4L2_PIX_FMT_VUYX32 v4l2_fourcc('V', 'U', 'Y', 'X') +#define V4L2_PIX_FMT_HI240 v4l2_fourcc('H', 'I', '2', '4') +#define V4L2_PIX_FMT_HM12 v4l2_fourcc('H', 'M', '1', '2') +#define V4L2_PIX_FMT_M420 v4l2_fourcc('M', '4', '2', '0') +#define V4L2_PIX_FMT_NV12 v4l2_fourcc('N', 'V', '1', '2') +#define V4L2_PIX_FMT_NV21 v4l2_fourcc('N', 'V', '2', '1') +#define V4L2_PIX_FMT_NV16 v4l2_fourcc('N', 'V', '1', '6') +#define V4L2_PIX_FMT_NV61 v4l2_fourcc('N', 'V', '6', '1') +#define V4L2_PIX_FMT_NV24 v4l2_fourcc('N', 'V', '2', '4') +#define V4L2_PIX_FMT_NV42 v4l2_fourcc('N', 'V', '4', '2') +#define V4L2_PIX_FMT_NV12M v4l2_fourcc('N', 'M', '1', '2') +#define V4L2_PIX_FMT_NV21M v4l2_fourcc('N', 'M', '2', '1') +#define V4L2_PIX_FMT_NV16M v4l2_fourcc('N', 'M', '1', '6') +#define V4L2_PIX_FMT_NV61M v4l2_fourcc('N', 'M', '6', '1') +#define V4L2_PIX_FMT_NV12MT v4l2_fourcc('T', 'M', '1', '2') +#define V4L2_PIX_FMT_NV12MT_16X16 v4l2_fourcc('V', 'M', '1', '2') +#define V4L2_PIX_FMT_YUV410 v4l2_fourcc('Y', 'U', 'V', '9') +#define V4L2_PIX_FMT_YVU410 v4l2_fourcc('Y', 'V', 'U', '9') +#define V4L2_PIX_FMT_YUV411P v4l2_fourcc('4', '1', '1', 'P') +#define V4L2_PIX_FMT_YUV420 v4l2_fourcc('Y', 'U', '1', '2') +#define V4L2_PIX_FMT_YVU420 v4l2_fourcc('Y', 'V', '1', '2') +#define V4L2_PIX_FMT_YUV422P v4l2_fourcc('4', '2', '2', 'P') +#define V4L2_PIX_FMT_YUV420M v4l2_fourcc('Y', 'M', '1', '2') +#define V4L2_PIX_FMT_YVU420M v4l2_fourcc('Y', 'M', '2', '1') +#define V4L2_PIX_FMT_YUV422M v4l2_fourcc('Y', 'M', '1', '6') +#define V4L2_PIX_FMT_YVU422M v4l2_fourcc('Y', 'M', '6', '1') +#define V4L2_PIX_FMT_YUV444M v4l2_fourcc('Y', 'M', '2', '4') +#define V4L2_PIX_FMT_YVU444M v4l2_fourcc('Y', 'M', '4', '2') +#define V4L2_PIX_FMT_SBGGR8 v4l2_fourcc('B', 'A', '8', '1') +#define V4L2_PIX_FMT_SGBRG8 v4l2_fourcc('G', 'B', 'R', 'G') +#define V4L2_PIX_FMT_SGRBG8 v4l2_fourcc('G', 'R', 'B', 'G') +#define V4L2_PIX_FMT_SRGGB8 v4l2_fourcc('R', 'G', 'G', 'B') +#define V4L2_PIX_FMT_SBGGR10 v4l2_fourcc('B', 'G', '1', '0') +#define V4L2_PIX_FMT_SGBRG10 v4l2_fourcc('G', 'B', '1', '0') +#define V4L2_PIX_FMT_SGRBG10 v4l2_fourcc('B', 'A', '1', '0') +#define V4L2_PIX_FMT_SRGGB10 v4l2_fourcc('R', 'G', '1', '0') + +#define V4L2_PIX_FMT_SBGGR10P v4l2_fourcc('p', 'B', 'A', 'A') +#define V4L2_PIX_FMT_SGBRG10P v4l2_fourcc('p', 'G', 'A', 'A') +#define V4L2_PIX_FMT_SGRBG10P v4l2_fourcc('p', 'g', 'A', 'A') +#define V4L2_PIX_FMT_SRGGB10P v4l2_fourcc('p', 'R', 'A', 'A') + +#define V4L2_PIX_FMT_SBGGR10ALAW8 v4l2_fourcc('a', 'B', 'A', '8') +#define V4L2_PIX_FMT_SGBRG10ALAW8 v4l2_fourcc('a', 'G', 'A', '8') +#define V4L2_PIX_FMT_SGRBG10ALAW8 v4l2_fourcc('a', 'g', 'A', '8') +#define V4L2_PIX_FMT_SRGGB10ALAW8 v4l2_fourcc('a', 'R', 'A', '8') + +#define V4L2_PIX_FMT_SBGGR10DPCM8 v4l2_fourcc('b', 'B', 'A', '8') +#define V4L2_PIX_FMT_SGBRG10DPCM8 v4l2_fourcc('b', 'G', 'A', '8') +#define V4L2_PIX_FMT_SGRBG10DPCM8 v4l2_fourcc('B', 'D', '1', '0') +#define V4L2_PIX_FMT_SRGGB10DPCM8 v4l2_fourcc('b', 'R', 'A', '8') +#define V4L2_PIX_FMT_SBGGR12 v4l2_fourcc('B', 'G', '1', '2') +#define V4L2_PIX_FMT_SGBRG12 v4l2_fourcc('G', 'B', '1', '2') +#define V4L2_PIX_FMT_SGRBG12 v4l2_fourcc('B', 'A', '1', '2') +#define V4L2_PIX_FMT_SRGGB12 v4l2_fourcc('R', 'G', '1', '2') + +#define V4L2_PIX_FMT_SBGGR12P v4l2_fourcc('p', 'B', 'C', 'C') +#define V4L2_PIX_FMT_SGBRG12P v4l2_fourcc('p', 'G', 'C', 'C') +#define V4L2_PIX_FMT_SGRBG12P v4l2_fourcc('p', 'g', 'C', 'C') +#define V4L2_PIX_FMT_SRGGB12P v4l2_fourcc('p', 'R', 'C', 'C') +#define V4L2_PIX_FMT_SBGGR14 v4l2_fourcc('B', 'G', '1', '4') +#define V4L2_PIX_FMT_SGBRG14 v4l2_fourcc('G', 'B', '1', '4') +#define V4L2_PIX_FMT_SGRBG14 v4l2_fourcc('G', 'R', '1', '4') +#define V4L2_PIX_FMT_SRGGB14 v4l2_fourcc('R', 'G', '1', '4') + +#define V4L2_PIX_FMT_SBGGR14P v4l2_fourcc('p', 'B', 'E', 'E') +#define V4L2_PIX_FMT_SGBRG14P v4l2_fourcc('p', 'G', 'E', 'E') +#define V4L2_PIX_FMT_SGRBG14P v4l2_fourcc('p', 'g', 'E', 'E') +#define V4L2_PIX_FMT_SRGGB14P v4l2_fourcc('p', 'R', 'E', 'E') +#define V4L2_PIX_FMT_SBGGR16 v4l2_fourcc('B', 'Y', 'R', '2') +#define V4L2_PIX_FMT_SGBRG16 v4l2_fourcc('G', 'B', '1', '6') +#define V4L2_PIX_FMT_SGRBG16 v4l2_fourcc('G', 'R', '1', '6') +#define V4L2_PIX_FMT_SRGGB16 v4l2_fourcc('R', 'G', '1', '6') +#define V4L2_PIX_FMT_HSV24 v4l2_fourcc('H', 'S', 'V', '3') +#define V4L2_PIX_FMT_HSV32 v4l2_fourcc('H', 'S', 'V', '4') +#define V4L2_PIX_FMT_MJPEG v4l2_fourcc('M', 'J', 'P', 'G') +#define V4L2_PIX_FMT_JPEG v4l2_fourcc('J', 'P', 'E', 'G') +#define V4L2_PIX_FMT_DV v4l2_fourcc('d', 'v', 's', 'd') +#define V4L2_PIX_FMT_MPEG v4l2_fourcc('M', 'P', 'E', 'G') +#define V4L2_PIX_FMT_H264 v4l2_fourcc('H', '2', '6', '4') +#define V4L2_PIX_FMT_H264_NO_SC v4l2_fourcc('A', 'V', 'C', '1') +#define V4L2_PIX_FMT_H264_MVC v4l2_fourcc('M', '2', '6', '4') +#define V4L2_PIX_FMT_H263 v4l2_fourcc('H', '2', '6', '3') +#define V4L2_PIX_FMT_MPEG1 v4l2_fourcc('M', 'P', 'G', '1') +#define V4L2_PIX_FMT_MPEG2 v4l2_fourcc('M', 'P', 'G', '2') +#define V4L2_PIX_FMT_MPEG2_SLICE v4l2_fourcc('M', 'G', '2', 'S') +#define V4L2_PIX_FMT_MPEG4 v4l2_fourcc('M', 'P', 'G', '4') +#define V4L2_PIX_FMT_XVID v4l2_fourcc('X', 'V', 'I', 'D') +#define V4L2_PIX_FMT_VC1_ANNEX_G v4l2_fourcc('V', 'C', '1', 'G') +#define V4L2_PIX_FMT_VC1_ANNEX_L v4l2_fourcc('V', 'C', '1', 'L') +#define V4L2_PIX_FMT_VP8 v4l2_fourcc('V', 'P', '8', '0') +#define V4L2_PIX_FMT_VP9 v4l2_fourcc('V', 'P', '9', '0') +#define V4L2_PIX_FMT_HEVC v4l2_fourcc('H', 'E', 'V', 'C') +#define V4L2_PIX_FMT_FWHT v4l2_fourcc('F', 'W', 'H', 'T') +#define V4L2_PIX_FMT_FWHT_STATELESS v4l2_fourcc('S', 'F', 'W', 'H') +#define V4L2_PIX_FMT_CPIA1 v4l2_fourcc('C', 'P', 'I', 'A') +#define V4L2_PIX_FMT_WNVA v4l2_fourcc('W', 'N', 'V', 'A') +#define V4L2_PIX_FMT_SN9C10X v4l2_fourcc('S', '9', '1', '0') +#define V4L2_PIX_FMT_SN9C20X_I420 v4l2_fourcc('S', '9', '2', '0') +#define V4L2_PIX_FMT_PWC1 v4l2_fourcc('P', 'W', 'C', '1') +#define V4L2_PIX_FMT_PWC2 v4l2_fourcc('P', 'W', 'C', '2') +#define V4L2_PIX_FMT_ET61X251 v4l2_fourcc('E', '6', '2', '5') +#define V4L2_PIX_FMT_SPCA501 v4l2_fourcc('S', '5', '0', '1') +#define V4L2_PIX_FMT_SPCA505 v4l2_fourcc('S', '5', '0', '5') +#define V4L2_PIX_FMT_SPCA508 v4l2_fourcc('S', '5', '0', '8') +#define V4L2_PIX_FMT_SPCA561 v4l2_fourcc('S', '5', '6', '1') +#define V4L2_PIX_FMT_PAC207 v4l2_fourcc('P', '2', '0', '7') +#define V4L2_PIX_FMT_MR97310A v4l2_fourcc('M', '3', '1', '0') +#define V4L2_PIX_FMT_JL2005BCD v4l2_fourcc('J', 'L', '2', '0') +#define V4L2_PIX_FMT_SN9C2028 v4l2_fourcc('S', 'O', 'N', 'X') +#define V4L2_PIX_FMT_SQ905C v4l2_fourcc('9', '0', '5', 'C') +#define V4L2_PIX_FMT_PJPG v4l2_fourcc('P', 'J', 'P', 'G') +#define V4L2_PIX_FMT_OV511 v4l2_fourcc('O', '5', '1', '1') +#define V4L2_PIX_FMT_OV518 v4l2_fourcc('O', '5', '1', '8') +#define V4L2_PIX_FMT_STV0680 v4l2_fourcc('S', '6', '8', '0') +#define V4L2_PIX_FMT_TM6000 v4l2_fourcc('T', 'M', '6', '0') +#define V4L2_PIX_FMT_CIT_YYVYUY v4l2_fourcc('C', 'I', 'T', 'V') +#define V4L2_PIX_FMT_KONICA420 v4l2_fourcc('K', 'O', 'N', 'I') +#define V4L2_PIX_FMT_JPGL v4l2_fourcc('J', 'P', 'G', 'L') +#define V4L2_PIX_FMT_SE401 v4l2_fourcc('S', '4', '0', '1') +#define V4L2_PIX_FMT_S5C_UYVY_JPG v4l2_fourcc('S', '5', 'C', 'I') +#define V4L2_PIX_FMT_Y8I v4l2_fourcc('Y', '8', 'I', ' ') +#define V4L2_PIX_FMT_Y12I v4l2_fourcc('Y', '1', '2', 'I') +#define V4L2_PIX_FMT_Z16 v4l2_fourcc('Z', '1', '6', ' ') +#define V4L2_PIX_FMT_MT21C v4l2_fourcc('M', 'T', '2', '1') +#define V4L2_PIX_FMT_INZI v4l2_fourcc('I', 'N', 'Z', 'I') +#define V4L2_PIX_FMT_SUNXI_TILED_NV12 v4l2_fourcc('S', 'T', '1', '2') +#define V4L2_PIX_FMT_CNF4 v4l2_fourcc('C', 'N', 'F', '4') +#define V4L2_PIX_FMT_IPU3_SBGGR10 v4l2_fourcc('i', 'p', '3', 'b') +#define V4L2_PIX_FMT_IPU3_SGBRG10 v4l2_fourcc('i', 'p', '3', 'g') +#define V4L2_PIX_FMT_IPU3_SGRBG10 v4l2_fourcc('i', 'p', '3', 'G') +#define V4L2_PIX_FMT_IPU3_SRGGB10 v4l2_fourcc('i', 'p', '3', 'r') +#define V4L2_SDR_FMT_CU8 v4l2_fourcc('C', 'U', '0', '8') +#define V4L2_SDR_FMT_CU16LE v4l2_fourcc('C', 'U', '1', '6') +#define V4L2_SDR_FMT_CS8 v4l2_fourcc('C', 'S', '0', '8') +#define V4L2_SDR_FMT_CS14LE v4l2_fourcc('C', 'S', '1', '4') +#define V4L2_SDR_FMT_RU12LE v4l2_fourcc('R', 'U', '1', '2') +#define V4L2_SDR_FMT_PCU16BE v4l2_fourcc('P', 'C', '1', '6') +#define V4L2_SDR_FMT_PCU18BE v4l2_fourcc('P', 'C', '1', '8') +#define V4L2_SDR_FMT_PCU20BE v4l2_fourcc('P', 'C', '2', '0') +#define V4L2_TCH_FMT_DELTA_TD16 v4l2_fourcc('T', 'D', '1', '6') +#define V4L2_TCH_FMT_DELTA_TD08 v4l2_fourcc('T', 'D', '0', '8') +#define V4L2_TCH_FMT_TU16 v4l2_fourcc('T', 'U', '1', '6') +#define V4L2_TCH_FMT_TU08 v4l2_fourcc('T', 'U', '0', '8') +#define V4L2_META_FMT_VSP1_HGO v4l2_fourcc('V', 'S', 'P', 'H') +#define V4L2_META_FMT_VSP1_HGT v4l2_fourcc('V', 'S', 'P', 'T') +#define V4L2_META_FMT_UVC v4l2_fourcc('U', 'V', 'C', 'H') +#define V4L2_META_FMT_D4XX v4l2_fourcc('D', '4', 'X', 'X') +#define V4L2_META_FMT_VIVID v4l2_fourcc('V', 'I', 'V', 'D') +#define V4L2_PIX_FMT_PRIV_MAGIC 0xfeedcafe +#define V4L2_PIX_FMT_FLAG_PREMUL_ALPHA 0x00000001 +#define V4L2_PIX_FMT_FLAG_SET_CSC 0x00000002 +struct v4l2_fmtdesc { + __u32 index; + __u32 type; + __u32 flags; + __u8 description[32]; + __u32 pixelformat; + __u32 mbus_code; + __u32 reserved[3]; +}; +#define V4L2_FMT_FLAG_COMPRESSED 0x0001 +#define V4L2_FMT_FLAG_EMULATED 0x0002 +#define V4L2_FMT_FLAG_CONTINUOUS_BYTESTREAM 0x0004 +#define V4L2_FMT_FLAG_DYN_RESOLUTION 0x0008 +#define V4L2_FMT_FLAG_ENC_CAP_FRAME_INTERVAL 0x0010 +#define V4L2_FMT_FLAG_CSC_COLORSPACE 0x0020 +#define V4L2_FMT_FLAG_CSC_XFER_FUNC 0x0040 +#define V4L2_FMT_FLAG_CSC_YCBCR_ENC 0x0080 +#define V4L2_FMT_FLAG_CSC_HSV_ENC V4L2_FMT_FLAG_CSC_YCBCR_ENC +#define V4L2_FMT_FLAG_CSC_QUANTIZATION 0x0100 + +enum v4l2_frmsizetypes { + V4L2_FRMSIZE_TYPE_DISCRETE = 1, + V4L2_FRMSIZE_TYPE_CONTINUOUS = 2, + V4L2_FRMSIZE_TYPE_STEPWISE = 3, +}; +struct v4l2_frmsize_discrete { + __u32 width; + __u32 height; +}; +struct v4l2_frmsize_stepwise { + __u32 min_width; + __u32 max_width; + __u32 step_width; + __u32 min_height; + __u32 max_height; + __u32 step_height; +}; +struct v4l2_frmsizeenum { + __u32 index; + __u32 pixel_format; + __u32 type; + union { + struct v4l2_frmsize_discrete discrete; + struct v4l2_frmsize_stepwise stepwise; + }; + __u32 reserved[2]; +}; +enum v4l2_frmivaltypes { + V4L2_FRMIVAL_TYPE_DISCRETE = 1, + V4L2_FRMIVAL_TYPE_CONTINUOUS = 2, + V4L2_FRMIVAL_TYPE_STEPWISE = 3, +}; +struct v4l2_frmival_stepwise { + struct v4l2_fract min; + struct v4l2_fract max; + struct v4l2_fract step; +}; +struct v4l2_frmivalenum { + __u32 index; + __u32 pixel_format; + __u32 width; + __u32 height; + __u32 type; + union { + struct v4l2_fract discrete; + struct v4l2_frmival_stepwise stepwise; + }; + __u32 reserved[2]; +}; +struct v4l2_timecode { + __u32 type; + __u32 flags; + __u8 frames; + __u8 seconds; + __u8 minutes; + __u8 hours; + __u8 userbits[4]; +}; +#define V4L2_TC_TYPE_24FPS 1 +#define V4L2_TC_TYPE_25FPS 2 +#define V4L2_TC_TYPE_30FPS 3 +#define V4L2_TC_TYPE_50FPS 4 +#define V4L2_TC_TYPE_60FPS 5 +#define V4L2_TC_FLAG_DROPFRAME 0x0001 +#define V4L2_TC_FLAG_COLORFRAME 0x0002 +#define V4L2_TC_USERBITS_field 0x000C +#define V4L2_TC_USERBITS_USERDEFINED 0x0000 +#define V4L2_TC_USERBITS_8BITCHARS 0x0008 +struct v4l2_jpegcompression { + int quality; + int APPn; + int APP_len; + char APP_data[60]; + int COM_len; + char COM_data[60]; + __u32 jpeg_markers; +#define V4L2_JPEG_MARKER_DHT (1<<3) +#define V4L2_JPEG_MARKER_DQT (1<<4) +#define V4L2_JPEG_MARKER_DRI (1<<5) +#define V4L2_JPEG_MARKER_COM (1<<6) +#define V4L2_JPEG_MARKER_APP (1<<7) +}; +#ifdef __KERNEL__ +struct __kernel_v4l2_timeval { + long long tv_sec; +#if defined(__sparc__) && defined(__arch64__) + int tv_usec; + int __pad; +#else + long long tv_usec; +#endif +}; +#endif +struct v4l2_requestbuffers { + __u32 count; + __u32 type; + __u32 memory; + __u32 capabilities; + __u32 reserved[1]; +}; +#define V4L2_BUF_CAP_SUPPORTS_MMAP (1 << 0) +#define V4L2_BUF_CAP_SUPPORTS_USERPTR (1 << 1) +#define V4L2_BUF_CAP_SUPPORTS_DMABUF (1 << 2) +#define V4L2_BUF_CAP_SUPPORTS_REQUESTS (1 << 3) +#define V4L2_BUF_CAP_SUPPORTS_ORPHANED_BUFS (1 << 4) +#define V4L2_BUF_CAP_SUPPORTS_M2M_HOLD_CAPTURE_BUF (1 << 5) +#define V4L2_BUF_CAP_SUPPORTS_MMAP_CACHE_HINTS (1 << 6) +struct v4l2_plane { + __u32 bytesused; + __u32 length; + union { + __u32 mem_offset; + unsigned long userptr; + __s32 fd; + } m; + __u32 data_offset; + __u32 reserved[11]; +}; +struct v4l2_buffer { + __u32 index; + __u32 type; + __u32 bytesused; + __u32 flags; + __u32 field; +#ifdef __KERNEL__ + struct __kernel_v4l2_timeval timestamp; +#else + struct timeval timestamp; +#endif + struct v4l2_timecode timecode; + __u32 sequence; + + __u32 memory; + union { + __u32 offset; + unsigned long userptr; + struct v4l2_plane *planes; + __s32 fd; + } m; + __u32 length; + __u32 reserved2; + union { + __s32 request_fd; + __u32 reserved; + }; +}; +#ifndef __KERNEL__ +static inline __u64 v4l2_timeval_to_ns(const struct timeval *tv) +{ + return (__u64)tv->tv_sec * 1000000000ULL + tv->tv_usec * 1000; +} +#endif +#define V4L2_BUF_FLAG_MAPPED 0x00000001 +#define V4L2_BUF_FLAG_QUEUED 0x00000002 +#define V4L2_BUF_FLAG_DONE 0x00000004 +#define V4L2_BUF_FLAG_KEYFRAME 0x00000008 +#define V4L2_BUF_FLAG_PFRAME 0x00000010 +#define V4L2_BUF_FLAG_BFRAME 0x00000020 +#define V4L2_BUF_FLAG_ERROR 0x00000040 +#define V4L2_BUF_FLAG_IN_REQUEST 0x00000080 +#define V4L2_BUF_FLAG_TIMECODE 0x00000100 +#define V4L2_BUF_FLAG_M2M_HOLD_CAPTURE_BUF 0x00000200 +#define V4L2_BUF_FLAG_PREPARED 0x00000400 +#define V4L2_BUF_FLAG_NO_CACHE_INVALIDATE 0x00000800 +#define V4L2_BUF_FLAG_NO_CACHE_CLEAN 0x00001000 +#define V4L2_BUF_FLAG_TIMESTAMP_MASK 0x0000e000 +#define V4L2_BUF_FLAG_TIMESTAMP_UNKNOWN 0x00000000 +#define V4L2_BUF_FLAG_TIMESTAMP_MONOTONIC 0x00002000 +#define V4L2_BUF_FLAG_TIMESTAMP_COPY 0x00004000 +#define V4L2_BUF_FLAG_TSTAMP_SRC_MASK 0x00070000 +#define V4L2_BUF_FLAG_TSTAMP_SRC_EOF 0x00000000 +#define V4L2_BUF_FLAG_TSTAMP_SRC_SOE 0x00010000 +#define V4L2_BUF_FLAG_LAST 0x00100000 +#define V4L2_BUF_FLAG_REQUEST_FD 0x00800000 +struct v4l2_exportbuffer { + __u32 type; + __u32 index; + __u32 plane; + __u32 flags; + __s32 fd; + __u32 reserved[11]; +}; +struct v4l2_framebuffer { + __u32 capability; + __u32 flags; + void *base; + struct { + __u32 width; + __u32 height; + __u32 pixelformat; + __u32 field; + __u32 bytesperline; + __u32 sizeimage; + __u32 colorspace; + __u32 priv; + } fmt; +}; +#define V4L2_FBUF_CAP_EXTERNOVERLAY 0x0001 +#define V4L2_FBUF_CAP_CHROMAKEY 0x0002 +#define V4L2_FBUF_CAP_LIST_CLIPPING 0x0004 +#define V4L2_FBUF_CAP_BITMAP_CLIPPING 0x0008 +#define V4L2_FBUF_CAP_LOCAL_ALPHA 0x0010 +#define V4L2_FBUF_CAP_GLOBAL_ALPHA 0x0020 +#define V4L2_FBUF_CAP_LOCAL_INV_ALPHA 0x0040 +#define V4L2_FBUF_CAP_SRC_CHROMAKEY 0x0080 +#define V4L2_FBUF_FLAG_PRIMARY 0x0001 +#define V4L2_FBUF_FLAG_OVERLAY 0x0002 +#define V4L2_FBUF_FLAG_CHROMAKEY 0x0004 +#define V4L2_FBUF_FLAG_LOCAL_ALPHA 0x0008 +#define V4L2_FBUF_FLAG_GLOBAL_ALPHA 0x0010 +#define V4L2_FBUF_FLAG_LOCAL_INV_ALPHA 0x0020 +#define V4L2_FBUF_FLAG_SRC_CHROMAKEY 0x0040 +struct v4l2_clip { + struct v4l2_rect c; + struct v4l2_clip __user *next; +}; +struct v4l2_window { + struct v4l2_rect w; + __u32 field; + __u32 chromakey; + struct v4l2_clip __user *clips; + __u32 clipcount; + void __user *bitmap; + __u8 global_alpha; +}; +struct v4l2_captureparm { + __u32 capability; + __u32 capturemode; + struct v4l2_fract timeperframe; + __u32 extendedmode; + __u32 readbuffers; + __u32 reserved[4]; +}; +#define V4L2_MODE_HIGHQUALITY 0x0001 +#define V4L2_CAP_TIMEPERFRAME 0x1000 +struct v4l2_outputparm { + __u32 capability; + __u32 outputmode; + struct v4l2_fract timeperframe; + __u32 extendedmode; + __u32 writebuffers; + __u32 reserved[4]; +}; +struct v4l2_cropcap { + __u32 type; + struct v4l2_rect bounds; + struct v4l2_rect defrect; + struct v4l2_fract pixelaspect; +}; +struct v4l2_crop { + __u32 type; + struct v4l2_rect c; +}; +struct v4l2_selection { + __u32 type; + __u32 target; + __u32 flags; + struct v4l2_rect r; + __u32 reserved[9]; +}; +typedef __u64 v4l2_std_id; +#define V4L2_STD_PAL_B ((v4l2_std_id)0x00000001) +#define V4L2_STD_PAL_B1 ((v4l2_std_id)0x00000002) +#define V4L2_STD_PAL_G ((v4l2_std_id)0x00000004) +#define V4L2_STD_PAL_H ((v4l2_std_id)0x00000008) +#define V4L2_STD_PAL_I ((v4l2_std_id)0x00000010) +#define V4L2_STD_PAL_D ((v4l2_std_id)0x00000020) +#define V4L2_STD_PAL_D1 ((v4l2_std_id)0x00000040) +#define V4L2_STD_PAL_K ((v4l2_std_id)0x00000080) +#define V4L2_STD_PAL_M ((v4l2_std_id)0x00000100) +#define V4L2_STD_PAL_N ((v4l2_std_id)0x00000200) +#define V4L2_STD_PAL_Nc ((v4l2_std_id)0x00000400) +#define V4L2_STD_PAL_60 ((v4l2_std_id)0x00000800) +#define V4L2_STD_NTSC_M ((v4l2_std_id)0x00001000) +#define V4L2_STD_NTSC_M_JP ((v4l2_std_id)0x00002000) +#define V4L2_STD_NTSC_443 ((v4l2_std_id)0x00004000) +#define V4L2_STD_NTSC_M_KR ((v4l2_std_id)0x00008000) +#define V4L2_STD_SECAM_B ((v4l2_std_id)0x00010000) +#define V4L2_STD_SECAM_D ((v4l2_std_id)0x00020000) +#define V4L2_STD_SECAM_G ((v4l2_std_id)0x00040000) +#define V4L2_STD_SECAM_H ((v4l2_std_id)0x00080000) +#define V4L2_STD_SECAM_K ((v4l2_std_id)0x00100000) +#define V4L2_STD_SECAM_K1 ((v4l2_std_id)0x00200000) +#define V4L2_STD_SECAM_L ((v4l2_std_id)0x00400000) +#define V4L2_STD_SECAM_LC ((v4l2_std_id)0x00800000) +#define V4L2_STD_ATSC_8_VSB ((v4l2_std_id)0x01000000) +#define V4L2_STD_ATSC_16_VSB ((v4l2_std_id)0x02000000) +#define V4L2_STD_NTSC (V4L2_STD_NTSC_M |\ + V4L2_STD_NTSC_M_JP |\ + V4L2_STD_NTSC_M_KR) +#define V4L2_STD_SECAM_DK (V4L2_STD_SECAM_D |\ + V4L2_STD_SECAM_K |\ + V4L2_STD_SECAM_K1) +#define V4L2_STD_SECAM (V4L2_STD_SECAM_B |\ + V4L2_STD_SECAM_G |\ + V4L2_STD_SECAM_H |\ + V4L2_STD_SECAM_DK |\ + V4L2_STD_SECAM_L |\ + V4L2_STD_SECAM_LC) +#define V4L2_STD_PAL_BG (V4L2_STD_PAL_B |\ + V4L2_STD_PAL_B1 |\ + V4L2_STD_PAL_G) +#define V4L2_STD_PAL_DK (V4L2_STD_PAL_D |\ + V4L2_STD_PAL_D1 |\ + V4L2_STD_PAL_K) +#define V4L2_STD_PAL (V4L2_STD_PAL_BG |\ + V4L2_STD_PAL_DK |\ + V4L2_STD_PAL_H |\ + V4L2_STD_PAL_I) +#define V4L2_STD_B (V4L2_STD_PAL_B |\ + V4L2_STD_PAL_B1 |\ + V4L2_STD_SECAM_B) +#define V4L2_STD_G (V4L2_STD_PAL_G |\ + V4L2_STD_SECAM_G) +#define V4L2_STD_H (V4L2_STD_PAL_H |\ + V4L2_STD_SECAM_H) +#define V4L2_STD_L (V4L2_STD_SECAM_L |\ + V4L2_STD_SECAM_LC) +#define V4L2_STD_GH (V4L2_STD_G |\ + V4L2_STD_H) +#define V4L2_STD_DK (V4L2_STD_PAL_DK |\ + V4L2_STD_SECAM_DK) +#define V4L2_STD_BG (V4L2_STD_B |\ + V4L2_STD_G) +#define V4L2_STD_MN (V4L2_STD_PAL_M |\ + V4L2_STD_PAL_N |\ + V4L2_STD_PAL_Nc |\ + V4L2_STD_NTSC) +#define V4L2_STD_MTS (V4L2_STD_NTSC_M |\ + V4L2_STD_PAL_M |\ + V4L2_STD_PAL_N |\ + V4L2_STD_PAL_Nc) +#define V4L2_STD_525_60 (V4L2_STD_PAL_M |\ + V4L2_STD_PAL_60 |\ + V4L2_STD_NTSC |\ + V4L2_STD_NTSC_443) +#define V4L2_STD_625_50 (V4L2_STD_PAL |\ + V4L2_STD_PAL_N |\ + V4L2_STD_PAL_Nc |\ + V4L2_STD_SECAM) +#define V4L2_STD_ATSC (V4L2_STD_ATSC_8_VSB |\ + V4L2_STD_ATSC_16_VSB) +#define V4L2_STD_UNKNOWN 0 +#define V4L2_STD_ALL (V4L2_STD_525_60 |\ + V4L2_STD_625_50) +struct v4l2_standard { + __u32 index; + v4l2_std_id id; + __u8 name[24]; + struct v4l2_fract frameperiod; + __u32 framelines; + __u32 reserved[4]; +}; +struct v4l2_bt_timings { + __u32 width; + __u32 height; + __u32 interlaced; + __u32 polarities; + __u64 pixelclock; + __u32 hfrontporch; + __u32 hsync; + __u32 hbackporch; + __u32 vfrontporch; + __u32 vsync; + __u32 vbackporch; + __u32 il_vfrontporch; + __u32 il_vsync; + __u32 il_vbackporch; + __u32 standards; + __u32 flags; + struct v4l2_fract picture_aspect; + __u8 cea861_vic; + __u8 hdmi_vic; + __u8 reserved[46]; +} __attribute__ ((packed)); +#define V4L2_DV_PROGRESSIVE 0 +#define V4L2_DV_INTERLACED 1 +#define V4L2_DV_VSYNC_POS_POL 0x00000001 +#define V4L2_DV_HSYNC_POS_POL 0x00000002 +#define V4L2_DV_BT_STD_CEA861 (1 << 0) +#define V4L2_DV_BT_STD_DMT (1 << 1) +#define V4L2_DV_BT_STD_CVT (1 << 2) +#define V4L2_DV_BT_STD_GTF (1 << 3) +#define V4L2_DV_BT_STD_SDI (1 << 4) +#define V4L2_DV_FL_REDUCED_BLANKING (1 << 0) +#define V4L2_DV_FL_CAN_REDUCE_FPS (1 << 1) +#define V4L2_DV_FL_REDUCED_FPS (1 << 2) +#define V4L2_DV_FL_HALF_LINE (1 << 3) +#define V4L2_DV_FL_IS_CE_VIDEO (1 << 4) +#define V4L2_DV_FL_FIRST_FIELD_EXTRA_LINE (1 << 5) +#define V4L2_DV_FL_HAS_PICTURE_ASPECT (1 << 6) +#define V4L2_DV_FL_HAS_CEA861_VIC (1 << 7) +#define V4L2_DV_FL_HAS_HDMI_VIC (1 << 8) +#define V4L2_DV_FL_CAN_DETECT_REDUCED_FPS (1 << 9) +#define V4L2_DV_BT_BLANKING_WIDTH(bt) \ + ((bt)->hfrontporch + (bt)->hsync + (bt)->hbackporch) +#define V4L2_DV_BT_FRAME_WIDTH(bt) \ + ((bt)->width + V4L2_DV_BT_BLANKING_WIDTH(bt)) +#define V4L2_DV_BT_BLANKING_HEIGHT(bt) \ + ((bt)->vfrontporch + (bt)->vsync + (bt)->vbackporch + \ + (bt)->il_vfrontporch + (bt)->il_vsync + (bt)->il_vbackporch) +#define V4L2_DV_BT_FRAME_HEIGHT(bt) \ + ((bt)->height + V4L2_DV_BT_BLANKING_HEIGHT(bt)) +struct v4l2_dv_timings { + __u32 type; + union { + struct v4l2_bt_timings bt; + __u32 reserved[32]; + }; +} __attribute__ ((packed)); +#define V4L2_DV_BT_656_1120 0 +struct v4l2_enum_dv_timings { + __u32 index; + __u32 pad; + __u32 reserved[2]; + struct v4l2_dv_timings timings; +}; +struct v4l2_bt_timings_cap { + __u32 min_width; + __u32 max_width; + __u32 min_height; + __u32 max_height; + __u64 min_pixelclock; + __u64 max_pixelclock; + __u32 standards; + __u32 capabilities; + __u32 reserved[16]; +} __attribute__ ((packed)); +#define V4L2_DV_BT_CAP_INTERLACED (1 << 0) +#define V4L2_DV_BT_CAP_PROGRESSIVE (1 << 1) +#define V4L2_DV_BT_CAP_REDUCED_BLANKING (1 << 2) +#define V4L2_DV_BT_CAP_CUSTOM (1 << 3) +struct v4l2_dv_timings_cap { + __u32 type; + __u32 pad; + __u32 reserved[2]; + union { + struct v4l2_bt_timings_cap bt; + __u32 raw_data[32]; + }; +}; +struct v4l2_input { + __u32 index; + __u8 name[32]; + __u32 type; + __u32 audioset; + __u32 tuner; + v4l2_std_id std; + __u32 status; + __u32 capabilities; + __u32 reserved[3]; +}; +#define V4L2_INPUT_TYPE_TUNER 1 +#define V4L2_INPUT_TYPE_CAMERA 2 +#define V4L2_INPUT_TYPE_TOUCH 3 +#define V4L2_IN_ST_NO_POWER 0x00000001 +#define V4L2_IN_ST_NO_SIGNAL 0x00000002 +#define V4L2_IN_ST_NO_COLOR 0x00000004 +#define V4L2_IN_ST_HFLIP 0x00000010 +#define V4L2_IN_ST_VFLIP 0x00000020 +#define V4L2_IN_ST_NO_H_LOCK 0x00000100 +#define V4L2_IN_ST_COLOR_KILL 0x00000200 +#define V4L2_IN_ST_NO_V_LOCK 0x00000400 +#define V4L2_IN_ST_NO_STD_LOCK 0x00000800 +#define V4L2_IN_ST_NO_SYNC 0x00010000 +#define V4L2_IN_ST_NO_EQU 0x00020000 +#define V4L2_IN_ST_NO_CARRIER 0x00040000 +#define V4L2_IN_ST_MACROVISION 0x01000000 +#define V4L2_IN_ST_NO_ACCESS 0x02000000 +#define V4L2_IN_ST_VTR 0x04000000 +#define V4L2_IN_CAP_DV_TIMINGS 0x00000002 +#define V4L2_IN_CAP_CUSTOM_TIMINGS V4L2_IN_CAP_DV_TIMINGS +#define V4L2_IN_CAP_STD 0x00000004 +#define V4L2_IN_CAP_NATIVE_SIZE 0x00000008 +struct v4l2_output { + __u32 index; + __u8 name[32]; + __u32 type; + __u32 audioset; + __u32 modulator; + v4l2_std_id std; + __u32 capabilities; + __u32 reserved[3]; +}; +#define V4L2_OUTPUT_TYPE_MODULATOR 1 +#define V4L2_OUTPUT_TYPE_ANALOG 2 +#define V4L2_OUTPUT_TYPE_ANALOGVGAOVERLAY 3 +#define V4L2_OUT_CAP_DV_TIMINGS 0x00000002 +#define V4L2_OUT_CAP_CUSTOM_TIMINGS V4L2_OUT_CAP_DV_TIMINGS +#define V4L2_OUT_CAP_STD 0x00000004 +#define V4L2_OUT_CAP_NATIVE_SIZE 0x00000008 +struct v4l2_control { + __u32 id; + __s32 value; +}; +struct v4l2_ext_control { + __u32 id; + __u32 size; + __u32 reserved2[1]; + union { + __s32 value; + __s64 value64; + char __user *string; + __u8 __user *p_u8; + __u16 __user *p_u16; + __u32 __user *p_u32; + struct v4l2_area __user *p_area; + void __user *ptr; + }; +} __attribute__ ((packed)); +struct v4l2_ext_controls { + union { +#ifndef __KERNEL__ + __u32 ctrl_class; +#endif + __u32 which; + }; + __u32 count; + __u32 error_idx; + __s32 request_fd; + __u32 reserved[1]; + struct v4l2_ext_control *controls; +}; +#define V4L2_CTRL_ID_MASK (0x0fffffff) +#ifndef __KERNEL__ +#define V4L2_CTRL_ID2CLASS(id) ((id) & 0x0fff0000UL) +#endif +#define V4L2_CTRL_ID2WHICH(id) ((id) & 0x0fff0000UL) +#define V4L2_CTRL_DRIVER_PRIV(id) (((id) & 0xffff) >= 0x1000) +#define V4L2_CTRL_MAX_DIMS (4) +#define V4L2_CTRL_WHICH_CUR_VAL 0 +#define V4L2_CTRL_WHICH_DEF_VAL 0x0f000000 +#define V4L2_CTRL_WHICH_REQUEST_VAL 0x0f010000 +enum v4l2_ctrl_type { + V4L2_CTRL_TYPE_INTEGER = 1, + V4L2_CTRL_TYPE_BOOLEAN = 2, + V4L2_CTRL_TYPE_MENU = 3, + V4L2_CTRL_TYPE_BUTTON = 4, + V4L2_CTRL_TYPE_INTEGER64 = 5, + V4L2_CTRL_TYPE_CTRL_CLASS = 6, + V4L2_CTRL_TYPE_STRING = 7, + V4L2_CTRL_TYPE_BITMASK = 8, + V4L2_CTRL_TYPE_INTEGER_MENU = 9, + + V4L2_CTRL_COMPOUND_TYPES = 0x0100, + V4L2_CTRL_TYPE_U8 = 0x0100, + V4L2_CTRL_TYPE_U16 = 0x0101, + V4L2_CTRL_TYPE_U32 = 0x0102, + V4L2_CTRL_TYPE_AREA = 0x0106, +}; +struct v4l2_queryctrl { + __u32 id; + __u32 type; + __u8 name[32]; + __s32 minimum; + __s32 maximum; + __s32 step; + __s32 default_value; + __u32 flags; + __u32 reserved[2]; +}; +struct v4l2_query_ext_ctrl { + __u32 id; + __u32 type; + char name[32]; + __s64 minimum; + __s64 maximum; + __u64 step; + __s64 default_value; + __u32 flags; + __u32 elem_size; + __u32 elems; + __u32 nr_of_dims; + __u32 dims[V4L2_CTRL_MAX_DIMS]; + __u32 reserved[32]; +}; +struct v4l2_querymenu { + __u32 id; + __u32 index; + union { + __u8 name[32]; + __s64 value; + }; + __u32 reserved; +} __attribute__ ((packed)); +#define V4L2_CTRL_FLAG_DISABLED 0x0001 +#define V4L2_CTRL_FLAG_GRABBED 0x0002 +#define V4L2_CTRL_FLAG_READ_ONLY 0x0004 +#define V4L2_CTRL_FLAG_UPDATE 0x0008 +#define V4L2_CTRL_FLAG_INACTIVE 0x0010 +#define V4L2_CTRL_FLAG_SLIDER 0x0020 +#define V4L2_CTRL_FLAG_WRITE_ONLY 0x0040 +#define V4L2_CTRL_FLAG_VOLATILE 0x0080 +#define V4L2_CTRL_FLAG_HAS_PAYLOAD 0x0100 +#define V4L2_CTRL_FLAG_EXECUTE_ON_WRITE 0x0200 +#define V4L2_CTRL_FLAG_MODIFY_LAYOUT 0x0400 +#define V4L2_CTRL_FLAG_NEXT_CTRL 0x80000000 +#define V4L2_CTRL_FLAG_NEXT_COMPOUND 0x40000000 +#define V4L2_CID_MAX_CTRLS 1024 +#define V4L2_CID_PRIVATE_BASE 0x08000000 +struct v4l2_tuner { + __u32 index; + __u8 name[32]; + __u32 type; + __u32 capability; + __u32 rangelow; + __u32 rangehigh; + __u32 rxsubchans; + __u32 audmode; + __s32 signal; + __s32 afc; + __u32 reserved[4]; +}; +struct v4l2_modulator { + __u32 index; + __u8 name[32]; + __u32 capability; + __u32 rangelow; + __u32 rangehigh; + __u32 txsubchans; + __u32 type; + __u32 reserved[3]; +}; +#define V4L2_TUNER_CAP_LOW 0x0001 +#define V4L2_TUNER_CAP_NORM 0x0002 +#define V4L2_TUNER_CAP_HWSEEK_BOUNDED 0x0004 +#define V4L2_TUNER_CAP_HWSEEK_WRAP 0x0008 +#define V4L2_TUNER_CAP_STEREO 0x0010 +#define V4L2_TUNER_CAP_LANG2 0x0020 +#define V4L2_TUNER_CAP_SAP 0x0020 +#define V4L2_TUNER_CAP_LANG1 0x0040 +#define V4L2_TUNER_CAP_RDS 0x0080 +#define V4L2_TUNER_CAP_RDS_BLOCK_IO 0x0100 +#define V4L2_TUNER_CAP_RDS_CONTROLS 0x0200 +#define V4L2_TUNER_CAP_FREQ_BANDS 0x0400 +#define V4L2_TUNER_CAP_HWSEEK_PROG_LIM 0x0800 +#define V4L2_TUNER_CAP_1HZ 0x1000 +#define V4L2_TUNER_SUB_MONO 0x0001 +#define V4L2_TUNER_SUB_STEREO 0x0002 +#define V4L2_TUNER_SUB_LANG2 0x0004 +#define V4L2_TUNER_SUB_SAP 0x0004 +#define V4L2_TUNER_SUB_LANG1 0x0008 +#define V4L2_TUNER_SUB_RDS 0x0010 +#define V4L2_TUNER_MODE_MONO 0x0000 +#define V4L2_TUNER_MODE_STEREO 0x0001 +#define V4L2_TUNER_MODE_LANG2 0x0002 +#define V4L2_TUNER_MODE_SAP 0x0002 +#define V4L2_TUNER_MODE_LANG1 0x0003 +#define V4L2_TUNER_MODE_LANG1_LANG2 0x0004 +struct v4l2_frequency { + __u32 tuner; + __u32 type; + __u32 frequency; + __u32 reserved[8]; +}; +#define V4L2_BAND_MODULATION_VSB (1 << 1) +#define V4L2_BAND_MODULATION_FM (1 << 2) +#define V4L2_BAND_MODULATION_AM (1 << 3) +struct v4l2_frequency_band { + __u32 tuner; + __u32 type; + __u32 index; + __u32 capability; + __u32 rangelow; + __u32 rangehigh; + __u32 modulation; + __u32 reserved[9]; +}; +struct v4l2_hw_freq_seek { + __u32 tuner; + __u32 type; + __u32 seek_upward; + __u32 wrap_around; + __u32 spacing; + __u32 rangelow; + __u32 rangehigh; + __u32 reserved[5]; +}; +struct v4l2_rds_data { + __u8 lsb; + __u8 msb; + __u8 block; +} __attribute__ ((packed)); +#define V4L2_RDS_BLOCK_MSK 0x7 +#define V4L2_RDS_BLOCK_A 0 +#define V4L2_RDS_BLOCK_B 1 +#define V4L2_RDS_BLOCK_C 2 +#define V4L2_RDS_BLOCK_D 3 +#define V4L2_RDS_BLOCK_C_ALT 4 +#define V4L2_RDS_BLOCK_INVALID 7 +#define V4L2_RDS_BLOCK_CORRECTED 0x40 +#define V4L2_RDS_BLOCK_ERROR 0x80 +struct v4l2_audio { + __u32 index; + __u8 name[32]; + __u32 capability; + __u32 mode; + __u32 reserved[2]; +}; +#define V4L2_AUDCAP_STEREO 0x00001 +#define V4L2_AUDCAP_AVL 0x00002 +#define V4L2_AUDMODE_AVL 0x00001 +struct v4l2_audioout { + __u32 index; + __u8 name[32]; + __u32 capability; + __u32 mode; + __u32 reserved[2]; +}; +#if 1 +#define V4L2_ENC_IDX_FRAME_I (0) +#define V4L2_ENC_IDX_FRAME_P (1) +#define V4L2_ENC_IDX_FRAME_B (2) +#define V4L2_ENC_IDX_FRAME_MASK (0xf) +struct v4l2_enc_idx_entry { + __u64 offset; + __u64 pts; + __u32 length; + __u32 flags; + __u32 reserved[2]; +}; +#define V4L2_ENC_IDX_ENTRIES (64) +struct v4l2_enc_idx { + __u32 entries; + __u32 entries_cap; + __u32 reserved[4]; + struct v4l2_enc_idx_entry entry[V4L2_ENC_IDX_ENTRIES]; +}; +#define V4L2_ENC_CMD_START (0) +#define V4L2_ENC_CMD_STOP (1) +#define V4L2_ENC_CMD_PAUSE (2) +#define V4L2_ENC_CMD_RESUME (3) +#define V4L2_ENC_CMD_STOP_AT_GOP_END (1 << 0) +struct v4l2_encoder_cmd { + __u32 cmd; + __u32 flags; + union { + struct { + __u32 data[8]; + } raw; + }; +}; +#define V4L2_DEC_CMD_START (0) +#define V4L2_DEC_CMD_STOP (1) +#define V4L2_DEC_CMD_PAUSE (2) +#define V4L2_DEC_CMD_RESUME (3) +#define V4L2_DEC_CMD_FLUSH (4) +#define V4L2_DEC_CMD_START_MUTE_AUDIO (1 << 0) +#define V4L2_DEC_CMD_PAUSE_TO_BLACK (1 << 0) +#define V4L2_DEC_CMD_STOP_TO_BLACK (1 << 0) +#define V4L2_DEC_CMD_STOP_IMMEDIATELY (1 << 1) +#define V4L2_DEC_START_FMT_NONE (0) +#define V4L2_DEC_START_FMT_GOP (1) +struct v4l2_decoder_cmd { + __u32 cmd; + __u32 flags; + union { + struct { + __u64 pts; + } stop; + struct { + + __s32 speed; + __u32 format; + } start; + struct { + __u32 data[16]; + } raw; + }; +}; +#endif +struct v4l2_vbi_format { + __u32 sampling_rate; + __u32 offset; + __u32 samples_per_line; + __u32 sample_format; + __s32 start[2]; + __u32 count[2]; + __u32 flags; + __u32 reserved[2]; +}; +#define V4L2_VBI_UNSYNC (1 << 0) +#define V4L2_VBI_INTERLACED (1 << 1) +#define V4L2_VBI_ITU_525_F1_START (1) +#define V4L2_VBI_ITU_525_F2_START (264) +#define V4L2_VBI_ITU_625_F1_START (1) +#define V4L2_VBI_ITU_625_F2_START (314) +struct v4l2_sliced_vbi_format { + __u16 service_set; + + __u16 service_lines[2][24]; + __u32 io_size; + __u32 reserved[2]; +}; +#define V4L2_SLICED_TELETEXT_B (0x0001) +#define V4L2_SLICED_VPS (0x0400) +#define V4L2_SLICED_CAPTION_525 (0x1000) +#define V4L2_SLICED_WSS_625 (0x4000) +#define V4L2_SLICED_VBI_525 (V4L2_SLICED_CAPTION_525) +#define V4L2_SLICED_VBI_625 (V4L2_SLICED_TELETEXT_B | V4L2_SLICED_VPS | V4L2_SLICED_WSS_625) +struct v4l2_sliced_vbi_cap { + __u16 service_set; + + __u16 service_lines[2][24]; + __u32 type; + __u32 reserved[3]; +}; +struct v4l2_sliced_vbi_data { + __u32 id; + __u32 field; + __u32 line; + __u32 reserved; + __u8 data[48]; +}; +#define V4L2_MPEG_VBI_IVTV_TELETEXT_B (1) +#define V4L2_MPEG_VBI_IVTV_CAPTION_525 (4) +#define V4L2_MPEG_VBI_IVTV_WSS_625 (5) +#define V4L2_MPEG_VBI_IVTV_VPS (7) +struct v4l2_mpeg_vbi_itv0_line { + __u8 id; + __u8 data[42]; +} __attribute__ ((packed)); +struct v4l2_mpeg_vbi_itv0 { + __le32 linemask[2]; + struct v4l2_mpeg_vbi_itv0_line line[35]; +} __attribute__ ((packed)); +struct v4l2_mpeg_vbi_ITV0 { + struct v4l2_mpeg_vbi_itv0_line line[36]; +} __attribute__ ((packed)); +#define V4L2_MPEG_VBI_IVTV_MAGIC0 "itv0" +#define V4L2_MPEG_VBI_IVTV_MAGIC1 "ITV0" +struct v4l2_mpeg_vbi_fmt_ivtv { + __u8 magic[4]; + union { + struct v4l2_mpeg_vbi_itv0 itv0; + struct v4l2_mpeg_vbi_ITV0 ITV0; + }; +} __attribute__ ((packed)); +struct v4l2_plane_pix_format { + __u32 sizeimage; + __u32 bytesperline; + __u16 reserved[6]; +} __attribute__ ((packed)); +struct v4l2_pix_format_mplane { + __u32 width; + __u32 height; + __u32 pixelformat; + __u32 field; + __u32 colorspace; + struct v4l2_plane_pix_format plane_fmt[VIDEO_MAX_PLANES]; + __u8 num_planes; + __u8 flags; + union { + __u8 ycbcr_enc; + __u8 hsv_enc; + }; + __u8 quantization; + __u8 xfer_func; + __u8 reserved[7]; +} __attribute__ ((packed)); +struct v4l2_sdr_format { + __u32 pixelformat; + __u32 buffersize; + __u8 reserved[24]; +} __attribute__ ((packed)); +struct v4l2_meta_format { + __u32 dataformat; + __u32 buffersize; +} __attribute__ ((packed)); +struct v4l2_format { + __u32 type; + union { + struct v4l2_pix_format pix; + struct v4l2_pix_format_mplane pix_mp; + struct v4l2_window win; + struct v4l2_vbi_format vbi; + struct v4l2_sliced_vbi_format sliced; + struct v4l2_sdr_format sdr; + struct v4l2_meta_format meta; + __u8 raw_data[200]; + } fmt; +}; +struct v4l2_streamparm { + __u32 type; + union { + struct v4l2_captureparm capture; + struct v4l2_outputparm output; + __u8 raw_data[200]; + } parm; +}; +#define V4L2_EVENT_ALL 0 +#define V4L2_EVENT_VSYNC 1 +#define V4L2_EVENT_EOS 2 +#define V4L2_EVENT_CTRL 3 +#define V4L2_EVENT_FRAME_SYNC 4 +#define V4L2_EVENT_SOURCE_CHANGE 5 +#define V4L2_EVENT_MOTION_DET 6 +#define V4L2_EVENT_PRIVATE_START 0x08000000 +struct v4l2_event_vsync { + + __u8 field; +} __attribute__ ((packed)); +#define V4L2_EVENT_CTRL_CH_VALUE (1 << 0) +#define V4L2_EVENT_CTRL_CH_FLAGS (1 << 1) +#define V4L2_EVENT_CTRL_CH_RANGE (1 << 2) +struct v4l2_event_ctrl { + __u32 changes; + __u32 type; + union { + __s32 value; + __s64 value64; + }; + __u32 flags; + __s32 minimum; + __s32 maximum; + __s32 step; + __s32 default_value; +}; +struct v4l2_event_frame_sync { + __u32 frame_sequence; +}; +#define V4L2_EVENT_SRC_CH_RESOLUTION (1 << 0) +struct v4l2_event_src_change { + __u32 changes; +}; +#define V4L2_EVENT_MD_FL_HAVE_FRAME_SEQ (1 << 0) +struct v4l2_event_motion_det { + __u32 flags; + __u32 frame_sequence; + __u32 region_mask; +}; +struct v4l2_event { + __u32 type; + union { + struct v4l2_event_vsync vsync; + struct v4l2_event_ctrl ctrl; + struct v4l2_event_frame_sync frame_sync; + struct v4l2_event_src_change src_change; + struct v4l2_event_motion_det motion_det; + __u8 data[64]; + } u; + __u32 pending; + __u32 sequence; +#ifdef __KERNEL__ + struct __kernel_timespec timestamp; +#else + struct timespec timestamp; +#endif + __u32 id; + __u32 reserved[8]; +}; +#define V4L2_EVENT_SUB_FL_SEND_INITIAL (1 << 0) +#define V4L2_EVENT_SUB_FL_ALLOW_FEEDBACK (1 << 1) +struct v4l2_event_subscription { + __u32 type; + __u32 id; + __u32 flags; + __u32 reserved[5]; +}; +#define V4L2_CHIP_MATCH_BRIDGE 0 +#define V4L2_CHIP_MATCH_SUBDEV 4 +#define V4L2_CHIP_MATCH_HOST V4L2_CHIP_MATCH_BRIDGE +#define V4L2_CHIP_MATCH_I2C_DRIVER 1 +#define V4L2_CHIP_MATCH_I2C_ADDR 2 +#define V4L2_CHIP_MATCH_AC97 3 +struct v4l2_dbg_match { + __u32 type; + union { + __u32 addr; + char name[32]; + }; +} __attribute__ ((packed)); +struct v4l2_dbg_register { + struct v4l2_dbg_match match; + __u32 size; + __u64 reg; + __u64 val; +} __attribute__ ((packed)); +#define V4L2_CHIP_FL_READABLE (1 << 0) +#define V4L2_CHIP_FL_WRITABLE (1 << 1) +struct v4l2_dbg_chip_info { + struct v4l2_dbg_match match; + char name[32]; + __u32 flags; + __u32 reserved[32]; +} __attribute__ ((packed)); +struct v4l2_create_buffers { + __u32 index; + __u32 count; + __u32 memory; + struct v4l2_format format; + __u32 capabilities; + __u32 reserved[7]; +}; +#define VIDIOC_QUERYCAP _IOR('V', 0, struct v4l2_capability) +#define VIDIOC_ENUM_FMT _IOWR('V', 2, struct v4l2_fmtdesc) +#define VIDIOC_G_FMT _IOWR('V', 4, struct v4l2_format) +#define VIDIOC_S_FMT _IOWR('V', 5, struct v4l2_format) +#define VIDIOC_REQBUFS _IOWR('V', 8, struct v4l2_requestbuffers) +#define VIDIOC_QUERYBUF _IOWR('V', 9, struct v4l2_buffer) +#define VIDIOC_G_FBUF _IOR('V', 10, struct v4l2_framebuffer) +#define VIDIOC_S_FBUF _IOW('V', 11, struct v4l2_framebuffer) +#define VIDIOC_OVERLAY _IOW('V', 14, int) +#define VIDIOC_QBUF _IOWR('V', 15, struct v4l2_buffer) +#define VIDIOC_EXPBUF _IOWR('V', 16, struct v4l2_exportbuffer) +#define VIDIOC_DQBUF _IOWR('V', 17, struct v4l2_buffer) +#define VIDIOC_STREAMON _IOW('V', 18, int) +#define VIDIOC_STREAMOFF _IOW('V', 19, int) +#define VIDIOC_G_PARM _IOWR('V', 21, struct v4l2_streamparm) +#define VIDIOC_S_PARM _IOWR('V', 22, struct v4l2_streamparm) +#define VIDIOC_G_STD _IOR('V', 23, v4l2_std_id) +#define VIDIOC_S_STD _IOW('V', 24, v4l2_std_id) +#define VIDIOC_ENUMSTD _IOWR('V', 25, struct v4l2_standard) +#define VIDIOC_ENUMINPUT _IOWR('V', 26, struct v4l2_input) +#define VIDIOC_G_CTRL _IOWR('V', 27, struct v4l2_control) +#define VIDIOC_S_CTRL _IOWR('V', 28, struct v4l2_control) +#define VIDIOC_G_TUNER _IOWR('V', 29, struct v4l2_tuner) +#define VIDIOC_S_TUNER _IOW('V', 30, struct v4l2_tuner) +#define VIDIOC_G_AUDIO _IOR('V', 33, struct v4l2_audio) +#define VIDIOC_S_AUDIO _IOW('V', 34, struct v4l2_audio) +#define VIDIOC_QUERYCTRL _IOWR('V', 36, struct v4l2_queryctrl) +#define VIDIOC_QUERYMENU _IOWR('V', 37, struct v4l2_querymenu) +#define VIDIOC_G_INPUT _IOR('V', 38, int) +#define VIDIOC_S_INPUT _IOWR('V', 39, int) +#define VIDIOC_G_EDID _IOWR('V', 40, struct v4l2_edid) +#define VIDIOC_S_EDID _IOWR('V', 41, struct v4l2_edid) +#define VIDIOC_G_OUTPUT _IOR('V', 46, int) +#define VIDIOC_S_OUTPUT _IOWR('V', 47, int) +#define VIDIOC_ENUMOUTPUT _IOWR('V', 48, struct v4l2_output) +#define VIDIOC_G_AUDOUT _IOR('V', 49, struct v4l2_audioout) +#define VIDIOC_S_AUDOUT _IOW('V', 50, struct v4l2_audioout) +#define VIDIOC_G_MODULATOR _IOWR('V', 54, struct v4l2_modulator) +#define VIDIOC_S_MODULATOR _IOW('V', 55, struct v4l2_modulator) +#define VIDIOC_G_FREQUENCY _IOWR('V', 56, struct v4l2_frequency) +#define VIDIOC_S_FREQUENCY _IOW('V', 57, struct v4l2_frequency) +#define VIDIOC_CROPCAP _IOWR('V', 58, struct v4l2_cropcap) +#define VIDIOC_G_CROP _IOWR('V', 59, struct v4l2_crop) +#define VIDIOC_S_CROP _IOW('V', 60, struct v4l2_crop) +#define VIDIOC_G_JPEGCOMP _IOR('V', 61, struct v4l2_jpegcompression) +#define VIDIOC_S_JPEGCOMP _IOW('V', 62, struct v4l2_jpegcompression) +#define VIDIOC_QUERYSTD _IOR('V', 63, v4l2_std_id) +#define VIDIOC_TRY_FMT _IOWR('V', 64, struct v4l2_format) +#define VIDIOC_ENUMAUDIO _IOWR('V', 65, struct v4l2_audio) +#define VIDIOC_ENUMAUDOUT _IOWR('V', 66, struct v4l2_audioout) +#define VIDIOC_G_PRIORITY _IOR('V', 67, __u32) +#define VIDIOC_S_PRIORITY _IOW('V', 68, __u32) +#define VIDIOC_G_SLICED_VBI_CAP _IOWR('V', 69, struct v4l2_sliced_vbi_cap) +#define VIDIOC_LOG_STATUS _IO('V', 70) +#define VIDIOC_G_EXT_CTRLS _IOWR('V', 71, struct v4l2_ext_controls) +#define VIDIOC_S_EXT_CTRLS _IOWR('V', 72, struct v4l2_ext_controls) +#define VIDIOC_TRY_EXT_CTRLS _IOWR('V', 73, struct v4l2_ext_controls) +#define VIDIOC_ENUM_FRAMESIZES _IOWR('V', 74, struct v4l2_frmsizeenum) +#define VIDIOC_ENUM_FRAMEINTERVALS _IOWR('V', 75, struct v4l2_frmivalenum) +#define VIDIOC_G_ENC_INDEX _IOR('V', 76, struct v4l2_enc_idx) +#define VIDIOC_ENCODER_CMD _IOWR('V', 77, struct v4l2_encoder_cmd) +#define VIDIOC_TRY_ENCODER_CMD _IOWR('V', 78, struct v4l2_encoder_cmd) +#define VIDIOC_DBG_S_REGISTER _IOW('V', 79, struct v4l2_dbg_register) +#define VIDIOC_DBG_G_REGISTER _IOWR('V', 80, struct v4l2_dbg_register) +#define VIDIOC_S_HW_FREQ_SEEK _IOW('V', 82, struct v4l2_hw_freq_seek) +#define VIDIOC_S_DV_TIMINGS _IOWR('V', 87, struct v4l2_dv_timings) +#define VIDIOC_G_DV_TIMINGS _IOWR('V', 88, struct v4l2_dv_timings) +#define VIDIOC_DQEVENT _IOR('V', 89, struct v4l2_event) +#define VIDIOC_SUBSCRIBE_EVENT _IOW('V', 90, struct v4l2_event_subscription) +#define VIDIOC_UNSUBSCRIBE_EVENT _IOW('V', 91, struct v4l2_event_subscription) +#define VIDIOC_CREATE_BUFS _IOWR('V', 92, struct v4l2_create_buffers) +#define VIDIOC_PREPARE_BUF _IOWR('V', 93, struct v4l2_buffer) +#define VIDIOC_G_SELECTION _IOWR('V', 94, struct v4l2_selection) +#define VIDIOC_S_SELECTION _IOWR('V', 95, struct v4l2_selection) +#define VIDIOC_DECODER_CMD _IOWR('V', 96, struct v4l2_decoder_cmd) +#define VIDIOC_TRY_DECODER_CMD _IOWR('V', 97, struct v4l2_decoder_cmd) +#define VIDIOC_ENUM_DV_TIMINGS _IOWR('V', 98, struct v4l2_enum_dv_timings) +#define VIDIOC_QUERY_DV_TIMINGS _IOR('V', 99, struct v4l2_dv_timings) +#define VIDIOC_DV_TIMINGS_CAP _IOWR('V', 100, struct v4l2_dv_timings_cap) +#define VIDIOC_ENUM_FREQ_BANDS _IOWR('V', 101, struct v4l2_frequency_band) +#define VIDIOC_DBG_G_CHIP_INFO _IOWR('V', 102, struct v4l2_dbg_chip_info) +#define VIDIOC_QUERY_EXT_CTRL _IOWR('V', 103, struct v4l2_query_ext_ctrl) +#define BASE_VIDIOC_PRIVATE 192 +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/virtio_9p.h b/linux-5.10/prebuilts/usr/include/linux/virtio_9p.h new file mode 100644 index 0000000..5e844bd --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/virtio_9p.h @@ -0,0 +1,18 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _LINUX_VIRTIO_9P_H +#define _LINUX_VIRTIO_9P_H +#include +#include +#include +#define VIRTIO_9P_MOUNT_TAG 0 +struct virtio_9p_config { + + __virtio16 tag_len; + + __u8 tag[0]; +} __attribute__((packed)); +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/virtio_balloon.h b/linux-5.10/prebuilts/usr/include/linux/virtio_balloon.h new file mode 100644 index 0000000..7cceabe --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/virtio_balloon.h @@ -0,0 +1,62 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _LINUX_VIRTIO_BALLOON_H +#define _LINUX_VIRTIO_BALLOON_H +#include +#include +#include +#include +#define VIRTIO_BALLOON_F_MUST_TELL_HOST 0 +#define VIRTIO_BALLOON_F_STATS_VQ 1 +#define VIRTIO_BALLOON_F_DEFLATE_ON_OOM 2 +#define VIRTIO_BALLOON_F_FREE_PAGE_HINT 3 +#define VIRTIO_BALLOON_F_PAGE_POISON 4 +#define VIRTIO_BALLOON_F_REPORTING 5 +#define VIRTIO_BALLOON_PFN_SHIFT 12 +#define VIRTIO_BALLOON_CMD_ID_STOP 0 +#define VIRTIO_BALLOON_CMD_ID_DONE 1 +struct virtio_balloon_config { + + __le32 num_pages; + + __le32 actual; + + union { + __le32 free_page_hint_cmd_id; + __le32 free_page_report_cmd_id; + }; + + __le32 poison_val; +}; +#define VIRTIO_BALLOON_S_SWAP_IN 0 +#define VIRTIO_BALLOON_S_SWAP_OUT 1 +#define VIRTIO_BALLOON_S_MAJFLT 2 +#define VIRTIO_BALLOON_S_MINFLT 3 +#define VIRTIO_BALLOON_S_MEMFREE 4 +#define VIRTIO_BALLOON_S_MEMTOT 5 +#define VIRTIO_BALLOON_S_AVAIL 6 +#define VIRTIO_BALLOON_S_CACHES 7 +#define VIRTIO_BALLOON_S_HTLB_PGALLOC 8 +#define VIRTIO_BALLOON_S_HTLB_PGFAIL 9 +#define VIRTIO_BALLOON_S_NR 10 +#define VIRTIO_BALLOON_S_NAMES_WITH_PREFIX(VIRTIO_BALLOON_S_NAMES_prefix) { \ + VIRTIO_BALLOON_S_NAMES_prefix "swap-in", \ + VIRTIO_BALLOON_S_NAMES_prefix "swap-out", \ + VIRTIO_BALLOON_S_NAMES_prefix "major-faults", \ + VIRTIO_BALLOON_S_NAMES_prefix "minor-faults", \ + VIRTIO_BALLOON_S_NAMES_prefix "free-memory", \ + VIRTIO_BALLOON_S_NAMES_prefix "total-memory", \ + VIRTIO_BALLOON_S_NAMES_prefix "available-memory", \ + VIRTIO_BALLOON_S_NAMES_prefix "disk-caches", \ + VIRTIO_BALLOON_S_NAMES_prefix "hugetlb-allocations", \ + VIRTIO_BALLOON_S_NAMES_prefix "hugetlb-failures" \ +} +#define VIRTIO_BALLOON_S_NAMES VIRTIO_BALLOON_S_NAMES_WITH_PREFIX("") +struct virtio_balloon_stat { + __virtio16 tag; + __virtio64 val; +} __attribute__((packed)); +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/virtio_blk.h b/linux-5.10/prebuilts/usr/include/linux/virtio_blk.h new file mode 100644 index 0000000..b252819 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/virtio_blk.h @@ -0,0 +1,116 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _LINUX_VIRTIO_BLK_H +#define _LINUX_VIRTIO_BLK_H +#include +#include +#include +#include +#define VIRTIO_BLK_F_SIZE_MAX 1 +#define VIRTIO_BLK_F_SEG_MAX 2 +#define VIRTIO_BLK_F_GEOMETRY 4 +#define VIRTIO_BLK_F_RO 5 +#define VIRTIO_BLK_F_BLK_SIZE 6 +#define VIRTIO_BLK_F_TOPOLOGY 10 +#define VIRTIO_BLK_F_MQ 12 +#define VIRTIO_BLK_F_DISCARD 13 +#define VIRTIO_BLK_F_WRITE_ZEROES 14 +#ifndef VIRTIO_BLK_NO_LEGACY +#define VIRTIO_BLK_F_BARRIER 0 +#define VIRTIO_BLK_F_SCSI 7 +#define VIRTIO_BLK_F_FLUSH 9 +#define VIRTIO_BLK_F_CONFIG_WCE 11 +#ifndef __KERNEL__ +#define VIRTIO_BLK_F_WCE VIRTIO_BLK_F_FLUSH +#endif +#endif +#define VIRTIO_BLK_ID_BYTES 20 +struct virtio_blk_config { + + __virtio64 capacity; + + __virtio32 size_max; + + __virtio32 seg_max; + + struct virtio_blk_geometry { + __virtio16 cylinders; + __u8 heads; + __u8 sectors; + } geometry; + + __virtio32 blk_size; + + + __u8 physical_block_exp; + + __u8 alignment_offset; + + __virtio16 min_io_size; + + __virtio32 opt_io_size; + + __u8 wce; + __u8 unused; + + __virtio16 num_queues; + + + __virtio32 max_discard_sectors; + + __virtio32 max_discard_seg; + + __virtio32 discard_sector_alignment; + + + __virtio32 max_write_zeroes_sectors; + + __virtio32 max_write_zeroes_seg; + + __u8 write_zeroes_may_unmap; + __u8 unused1[3]; +} __attribute__((packed)); +#define VIRTIO_BLK_T_IN 0 +#define VIRTIO_BLK_T_OUT 1 +#ifndef VIRTIO_BLK_NO_LEGACY +#define VIRTIO_BLK_T_SCSI_CMD 2 +#endif +#define VIRTIO_BLK_T_FLUSH 4 +#define VIRTIO_BLK_T_GET_ID 8 +#define VIRTIO_BLK_T_DISCARD 11 +#define VIRTIO_BLK_T_WRITE_ZEROES 13 +#ifndef VIRTIO_BLK_NO_LEGACY +#define VIRTIO_BLK_T_BARRIER 0x80000000 +#endif +struct virtio_blk_outhdr { + + __virtio32 type; + + __virtio32 ioprio; + + __virtio64 sector; +}; +#define VIRTIO_BLK_WRITE_ZEROES_FLAG_UNMAP 0x00000001 +struct virtio_blk_discard_write_zeroes { + + __le64 sector; + + __le32 num_sectors; + + __le32 flags; +}; +#ifndef VIRTIO_BLK_NO_LEGACY +struct virtio_scsi_inhdr { + __virtio32 errors; + __virtio32 data_len; + __virtio32 sense_len; + __virtio32 residual; +}; +#endif +#define VIRTIO_BLK_S_OK 0 +#define VIRTIO_BLK_S_IOERR 1 +#define VIRTIO_BLK_S_UNSUPP 2 +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/virtio_config.h b/linux-5.10/prebuilts/usr/include/linux/virtio_config.h new file mode 100644 index 0000000..ea86c03 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/virtio_config.h @@ -0,0 +1,29 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI_LINUX_VIRTIO_CONFIG_H +#define _UAPI_LINUX_VIRTIO_CONFIG_H +#include +#define VIRTIO_CONFIG_S_ACKNOWLEDGE 1 +#define VIRTIO_CONFIG_S_DRIVER 2 +#define VIRTIO_CONFIG_S_DRIVER_OK 4 +#define VIRTIO_CONFIG_S_FEATURES_OK 8 +#define VIRTIO_CONFIG_S_NEEDS_RESET 0x40 +#define VIRTIO_CONFIG_S_FAILED 0x80 +#define VIRTIO_TRANSPORT_F_START 28 +#define VIRTIO_TRANSPORT_F_END 38 +#ifndef VIRTIO_CONFIG_NO_LEGACY +#define VIRTIO_F_NOTIFY_ON_EMPTY 24 +#define VIRTIO_F_ANY_LAYOUT 27 +#endif +#define VIRTIO_F_VERSION_1 32 +#define VIRTIO_F_ACCESS_PLATFORM 33 +#ifndef __KERNEL__ +#define VIRTIO_F_IOMMU_PLATFORM VIRTIO_F_ACCESS_PLATFORM +#endif +#define VIRTIO_F_RING_PACKED 34 +#define VIRTIO_F_ORDER_PLATFORM 36 +#define VIRTIO_F_SR_IOV 37 +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/virtio_console.h b/linux-5.10/prebuilts/usr/include/linux/virtio_console.h new file mode 100644 index 0000000..7e062ac --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/virtio_console.h @@ -0,0 +1,39 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI_LINUX_VIRTIO_CONSOLE_H +#define _UAPI_LINUX_VIRTIO_CONSOLE_H +#include +#include +#include +#include +#define VIRTIO_CONSOLE_F_SIZE 0 +#define VIRTIO_CONSOLE_F_MULTIPORT 1 +#define VIRTIO_CONSOLE_F_EMERG_WRITE 2 +#define VIRTIO_CONSOLE_BAD_ID (~(__u32)0) +struct virtio_console_config { + + __virtio16 cols; + + __virtio16 rows; + + __virtio32 max_nr_ports; + + __virtio32 emerg_wr; +} __attribute__((packed)); +struct virtio_console_control { + __virtio32 id; + __virtio16 event; + __virtio16 value; +}; +#define VIRTIO_CONSOLE_DEVICE_READY 0 +#define VIRTIO_CONSOLE_PORT_ADD 1 +#define VIRTIO_CONSOLE_PORT_REMOVE 2 +#define VIRTIO_CONSOLE_PORT_READY 3 +#define VIRTIO_CONSOLE_CONSOLE_PORT 4 +#define VIRTIO_CONSOLE_RESIZE 5 +#define VIRTIO_CONSOLE_PORT_OPEN 6 +#define VIRTIO_CONSOLE_PORT_NAME 7 +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/virtio_crypto.h b/linux-5.10/prebuilts/usr/include/linux/virtio_crypto.h new file mode 100644 index 0000000..ea899e8 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/virtio_crypto.h @@ -0,0 +1,347 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _VIRTIO_CRYPTO_H +#define _VIRTIO_CRYPTO_H +#include +#include +#include +#include +#define VIRTIO_CRYPTO_SERVICE_CIPHER 0 +#define VIRTIO_CRYPTO_SERVICE_HASH 1 +#define VIRTIO_CRYPTO_SERVICE_MAC 2 +#define VIRTIO_CRYPTO_SERVICE_AEAD 3 +#define VIRTIO_CRYPTO_OPCODE(service, op) (((service) << 8) | (op)) +struct virtio_crypto_ctrl_header { +#define VIRTIO_CRYPTO_CIPHER_CREATE_SESSION \ + VIRTIO_CRYPTO_OPCODE(VIRTIO_CRYPTO_SERVICE_CIPHER, 0x02) +#define VIRTIO_CRYPTO_CIPHER_DESTROY_SESSION \ + VIRTIO_CRYPTO_OPCODE(VIRTIO_CRYPTO_SERVICE_CIPHER, 0x03) +#define VIRTIO_CRYPTO_HASH_CREATE_SESSION \ + VIRTIO_CRYPTO_OPCODE(VIRTIO_CRYPTO_SERVICE_HASH, 0x02) +#define VIRTIO_CRYPTO_HASH_DESTROY_SESSION \ + VIRTIO_CRYPTO_OPCODE(VIRTIO_CRYPTO_SERVICE_HASH, 0x03) +#define VIRTIO_CRYPTO_MAC_CREATE_SESSION \ + VIRTIO_CRYPTO_OPCODE(VIRTIO_CRYPTO_SERVICE_MAC, 0x02) +#define VIRTIO_CRYPTO_MAC_DESTROY_SESSION \ + VIRTIO_CRYPTO_OPCODE(VIRTIO_CRYPTO_SERVICE_MAC, 0x03) +#define VIRTIO_CRYPTO_AEAD_CREATE_SESSION \ + VIRTIO_CRYPTO_OPCODE(VIRTIO_CRYPTO_SERVICE_AEAD, 0x02) +#define VIRTIO_CRYPTO_AEAD_DESTROY_SESSION \ + VIRTIO_CRYPTO_OPCODE(VIRTIO_CRYPTO_SERVICE_AEAD, 0x03) + __le32 opcode; + __le32 algo; + __le32 flag; + + __le32 queue_id; +}; +struct virtio_crypto_cipher_session_para { +#define VIRTIO_CRYPTO_NO_CIPHER 0 +#define VIRTIO_CRYPTO_CIPHER_ARC4 1 +#define VIRTIO_CRYPTO_CIPHER_AES_ECB 2 +#define VIRTIO_CRYPTO_CIPHER_AES_CBC 3 +#define VIRTIO_CRYPTO_CIPHER_AES_CTR 4 +#define VIRTIO_CRYPTO_CIPHER_DES_ECB 5 +#define VIRTIO_CRYPTO_CIPHER_DES_CBC 6 +#define VIRTIO_CRYPTO_CIPHER_3DES_ECB 7 +#define VIRTIO_CRYPTO_CIPHER_3DES_CBC 8 +#define VIRTIO_CRYPTO_CIPHER_3DES_CTR 9 +#define VIRTIO_CRYPTO_CIPHER_KASUMI_F8 10 +#define VIRTIO_CRYPTO_CIPHER_SNOW3G_UEA2 11 +#define VIRTIO_CRYPTO_CIPHER_AES_F8 12 +#define VIRTIO_CRYPTO_CIPHER_AES_XTS 13 +#define VIRTIO_CRYPTO_CIPHER_ZUC_EEA3 14 + __le32 algo; + + __le32 keylen; +#define VIRTIO_CRYPTO_OP_ENCRYPT 1 +#define VIRTIO_CRYPTO_OP_DECRYPT 2 + + __le32 op; + __le32 padding; +}; +struct virtio_crypto_session_input { + + __le64 session_id; + __le32 status; + __le32 padding; +}; +struct virtio_crypto_cipher_session_req { + struct virtio_crypto_cipher_session_para para; + __u8 padding[32]; +}; +struct virtio_crypto_hash_session_para { +#define VIRTIO_CRYPTO_NO_HASH 0 +#define VIRTIO_CRYPTO_HASH_MD5 1 +#define VIRTIO_CRYPTO_HASH_SHA1 2 +#define VIRTIO_CRYPTO_HASH_SHA_224 3 +#define VIRTIO_CRYPTO_HASH_SHA_256 4 +#define VIRTIO_CRYPTO_HASH_SHA_384 5 +#define VIRTIO_CRYPTO_HASH_SHA_512 6 +#define VIRTIO_CRYPTO_HASH_SHA3_224 7 +#define VIRTIO_CRYPTO_HASH_SHA3_256 8 +#define VIRTIO_CRYPTO_HASH_SHA3_384 9 +#define VIRTIO_CRYPTO_HASH_SHA3_512 10 +#define VIRTIO_CRYPTO_HASH_SHA3_SHAKE128 11 +#define VIRTIO_CRYPTO_HASH_SHA3_SHAKE256 12 + __le32 algo; + + __le32 hash_result_len; + __u8 padding[8]; +}; +struct virtio_crypto_hash_create_session_req { + struct virtio_crypto_hash_session_para para; + __u8 padding[40]; +}; +struct virtio_crypto_mac_session_para { +#define VIRTIO_CRYPTO_NO_MAC 0 +#define VIRTIO_CRYPTO_MAC_HMAC_MD5 1 +#define VIRTIO_CRYPTO_MAC_HMAC_SHA1 2 +#define VIRTIO_CRYPTO_MAC_HMAC_SHA_224 3 +#define VIRTIO_CRYPTO_MAC_HMAC_SHA_256 4 +#define VIRTIO_CRYPTO_MAC_HMAC_SHA_384 5 +#define VIRTIO_CRYPTO_MAC_HMAC_SHA_512 6 +#define VIRTIO_CRYPTO_MAC_CMAC_3DES 25 +#define VIRTIO_CRYPTO_MAC_CMAC_AES 26 +#define VIRTIO_CRYPTO_MAC_KASUMI_F9 27 +#define VIRTIO_CRYPTO_MAC_SNOW3G_UIA2 28 +#define VIRTIO_CRYPTO_MAC_GMAC_AES 41 +#define VIRTIO_CRYPTO_MAC_GMAC_TWOFISH 42 +#define VIRTIO_CRYPTO_MAC_CBCMAC_AES 49 +#define VIRTIO_CRYPTO_MAC_CBCMAC_KASUMI_F9 50 +#define VIRTIO_CRYPTO_MAC_XCBC_AES 53 + __le32 algo; + + __le32 hash_result_len; + + __le32 auth_key_len; + __le32 padding; +}; +struct virtio_crypto_mac_create_session_req { + struct virtio_crypto_mac_session_para para; + __u8 padding[40]; +}; +struct virtio_crypto_aead_session_para { +#define VIRTIO_CRYPTO_NO_AEAD 0 +#define VIRTIO_CRYPTO_AEAD_GCM 1 +#define VIRTIO_CRYPTO_AEAD_CCM 2 +#define VIRTIO_CRYPTO_AEAD_CHACHA20_POLY1305 3 + __le32 algo; + + __le32 key_len; + + __le32 hash_result_len; + + __le32 aad_len; + + __le32 op; + __le32 padding; +}; +struct virtio_crypto_aead_create_session_req { + struct virtio_crypto_aead_session_para para; + __u8 padding[32]; +}; +struct virtio_crypto_alg_chain_session_para { +#define VIRTIO_CRYPTO_SYM_ALG_CHAIN_ORDER_HASH_THEN_CIPHER 1 +#define VIRTIO_CRYPTO_SYM_ALG_CHAIN_ORDER_CIPHER_THEN_HASH 2 + __le32 alg_chain_order; +#define VIRTIO_CRYPTO_SYM_HASH_MODE_PLAIN 1 +#define VIRTIO_CRYPTO_SYM_HASH_MODE_AUTH 2 +#define VIRTIO_CRYPTO_SYM_HASH_MODE_NESTED 3 + __le32 hash_mode; + struct virtio_crypto_cipher_session_para cipher_param; + union { + struct virtio_crypto_hash_session_para hash_param; + struct virtio_crypto_mac_session_para mac_param; + __u8 padding[16]; + } u; + + __le32 aad_len; + __le32 padding; +}; +struct virtio_crypto_alg_chain_session_req { + struct virtio_crypto_alg_chain_session_para para; +}; +struct virtio_crypto_sym_create_session_req { + union { + struct virtio_crypto_cipher_session_req cipher; + struct virtio_crypto_alg_chain_session_req chain; + __u8 padding[48]; + } u; + +#define VIRTIO_CRYPTO_SYM_OP_NONE 0 +#define VIRTIO_CRYPTO_SYM_OP_CIPHER 1 +#define VIRTIO_CRYPTO_SYM_OP_ALGORITHM_CHAINING 2 + __le32 op_type; + __le32 padding; +}; +struct virtio_crypto_destroy_session_req { + + __le64 session_id; + __u8 padding[48]; +}; +struct virtio_crypto_op_ctrl_req { + struct virtio_crypto_ctrl_header header; + union { + struct virtio_crypto_sym_create_session_req + sym_create_session; + struct virtio_crypto_hash_create_session_req + hash_create_session; + struct virtio_crypto_mac_create_session_req + mac_create_session; + struct virtio_crypto_aead_create_session_req + aead_create_session; + struct virtio_crypto_destroy_session_req + destroy_session; + __u8 padding[56]; + } u; +}; +struct virtio_crypto_op_header { +#define VIRTIO_CRYPTO_CIPHER_ENCRYPT \ + VIRTIO_CRYPTO_OPCODE(VIRTIO_CRYPTO_SERVICE_CIPHER, 0x00) +#define VIRTIO_CRYPTO_CIPHER_DECRYPT \ + VIRTIO_CRYPTO_OPCODE(VIRTIO_CRYPTO_SERVICE_CIPHER, 0x01) +#define VIRTIO_CRYPTO_HASH \ + VIRTIO_CRYPTO_OPCODE(VIRTIO_CRYPTO_SERVICE_HASH, 0x00) +#define VIRTIO_CRYPTO_MAC \ + VIRTIO_CRYPTO_OPCODE(VIRTIO_CRYPTO_SERVICE_MAC, 0x00) +#define VIRTIO_CRYPTO_AEAD_ENCRYPT \ + VIRTIO_CRYPTO_OPCODE(VIRTIO_CRYPTO_SERVICE_AEAD, 0x00) +#define VIRTIO_CRYPTO_AEAD_DECRYPT \ + VIRTIO_CRYPTO_OPCODE(VIRTIO_CRYPTO_SERVICE_AEAD, 0x01) + __le32 opcode; + + __le32 algo; + + __le64 session_id; + + __le32 flag; + __le32 padding; +}; +struct virtio_crypto_cipher_para { + + __le32 iv_len; + + __le32 src_data_len; + + __le32 dst_data_len; + __le32 padding; +}; +struct virtio_crypto_hash_para { + + __le32 src_data_len; + + __le32 hash_result_len; +}; +struct virtio_crypto_mac_para { + struct virtio_crypto_hash_para hash; +}; +struct virtio_crypto_aead_para { + + __le32 iv_len; + + __le32 aad_len; + + __le32 src_data_len; + + __le32 dst_data_len; +}; +struct virtio_crypto_cipher_data_req { + + struct virtio_crypto_cipher_para para; + __u8 padding[24]; +}; +struct virtio_crypto_hash_data_req { + + struct virtio_crypto_hash_para para; + __u8 padding[40]; +}; +struct virtio_crypto_mac_data_req { + + struct virtio_crypto_mac_para para; + __u8 padding[40]; +}; +struct virtio_crypto_alg_chain_data_para { + __le32 iv_len; + + __le32 src_data_len; + + __le32 dst_data_len; + + __le32 cipher_start_src_offset; + + __le32 len_to_cipher; + + __le32 hash_start_src_offset; + + __le32 len_to_hash; + + __le32 aad_len; + + __le32 hash_result_len; + __le32 reserved; +}; +struct virtio_crypto_alg_chain_data_req { + + struct virtio_crypto_alg_chain_data_para para; +}; +struct virtio_crypto_sym_data_req { + union { + struct virtio_crypto_cipher_data_req cipher; + struct virtio_crypto_alg_chain_data_req chain; + __u8 padding[40]; + } u; + + __le32 op_type; + __le32 padding; +}; +struct virtio_crypto_aead_data_req { + + struct virtio_crypto_aead_para para; + __u8 padding[32]; +}; +struct virtio_crypto_op_data_req { + struct virtio_crypto_op_header header; + union { + struct virtio_crypto_sym_data_req sym_req; + struct virtio_crypto_hash_data_req hash_req; + struct virtio_crypto_mac_data_req mac_req; + struct virtio_crypto_aead_data_req aead_req; + __u8 padding[48]; + } u; +}; +#define VIRTIO_CRYPTO_OK 0 +#define VIRTIO_CRYPTO_ERR 1 +#define VIRTIO_CRYPTO_BADMSG 2 +#define VIRTIO_CRYPTO_NOTSUPP 3 +#define VIRTIO_CRYPTO_INVSESS 4 +#define VIRTIO_CRYPTO_S_HW_READY (1 << 0) +struct virtio_crypto_config { + + __le32 status; + + __le32 max_dataqueues; + + __le32 crypto_services; + + __le32 cipher_algo_l; + __le32 cipher_algo_h; + __le32 hash_algo; + __le32 mac_algo_l; + __le32 mac_algo_h; + __le32 aead_algo; + + __le32 max_cipher_key_len; + + __le32 max_auth_key_len; + __le32 reserve; + + __le64 max_size; +}; +struct virtio_crypto_inhdr { + + __u8 status; +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/virtio_fs.h b/linux-5.10/prebuilts/usr/include/linux/virtio_fs.h new file mode 100644 index 0000000..fbcdeb2 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/virtio_fs.h @@ -0,0 +1,19 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI_LINUX_VIRTIO_FS_H +#define _UAPI_LINUX_VIRTIO_FS_H +#include +#include +#include +#include +struct virtio_fs_config { + + __u8 tag[36]; + + __le32 num_request_queues; +} __attribute__((packed)); +#define VIRTIO_FS_SHMCAP_ID_CACHE 0 +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/virtio_gpu.h b/linux-5.10/prebuilts/usr/include/linux/virtio_gpu.h new file mode 100644 index 0000000..8ba55db --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/virtio_gpu.h @@ -0,0 +1,245 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef VIRTIO_GPU_HW_H +#define VIRTIO_GPU_HW_H +#include +#define VIRTIO_GPU_F_VIRGL 0 +#define VIRTIO_GPU_F_EDID 1 +#define VIRTIO_GPU_F_RESOURCE_UUID 2 +enum virtio_gpu_ctrl_type { + VIRTIO_GPU_UNDEFINED = 0, + + VIRTIO_GPU_CMD_GET_DISPLAY_INFO = 0x0100, + VIRTIO_GPU_CMD_RESOURCE_CREATE_2D, + VIRTIO_GPU_CMD_RESOURCE_UNREF, + VIRTIO_GPU_CMD_SET_SCANOUT, + VIRTIO_GPU_CMD_RESOURCE_FLUSH, + VIRTIO_GPU_CMD_TRANSFER_TO_HOST_2D, + VIRTIO_GPU_CMD_RESOURCE_ATTACH_BACKING, + VIRTIO_GPU_CMD_RESOURCE_DETACH_BACKING, + VIRTIO_GPU_CMD_GET_CAPSET_INFO, + VIRTIO_GPU_CMD_GET_CAPSET, + VIRTIO_GPU_CMD_GET_EDID, + VIRTIO_GPU_CMD_RESOURCE_ASSIGN_UUID, + + VIRTIO_GPU_CMD_CTX_CREATE = 0x0200, + VIRTIO_GPU_CMD_CTX_DESTROY, + VIRTIO_GPU_CMD_CTX_ATTACH_RESOURCE, + VIRTIO_GPU_CMD_CTX_DETACH_RESOURCE, + VIRTIO_GPU_CMD_RESOURCE_CREATE_3D, + VIRTIO_GPU_CMD_TRANSFER_TO_HOST_3D, + VIRTIO_GPU_CMD_TRANSFER_FROM_HOST_3D, + VIRTIO_GPU_CMD_SUBMIT_3D, + + VIRTIO_GPU_CMD_UPDATE_CURSOR = 0x0300, + VIRTIO_GPU_CMD_MOVE_CURSOR, + + VIRTIO_GPU_RESP_OK_NODATA = 0x1100, + VIRTIO_GPU_RESP_OK_DISPLAY_INFO, + VIRTIO_GPU_RESP_OK_CAPSET_INFO, + VIRTIO_GPU_RESP_OK_CAPSET, + VIRTIO_GPU_RESP_OK_EDID, + VIRTIO_GPU_RESP_OK_RESOURCE_UUID, + + VIRTIO_GPU_RESP_ERR_UNSPEC = 0x1200, + VIRTIO_GPU_RESP_ERR_OUT_OF_MEMORY, + VIRTIO_GPU_RESP_ERR_INVALID_SCANOUT_ID, + VIRTIO_GPU_RESP_ERR_INVALID_RESOURCE_ID, + VIRTIO_GPU_RESP_ERR_INVALID_CONTEXT_ID, + VIRTIO_GPU_RESP_ERR_INVALID_PARAMETER, +}; +#define VIRTIO_GPU_FLAG_FENCE (1 << 0) +struct virtio_gpu_ctrl_hdr { + __le32 type; + __le32 flags; + __le64 fence_id; + __le32 ctx_id; + __le32 padding; +}; +struct virtio_gpu_cursor_pos { + __le32 scanout_id; + __le32 x; + __le32 y; + __le32 padding; +}; +struct virtio_gpu_update_cursor { + struct virtio_gpu_ctrl_hdr hdr; + struct virtio_gpu_cursor_pos pos; + __le32 resource_id; + __le32 hot_x; + __le32 hot_y; + __le32 padding; +}; +struct virtio_gpu_rect { + __le32 x; + __le32 y; + __le32 width; + __le32 height; +}; +struct virtio_gpu_resource_unref { + struct virtio_gpu_ctrl_hdr hdr; + __le32 resource_id; + __le32 padding; +}; +struct virtio_gpu_resource_create_2d { + struct virtio_gpu_ctrl_hdr hdr; + __le32 resource_id; + __le32 format; + __le32 width; + __le32 height; +}; +struct virtio_gpu_set_scanout { + struct virtio_gpu_ctrl_hdr hdr; + struct virtio_gpu_rect r; + __le32 scanout_id; + __le32 resource_id; +}; +struct virtio_gpu_resource_flush { + struct virtio_gpu_ctrl_hdr hdr; + struct virtio_gpu_rect r; + __le32 resource_id; + __le32 padding; +}; +struct virtio_gpu_transfer_to_host_2d { + struct virtio_gpu_ctrl_hdr hdr; + struct virtio_gpu_rect r; + __le64 offset; + __le32 resource_id; + __le32 padding; +}; +struct virtio_gpu_mem_entry { + __le64 addr; + __le32 length; + __le32 padding; +}; +struct virtio_gpu_resource_attach_backing { + struct virtio_gpu_ctrl_hdr hdr; + __le32 resource_id; + __le32 nr_entries; +}; +struct virtio_gpu_resource_detach_backing { + struct virtio_gpu_ctrl_hdr hdr; + __le32 resource_id; + __le32 padding; +}; +#define VIRTIO_GPU_MAX_SCANOUTS 16 +struct virtio_gpu_resp_display_info { + struct virtio_gpu_ctrl_hdr hdr; + struct virtio_gpu_display_one { + struct virtio_gpu_rect r; + __le32 enabled; + __le32 flags; + } pmodes[VIRTIO_GPU_MAX_SCANOUTS]; +}; +struct virtio_gpu_box { + __le32 x, y, z; + __le32 w, h, d; +}; +struct virtio_gpu_transfer_host_3d { + struct virtio_gpu_ctrl_hdr hdr; + struct virtio_gpu_box box; + __le64 offset; + __le32 resource_id; + __le32 level; + __le32 stride; + __le32 layer_stride; +}; +#define VIRTIO_GPU_RESOURCE_FLAG_Y_0_TOP (1 << 0) +struct virtio_gpu_resource_create_3d { + struct virtio_gpu_ctrl_hdr hdr; + __le32 resource_id; + __le32 target; + __le32 format; + __le32 bind; + __le32 width; + __le32 height; + __le32 depth; + __le32 array_size; + __le32 last_level; + __le32 nr_samples; + __le32 flags; + __le32 padding; +}; +struct virtio_gpu_ctx_create { + struct virtio_gpu_ctrl_hdr hdr; + __le32 nlen; + __le32 padding; + char debug_name[64]; +}; +struct virtio_gpu_ctx_destroy { + struct virtio_gpu_ctrl_hdr hdr; +}; +struct virtio_gpu_ctx_resource { + struct virtio_gpu_ctrl_hdr hdr; + __le32 resource_id; + __le32 padding; +}; +struct virtio_gpu_cmd_submit { + struct virtio_gpu_ctrl_hdr hdr; + __le32 size; + __le32 padding; +}; +#define VIRTIO_GPU_CAPSET_VIRGL 1 +#define VIRTIO_GPU_CAPSET_VIRGL2 2 +struct virtio_gpu_get_capset_info { + struct virtio_gpu_ctrl_hdr hdr; + __le32 capset_index; + __le32 padding; +}; +struct virtio_gpu_resp_capset_info { + struct virtio_gpu_ctrl_hdr hdr; + __le32 capset_id; + __le32 capset_max_version; + __le32 capset_max_size; + __le32 padding; +}; +struct virtio_gpu_get_capset { + struct virtio_gpu_ctrl_hdr hdr; + __le32 capset_id; + __le32 capset_version; +}; +struct virtio_gpu_resp_capset { + struct virtio_gpu_ctrl_hdr hdr; + __u8 capset_data[]; +}; +struct virtio_gpu_cmd_get_edid { + struct virtio_gpu_ctrl_hdr hdr; + __le32 scanout; + __le32 padding; +}; +struct virtio_gpu_resp_edid { + struct virtio_gpu_ctrl_hdr hdr; + __le32 size; + __le32 padding; + __u8 edid[1024]; +}; +#define VIRTIO_GPU_EVENT_DISPLAY (1 << 0) +struct virtio_gpu_config { + __le32 events_read; + __le32 events_clear; + __le32 num_scanouts; + __le32 num_capsets; +}; +enum virtio_gpu_formats { + VIRTIO_GPU_FORMAT_B8G8R8A8_UNORM = 1, + VIRTIO_GPU_FORMAT_B8G8R8X8_UNORM = 2, + VIRTIO_GPU_FORMAT_A8R8G8B8_UNORM = 3, + VIRTIO_GPU_FORMAT_X8R8G8B8_UNORM = 4, + VIRTIO_GPU_FORMAT_R8G8B8A8_UNORM = 67, + VIRTIO_GPU_FORMAT_X8B8G8R8_UNORM = 68, + VIRTIO_GPU_FORMAT_A8B8G8R8_UNORM = 121, + VIRTIO_GPU_FORMAT_R8G8B8X8_UNORM = 134, +}; +struct virtio_gpu_resource_assign_uuid { + struct virtio_gpu_ctrl_hdr hdr; + __le32 resource_id; + __le32 padding; +}; +struct virtio_gpu_resp_resource_uuid { + struct virtio_gpu_ctrl_hdr hdr; + __u8 uuid[16]; +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/virtio_ids.h b/linux-5.10/prebuilts/usr/include/linux/virtio_ids.h new file mode 100644 index 0000000..e5dd577 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/virtio_ids.h @@ -0,0 +1,27 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _LINUX_VIRTIO_IDS_H +#define _LINUX_VIRTIO_IDS_H +#define VIRTIO_ID_NET 1 +#define VIRTIO_ID_BLOCK 2 +#define VIRTIO_ID_CONSOLE 3 +#define VIRTIO_ID_RNG 4 +#define VIRTIO_ID_BALLOON 5 +#define VIRTIO_ID_RPMSG 7 +#define VIRTIO_ID_SCSI 8 +#define VIRTIO_ID_9P 9 +#define VIRTIO_ID_RPROC_SERIAL 11 +#define VIRTIO_ID_CAIF 12 +#define VIRTIO_ID_GPU 16 +#define VIRTIO_ID_INPUT 18 +#define VIRTIO_ID_VSOCK 19 +#define VIRTIO_ID_CRYPTO 20 +#define VIRTIO_ID_IOMMU 23 +#define VIRTIO_ID_MEM 24 +#define VIRTIO_ID_FS 26 +#define VIRTIO_ID_PMEM 27 +#define VIRTIO_ID_MAC80211_HWSIM 29 +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/virtio_input.h b/linux-5.10/prebuilts/usr/include/linux/virtio_input.h new file mode 100644 index 0000000..93325f8 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/virtio_input.h @@ -0,0 +1,48 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _LINUX_VIRTIO_INPUT_H +#define _LINUX_VIRTIO_INPUT_H +#include +enum virtio_input_config_select { + VIRTIO_INPUT_CFG_UNSET = 0x00, + VIRTIO_INPUT_CFG_ID_NAME = 0x01, + VIRTIO_INPUT_CFG_ID_SERIAL = 0x02, + VIRTIO_INPUT_CFG_ID_DEVIDS = 0x03, + VIRTIO_INPUT_CFG_PROP_BITS = 0x10, + VIRTIO_INPUT_CFG_EV_BITS = 0x11, + VIRTIO_INPUT_CFG_ABS_INFO = 0x12, +}; +struct virtio_input_absinfo { + __le32 min; + __le32 max; + __le32 fuzz; + __le32 flat; + __le32 res; +}; +struct virtio_input_devids { + __le16 bustype; + __le16 vendor; + __le16 product; + __le16 version; +}; +struct virtio_input_config { + __u8 select; + __u8 subsel; + __u8 size; + __u8 reserved[5]; + union { + char string[128]; + __u8 bitmap[128]; + struct virtio_input_absinfo abs; + struct virtio_input_devids ids; + } u; +}; +struct virtio_input_event { + __le16 type; + __le16 code; + __le32 value; +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/virtio_iommu.h b/linux-5.10/prebuilts/usr/include/linux/virtio_iommu.h new file mode 100644 index 0000000..38a715f --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/virtio_iommu.h @@ -0,0 +1,130 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI_LINUX_VIRTIO_IOMMU_H +#define _UAPI_LINUX_VIRTIO_IOMMU_H +#include +#define VIRTIO_IOMMU_F_INPUT_RANGE 0 +#define VIRTIO_IOMMU_F_DOMAIN_RANGE 1 +#define VIRTIO_IOMMU_F_MAP_UNMAP 2 +#define VIRTIO_IOMMU_F_BYPASS 3 +#define VIRTIO_IOMMU_F_PROBE 4 +#define VIRTIO_IOMMU_F_MMIO 5 +struct virtio_iommu_range_64 { + __le64 start; + __le64 end; +}; +struct virtio_iommu_range_32 { + __le32 start; + __le32 end; +}; +struct virtio_iommu_config { + + __le64 page_size_mask; + + struct virtio_iommu_range_64 input_range; + + struct virtio_iommu_range_32 domain_range; + + __le32 probe_size; +}; +#define VIRTIO_IOMMU_T_ATTACH 0x01 +#define VIRTIO_IOMMU_T_DETACH 0x02 +#define VIRTIO_IOMMU_T_MAP 0x03 +#define VIRTIO_IOMMU_T_UNMAP 0x04 +#define VIRTIO_IOMMU_T_PROBE 0x05 +#define VIRTIO_IOMMU_S_OK 0x00 +#define VIRTIO_IOMMU_S_IOERR 0x01 +#define VIRTIO_IOMMU_S_UNSUPP 0x02 +#define VIRTIO_IOMMU_S_DEVERR 0x03 +#define VIRTIO_IOMMU_S_INVAL 0x04 +#define VIRTIO_IOMMU_S_RANGE 0x05 +#define VIRTIO_IOMMU_S_NOENT 0x06 +#define VIRTIO_IOMMU_S_FAULT 0x07 +#define VIRTIO_IOMMU_S_NOMEM 0x08 +struct virtio_iommu_req_head { + __u8 type; + __u8 reserved[3]; +}; +struct virtio_iommu_req_tail { + __u8 status; + __u8 reserved[3]; +}; +struct virtio_iommu_req_attach { + struct virtio_iommu_req_head head; + __le32 domain; + __le32 endpoint; + __u8 reserved[8]; + struct virtio_iommu_req_tail tail; +}; +struct virtio_iommu_req_detach { + struct virtio_iommu_req_head head; + __le32 domain; + __le32 endpoint; + __u8 reserved[8]; + struct virtio_iommu_req_tail tail; +}; +#define VIRTIO_IOMMU_MAP_F_READ (1 << 0) +#define VIRTIO_IOMMU_MAP_F_WRITE (1 << 1) +#define VIRTIO_IOMMU_MAP_F_MMIO (1 << 2) +#define VIRTIO_IOMMU_MAP_F_MASK (VIRTIO_IOMMU_MAP_F_READ | \ + VIRTIO_IOMMU_MAP_F_WRITE | \ + VIRTIO_IOMMU_MAP_F_MMIO) +struct virtio_iommu_req_map { + struct virtio_iommu_req_head head; + __le32 domain; + __le64 virt_start; + __le64 virt_end; + __le64 phys_start; + __le32 flags; + struct virtio_iommu_req_tail tail; +}; +struct virtio_iommu_req_unmap { + struct virtio_iommu_req_head head; + __le32 domain; + __le64 virt_start; + __le64 virt_end; + __u8 reserved[4]; + struct virtio_iommu_req_tail tail; +}; +#define VIRTIO_IOMMU_PROBE_T_NONE 0 +#define VIRTIO_IOMMU_PROBE_T_RESV_MEM 1 +#define VIRTIO_IOMMU_PROBE_T_MASK 0xfff +struct virtio_iommu_probe_property { + __le16 type; + __le16 length; +}; +#define VIRTIO_IOMMU_RESV_MEM_T_RESERVED 0 +#define VIRTIO_IOMMU_RESV_MEM_T_MSI 1 +struct virtio_iommu_probe_resv_mem { + struct virtio_iommu_probe_property head; + __u8 subtype; + __u8 reserved[3]; + __le64 start; + __le64 end; +}; +struct virtio_iommu_req_probe { + struct virtio_iommu_req_head head; + __le32 endpoint; + __u8 reserved[64]; + __u8 properties[]; + +}; +#define VIRTIO_IOMMU_FAULT_R_UNKNOWN 0 +#define VIRTIO_IOMMU_FAULT_R_DOMAIN 1 +#define VIRTIO_IOMMU_FAULT_R_MAPPING 2 +#define VIRTIO_IOMMU_FAULT_F_READ (1 << 0) +#define VIRTIO_IOMMU_FAULT_F_WRITE (1 << 1) +#define VIRTIO_IOMMU_FAULT_F_EXEC (1 << 2) +#define VIRTIO_IOMMU_FAULT_F_ADDRESS (1 << 8) +struct virtio_iommu_fault { + __u8 reason; + __u8 reserved[3]; + __le32 flags; + __le32 endpoint; + __u8 reserved2[4]; + __le64 address; +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/virtio_mem.h b/linux-5.10/prebuilts/usr/include/linux/virtio_mem.h new file mode 100644 index 0000000..5ed06cf --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/virtio_mem.h @@ -0,0 +1,75 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _LINUX_VIRTIO_MEM_H +#define _LINUX_VIRTIO_MEM_H +#include +#include +#include +#include +#define VIRTIO_MEM_F_ACPI_PXM 0 +#define VIRTIO_MEM_REQ_PLUG 0 +#define VIRTIO_MEM_REQ_UNPLUG 1 +#define VIRTIO_MEM_REQ_UNPLUG_ALL 2 +#define VIRTIO_MEM_REQ_STATE 3 +struct virtio_mem_req_plug { + __virtio64 addr; + __virtio16 nb_blocks; + __virtio16 padding[3]; +}; +struct virtio_mem_req_unplug { + __virtio64 addr; + __virtio16 nb_blocks; + __virtio16 padding[3]; +}; +struct virtio_mem_req_state { + __virtio64 addr; + __virtio16 nb_blocks; + __virtio16 padding[3]; +}; +struct virtio_mem_req { + __virtio16 type; + __virtio16 padding[3]; + union { + struct virtio_mem_req_plug plug; + struct virtio_mem_req_unplug unplug; + struct virtio_mem_req_state state; + } u; +}; +#define VIRTIO_MEM_RESP_ACK 0 +#define VIRTIO_MEM_RESP_NACK 1 +#define VIRTIO_MEM_RESP_BUSY 2 +#define VIRTIO_MEM_RESP_ERROR 3 +#define VIRTIO_MEM_STATE_PLUGGED 0 +#define VIRTIO_MEM_STATE_UNPLUGGED 1 +#define VIRTIO_MEM_STATE_MIXED 2 +struct virtio_mem_resp_state { + __virtio16 state; +}; +struct virtio_mem_resp { + __virtio16 type; + __virtio16 padding[3]; + union { + struct virtio_mem_resp_state state; + } u; +}; +struct virtio_mem_config { + + __le64 block_size; + + __le16 node_id; + __u8 padding[6]; + + __le64 addr; + + __le64 region_size; + + __le64 usable_region_size; + + __le64 plugged_size; + + __le64 requested_size; +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/virtio_mmio.h b/linux-5.10/prebuilts/usr/include/linux/virtio_mmio.h new file mode 100644 index 0000000..44dde42 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/virtio_mmio.h @@ -0,0 +1,46 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _LINUX_VIRTIO_MMIO_H +#define _LINUX_VIRTIO_MMIO_H +#define VIRTIO_MMIO_MAGIC_VALUE 0x000 +#define VIRTIO_MMIO_VERSION 0x004 +#define VIRTIO_MMIO_DEVICE_ID 0x008 +#define VIRTIO_MMIO_VENDOR_ID 0x00c +#define VIRTIO_MMIO_DEVICE_FEATURES 0x010 +#define VIRTIO_MMIO_DEVICE_FEATURES_SEL 0x014 +#define VIRTIO_MMIO_DRIVER_FEATURES 0x020 +#define VIRTIO_MMIO_DRIVER_FEATURES_SEL 0x024 +#ifndef VIRTIO_MMIO_NO_LEGACY +#define VIRTIO_MMIO_GUEST_PAGE_SIZE 0x028 +#endif +#define VIRTIO_MMIO_QUEUE_SEL 0x030 +#define VIRTIO_MMIO_QUEUE_NUM_MAX 0x034 +#define VIRTIO_MMIO_QUEUE_NUM 0x038 +#ifndef VIRTIO_MMIO_NO_LEGACY +#define VIRTIO_MMIO_QUEUE_ALIGN 0x03c +#define VIRTIO_MMIO_QUEUE_PFN 0x040 +#endif +#define VIRTIO_MMIO_QUEUE_READY 0x044 +#define VIRTIO_MMIO_QUEUE_NOTIFY 0x050 +#define VIRTIO_MMIO_INTERRUPT_STATUS 0x060 +#define VIRTIO_MMIO_INTERRUPT_ACK 0x064 +#define VIRTIO_MMIO_STATUS 0x070 +#define VIRTIO_MMIO_QUEUE_DESC_LOW 0x080 +#define VIRTIO_MMIO_QUEUE_DESC_HIGH 0x084 +#define VIRTIO_MMIO_QUEUE_AVAIL_LOW 0x090 +#define VIRTIO_MMIO_QUEUE_AVAIL_HIGH 0x094 +#define VIRTIO_MMIO_QUEUE_USED_LOW 0x0a0 +#define VIRTIO_MMIO_QUEUE_USED_HIGH 0x0a4 +#define VIRTIO_MMIO_SHM_SEL 0x0ac +#define VIRTIO_MMIO_SHM_LEN_LOW 0x0b0 +#define VIRTIO_MMIO_SHM_LEN_HIGH 0x0b4 +#define VIRTIO_MMIO_SHM_BASE_LOW 0x0b8 +#define VIRTIO_MMIO_SHM_BASE_HIGH 0x0bc +#define VIRTIO_MMIO_CONFIG_GENERATION 0x0fc +#define VIRTIO_MMIO_CONFIG 0x100 +#define VIRTIO_MMIO_INT_VRING (1 << 0) +#define VIRTIO_MMIO_INT_CONFIG (1 << 1) +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/virtio_net.h b/linux-5.10/prebuilts/usr/include/linux/virtio_net.h new file mode 100644 index 0000000..98bab67 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/virtio_net.h @@ -0,0 +1,194 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI_LINUX_VIRTIO_NET_H +#define _UAPI_LINUX_VIRTIO_NET_H +#include +#include +#include +#include +#include +#define VIRTIO_NET_F_CSUM 0 +#define VIRTIO_NET_F_GUEST_CSUM 1 +#define VIRTIO_NET_F_CTRL_GUEST_OFFLOADS 2 +#define VIRTIO_NET_F_MTU 3 +#define VIRTIO_NET_F_MAC 5 +#define VIRTIO_NET_F_GUEST_TSO4 7 +#define VIRTIO_NET_F_GUEST_TSO6 8 +#define VIRTIO_NET_F_GUEST_ECN 9 +#define VIRTIO_NET_F_GUEST_UFO 10 +#define VIRTIO_NET_F_HOST_TSO4 11 +#define VIRTIO_NET_F_HOST_TSO6 12 +#define VIRTIO_NET_F_HOST_ECN 13 +#define VIRTIO_NET_F_HOST_UFO 14 +#define VIRTIO_NET_F_MRG_RXBUF 15 +#define VIRTIO_NET_F_STATUS 16 +#define VIRTIO_NET_F_CTRL_VQ 17 +#define VIRTIO_NET_F_CTRL_RX 18 +#define VIRTIO_NET_F_CTRL_VLAN 19 +#define VIRTIO_NET_F_CTRL_RX_EXTRA 20 +#define VIRTIO_NET_F_GUEST_ANNOUNCE 21 +#define VIRTIO_NET_F_MQ 22 +#define VIRTIO_NET_F_CTRL_MAC_ADDR 23 +#define VIRTIO_NET_F_HASH_REPORT 57 +#define VIRTIO_NET_F_RSS 60 +#define VIRTIO_NET_F_RSC_EXT 61 +#define VIRTIO_NET_F_STANDBY 62 +#define VIRTIO_NET_F_SPEED_DUPLEX 63 +#ifndef VIRTIO_NET_NO_LEGACY +#define VIRTIO_NET_F_GSO 6 +#endif +#define VIRTIO_NET_S_LINK_UP 1 +#define VIRTIO_NET_S_ANNOUNCE 2 +#define VIRTIO_NET_RSS_HASH_TYPE_IPv4 (1 << 0) +#define VIRTIO_NET_RSS_HASH_TYPE_TCPv4 (1 << 1) +#define VIRTIO_NET_RSS_HASH_TYPE_UDPv4 (1 << 2) +#define VIRTIO_NET_RSS_HASH_TYPE_IPv6 (1 << 3) +#define VIRTIO_NET_RSS_HASH_TYPE_TCPv6 (1 << 4) +#define VIRTIO_NET_RSS_HASH_TYPE_UDPv6 (1 << 5) +#define VIRTIO_NET_RSS_HASH_TYPE_IP_EX (1 << 6) +#define VIRTIO_NET_RSS_HASH_TYPE_TCP_EX (1 << 7) +#define VIRTIO_NET_RSS_HASH_TYPE_UDP_EX (1 << 8) +struct virtio_net_config { + + __u8 mac[ETH_ALEN]; + + __virtio16 status; + + __virtio16 max_virtqueue_pairs; + + __virtio16 mtu; + + __le32 speed; + + __u8 duplex; + + __u8 rss_max_key_size; + + __le16 rss_max_indirection_table_length; + + __le32 supported_hash_types; +} __attribute__((packed)); +struct virtio_net_hdr_v1 { +#define VIRTIO_NET_HDR_F_NEEDS_CSUM 1 +#define VIRTIO_NET_HDR_F_DATA_VALID 2 +#define VIRTIO_NET_HDR_F_RSC_INFO 4 + __u8 flags; +#define VIRTIO_NET_HDR_GSO_NONE 0 +#define VIRTIO_NET_HDR_GSO_TCPV4 1 +#define VIRTIO_NET_HDR_GSO_UDP 3 +#define VIRTIO_NET_HDR_GSO_TCPV6 4 +#define VIRTIO_NET_HDR_GSO_ECN 0x80 + __u8 gso_type; + __virtio16 hdr_len; + __virtio16 gso_size; + union { + struct { + __virtio16 csum_start; + __virtio16 csum_offset; + }; + + struct { + + __virtio16 start; + + __virtio16 offset; + } csum; + + struct { + + __le16 segments; + + __le16 dup_acks; + } rsc; + }; + __virtio16 num_buffers; +}; +struct virtio_net_hdr_v1_hash { + struct virtio_net_hdr_v1 hdr; + __le32 hash_value; +#define VIRTIO_NET_HASH_REPORT_NONE 0 +#define VIRTIO_NET_HASH_REPORT_IPv4 1 +#define VIRTIO_NET_HASH_REPORT_TCPv4 2 +#define VIRTIO_NET_HASH_REPORT_UDPv4 3 +#define VIRTIO_NET_HASH_REPORT_IPv6 4 +#define VIRTIO_NET_HASH_REPORT_TCPv6 5 +#define VIRTIO_NET_HASH_REPORT_UDPv6 6 +#define VIRTIO_NET_HASH_REPORT_IPv6_EX 7 +#define VIRTIO_NET_HASH_REPORT_TCPv6_EX 8 +#define VIRTIO_NET_HASH_REPORT_UDPv6_EX 9 + __le16 hash_report; + __le16 padding; +}; +#ifndef VIRTIO_NET_NO_LEGACY +struct virtio_net_hdr { + + __u8 flags; + + __u8 gso_type; + __virtio16 hdr_len; + __virtio16 gso_size; + __virtio16 csum_start; + __virtio16 csum_offset; +}; +struct virtio_net_hdr_mrg_rxbuf { + struct virtio_net_hdr hdr; + __virtio16 num_buffers; +}; +#endif +struct virtio_net_ctrl_hdr { + __u8 class; + __u8 cmd; +} __attribute__((packed)); +typedef __u8 virtio_net_ctrl_ack; +#define VIRTIO_NET_OK 0 +#define VIRTIO_NET_ERR 1 +#define VIRTIO_NET_CTRL_RX 0 + #define VIRTIO_NET_CTRL_RX_PROMISC 0 + #define VIRTIO_NET_CTRL_RX_ALLMULTI 1 + #define VIRTIO_NET_CTRL_RX_ALLUNI 2 + #define VIRTIO_NET_CTRL_RX_NOMULTI 3 + #define VIRTIO_NET_CTRL_RX_NOUNI 4 + #define VIRTIO_NET_CTRL_RX_NOBCAST 5 +struct virtio_net_ctrl_mac { + __virtio32 entries; + __u8 macs[][ETH_ALEN]; +} __attribute__((packed)); +#define VIRTIO_NET_CTRL_MAC 1 + #define VIRTIO_NET_CTRL_MAC_TABLE_SET 0 + #define VIRTIO_NET_CTRL_MAC_ADDR_SET 1 +#define VIRTIO_NET_CTRL_VLAN 2 + #define VIRTIO_NET_CTRL_VLAN_ADD 0 + #define VIRTIO_NET_CTRL_VLAN_DEL 1 +#define VIRTIO_NET_CTRL_ANNOUNCE 3 + #define VIRTIO_NET_CTRL_ANNOUNCE_ACK 0 +#define VIRTIO_NET_CTRL_MQ 4 +struct virtio_net_ctrl_mq { + __virtio16 virtqueue_pairs; +}; + #define VIRTIO_NET_CTRL_MQ_VQ_PAIRS_SET 0 + #define VIRTIO_NET_CTRL_MQ_VQ_PAIRS_MIN 1 + #define VIRTIO_NET_CTRL_MQ_VQ_PAIRS_MAX 0x8000 +struct virtio_net_rss_config { + __le32 hash_types; + __le16 indirection_table_mask; + __le16 unclassified_queue; + __le16 indirection_table[1]; + __le16 max_tx_vq; + __u8 hash_key_length; + __u8 hash_key_data[]; +}; + #define VIRTIO_NET_CTRL_MQ_RSS_CONFIG 1 +struct virtio_net_hash_config { + __le32 hash_types; + + __le16 reserved[4]; + __u8 hash_key_length; + __u8 hash_key_data[]; +}; + #define VIRTIO_NET_CTRL_MQ_HASH_CONFIG 2 +#define VIRTIO_NET_CTRL_GUEST_OFFLOADS 5 +#define VIRTIO_NET_CTRL_GUEST_OFFLOADS_SET 0 +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/virtio_pci.h b/linux-5.10/prebuilts/usr/include/linux/virtio_pci.h new file mode 100644 index 0000000..8416cb6 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/virtio_pci.h @@ -0,0 +1,110 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _LINUX_VIRTIO_PCI_H +#define _LINUX_VIRTIO_PCI_H +#include +#ifndef VIRTIO_PCI_NO_LEGACY +#define VIRTIO_PCI_HOST_FEATURES 0 +#define VIRTIO_PCI_GUEST_FEATURES 4 +#define VIRTIO_PCI_QUEUE_PFN 8 +#define VIRTIO_PCI_QUEUE_NUM 12 +#define VIRTIO_PCI_QUEUE_SEL 14 +#define VIRTIO_PCI_QUEUE_NOTIFY 16 +#define VIRTIO_PCI_STATUS 18 +#define VIRTIO_PCI_ISR 19 +#define VIRTIO_MSI_CONFIG_VECTOR 20 +#define VIRTIO_MSI_QUEUE_VECTOR 22 +#define VIRTIO_PCI_CONFIG_OFF(msix_enabled) ((msix_enabled) ? 24 : 20) +#define VIRTIO_PCI_CONFIG(dev) VIRTIO_PCI_CONFIG_OFF((dev)->msix_enabled) +#define VIRTIO_PCI_ABI_VERSION 0 +#define VIRTIO_PCI_QUEUE_ADDR_SHIFT 12 +#define VIRTIO_PCI_VRING_ALIGN 4096 +#endif +#define VIRTIO_PCI_ISR_CONFIG 0x2 +#define VIRTIO_MSI_NO_VECTOR 0xffff +#ifndef VIRTIO_PCI_NO_MODERN +#define VIRTIO_PCI_CAP_COMMON_CFG 1 +#define VIRTIO_PCI_CAP_NOTIFY_CFG 2 +#define VIRTIO_PCI_CAP_ISR_CFG 3 +#define VIRTIO_PCI_CAP_DEVICE_CFG 4 +#define VIRTIO_PCI_CAP_PCI_CFG 5 +#define VIRTIO_PCI_CAP_SHARED_MEMORY_CFG 8 +struct virtio_pci_cap { + __u8 cap_vndr; + __u8 cap_next; + __u8 cap_len; + __u8 cfg_type; + __u8 bar; + __u8 id; + __u8 padding[2]; + __le32 offset; + __le32 length; +}; +struct virtio_pci_cap64 { + struct virtio_pci_cap cap; + __le32 offset_hi; + __le32 length_hi; +}; +struct virtio_pci_notify_cap { + struct virtio_pci_cap cap; + __le32 notify_off_multiplier; +}; +struct virtio_pci_common_cfg { + + __le32 device_feature_select; + __le32 device_feature; + __le32 guest_feature_select; + __le32 guest_feature; + __le16 msix_config; + __le16 num_queues; + __u8 device_status; + __u8 config_generation; + + __le16 queue_select; + __le16 queue_size; + __le16 queue_msix_vector; + __le16 queue_enable; + __le16 queue_notify_off; + __le32 queue_desc_lo; + __le32 queue_desc_hi; + __le32 queue_avail_lo; + __le32 queue_avail_hi; + __le32 queue_used_lo; + __le32 queue_used_hi; +}; +struct virtio_pci_cfg_cap { + struct virtio_pci_cap cap; + __u8 pci_cfg_data[4]; +}; +#define VIRTIO_PCI_CAP_VNDR 0 +#define VIRTIO_PCI_CAP_NEXT 1 +#define VIRTIO_PCI_CAP_LEN 2 +#define VIRTIO_PCI_CAP_CFG_TYPE 3 +#define VIRTIO_PCI_CAP_BAR 4 +#define VIRTIO_PCI_CAP_OFFSET 8 +#define VIRTIO_PCI_CAP_LENGTH 12 +#define VIRTIO_PCI_NOTIFY_CAP_MULT 16 +#define VIRTIO_PCI_COMMON_DFSELECT 0 +#define VIRTIO_PCI_COMMON_DF 4 +#define VIRTIO_PCI_COMMON_GFSELECT 8 +#define VIRTIO_PCI_COMMON_GF 12 +#define VIRTIO_PCI_COMMON_MSIX 16 +#define VIRTIO_PCI_COMMON_NUMQ 18 +#define VIRTIO_PCI_COMMON_STATUS 20 +#define VIRTIO_PCI_COMMON_CFGGENERATION 21 +#define VIRTIO_PCI_COMMON_Q_SELECT 22 +#define VIRTIO_PCI_COMMON_Q_SIZE 24 +#define VIRTIO_PCI_COMMON_Q_MSIX 26 +#define VIRTIO_PCI_COMMON_Q_ENABLE 28 +#define VIRTIO_PCI_COMMON_Q_NOFF 30 +#define VIRTIO_PCI_COMMON_Q_DESCLO 32 +#define VIRTIO_PCI_COMMON_Q_DESCHI 36 +#define VIRTIO_PCI_COMMON_Q_AVAILLO 40 +#define VIRTIO_PCI_COMMON_Q_AVAILHI 44 +#define VIRTIO_PCI_COMMON_Q_USEDLO 48 +#define VIRTIO_PCI_COMMON_Q_USEDHI 52 +#endif +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/virtio_pmem.h b/linux-5.10/prebuilts/usr/include/linux/virtio_pmem.h new file mode 100644 index 0000000..b4b9b85 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/virtio_pmem.h @@ -0,0 +1,24 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI_LINUX_VIRTIO_PMEM_H +#define _UAPI_LINUX_VIRTIO_PMEM_H +#include +#include +#include +struct virtio_pmem_config { + __le64 start; + __le64 size; +}; +#define VIRTIO_PMEM_REQ_TYPE_FLUSH 0 +struct virtio_pmem_resp { + + __le32 ret; +}; +struct virtio_pmem_req { + + __le32 type; +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/virtio_ring.h b/linux-5.10/prebuilts/usr/include/linux/virtio_ring.h new file mode 100644 index 0000000..de62443 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/virtio_ring.h @@ -0,0 +1,109 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI_LINUX_VIRTIO_RING_H +#define _UAPI_LINUX_VIRTIO_RING_H +#ifndef __KERNEL__ +#include +#endif +#include +#include +#define VRING_DESC_F_NEXT 1 +#define VRING_DESC_F_WRITE 2 +#define VRING_DESC_F_INDIRECT 4 +#define VRING_PACKED_DESC_F_AVAIL 7 +#define VRING_PACKED_DESC_F_USED 15 +#define VRING_USED_F_NO_NOTIFY 1 +#define VRING_AVAIL_F_NO_INTERRUPT 1 +#define VRING_PACKED_EVENT_FLAG_ENABLE 0x0 +#define VRING_PACKED_EVENT_FLAG_DISABLE 0x1 +#define VRING_PACKED_EVENT_FLAG_DESC 0x2 +#define VRING_PACKED_EVENT_F_WRAP_CTR 15 +#define VIRTIO_RING_F_INDIRECT_DESC 28 +#define VIRTIO_RING_F_EVENT_IDX 29 +#define VRING_AVAIL_ALIGN_SIZE 2 +#define VRING_USED_ALIGN_SIZE 4 +#define VRING_DESC_ALIGN_SIZE 16 +struct vring_desc { + + __virtio64 addr; + + __virtio32 len; + + __virtio16 flags; + + __virtio16 next; +}; +struct vring_avail { + __virtio16 flags; + __virtio16 idx; + __virtio16 ring[]; +}; +struct vring_used_elem { + + __virtio32 id; + + __virtio32 len; +}; +typedef struct vring_used_elem __attribute__((aligned(VRING_USED_ALIGN_SIZE))) + vring_used_elem_t; +struct vring_used { + __virtio16 flags; + __virtio16 idx; + vring_used_elem_t ring[]; +}; +typedef struct vring_desc __attribute__((aligned(VRING_DESC_ALIGN_SIZE))) + vring_desc_t; +typedef struct vring_avail __attribute__((aligned(VRING_AVAIL_ALIGN_SIZE))) + vring_avail_t; +typedef struct vring_used __attribute__((aligned(VRING_USED_ALIGN_SIZE))) + vring_used_t; +struct vring { + unsigned int num; + vring_desc_t *desc; + vring_avail_t *avail; + vring_used_t *used; +}; +#ifndef VIRTIO_RING_NO_LEGACY +#define vring_used_event(vr) ((vr)->avail->ring[(vr)->num]) +#define vring_avail_event(vr) (*(__virtio16 *)&(vr)->used->ring[(vr)->num]) +static inline void vring_init(struct vring *vr, unsigned int num, void *p, + unsigned long align) +{ + vr->num = num; + vr->desc = p; + vr->avail = (struct vring_avail *)((char *)p + num * sizeof(struct vring_desc)); + vr->used = (void *)(((uintptr_t)&vr->avail->ring[num] + sizeof(__virtio16) + + align-1) & ~(align - 1)); +} +static inline unsigned vring_size(unsigned int num, unsigned long align) +{ + return ((sizeof(struct vring_desc) * num + sizeof(__virtio16) * (3 + num) + + align - 1) & ~(align - 1)) + + sizeof(__virtio16) * 3 + sizeof(struct vring_used_elem) * num; +} +#endif +static inline int vring_need_event(__u16 event_idx, __u16 new_idx, __u16 old) +{ + + return (__u16)(new_idx - event_idx - 1) < (__u16)(new_idx - old); +} +struct vring_packed_desc_event { + + __le16 off_wrap; + + __le16 flags; +}; +struct vring_packed_desc { + + __le64 addr; + + __le32 len; + + __le16 id; + + __le16 flags; +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/virtio_rng.h b/linux-5.10/prebuilts/usr/include/linux/virtio_rng.h new file mode 100644 index 0000000..d121d63 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/virtio_rng.h @@ -0,0 +1,10 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _LINUX_VIRTIO_RNG_H +#define _LINUX_VIRTIO_RNG_H +#include +#include +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/virtio_scsi.h b/linux-5.10/prebuilts/usr/include/linux/virtio_scsi.h new file mode 100644 index 0000000..a78d5e9 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/virtio_scsi.h @@ -0,0 +1,118 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _LINUX_VIRTIO_SCSI_H +#define _LINUX_VIRTIO_SCSI_H +#include +#define VIRTIO_SCSI_CDB_DEFAULT_SIZE 32 +#define VIRTIO_SCSI_SENSE_DEFAULT_SIZE 96 +#ifndef VIRTIO_SCSI_CDB_SIZE +#define VIRTIO_SCSI_CDB_SIZE VIRTIO_SCSI_CDB_DEFAULT_SIZE +#endif +#ifndef VIRTIO_SCSI_SENSE_SIZE +#define VIRTIO_SCSI_SENSE_SIZE VIRTIO_SCSI_SENSE_DEFAULT_SIZE +#endif +struct virtio_scsi_cmd_req { + __u8 lun[8]; + __virtio64 tag; + __u8 task_attr; + __u8 prio; + __u8 crn; + __u8 cdb[VIRTIO_SCSI_CDB_SIZE]; +} __attribute__((packed)); +struct virtio_scsi_cmd_req_pi { + __u8 lun[8]; + __virtio64 tag; + __u8 task_attr; + __u8 prio; + __u8 crn; + __virtio32 pi_bytesout; + __virtio32 pi_bytesin; + __u8 cdb[VIRTIO_SCSI_CDB_SIZE]; +} __attribute__((packed)); +struct virtio_scsi_cmd_resp { + __virtio32 sense_len; + __virtio32 resid; + __virtio16 status_qualifier; + __u8 status; + __u8 response; + __u8 sense[VIRTIO_SCSI_SENSE_SIZE]; +} __attribute__((packed)); +struct virtio_scsi_ctrl_tmf_req { + __virtio32 type; + __virtio32 subtype; + __u8 lun[8]; + __virtio64 tag; +} __attribute__((packed)); +struct virtio_scsi_ctrl_tmf_resp { + __u8 response; +} __attribute__((packed)); +struct virtio_scsi_ctrl_an_req { + __virtio32 type; + __u8 lun[8]; + __virtio32 event_requested; +} __attribute__((packed)); +struct virtio_scsi_ctrl_an_resp { + __virtio32 event_actual; + __u8 response; +} __attribute__((packed)); +struct virtio_scsi_event { + __virtio32 event; + __u8 lun[8]; + __virtio32 reason; +} __attribute__((packed)); +struct virtio_scsi_config { + __virtio32 num_queues; + __virtio32 seg_max; + __virtio32 max_sectors; + __virtio32 cmd_per_lun; + __virtio32 event_info_size; + __virtio32 sense_size; + __virtio32 cdb_size; + __virtio16 max_channel; + __virtio16 max_target; + __virtio32 max_lun; +} __attribute__((packed)); +#define VIRTIO_SCSI_F_INOUT 0 +#define VIRTIO_SCSI_F_HOTPLUG 1 +#define VIRTIO_SCSI_F_CHANGE 2 +#define VIRTIO_SCSI_F_T10_PI 3 +#define VIRTIO_SCSI_S_OK 0 +#define VIRTIO_SCSI_S_OVERRUN 1 +#define VIRTIO_SCSI_S_ABORTED 2 +#define VIRTIO_SCSI_S_BAD_TARGET 3 +#define VIRTIO_SCSI_S_RESET 4 +#define VIRTIO_SCSI_S_BUSY 5 +#define VIRTIO_SCSI_S_TRANSPORT_FAILURE 6 +#define VIRTIO_SCSI_S_TARGET_FAILURE 7 +#define VIRTIO_SCSI_S_NEXUS_FAILURE 8 +#define VIRTIO_SCSI_S_FAILURE 9 +#define VIRTIO_SCSI_S_FUNCTION_SUCCEEDED 10 +#define VIRTIO_SCSI_S_FUNCTION_REJECTED 11 +#define VIRTIO_SCSI_S_INCORRECT_LUN 12 +#define VIRTIO_SCSI_T_TMF 0 +#define VIRTIO_SCSI_T_AN_QUERY 1 +#define VIRTIO_SCSI_T_AN_SUBSCRIBE 2 +#define VIRTIO_SCSI_T_TMF_ABORT_TASK 0 +#define VIRTIO_SCSI_T_TMF_ABORT_TASK_SET 1 +#define VIRTIO_SCSI_T_TMF_CLEAR_ACA 2 +#define VIRTIO_SCSI_T_TMF_CLEAR_TASK_SET 3 +#define VIRTIO_SCSI_T_TMF_I_T_NEXUS_RESET 4 +#define VIRTIO_SCSI_T_TMF_LOGICAL_UNIT_RESET 5 +#define VIRTIO_SCSI_T_TMF_QUERY_TASK 6 +#define VIRTIO_SCSI_T_TMF_QUERY_TASK_SET 7 +#define VIRTIO_SCSI_T_EVENTS_MISSED 0x80000000 +#define VIRTIO_SCSI_T_NO_EVENT 0 +#define VIRTIO_SCSI_T_TRANSPORT_RESET 1 +#define VIRTIO_SCSI_T_ASYNC_NOTIFY 2 +#define VIRTIO_SCSI_T_PARAM_CHANGE 3 +#define VIRTIO_SCSI_EVT_RESET_HARD 0 +#define VIRTIO_SCSI_EVT_RESET_RESCAN 1 +#define VIRTIO_SCSI_EVT_RESET_REMOVED 2 +#define VIRTIO_SCSI_S_SIMPLE 0 +#define VIRTIO_SCSI_S_ORDERED 1 +#define VIRTIO_SCSI_S_HEAD 2 +#define VIRTIO_SCSI_S_ACA 3 +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/virtio_types.h b/linux-5.10/prebuilts/usr/include/linux/virtio_types.h new file mode 100644 index 0000000..f1c9079 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/virtio_types.h @@ -0,0 +1,12 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI_LINUX_VIRTIO_TYPES_H +#define _UAPI_LINUX_VIRTIO_TYPES_H +#include +typedef __u16 __bitwise __virtio16; +typedef __u32 __bitwise __virtio32; +typedef __u64 __bitwise __virtio64; +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/virtio_vsock.h b/linux-5.10/prebuilts/usr/include/linux/virtio_vsock.h new file mode 100644 index 0000000..efd3592 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/virtio_vsock.h @@ -0,0 +1,53 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI_LINUX_VIRTIO_VSOCK_H +#define _UAPI_LINUX_VIRTIO_VSOCK_H +#include +#include +#include +struct virtio_vsock_config { + __le64 guest_cid; +} __attribute__((packed)); +enum virtio_vsock_event_id { + VIRTIO_VSOCK_EVENT_TRANSPORT_RESET = 0, +}; +struct virtio_vsock_event { + __le32 id; +} __attribute__((packed)); +struct virtio_vsock_hdr { + __le64 src_cid; + __le64 dst_cid; + __le32 src_port; + __le32 dst_port; + __le32 len; + __le16 type; + __le16 op; + __le32 flags; + __le32 buf_alloc; + __le32 fwd_cnt; +} __attribute__((packed)); +enum virtio_vsock_type { + VIRTIO_VSOCK_TYPE_STREAM = 1, +}; +enum virtio_vsock_op { + VIRTIO_VSOCK_OP_INVALID = 0, + + VIRTIO_VSOCK_OP_REQUEST = 1, + VIRTIO_VSOCK_OP_RESPONSE = 2, + VIRTIO_VSOCK_OP_RST = 3, + VIRTIO_VSOCK_OP_SHUTDOWN = 4, + + VIRTIO_VSOCK_OP_RW = 5, + + VIRTIO_VSOCK_OP_CREDIT_UPDATE = 6, + + VIRTIO_VSOCK_OP_CREDIT_REQUEST = 7, +}; +enum virtio_vsock_shutdown { + VIRTIO_VSOCK_SHUTDOWN_RCV = 1, + VIRTIO_VSOCK_SHUTDOWN_SEND = 2, +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/vm_sockets.h b/linux-5.10/prebuilts/usr/include/linux/vm_sockets.h new file mode 100644 index 0000000..c2c1d9b --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/vm_sockets.h @@ -0,0 +1,36 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI_VM_SOCKETS_H +#define _UAPI_VM_SOCKETS_H +#include +#define SO_VM_SOCKETS_BUFFER_SIZE 0 +#define SO_VM_SOCKETS_BUFFER_MIN_SIZE 1 +#define SO_VM_SOCKETS_BUFFER_MAX_SIZE 2 +#define SO_VM_SOCKETS_PEER_HOST_VM_ID 3 +#define SO_VM_SOCKETS_TRUSTED 5 +#define SO_VM_SOCKETS_CONNECT_TIMEOUT 6 +#define SO_VM_SOCKETS_NONBLOCK_TXRX 7 +#define VMADDR_CID_ANY -1U +#define VMADDR_PORT_ANY -1U +#define VMADDR_CID_HYPERVISOR 0 +#define VMADDR_CID_LOCAL 1 +#define VMADDR_CID_HOST 2 +#define VM_SOCKETS_INVALID_VERSION -1U +#define VM_SOCKETS_VERSION_EPOCH(_v) (((_v) & 0xFF000000) >> 24) +#define VM_SOCKETS_VERSION_MAJOR(_v) (((_v) & 0x00FF0000) >> 16) +#define VM_SOCKETS_VERSION_MINOR(_v) (((_v) & 0x0000FFFF)) +struct sockaddr_vm { + __kernel_sa_family_t svm_family; + unsigned short svm_reserved1; + unsigned int svm_port; + unsigned int svm_cid; + unsigned char svm_zero[sizeof(struct sockaddr) - + sizeof(sa_family_t) - + sizeof(unsigned short) - + sizeof(unsigned int) - sizeof(unsigned int)]; +}; +#define IOCTL_VM_SOCKETS_GET_LOCAL_CID _IO(7, 0xb9) +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/vm_sockets_diag.h b/linux-5.10/prebuilts/usr/include/linux/vm_sockets_diag.h new file mode 100644 index 0000000..55fb62c --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/vm_sockets_diag.h @@ -0,0 +1,30 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI__VM_SOCKETS_DIAG_H__ +#define _UAPI__VM_SOCKETS_DIAG_H__ +#include +struct vsock_diag_req { + __u8 sdiag_family; + __u8 sdiag_protocol; + __u16 pad; + __u32 vdiag_states; + __u32 vdiag_ino; + __u32 vdiag_show; + __u32 vdiag_cookie[2]; +}; +struct vsock_diag_msg { + __u8 vdiag_family; + __u8 vdiag_type; + __u8 vdiag_state; + __u8 vdiag_shutdown; + __u32 vdiag_src_cid; + __u32 vdiag_src_port; + __u32 vdiag_dst_cid; + __u32 vdiag_dst_port; + __u32 vdiag_ino; + __u32 vdiag_cookie[2]; +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/vmcore.h b/linux-5.10/prebuilts/usr/include/linux/vmcore.h new file mode 100644 index 0000000..9f3de98 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/vmcore.h @@ -0,0 +1,18 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI_VMCORE_H +#define _UAPI_VMCORE_H +#include +#define VMCOREDD_NOTE_NAME "LINUX" +#define VMCOREDD_MAX_NAME_BYTES 44 +struct vmcoredd_header { + __u32 n_namesz; + __u32 n_descsz; + __u32 n_type; + __u8 name[8]; + __u8 dump_name[VMCOREDD_MAX_NAME_BYTES]; +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/vsoc_shm.h b/linux-5.10/prebuilts/usr/include/linux/vsoc_shm.h new file mode 100644 index 0000000..54e67ca --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/vsoc_shm.h @@ -0,0 +1,87 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI_LINUX_VSOC_SHM_H +#define _UAPI_LINUX_VSOC_SHM_H +#include +struct fd_scoped_permission { + __u32 begin_offset; + __u32 end_offset; + __u32 owner_offset; + __u32 owned_value; +}; +#define VSOC_REGION_FREE ((__u32)0) +struct fd_scoped_permission_arg { + struct fd_scoped_permission perm; + __s32 managed_region_fd; +}; +#define VSOC_NODE_FREE ((__u32)0) +struct vsoc_signal_table_layout { + + __u32 num_nodes_lg2; + + __u32 futex_uaddr_table_offset; + + __u32 interrupt_signalled_offset; +}; +#define VSOC_REGION_WHOLE ((__s32)0) +#define VSOC_DEVICE_NAME_SZ 16 +struct vsoc_device_region { + __u16 current_version; + __u16 min_compatible_version; + __u32 region_begin_offset; + __u32 region_end_offset; + __u32 offset_of_region_data; + struct vsoc_signal_table_layout guest_to_host_signal_table; + struct vsoc_signal_table_layout host_to_guest_signal_table; + + char device_name[VSOC_DEVICE_NAME_SZ]; + + __u32 managed_by; +}; +struct vsoc_shm_layout_descriptor { + __u16 major_version; + __u16 minor_version; + + __u32 size; + + __u32 region_count; + + __u32 vsoc_region_desc_offset; +}; +#define CURRENT_VSOC_LAYOUT_MAJOR_VERSION 2 +#define CURRENT_VSOC_LAYOUT_MINOR_VERSION 0 +#define VSOC_CREATE_FD_SCOPED_PERMISSION \ + _IOW(0xF5, 0, struct fd_scoped_permission) +#define VSOC_GET_FD_SCOPED_PERMISSION _IOR(0xF5, 1, struct fd_scoped_permission) +#define VSOC_MAYBE_SEND_INTERRUPT_TO_HOST _IO(0xF5, 2) +#define VSOC_WAIT_FOR_INCOMING_INTERRUPT _IO(0xF5, 3) +#define VSOC_DESCRIBE_REGION _IOR(0xF5, 4, struct vsoc_device_region) +#define VSOC_SELF_INTERRUPT _IO(0xF5, 5) +#define VSOC_SEND_INTERRUPT_TO_HOST _IO(0xF5, 6) +enum wait_types { + VSOC_WAIT_UNDEFINED = 0, + VSOC_WAIT_IF_EQUAL = 1, + VSOC_WAIT_IF_EQUAL_TIMEOUT = 2 +}; +struct vsoc_cond_wait { + + __u32 offset; + + __u32 value; + + __u64 wake_time_sec; + + __u32 wake_time_nsec; + + __u32 wait_type; + + __u32 wakes; + + __u32 reserved_1; +}; +#define VSOC_COND_WAIT _IOWR(0xF5, 7, struct vsoc_cond_wait) +#define VSOC_COND_WAKE _IO(0xF5, 8) +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/vsockmon.h b/linux-5.10/prebuilts/usr/include/linux/vsockmon.h new file mode 100644 index 0000000..6a21910 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/vsockmon.h @@ -0,0 +1,32 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI_VSOCKMON_H +#define _UAPI_VSOCKMON_H +#include +struct af_vsockmon_hdr { + __le64 src_cid; + __le64 dst_cid; + __le32 src_port; + __le32 dst_port; + __le16 op; + __le16 transport; + __le16 len; + __u8 reserved[2]; +}; +enum af_vsockmon_op { + AF_VSOCK_OP_UNKNOWN = 0, + AF_VSOCK_OP_CONNECT = 1, + AF_VSOCK_OP_DISCONNECT = 2, + AF_VSOCK_OP_CONTROL = 3, + AF_VSOCK_OP_PAYLOAD = 4, +}; +enum af_vsockmon_transport { + AF_VSOCK_TRANSPORT_UNKNOWN = 0, + AF_VSOCK_TRANSPORT_NO_INFO = 1, + + AF_VSOCK_TRANSPORT_VIRTIO = 2, +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/vt.h b/linux-5.10/prebuilts/usr/include/linux/vt.h new file mode 100644 index 0000000..1ec89f7 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/vt.h @@ -0,0 +1,70 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI_LINUX_VT_H +#define _UAPI_LINUX_VT_H +#define MIN_NR_CONSOLES 1 +#define MAX_NR_CONSOLES 63 + +#define VT_OPENQRY 0x5600 +struct vt_mode { + char mode; + char waitv; + short relsig; + short acqsig; + short frsig; +}; +#define VT_GETMODE 0x5601 +#define VT_SETMODE 0x5602 +#define VT_AUTO 0x00 +#define VT_PROCESS 0x01 +#define VT_ACKACQ 0x02 +struct vt_stat { + unsigned short v_active; + unsigned short v_signal; + unsigned short v_state; +}; +#define VT_GETSTATE 0x5603 +#define VT_SENDSIG 0x5604 +#define VT_RELDISP 0x5605 +#define VT_ACTIVATE 0x5606 +#define VT_WAITACTIVE 0x5607 +#define VT_DISALLOCATE 0x5608 +struct vt_sizes { + unsigned short v_rows; + unsigned short v_cols; + unsigned short v_scrollsize; +}; +#define VT_RESIZE 0x5609 +struct vt_consize { + unsigned short v_rows; + unsigned short v_cols; + unsigned short v_vlin; + unsigned short v_clin; + unsigned short v_vcol; + unsigned short v_ccol; +}; +#define VT_RESIZEX 0x560A +#define VT_LOCKSWITCH 0x560B +#define VT_UNLOCKSWITCH 0x560C +#define VT_GETHIFONTMASK 0x560D +struct vt_event { + unsigned int event; +#define VT_EVENT_SWITCH 0x0001 +#define VT_EVENT_BLANK 0x0002 +#define VT_EVENT_UNBLANK 0x0004 +#define VT_EVENT_RESIZE 0x0008 +#define VT_MAX_EVENT 0x000F + unsigned int oldev; + unsigned int newev; + unsigned int pad[4]; +}; +#define VT_WAITEVENT 0x560E +struct vt_setactivate { + unsigned int console; + struct vt_mode mode; +}; +#define VT_SETACTIVATE 0x560F +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/vtpm_proxy.h b/linux-5.10/prebuilts/usr/include/linux/vtpm_proxy.h new file mode 100644 index 0000000..85ed0e2 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/vtpm_proxy.h @@ -0,0 +1,23 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI_LINUX_VTPM_PROXY_H +#define _UAPI_LINUX_VTPM_PROXY_H +#include +#include +enum vtpm_proxy_flags { + VTPM_PROXY_FLAG_TPM2 = 1, +}; +struct vtpm_proxy_new_dev { + __u32 flags; + __u32 tpm_num; + __u32 fd; + __u32 major; + __u32 minor; +}; +#define VTPM_PROXY_IOC_NEW_DEV _IOWR(0xa1, 0x00, struct vtpm_proxy_new_dev) +#define TPM2_CC_SET_LOCALITY 0x20001000 +#define TPM_ORD_SET_LOCALITY 0x20001000 +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/wait.h b/linux-5.10/prebuilts/usr/include/linux/wait.h new file mode 100644 index 0000000..1e0c659 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/wait.h @@ -0,0 +1,21 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI_LINUX_WAIT_H +#define _UAPI_LINUX_WAIT_H +#define WNOHANG 0x00000001 +#define WUNTRACED 0x00000002 +#define WSTOPPED WUNTRACED +#define WEXITED 0x00000004 +#define WCONTINUED 0x00000008 +#define WNOWAIT 0x01000000 +#define __WNOTHREAD 0x20000000 +#define __WALL 0x40000000 +#define __WCLONE 0x80000000 +#define P_ALL 0 +#define P_PID 1 +#define P_PGID 2 +#define P_PIDFD 3 +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/wanrouter.h b/linux-5.10/prebuilts/usr/include/linux/wanrouter.h new file mode 100644 index 0000000..254cb98 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/wanrouter.h @@ -0,0 +1,15 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI_ROUTER_H +#define _UAPI_ROUTER_H +enum wan_states +{ + WAN_UNCONFIGURED, + WAN_DISCONNECTED, + WAN_CONNECTING, + WAN_CONNECTED +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/watch_queue.h b/linux-5.10/prebuilts/usr/include/linux/watch_queue.h new file mode 100644 index 0000000..90f251d --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/watch_queue.h @@ -0,0 +1,72 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI_LINUX_WATCH_QUEUE_H +#define _UAPI_LINUX_WATCH_QUEUE_H +#include +#include +#include +#define O_NOTIFICATION_PIPE O_EXCL +#define IOC_WATCH_QUEUE_SET_SIZE _IO('W', 0x60) +#define IOC_WATCH_QUEUE_SET_FILTER _IO('W', 0x61) +enum watch_notification_type { + WATCH_TYPE_META = 0, + WATCH_TYPE_KEY_NOTIFY = 1, + WATCH_TYPE__NR = 2 +}; +enum watch_meta_notification_subtype { + WATCH_META_REMOVAL_NOTIFICATION = 0, + WATCH_META_LOSS_NOTIFICATION = 1, +}; +struct watch_notification { + __u32 type:24; + __u32 subtype:8; + __u32 info; +#define WATCH_INFO_LENGTH 0x0000007f +#define WATCH_INFO_LENGTH__SHIFT 0 +#define WATCH_INFO_ID 0x0000ff00 +#define WATCH_INFO_ID__SHIFT 8 +#define WATCH_INFO_TYPE_INFO 0xffff0000 +#define WATCH_INFO_TYPE_INFO__SHIFT 16 +#define WATCH_INFO_FLAG_0 0x00010000 +#define WATCH_INFO_FLAG_1 0x00020000 +#define WATCH_INFO_FLAG_2 0x00040000 +#define WATCH_INFO_FLAG_3 0x00080000 +#define WATCH_INFO_FLAG_4 0x00100000 +#define WATCH_INFO_FLAG_5 0x00200000 +#define WATCH_INFO_FLAG_6 0x00400000 +#define WATCH_INFO_FLAG_7 0x00800000 +}; +struct watch_notification_type_filter { + __u32 type; + __u32 info_filter; + __u32 info_mask; + __u32 subtype_filter[8]; +}; +struct watch_notification_filter { + __u32 nr_filters; + __u32 __reserved; + struct watch_notification_type_filter filters[]; +}; +struct watch_notification_removal { + struct watch_notification watch; + __u64 id; +}; +enum key_notification_subtype { + NOTIFY_KEY_INSTANTIATED = 0, + NOTIFY_KEY_UPDATED = 1, + NOTIFY_KEY_LINKED = 2, + NOTIFY_KEY_UNLINKED = 3, + NOTIFY_KEY_CLEARED = 4, + NOTIFY_KEY_REVOKED = 5, + NOTIFY_KEY_INVALIDATED = 6, + NOTIFY_KEY_SETATTR = 7, +}; +struct key_notification { + struct watch_notification watch; + __u32 key_id; + __u32 aux; +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/watchdog.h b/linux-5.10/prebuilts/usr/include/linux/watchdog.h new file mode 100644 index 0000000..143713a --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/watchdog.h @@ -0,0 +1,44 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI_LINUX_WATCHDOG_H +#define _UAPI_LINUX_WATCHDOG_H +#include +#include +#define WATCHDOG_IOCTL_BASE 'W' +struct watchdog_info { + __u32 options; + __u32 firmware_version; + __u8 identity[32]; +}; +#define WDIOC_GETSUPPORT _IOR(WATCHDOG_IOCTL_BASE, 0, struct watchdog_info) +#define WDIOC_GETSTATUS _IOR(WATCHDOG_IOCTL_BASE, 1, int) +#define WDIOC_GETBOOTSTATUS _IOR(WATCHDOG_IOCTL_BASE, 2, int) +#define WDIOC_GETTEMP _IOR(WATCHDOG_IOCTL_BASE, 3, int) +#define WDIOC_SETOPTIONS _IOR(WATCHDOG_IOCTL_BASE, 4, int) +#define WDIOC_KEEPALIVE _IOR(WATCHDOG_IOCTL_BASE, 5, int) +#define WDIOC_SETTIMEOUT _IOWR(WATCHDOG_IOCTL_BASE, 6, int) +#define WDIOC_GETTIMEOUT _IOR(WATCHDOG_IOCTL_BASE, 7, int) +#define WDIOC_SETPRETIMEOUT _IOWR(WATCHDOG_IOCTL_BASE, 8, int) +#define WDIOC_GETPRETIMEOUT _IOR(WATCHDOG_IOCTL_BASE, 9, int) +#define WDIOC_GETTIMELEFT _IOR(WATCHDOG_IOCTL_BASE, 10, int) +#define WDIOF_UNKNOWN -1 +#define WDIOS_UNKNOWN -1 +#define WDIOF_OVERHEAT 0x0001 +#define WDIOF_FANFAULT 0x0002 +#define WDIOF_EXTERN1 0x0004 +#define WDIOF_EXTERN2 0x0008 +#define WDIOF_POWERUNDER 0x0010 +#define WDIOF_CARDRESET 0x0020 +#define WDIOF_POWEROVER 0x0040 +#define WDIOF_SETTIMEOUT 0x0080 +#define WDIOF_MAGICCLOSE 0x0100 +#define WDIOF_PRETIMEOUT 0x0200 +#define WDIOF_ALARMONLY 0x0400 +#define WDIOF_KEEPALIVEPING 0x8000 +#define WDIOS_DISABLECARD 0x0001 +#define WDIOS_ENABLECARD 0x0002 +#define WDIOS_TEMPPANIC 0x0004 +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/wimax.h b/linux-5.10/prebuilts/usr/include/linux/wimax.h new file mode 100644 index 0000000..48e22d7 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/wimax.h @@ -0,0 +1,61 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef __LINUX__WIMAX_H__ +#define __LINUX__WIMAX_H__ +#include +enum { + + WIMAX_GNL_VERSION = 01, + + WIMAX_GNL_ATTR_INVALID = 0x00, + WIMAX_GNL_ATTR_MAX = 10, +}; +enum { + WIMAX_GNL_OP_MSG_FROM_USER, + WIMAX_GNL_OP_MSG_TO_USER, + WIMAX_GNL_OP_RFKILL, + WIMAX_GNL_OP_RESET, + WIMAX_GNL_RE_STATE_CHANGE, + WIMAX_GNL_OP_STATE_GET, +}; +enum { + WIMAX_GNL_MSG_IFIDX = 1, + WIMAX_GNL_MSG_PIPE_NAME, + WIMAX_GNL_MSG_DATA, +}; +enum wimax_rf_state { + WIMAX_RF_OFF = 0, + WIMAX_RF_ON = 1, + WIMAX_RF_QUERY = 2, +}; +enum { + WIMAX_GNL_RFKILL_IFIDX = 1, + WIMAX_GNL_RFKILL_STATE, +}; +enum { + WIMAX_GNL_RESET_IFIDX = 1, +}; +enum { + WIMAX_GNL_STGET_IFIDX = 1, +}; +enum { + WIMAX_GNL_STCH_IFIDX = 1, + WIMAX_GNL_STCH_STATE_OLD, + WIMAX_GNL_STCH_STATE_NEW, +}; + enum wimax_st { + __WIMAX_ST_NULL = 0, + WIMAX_ST_DOWN, + __WIMAX_ST_QUIESCING, + WIMAX_ST_UNINITIALIZED, + WIMAX_ST_RADIO_OFF, + WIMAX_ST_READY, + WIMAX_ST_SCANNING, + WIMAX_ST_CONNECTING, + WIMAX_ST_CONNECTED, + __WIMAX_ST_INVALID +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/wimax/i2400m.h b/linux-5.10/prebuilts/usr/include/linux/wimax/i2400m.h new file mode 100644 index 0000000..4f70370 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/wimax/i2400m.h @@ -0,0 +1,298 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef __LINUX__WIMAX__I2400M_H__ +#define __LINUX__WIMAX__I2400M_H__ +#include +#include +struct i2400m_bcf_hdr { + __le32 module_type; + __le32 header_len; + __le32 header_version; + __le32 module_id; + __le32 module_vendor; + __le32 date; + __le32 size; + __le32 key_size; + __le32 modulus_size; + __le32 exponent_size; + __u8 reserved[88]; +} __attribute__ ((packed)); +enum i2400m_brh_opcode { + I2400M_BRH_READ = 1, + I2400M_BRH_WRITE = 2, + I2400M_BRH_JUMP = 3, + I2400M_BRH_SIGNED_JUMP = 8, + I2400M_BRH_HASH_PAYLOAD_ONLY = 9, +}; +enum i2400m_brh { + I2400M_BRH_SIGNATURE = 0xcbbc0000, + I2400M_BRH_SIGNATURE_MASK = 0xffff0000, + I2400M_BRH_SIGNATURE_SHIFT = 16, + I2400M_BRH_OPCODE_MASK = 0x0000000f, + I2400M_BRH_RESPONSE_MASK = 0x000000f0, + I2400M_BRH_RESPONSE_SHIFT = 4, + I2400M_BRH_DIRECT_ACCESS = 0x00000400, + I2400M_BRH_RESPONSE_REQUIRED = 0x00000200, + I2400M_BRH_USE_CHECKSUM = 0x00000100, +}; +struct i2400m_bootrom_header { + __le32 command; + __le32 target_addr; + __le32 data_size; + __le32 block_checksum; + char payload[0]; +} __attribute__ ((packed)); +enum i2400m_pt { + I2400M_PT_DATA = 0, + I2400M_PT_CTRL, + I2400M_PT_TRACE, + I2400M_PT_RESET_WARM, + I2400M_PT_RESET_COLD, + I2400M_PT_EDATA, + I2400M_PT_ILLEGAL +}; +struct i2400m_pl_data_hdr { + __le32 reserved; +} __attribute__((packed)); +struct i2400m_pl_edata_hdr { + __le32 reorder; + __u8 cs; + __u8 reserved[11]; +} __attribute__((packed)); +enum i2400m_cs { + I2400M_CS_IPV4_0 = 0, + I2400M_CS_IPV4 = 2, +}; +enum i2400m_ro { + I2400M_RO_NEEDED = 0x01, + I2400M_RO_TYPE = 0x03, + I2400M_RO_TYPE_SHIFT = 1, + I2400M_RO_CIN = 0x0f, + I2400M_RO_CIN_SHIFT = 4, + I2400M_RO_FBN = 0x07ff, + I2400M_RO_FBN_SHIFT = 8, + I2400M_RO_SN = 0x07ff, + I2400M_RO_SN_SHIFT = 21, +}; +enum i2400m_ro_type { + I2400M_RO_TYPE_RESET = 0, + I2400M_RO_TYPE_PACKET, + I2400M_RO_TYPE_WS, + I2400M_RO_TYPE_PACKET_WS, +}; +enum { + I2400M_PL_ALIGN = 16, + I2400M_PL_SIZE_MAX = 0x3EFF, + I2400M_MAX_PLS_IN_MSG = 60, + + I2400M_H2D_PREVIEW_BARKER = 0xcafe900d, + I2400M_COLD_RESET_BARKER = 0xc01dc01d, + I2400M_WARM_RESET_BARKER = 0x50f750f7, + I2400M_NBOOT_BARKER = 0xdeadbeef, + I2400M_SBOOT_BARKER = 0x0ff1c1a1, + I2400M_SBOOT_BARKER_6050 = 0x80000001, + I2400M_ACK_BARKER = 0xfeedbabe, + I2400M_D2H_MSG_BARKER = 0xbeefbabe, +}; +struct i2400m_pld { + __le32 val; +} __attribute__ ((packed)); +#define I2400M_PLD_SIZE_MASK 0x00003fff +#define I2400M_PLD_TYPE_SHIFT 16 +#define I2400M_PLD_TYPE_MASK 0x000f0000 +struct i2400m_msg_hdr { + union { + __le32 barker; + __u32 size; + }; + union { + __le32 sequence; + __u32 offset; + }; + __le16 num_pls; + __le16 rsv1; + __le16 padding; + __le16 rsv2; + struct i2400m_pld pld[0]; +} __attribute__ ((packed)); +enum { + + I2400M_L3L4_VERSION = 0x0100, +}; +enum i2400m_mt { + I2400M_MT_RESERVED = 0x0000, + I2400M_MT_INVALID = 0xffff, + I2400M_MT_REPORT_MASK = 0x8000, + I2400M_MT_GET_SCAN_RESULT = 0x4202, + I2400M_MT_SET_SCAN_PARAM = 0x4402, + I2400M_MT_CMD_RF_CONTROL = 0x4602, + I2400M_MT_CMD_SCAN = 0x4603, + I2400M_MT_CMD_CONNECT = 0x4604, + I2400M_MT_CMD_DISCONNECT = 0x4605, + I2400M_MT_CMD_EXIT_IDLE = 0x4606, + I2400M_MT_GET_LM_VERSION = 0x5201, + I2400M_MT_GET_DEVICE_INFO = 0x5202, + I2400M_MT_GET_LINK_STATUS = 0x5203, + I2400M_MT_GET_STATISTICS = 0x5204, + I2400M_MT_GET_STATE = 0x5205, + I2400M_MT_GET_MEDIA_STATUS = 0x5206, + I2400M_MT_SET_INIT_CONFIG = 0x5404, + I2400M_MT_CMD_INIT = 0x5601, + I2400M_MT_CMD_TERMINATE = 0x5602, + I2400M_MT_CMD_MODE_OF_OP = 0x5603, + I2400M_MT_CMD_RESET_DEVICE = 0x5604, + I2400M_MT_CMD_MONITOR_CONTROL = 0x5605, + I2400M_MT_CMD_ENTER_POWERSAVE = 0x5606, + I2400M_MT_GET_TLS_OPERATION_RESULT = 0x6201, + I2400M_MT_SET_EAP_SUCCESS = 0x6402, + I2400M_MT_SET_EAP_FAIL = 0x6403, + I2400M_MT_SET_EAP_KEY = 0x6404, + I2400M_MT_CMD_SEND_EAP_RESPONSE = 0x6602, + I2400M_MT_REPORT_SCAN_RESULT = 0xc002, + I2400M_MT_REPORT_STATE = 0xd002, + I2400M_MT_REPORT_POWERSAVE_READY = 0xd005, + I2400M_MT_REPORT_EAP_REQUEST = 0xe002, + I2400M_MT_REPORT_EAP_RESTART = 0xe003, + I2400M_MT_REPORT_ALT_ACCEPT = 0xe004, + I2400M_MT_REPORT_KEY_REQUEST = 0xe005, +}; +enum i2400m_ms { + I2400M_MS_DONE_OK = 0, + I2400M_MS_DONE_IN_PROGRESS = 1, + I2400M_MS_INVALID_OP = 2, + I2400M_MS_BAD_STATE = 3, + I2400M_MS_ILLEGAL_VALUE = 4, + I2400M_MS_MISSING_PARAMS = 5, + I2400M_MS_VERSION_ERROR = 6, + I2400M_MS_ACCESSIBILITY_ERROR = 7, + I2400M_MS_BUSY = 8, + I2400M_MS_CORRUPTED_TLV = 9, + I2400M_MS_UNINITIALIZED = 10, + I2400M_MS_UNKNOWN_ERROR = 11, + I2400M_MS_PRODUCTION_ERROR = 12, + I2400M_MS_NO_RF = 13, + I2400M_MS_NOT_READY_FOR_POWERSAVE = 14, + I2400M_MS_THERMAL_CRITICAL = 15, + I2400M_MS_MAX +}; +enum i2400m_tlv { + I2400M_TLV_L4_MESSAGE_VERSIONS = 129, + I2400M_TLV_SYSTEM_STATE = 141, + I2400M_TLV_MEDIA_STATUS = 161, + I2400M_TLV_RF_OPERATION = 162, + I2400M_TLV_RF_STATUS = 163, + I2400M_TLV_DEVICE_RESET_TYPE = 132, + I2400M_TLV_CONFIG_IDLE_PARAMETERS = 601, + I2400M_TLV_CONFIG_IDLE_TIMEOUT = 611, + I2400M_TLV_CONFIG_D2H_DATA_FORMAT = 614, + I2400M_TLV_CONFIG_DL_HOST_REORDER = 615, +}; +struct i2400m_tlv_hdr { + __le16 type; + __le16 length; + __u8 pl[0]; +} __attribute__((packed)); +struct i2400m_l3l4_hdr { + __le16 type; + __le16 length; + __le16 version; + __le16 resv1; + __le16 status; + __le16 resv2; + struct i2400m_tlv_hdr pl[0]; +} __attribute__((packed)); +enum i2400m_system_state { + I2400M_SS_UNINITIALIZED = 1, + I2400M_SS_INIT, + I2400M_SS_READY, + I2400M_SS_SCAN, + I2400M_SS_STANDBY, + I2400M_SS_CONNECTING, + I2400M_SS_WIMAX_CONNECTED, + I2400M_SS_DATA_PATH_CONNECTED, + I2400M_SS_IDLE, + I2400M_SS_DISCONNECTING, + I2400M_SS_OUT_OF_ZONE, + I2400M_SS_SLEEPACTIVE, + I2400M_SS_PRODUCTION, + I2400M_SS_CONFIG, + I2400M_SS_RF_OFF, + I2400M_SS_RF_SHUTDOWN, + I2400M_SS_DEVICE_DISCONNECT, + I2400M_SS_MAX, +}; +struct i2400m_tlv_system_state { + struct i2400m_tlv_hdr hdr; + __le32 state; +} __attribute__((packed)); +struct i2400m_tlv_l4_message_versions { + struct i2400m_tlv_hdr hdr; + __le16 major; + __le16 minor; + __le16 branch; + __le16 reserved; +} __attribute__((packed)); +struct i2400m_tlv_detailed_device_info { + struct i2400m_tlv_hdr hdr; + __u8 reserved1[400]; + __u8 mac_address[ETH_ALEN]; + __u8 reserved2[2]; +} __attribute__((packed)); +enum i2400m_rf_switch_status { + I2400M_RF_SWITCH_ON = 1, + I2400M_RF_SWITCH_OFF = 2, +}; +struct i2400m_tlv_rf_switches_status { + struct i2400m_tlv_hdr hdr; + __u8 sw_rf_switch; + __u8 hw_rf_switch; + __u8 reserved[2]; +} __attribute__((packed)); +enum { + i2400m_rf_operation_on = 1, + i2400m_rf_operation_off = 2 +}; +struct i2400m_tlv_rf_operation { + struct i2400m_tlv_hdr hdr; + __le32 status; +} __attribute__((packed)); +enum i2400m_tlv_reset_type { + I2400M_RESET_TYPE_COLD = 1, + I2400M_RESET_TYPE_WARM +}; +struct i2400m_tlv_device_reset_type { + struct i2400m_tlv_hdr hdr; + __le32 reset_type; +} __attribute__((packed)); +struct i2400m_tlv_config_idle_parameters { + struct i2400m_tlv_hdr hdr; + __le32 idle_timeout; + __le32 idle_paging_interval; +} __attribute__((packed)); +enum i2400m_media_status { + I2400M_MEDIA_STATUS_LINK_UP = 1, + I2400M_MEDIA_STATUS_LINK_DOWN, + I2400M_MEDIA_STATUS_LINK_RENEW, +}; +struct i2400m_tlv_media_status { + struct i2400m_tlv_hdr hdr; + __le32 media_status; +} __attribute__((packed)); +struct i2400m_tlv_config_idle_timeout { + struct i2400m_tlv_hdr hdr; + __le32 timeout; +} __attribute__((packed)); +struct i2400m_tlv_config_d2h_data_format { + struct i2400m_tlv_hdr hdr; + __u8 format; + __u8 reserved[3]; +} __attribute__((packed)); +struct i2400m_tlv_config_dl_host_reorder { + struct i2400m_tlv_hdr hdr; + __u8 reorder; + __u8 reserved[3]; +} __attribute__((packed)); +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/wireguard.h b/linux-5.10/prebuilts/usr/include/linux/wireguard.h new file mode 100644 index 0000000..066bbdd --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/wireguard.h @@ -0,0 +1,64 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _WG_UAPI_WIREGUARD_H +#define _WG_UAPI_WIREGUARD_H +#define WG_GENL_NAME "wireguard" +#define WG_GENL_VERSION 1 +#define WG_KEY_LEN 32 +enum wg_cmd { + WG_CMD_GET_DEVICE, + WG_CMD_SET_DEVICE, + __WG_CMD_MAX +}; +#define WG_CMD_MAX (__WG_CMD_MAX - 1) +enum wgdevice_flag { + WGDEVICE_F_REPLACE_PEERS = 1U << 0, + __WGDEVICE_F_ALL = WGDEVICE_F_REPLACE_PEERS +}; +enum wgdevice_attribute { + WGDEVICE_A_UNSPEC, + WGDEVICE_A_IFINDEX, + WGDEVICE_A_IFNAME, + WGDEVICE_A_PRIVATE_KEY, + WGDEVICE_A_PUBLIC_KEY, + WGDEVICE_A_FLAGS, + WGDEVICE_A_LISTEN_PORT, + WGDEVICE_A_FWMARK, + WGDEVICE_A_PEERS, + __WGDEVICE_A_LAST +}; +#define WGDEVICE_A_MAX (__WGDEVICE_A_LAST - 1) +enum wgpeer_flag { + WGPEER_F_REMOVE_ME = 1U << 0, + WGPEER_F_REPLACE_ALLOWEDIPS = 1U << 1, + WGPEER_F_UPDATE_ONLY = 1U << 2, + __WGPEER_F_ALL = WGPEER_F_REMOVE_ME | WGPEER_F_REPLACE_ALLOWEDIPS | + WGPEER_F_UPDATE_ONLY +}; +enum wgpeer_attribute { + WGPEER_A_UNSPEC, + WGPEER_A_PUBLIC_KEY, + WGPEER_A_PRESHARED_KEY, + WGPEER_A_FLAGS, + WGPEER_A_ENDPOINT, + WGPEER_A_PERSISTENT_KEEPALIVE_INTERVAL, + WGPEER_A_LAST_HANDSHAKE_TIME, + WGPEER_A_RX_BYTES, + WGPEER_A_TX_BYTES, + WGPEER_A_ALLOWEDIPS, + WGPEER_A_PROTOCOL_VERSION, + __WGPEER_A_LAST +}; +#define WGPEER_A_MAX (__WGPEER_A_LAST - 1) +enum wgallowedip_attribute { + WGALLOWEDIP_A_UNSPEC, + WGALLOWEDIP_A_FAMILY, + WGALLOWEDIP_A_IPADDR, + WGALLOWEDIP_A_CIDR_MASK, + __WGALLOWEDIP_A_LAST +}; +#define WGALLOWEDIP_A_MAX (__WGALLOWEDIP_A_LAST - 1) +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/wireless.h b/linux-5.10/prebuilts/usr/include/linux/wireless.h new file mode 100644 index 0000000..6d34a89 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/wireless.h @@ -0,0 +1,473 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI_LINUX_WIRELESS_H +#define _UAPI_LINUX_WIRELESS_H +#include +#include +#include +#ifdef __KERNEL__ +# include +#else +# include +#endif +#define WIRELESS_EXT 22 +#define SIOCSIWCOMMIT 0x8B00 +#define SIOCGIWNAME 0x8B01 +#define SIOCSIWNWID 0x8B02 +#define SIOCGIWNWID 0x8B03 +#define SIOCSIWFREQ 0x8B04 +#define SIOCGIWFREQ 0x8B05 +#define SIOCSIWMODE 0x8B06 +#define SIOCGIWMODE 0x8B07 +#define SIOCSIWSENS 0x8B08 +#define SIOCGIWSENS 0x8B09 +#define SIOCSIWRANGE 0x8B0A +#define SIOCGIWRANGE 0x8B0B +#define SIOCSIWPRIV 0x8B0C +#define SIOCGIWPRIV 0x8B0D +#define SIOCSIWSTATS 0x8B0E +#define SIOCGIWSTATS 0x8B0F +#define SIOCSIWSPY 0x8B10 +#define SIOCGIWSPY 0x8B11 +#define SIOCSIWTHRSPY 0x8B12 +#define SIOCGIWTHRSPY 0x8B13 +#define SIOCSIWAP 0x8B14 +#define SIOCGIWAP 0x8B15 +#define SIOCGIWAPLIST 0x8B17 +#define SIOCSIWSCAN 0x8B18 +#define SIOCGIWSCAN 0x8B19 +#define SIOCSIWESSID 0x8B1A +#define SIOCGIWESSID 0x8B1B +#define SIOCSIWNICKN 0x8B1C +#define SIOCGIWNICKN 0x8B1D +#define SIOCSIWRATE 0x8B20 +#define SIOCGIWRATE 0x8B21 +#define SIOCSIWRTS 0x8B22 +#define SIOCGIWRTS 0x8B23 +#define SIOCSIWFRAG 0x8B24 +#define SIOCGIWFRAG 0x8B25 +#define SIOCSIWTXPOW 0x8B26 +#define SIOCGIWTXPOW 0x8B27 +#define SIOCSIWRETRY 0x8B28 +#define SIOCGIWRETRY 0x8B29 +#define SIOCSIWENCODE 0x8B2A +#define SIOCGIWENCODE 0x8B2B +#define SIOCSIWPOWER 0x8B2C +#define SIOCGIWPOWER 0x8B2D +#define SIOCSIWGENIE 0x8B30 +#define SIOCGIWGENIE 0x8B31 +#define SIOCSIWMLME 0x8B16 +#define SIOCSIWAUTH 0x8B32 +#define SIOCGIWAUTH 0x8B33 +#define SIOCSIWENCODEEXT 0x8B34 +#define SIOCGIWENCODEEXT 0x8B35 +#define SIOCSIWPMKSA 0x8B36 +#define SIOCIWFIRSTPRIV 0x8BE0 +#define SIOCIWLASTPRIV 0x8BFF +#define SIOCIWFIRST 0x8B00 +#define SIOCIWLAST SIOCIWLASTPRIV +#define IW_IOCTL_IDX(cmd) ((cmd) - SIOCIWFIRST) +#define IW_HANDLER(id, func) \ + [IW_IOCTL_IDX(id)] = func +#define IW_IS_SET(cmd) (!((cmd) & 0x1)) +#define IW_IS_GET(cmd) ((cmd) & 0x1) +#define IWEVTXDROP 0x8C00 +#define IWEVQUAL 0x8C01 +#define IWEVCUSTOM 0x8C02 +#define IWEVREGISTERED 0x8C03 +#define IWEVEXPIRED 0x8C04 +#define IWEVGENIE 0x8C05 +#define IWEVMICHAELMICFAILURE 0x8C06 +#define IWEVASSOCREQIE 0x8C07 +#define IWEVASSOCRESPIE 0x8C08 +#define IWEVPMKIDCAND 0x8C09 +#define IWEVFIRST 0x8C00 +#define IW_EVENT_IDX(cmd) ((cmd) - IWEVFIRST) +#define IW_PRIV_TYPE_MASK 0x7000 +#define IW_PRIV_TYPE_NONE 0x0000 +#define IW_PRIV_TYPE_BYTE 0x1000 +#define IW_PRIV_TYPE_CHAR 0x2000 +#define IW_PRIV_TYPE_INT 0x4000 +#define IW_PRIV_TYPE_FLOAT 0x5000 +#define IW_PRIV_TYPE_ADDR 0x6000 +#define IW_PRIV_SIZE_FIXED 0x0800 +#define IW_PRIV_SIZE_MASK 0x07FF +#define IW_MAX_FREQUENCIES 32 +#define IW_MAX_BITRATES 32 +#define IW_MAX_TXPOWER 8 +#define IW_MAX_SPY 8 +#define IW_MAX_AP 64 +#define IW_ESSID_MAX_SIZE 32 +#define IW_MODE_AUTO 0 +#define IW_MODE_ADHOC 1 +#define IW_MODE_INFRA 2 +#define IW_MODE_MASTER 3 +#define IW_MODE_REPEAT 4 +#define IW_MODE_SECOND 5 +#define IW_MODE_MONITOR 6 +#define IW_MODE_MESH 7 +#define IW_QUAL_QUAL_UPDATED 0x01 +#define IW_QUAL_LEVEL_UPDATED 0x02 +#define IW_QUAL_NOISE_UPDATED 0x04 +#define IW_QUAL_ALL_UPDATED 0x07 +#define IW_QUAL_DBM 0x08 +#define IW_QUAL_QUAL_INVALID 0x10 +#define IW_QUAL_LEVEL_INVALID 0x20 +#define IW_QUAL_NOISE_INVALID 0x40 +#define IW_QUAL_RCPI 0x80 +#define IW_QUAL_ALL_INVALID 0x70 +#define IW_FREQ_AUTO 0x00 +#define IW_FREQ_FIXED 0x01 +#define IW_MAX_ENCODING_SIZES 8 +#define IW_ENCODING_TOKEN_MAX 64 +#define IW_ENCODE_INDEX 0x00FF +#define IW_ENCODE_FLAGS 0xFF00 +#define IW_ENCODE_MODE 0xF000 +#define IW_ENCODE_DISABLED 0x8000 +#define IW_ENCODE_ENABLED 0x0000 +#define IW_ENCODE_RESTRICTED 0x4000 +#define IW_ENCODE_OPEN 0x2000 +#define IW_ENCODE_NOKEY 0x0800 +#define IW_ENCODE_TEMP 0x0400 +#define IW_POWER_ON 0x0000 +#define IW_POWER_TYPE 0xF000 +#define IW_POWER_PERIOD 0x1000 +#define IW_POWER_TIMEOUT 0x2000 +#define IW_POWER_MODE 0x0F00 +#define IW_POWER_UNICAST_R 0x0100 +#define IW_POWER_MULTICAST_R 0x0200 +#define IW_POWER_ALL_R 0x0300 +#define IW_POWER_FORCE_S 0x0400 +#define IW_POWER_REPEATER 0x0800 +#define IW_POWER_MODIFIER 0x000F +#define IW_POWER_MIN 0x0001 +#define IW_POWER_MAX 0x0002 +#define IW_POWER_RELATIVE 0x0004 +#define IW_TXPOW_TYPE 0x00FF +#define IW_TXPOW_DBM 0x0000 +#define IW_TXPOW_MWATT 0x0001 +#define IW_TXPOW_RELATIVE 0x0002 +#define IW_TXPOW_RANGE 0x1000 +#define IW_RETRY_ON 0x0000 +#define IW_RETRY_TYPE 0xF000 +#define IW_RETRY_LIMIT 0x1000 +#define IW_RETRY_LIFETIME 0x2000 +#define IW_RETRY_MODIFIER 0x00FF +#define IW_RETRY_MIN 0x0001 +#define IW_RETRY_MAX 0x0002 +#define IW_RETRY_RELATIVE 0x0004 +#define IW_RETRY_SHORT 0x0010 +#define IW_RETRY_LONG 0x0020 +#define IW_SCAN_DEFAULT 0x0000 +#define IW_SCAN_ALL_ESSID 0x0001 +#define IW_SCAN_THIS_ESSID 0x0002 +#define IW_SCAN_ALL_FREQ 0x0004 +#define IW_SCAN_THIS_FREQ 0x0008 +#define IW_SCAN_ALL_MODE 0x0010 +#define IW_SCAN_THIS_MODE 0x0020 +#define IW_SCAN_ALL_RATE 0x0040 +#define IW_SCAN_THIS_RATE 0x0080 +#define IW_SCAN_TYPE_ACTIVE 0 +#define IW_SCAN_TYPE_PASSIVE 1 +#define IW_SCAN_MAX_DATA 4096 +#define IW_SCAN_CAPA_NONE 0x00 +#define IW_SCAN_CAPA_ESSID 0x01 +#define IW_SCAN_CAPA_BSSID 0x02 +#define IW_SCAN_CAPA_CHANNEL 0x04 +#define IW_SCAN_CAPA_MODE 0x08 +#define IW_SCAN_CAPA_RATE 0x10 +#define IW_SCAN_CAPA_TYPE 0x20 +#define IW_SCAN_CAPA_TIME 0x40 +#define IW_CUSTOM_MAX 256 +#define IW_GENERIC_IE_MAX 1024 +#define IW_MLME_DEAUTH 0 +#define IW_MLME_DISASSOC 1 +#define IW_MLME_AUTH 2 +#define IW_MLME_ASSOC 3 +#define IW_AUTH_INDEX 0x0FFF +#define IW_AUTH_FLAGS 0xF000 +#define IW_AUTH_WPA_VERSION 0 +#define IW_AUTH_CIPHER_PAIRWISE 1 +#define IW_AUTH_CIPHER_GROUP 2 +#define IW_AUTH_KEY_MGMT 3 +#define IW_AUTH_TKIP_COUNTERMEASURES 4 +#define IW_AUTH_DROP_UNENCRYPTED 5 +#define IW_AUTH_80211_AUTH_ALG 6 +#define IW_AUTH_WPA_ENABLED 7 +#define IW_AUTH_RX_UNENCRYPTED_EAPOL 8 +#define IW_AUTH_ROAMING_CONTROL 9 +#define IW_AUTH_PRIVACY_INVOKED 10 +#define IW_AUTH_CIPHER_GROUP_MGMT 11 +#define IW_AUTH_MFP 12 +#define IW_AUTH_WPA_VERSION_DISABLED 0x00000001 +#define IW_AUTH_WPA_VERSION_WPA 0x00000002 +#define IW_AUTH_WPA_VERSION_WPA2 0x00000004 +#define IW_AUTH_CIPHER_NONE 0x00000001 +#define IW_AUTH_CIPHER_WEP40 0x00000002 +#define IW_AUTH_CIPHER_TKIP 0x00000004 +#define IW_AUTH_CIPHER_CCMP 0x00000008 +#define IW_AUTH_CIPHER_WEP104 0x00000010 +#define IW_AUTH_CIPHER_AES_CMAC 0x00000020 +#define IW_AUTH_KEY_MGMT_802_1X 1 +#define IW_AUTH_KEY_MGMT_PSK 2 +#define IW_AUTH_ALG_OPEN_SYSTEM 0x00000001 +#define IW_AUTH_ALG_SHARED_KEY 0x00000002 +#define IW_AUTH_ALG_LEAP 0x00000004 +#define IW_AUTH_ROAMING_ENABLE 0 +#define IW_AUTH_ROAMING_DISABLE 1 +#define IW_AUTH_MFP_DISABLED 0 +#define IW_AUTH_MFP_OPTIONAL 1 +#define IW_AUTH_MFP_REQUIRED 2 +#define IW_ENCODE_SEQ_MAX_SIZE 8 +#define IW_ENCODE_ALG_NONE 0 +#define IW_ENCODE_ALG_WEP 1 +#define IW_ENCODE_ALG_TKIP 2 +#define IW_ENCODE_ALG_CCMP 3 +#define IW_ENCODE_ALG_PMK 4 +#define IW_ENCODE_ALG_AES_CMAC 5 +#define IW_ENCODE_EXT_TX_SEQ_VALID 0x00000001 +#define IW_ENCODE_EXT_RX_SEQ_VALID 0x00000002 +#define IW_ENCODE_EXT_GROUP_KEY 0x00000004 +#define IW_ENCODE_EXT_SET_TX_KEY 0x00000008 +#define IW_MICFAILURE_KEY_ID 0x00000003 +#define IW_MICFAILURE_GROUP 0x00000004 +#define IW_MICFAILURE_PAIRWISE 0x00000008 +#define IW_MICFAILURE_STAKEY 0x00000010 +#define IW_MICFAILURE_COUNT 0x00000060 +#define IW_ENC_CAPA_WPA 0x00000001 +#define IW_ENC_CAPA_WPA2 0x00000002 +#define IW_ENC_CAPA_CIPHER_TKIP 0x00000004 +#define IW_ENC_CAPA_CIPHER_CCMP 0x00000008 +#define IW_ENC_CAPA_4WAY_HANDSHAKE 0x00000010 +#define IW_EVENT_CAPA_BASE(cmd) ((cmd >= SIOCIWFIRSTPRIV) ? \ + (cmd - SIOCIWFIRSTPRIV + 0x60) : \ + (cmd - SIOCIWFIRST)) +#define IW_EVENT_CAPA_INDEX(cmd) (IW_EVENT_CAPA_BASE(cmd) >> 5) +#define IW_EVENT_CAPA_MASK(cmd) (1 << (IW_EVENT_CAPA_BASE(cmd) & 0x1F)) +#define IW_EVENT_CAPA_K_0 (IW_EVENT_CAPA_MASK(0x8B04) | \ + IW_EVENT_CAPA_MASK(0x8B06) | \ + IW_EVENT_CAPA_MASK(0x8B1A)) +#define IW_EVENT_CAPA_K_1 (IW_EVENT_CAPA_MASK(0x8B2A)) +#define IW_EVENT_CAPA_SET(event_capa, cmd) (event_capa[IW_EVENT_CAPA_INDEX(cmd)] |= IW_EVENT_CAPA_MASK(cmd)) +#define IW_EVENT_CAPA_SET_KERNEL(event_capa) {event_capa[0] |= IW_EVENT_CAPA_K_0; event_capa[1] |= IW_EVENT_CAPA_K_1; } +struct iw_param { + __s32 value; + __u8 fixed; + __u8 disabled; + __u16 flags; +}; +struct iw_point { + void __user *pointer; + __u16 length; + __u16 flags; +}; +struct iw_freq { + __s32 m; + __s16 e; + __u8 i; + __u8 flags; +}; +struct iw_quality { + __u8 qual; + __u8 level; + __u8 noise; + __u8 updated; +}; +struct iw_discarded { + __u32 nwid; + __u32 code; + __u32 fragment; + __u32 retries; + __u32 misc; +}; +struct iw_missed { + __u32 beacon; +}; +struct iw_thrspy { + struct sockaddr addr; + struct iw_quality qual; + struct iw_quality low; + struct iw_quality high; +}; +struct iw_scan_req { + __u8 scan_type; + __u8 essid_len; + __u8 num_channels; + __u8 flags; + struct sockaddr bssid; + + __u8 essid[IW_ESSID_MAX_SIZE]; + + __u32 min_channel_time; + __u32 max_channel_time; + struct iw_freq channel_list[IW_MAX_FREQUENCIES]; +}; +struct iw_encode_ext { + __u32 ext_flags; + __u8 tx_seq[IW_ENCODE_SEQ_MAX_SIZE]; + __u8 rx_seq[IW_ENCODE_SEQ_MAX_SIZE]; + struct sockaddr addr; + __u16 alg; + __u16 key_len; + __u8 key[0]; +}; +struct iw_mlme { + __u16 cmd; + __u16 reason_code; + struct sockaddr addr; +}; +#define IW_PMKSA_ADD 1 +#define IW_PMKSA_REMOVE 2 +#define IW_PMKSA_FLUSH 3 +#define IW_PMKID_LEN 16 +struct iw_pmksa { + __u32 cmd; + struct sockaddr bssid; + __u8 pmkid[IW_PMKID_LEN]; +}; +struct iw_michaelmicfailure { + __u32 flags; + struct sockaddr src_addr; + __u8 tsc[IW_ENCODE_SEQ_MAX_SIZE]; +}; +#define IW_PMKID_CAND_PREAUTH 0x00000001 +struct iw_pmkid_cand { + __u32 flags; + __u32 index; + struct sockaddr bssid; +}; +struct iw_statistics { + __u16 status; + struct iw_quality qual; + struct iw_discarded discard; + struct iw_missed miss; +}; +union iwreq_data { + + char name[IFNAMSIZ]; + + struct iw_point essid; + struct iw_param nwid; + struct iw_freq freq; + struct iw_param sens; + struct iw_param bitrate; + struct iw_param txpower; + struct iw_param rts; + struct iw_param frag; + __u32 mode; + struct iw_param retry; + struct iw_point encoding; + struct iw_param power; + struct iw_quality qual; + struct sockaddr ap_addr; + struct sockaddr addr; + struct iw_param param; + struct iw_point data; +}; +struct iwreq { + union + { + char ifrn_name[IFNAMSIZ]; + } ifr_ifrn; + + union iwreq_data u; +}; +struct iw_range { + + __u32 throughput; + + + __u32 min_nwid; + __u32 max_nwid; + + __u16 old_num_channels; + __u8 old_num_frequency; + + __u8 scan_capa; + + __u32 event_capa[6]; + + __s32 sensitivity; + + + struct iw_quality max_qual; + + struct iw_quality avg_qual; + + __u8 num_bitrates; + __s32 bitrate[IW_MAX_BITRATES]; + + __s32 min_rts; + __s32 max_rts; + + __s32 min_frag; + __s32 max_frag; + + __s32 min_pmp; + __s32 max_pmp; + __s32 min_pmt; + __s32 max_pmt; + __u16 pmp_flags; + __u16 pmt_flags; + __u16 pm_capa; + + __u16 encoding_size[IW_MAX_ENCODING_SIZES]; + __u8 num_encoding_sizes; + __u8 max_encoding_tokens; + + __u8 encoding_login_index; + + __u16 txpower_capa; + __u8 num_txpower; + __s32 txpower[IW_MAX_TXPOWER]; + + __u8 we_version_compiled; + __u8 we_version_source; + + __u16 retry_capa; + __u16 retry_flags; + __u16 r_time_flags; + __s32 min_retry; + __s32 max_retry; + __s32 min_r_time; + __s32 max_r_time; + + __u16 num_channels; + __u8 num_frequency; + struct iw_freq freq[IW_MAX_FREQUENCIES]; + + __u32 enc_capa; +}; +struct iw_priv_args { + __u32 cmd; + __u16 set_args; + __u16 get_args; + char name[IFNAMSIZ]; +}; +struct iw_event { + __u16 len; + __u16 cmd; + union iwreq_data u; +}; +#define IW_EV_LCP_LEN (sizeof(struct iw_event) - sizeof(union iwreq_data)) +#define IW_EV_CHAR_LEN (IW_EV_LCP_LEN + IFNAMSIZ) +#define IW_EV_UINT_LEN (IW_EV_LCP_LEN + sizeof(__u32)) +#define IW_EV_FREQ_LEN (IW_EV_LCP_LEN + sizeof(struct iw_freq)) +#define IW_EV_PARAM_LEN (IW_EV_LCP_LEN + sizeof(struct iw_param)) +#define IW_EV_ADDR_LEN (IW_EV_LCP_LEN + sizeof(struct sockaddr)) +#define IW_EV_QUAL_LEN (IW_EV_LCP_LEN + sizeof(struct iw_quality)) +#define IW_EV_POINT_OFF offsetof(struct iw_point, length) +#define IW_EV_POINT_LEN (IW_EV_LCP_LEN + sizeof(struct iw_point) - \ + IW_EV_POINT_OFF) +#define IW_EV_LCP_PK_LEN (4) +#define IW_EV_CHAR_PK_LEN (IW_EV_LCP_PK_LEN + IFNAMSIZ) +#define IW_EV_UINT_PK_LEN (IW_EV_LCP_PK_LEN + sizeof(__u32)) +#define IW_EV_FREQ_PK_LEN (IW_EV_LCP_PK_LEN + sizeof(struct iw_freq)) +#define IW_EV_PARAM_PK_LEN (IW_EV_LCP_PK_LEN + sizeof(struct iw_param)) +#define IW_EV_ADDR_PK_LEN (IW_EV_LCP_PK_LEN + sizeof(struct sockaddr)) +#define IW_EV_QUAL_PK_LEN (IW_EV_LCP_PK_LEN + sizeof(struct iw_quality)) +#define IW_EV_POINT_PK_LEN (IW_EV_LCP_PK_LEN + 4) +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/wmi.h b/linux-5.10/prebuilts/usr/include/linux/wmi.h new file mode 100644 index 0000000..8c553ad --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/wmi.h @@ -0,0 +1,49 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI_LINUX_WMI_H +#define _UAPI_LINUX_WMI_H +#include +#include +#define WMI_IOC 'W' +struct wmi_ioctl_buffer { + __u64 length; + __u8 data[]; +}; +struct calling_interface_buffer { + __u16 cmd_class; + __u16 cmd_select; + volatile __u32 input[4]; + volatile __u32 output[4]; +} __packed; +struct dell_wmi_extensions { + __u32 argattrib; + __u32 blength; + __u8 data[]; +} __packed; +struct dell_wmi_smbios_buffer { + __u64 length; + struct calling_interface_buffer std; + struct dell_wmi_extensions ext; +} __packed; +#define CLASS_TOKEN_READ 0 +#define CLASS_TOKEN_WRITE 1 +#define SELECT_TOKEN_STD 0 +#define SELECT_TOKEN_BAT 1 +#define SELECT_TOKEN_AC 2 +#define CLASS_FLASH_INTERFACE 7 +#define SELECT_FLASH_INTERFACE 3 +#define CLASS_ADMIN_PROP 10 +#define SELECT_ADMIN_PROP 3 +#define CLASS_INFO 17 +#define SELECT_RFKILL 11 +#define SELECT_APP_REGISTRATION 3 +#define SELECT_DOCK 22 +#define CAPSULE_EN_TOKEN 0x0461 +#define CAPSULE_DIS_TOKEN 0x0462 +#define WSMT_EN_TOKEN 0x04EC +#define WSMT_DIS_TOKEN 0x04ED +#define DELL_WMI_SMBIOS_CMD _IOWR(WMI_IOC, 0, struct dell_wmi_smbios_buffer) +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/x25.h b/linux-5.10/prebuilts/usr/include/linux/x25.h new file mode 100644 index 0000000..205a2ef --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/x25.h @@ -0,0 +1,84 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef X25_KERNEL_H +#define X25_KERNEL_H +#include +#include +#define SIOCX25GSUBSCRIP (SIOCPROTOPRIVATE + 0) +#define SIOCX25SSUBSCRIP (SIOCPROTOPRIVATE + 1) +#define SIOCX25GFACILITIES (SIOCPROTOPRIVATE + 2) +#define SIOCX25SFACILITIES (SIOCPROTOPRIVATE + 3) +#define SIOCX25GCALLUSERDATA (SIOCPROTOPRIVATE + 4) +#define SIOCX25SCALLUSERDATA (SIOCPROTOPRIVATE + 5) +#define SIOCX25GCAUSEDIAG (SIOCPROTOPRIVATE + 6) +#define SIOCX25SCUDMATCHLEN (SIOCPROTOPRIVATE + 7) +#define SIOCX25CALLACCPTAPPRV (SIOCPROTOPRIVATE + 8) +#define SIOCX25SENDCALLACCPT (SIOCPROTOPRIVATE + 9) +#define SIOCX25GDTEFACILITIES (SIOCPROTOPRIVATE + 10) +#define SIOCX25SDTEFACILITIES (SIOCPROTOPRIVATE + 11) +#define SIOCX25SCAUSEDIAG (SIOCPROTOPRIVATE + 12) +#define X25_QBITINCL 1 +#define X25_PS16 4 +#define X25_PS32 5 +#define X25_PS64 6 +#define X25_PS128 7 +#define X25_PS256 8 +#define X25_PS512 9 +#define X25_PS1024 10 +#define X25_PS2048 11 +#define X25_PS4096 12 +struct x25_address { + char x25_addr[16]; +}; +struct sockaddr_x25 { + __kernel_sa_family_t sx25_family; + struct x25_address sx25_addr; +}; +struct x25_subscrip_struct { + char device[200-sizeof(unsigned long)]; + unsigned long global_facil_mask; + unsigned int extended; +}; +#define X25_MASK_REVERSE 0x01 +#define X25_MASK_THROUGHPUT 0x02 +#define X25_MASK_PACKET_SIZE 0x04 +#define X25_MASK_WINDOW_SIZE 0x08 +#define X25_MASK_CALLING_AE 0x10 +#define X25_MASK_CALLED_AE 0x20 +struct x25_route_struct { + struct x25_address address; + unsigned int sigdigits; + char device[200]; +}; +struct x25_facilities { + unsigned int winsize_in, winsize_out; + unsigned int pacsize_in, pacsize_out; + unsigned int throughput; + unsigned int reverse; +}; +struct x25_dte_facilities { + __u16 delay_cumul; + __u16 delay_target; + __u16 delay_max; + __u8 min_throughput; + __u8 expedited; + __u8 calling_len; + __u8 called_len; + __u8 calling_ae[20]; + __u8 called_ae[20]; +}; +struct x25_calluserdata { + unsigned int cudlength; + unsigned char cuddata[128]; +}; +struct x25_causediag { + unsigned char cause; + unsigned char diagnostic; +}; +struct x25_subaddr { + unsigned int cudmatchlength; +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/xattr.h b/linux-5.10/prebuilts/usr/include/linux/xattr.h new file mode 100644 index 0000000..e76ed79 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/xattr.h @@ -0,0 +1,56 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#include +#ifndef _UAPI_LINUX_XATTR_H +#define _UAPI_LINUX_XATTR_H +#if __UAPI_DEF_XATTR +#define __USE_KERNEL_XATTR_DEFS +#define XATTR_CREATE 0x1 +#define XATTR_REPLACE 0x2 +#endif +#define XATTR_OS2_PREFIX "os2." +#define XATTR_OS2_PREFIX_LEN (sizeof(XATTR_OS2_PREFIX) - 1) +#define XATTR_MAC_OSX_PREFIX "osx." +#define XATTR_MAC_OSX_PREFIX_LEN (sizeof(XATTR_MAC_OSX_PREFIX) - 1) +#define XATTR_BTRFS_PREFIX "btrfs." +#define XATTR_BTRFS_PREFIX_LEN (sizeof(XATTR_BTRFS_PREFIX) - 1) +#define XATTR_HURD_PREFIX "gnu." +#define XATTR_HURD_PREFIX_LEN (sizeof(XATTR_HURD_PREFIX) - 1) +#define XATTR_SECURITY_PREFIX "security." +#define XATTR_SECURITY_PREFIX_LEN (sizeof(XATTR_SECURITY_PREFIX) - 1) +#define XATTR_SYSTEM_PREFIX "system." +#define XATTR_SYSTEM_PREFIX_LEN (sizeof(XATTR_SYSTEM_PREFIX) - 1) +#define XATTR_TRUSTED_PREFIX "trusted." +#define XATTR_TRUSTED_PREFIX_LEN (sizeof(XATTR_TRUSTED_PREFIX) - 1) +#define XATTR_USER_PREFIX "user." +#define XATTR_USER_PREFIX_LEN (sizeof(XATTR_USER_PREFIX) - 1) +#define XATTR_EVM_SUFFIX "evm" +#define XATTR_NAME_EVM XATTR_SECURITY_PREFIX XATTR_EVM_SUFFIX +#define XATTR_IMA_SUFFIX "ima" +#define XATTR_NAME_IMA XATTR_SECURITY_PREFIX XATTR_IMA_SUFFIX +#define XATTR_SELINUX_SUFFIX "selinux" +#define XATTR_NAME_SELINUX XATTR_SECURITY_PREFIX XATTR_SELINUX_SUFFIX +#define XATTR_SMACK_SUFFIX "SMACK64" +#define XATTR_SMACK_IPIN "SMACK64IPIN" +#define XATTR_SMACK_IPOUT "SMACK64IPOUT" +#define XATTR_SMACK_EXEC "SMACK64EXEC" +#define XATTR_SMACK_TRANSMUTE "SMACK64TRANSMUTE" +#define XATTR_SMACK_MMAP "SMACK64MMAP" +#define XATTR_NAME_SMACK XATTR_SECURITY_PREFIX XATTR_SMACK_SUFFIX +#define XATTR_NAME_SMACKIPIN XATTR_SECURITY_PREFIX XATTR_SMACK_IPIN +#define XATTR_NAME_SMACKIPOUT XATTR_SECURITY_PREFIX XATTR_SMACK_IPOUT +#define XATTR_NAME_SMACKEXEC XATTR_SECURITY_PREFIX XATTR_SMACK_EXEC +#define XATTR_NAME_SMACKTRANSMUTE XATTR_SECURITY_PREFIX XATTR_SMACK_TRANSMUTE +#define XATTR_NAME_SMACKMMAP XATTR_SECURITY_PREFIX XATTR_SMACK_MMAP +#define XATTR_APPARMOR_SUFFIX "apparmor" +#define XATTR_NAME_APPARMOR XATTR_SECURITY_PREFIX XATTR_APPARMOR_SUFFIX +#define XATTR_CAPS_SUFFIX "capability" +#define XATTR_NAME_CAPS XATTR_SECURITY_PREFIX XATTR_CAPS_SUFFIX +#define XATTR_POSIX_ACL_ACCESS "posix_acl_access" +#define XATTR_NAME_POSIX_ACL_ACCESS XATTR_SYSTEM_PREFIX XATTR_POSIX_ACL_ACCESS +#define XATTR_POSIX_ACL_DEFAULT "posix_acl_default" +#define XATTR_NAME_POSIX_ACL_DEFAULT XATTR_SYSTEM_PREFIX XATTR_POSIX_ACL_DEFAULT +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/xdp_diag.h b/linux-5.10/prebuilts/usr/include/linux/xdp_diag.h new file mode 100644 index 0000000..f79797d --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/xdp_diag.h @@ -0,0 +1,70 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _LINUX_XDP_DIAG_H +#define _LINUX_XDP_DIAG_H +#include +struct xdp_diag_req { + __u8 sdiag_family; + __u8 sdiag_protocol; + __u16 pad; + __u32 xdiag_ino; + __u32 xdiag_show; + __u32 xdiag_cookie[2]; +}; +struct xdp_diag_msg { + __u8 xdiag_family; + __u8 xdiag_type; + __u16 pad; + __u32 xdiag_ino; + __u32 xdiag_cookie[2]; +}; +#define XDP_SHOW_INFO (1 << 0) +#define XDP_SHOW_RING_CFG (1 << 1) +#define XDP_SHOW_UMEM (1 << 2) +#define XDP_SHOW_MEMINFO (1 << 3) +#define XDP_SHOW_STATS (1 << 4) +enum { + XDP_DIAG_NONE, + XDP_DIAG_INFO, + XDP_DIAG_UID, + XDP_DIAG_RX_RING, + XDP_DIAG_TX_RING, + XDP_DIAG_UMEM, + XDP_DIAG_UMEM_FILL_RING, + XDP_DIAG_UMEM_COMPLETION_RING, + XDP_DIAG_MEMINFO, + XDP_DIAG_STATS, + __XDP_DIAG_MAX, +}; +#define XDP_DIAG_MAX (__XDP_DIAG_MAX - 1) +struct xdp_diag_info { + __u32 ifindex; + __u32 queue_id; +}; +struct xdp_diag_ring { + __u32 entries; +}; +#define XDP_DU_F_ZEROCOPY (1 << 0) +struct xdp_diag_umem { + __u64 size; + __u32 id; + __u32 num_pages; + __u32 chunk_size; + __u32 headroom; + __u32 ifindex; + __u32 queue_id; + __u32 flags; + __u32 refs; +}; +struct xdp_diag_stats { + __u64 n_rx_dropped; + __u64 n_rx_invalid; + __u64 n_rx_full; + __u64 n_fill_ring_empty; + __u64 n_tx_invalid; + __u64 n_tx_ring_empty; +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/xfrm.h b/linux-5.10/prebuilts/usr/include/linux/xfrm.h new file mode 100644 index 0000000..0c28ef2 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/xfrm.h @@ -0,0 +1,450 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _LINUX_XFRM_H +#define _LINUX_XFRM_H +#include +#include +typedef union { + __be32 a4; + __be32 a6[4]; + struct in6_addr in6; +} xfrm_address_t; +struct xfrm_id { + xfrm_address_t daddr; + __be32 spi; + __u8 proto; +}; +struct xfrm_sec_ctx { + __u8 ctx_doi; + __u8 ctx_alg; + __u16 ctx_len; + __u32 ctx_sid; + char ctx_str[0]; +}; +#define XFRM_SC_DOI_RESERVED 0 +#define XFRM_SC_DOI_LSM 1 +#define XFRM_SC_ALG_RESERVED 0 +#define XFRM_SC_ALG_SELINUX 1 +struct xfrm_selector { + xfrm_address_t daddr; + xfrm_address_t saddr; + __be16 dport; + __be16 dport_mask; + __be16 sport; + __be16 sport_mask; + __u16 family; + __u8 prefixlen_d; + __u8 prefixlen_s; + __u8 proto; + int ifindex; + __kernel_uid32_t user; +}; +#define XFRM_INF (~(__u64)0) +struct xfrm_lifetime_cfg { + __u64 soft_byte_limit; + __u64 hard_byte_limit; + __u64 soft_packet_limit; + __u64 hard_packet_limit; + __u64 soft_add_expires_seconds; + __u64 hard_add_expires_seconds; + __u64 soft_use_expires_seconds; + __u64 hard_use_expires_seconds; +}; +struct xfrm_lifetime_cur { + __u64 bytes; + __u64 packets; + __u64 add_time; + __u64 use_time; +}; +struct xfrm_replay_state { + __u32 oseq; + __u32 seq; + __u32 bitmap; +}; +#define XFRMA_REPLAY_ESN_MAX 4096 +struct xfrm_replay_state_esn { + unsigned int bmp_len; + __u32 oseq; + __u32 seq; + __u32 oseq_hi; + __u32 seq_hi; + __u32 replay_window; + __u32 bmp[0]; +}; +struct xfrm_algo { + char alg_name[64]; + unsigned int alg_key_len; + char alg_key[0]; +}; +struct xfrm_algo_auth { + char alg_name[64]; + unsigned int alg_key_len; + unsigned int alg_trunc_len; + char alg_key[0]; +}; +struct xfrm_algo_aead { + char alg_name[64]; + unsigned int alg_key_len; + unsigned int alg_icv_len; + char alg_key[0]; +}; +struct xfrm_stats { + __u32 replay_window; + __u32 replay; + __u32 integrity_failed; +}; +enum { + XFRM_POLICY_TYPE_MAIN = 0, + XFRM_POLICY_TYPE_SUB = 1, + XFRM_POLICY_TYPE_MAX = 2, + XFRM_POLICY_TYPE_ANY = 255 +}; +enum { + XFRM_POLICY_IN = 0, + XFRM_POLICY_OUT = 1, + XFRM_POLICY_FWD = 2, + XFRM_POLICY_MASK = 3, + XFRM_POLICY_MAX = 3 +}; +enum { + XFRM_SHARE_ANY, + XFRM_SHARE_SESSION, + XFRM_SHARE_USER, + XFRM_SHARE_UNIQUE +}; +#define XFRM_MODE_TRANSPORT 0 +#define XFRM_MODE_TUNNEL 1 +#define XFRM_MODE_ROUTEOPTIMIZATION 2 +#define XFRM_MODE_IN_TRIGGER 3 +#define XFRM_MODE_BEET 4 +#define XFRM_MODE_MAX 5 +enum { + XFRM_MSG_BASE = 0x10, + XFRM_MSG_NEWSA = 0x10, +#define XFRM_MSG_NEWSA XFRM_MSG_NEWSA + XFRM_MSG_DELSA, +#define XFRM_MSG_DELSA XFRM_MSG_DELSA + XFRM_MSG_GETSA, +#define XFRM_MSG_GETSA XFRM_MSG_GETSA + XFRM_MSG_NEWPOLICY, +#define XFRM_MSG_NEWPOLICY XFRM_MSG_NEWPOLICY + XFRM_MSG_DELPOLICY, +#define XFRM_MSG_DELPOLICY XFRM_MSG_DELPOLICY + XFRM_MSG_GETPOLICY, +#define XFRM_MSG_GETPOLICY XFRM_MSG_GETPOLICY + XFRM_MSG_ALLOCSPI, +#define XFRM_MSG_ALLOCSPI XFRM_MSG_ALLOCSPI + XFRM_MSG_ACQUIRE, +#define XFRM_MSG_ACQUIRE XFRM_MSG_ACQUIRE + XFRM_MSG_EXPIRE, +#define XFRM_MSG_EXPIRE XFRM_MSG_EXPIRE + XFRM_MSG_UPDPOLICY, +#define XFRM_MSG_UPDPOLICY XFRM_MSG_UPDPOLICY + XFRM_MSG_UPDSA, +#define XFRM_MSG_UPDSA XFRM_MSG_UPDSA + XFRM_MSG_POLEXPIRE, +#define XFRM_MSG_POLEXPIRE XFRM_MSG_POLEXPIRE + XFRM_MSG_FLUSHSA, +#define XFRM_MSG_FLUSHSA XFRM_MSG_FLUSHSA + XFRM_MSG_FLUSHPOLICY, +#define XFRM_MSG_FLUSHPOLICY XFRM_MSG_FLUSHPOLICY + XFRM_MSG_NEWAE, +#define XFRM_MSG_NEWAE XFRM_MSG_NEWAE + XFRM_MSG_GETAE, +#define XFRM_MSG_GETAE XFRM_MSG_GETAE + XFRM_MSG_REPORT, +#define XFRM_MSG_REPORT XFRM_MSG_REPORT + XFRM_MSG_MIGRATE, +#define XFRM_MSG_MIGRATE XFRM_MSG_MIGRATE + XFRM_MSG_NEWSADINFO, +#define XFRM_MSG_NEWSADINFO XFRM_MSG_NEWSADINFO + XFRM_MSG_GETSADINFO, +#define XFRM_MSG_GETSADINFO XFRM_MSG_GETSADINFO + XFRM_MSG_NEWSPDINFO, +#define XFRM_MSG_NEWSPDINFO XFRM_MSG_NEWSPDINFO + XFRM_MSG_GETSPDINFO, +#define XFRM_MSG_GETSPDINFO XFRM_MSG_GETSPDINFO + XFRM_MSG_MAPPING, +#define XFRM_MSG_MAPPING XFRM_MSG_MAPPING + __XFRM_MSG_MAX +}; +#define XFRM_MSG_MAX (__XFRM_MSG_MAX - 1) +#define XFRM_NR_MSGTYPES (XFRM_MSG_MAX + 1 - XFRM_MSG_BASE) +struct xfrm_user_sec_ctx { + __u16 len; + __u16 exttype; + __u8 ctx_alg; + __u8 ctx_doi; + __u16 ctx_len; +}; +struct xfrm_user_tmpl { + struct xfrm_id id; + __u16 family; + xfrm_address_t saddr; + __u32 reqid; + __u8 mode; + __u8 share; + __u8 optional; + __u32 aalgos; + __u32 ealgos; + __u32 calgos; +}; +struct xfrm_encap_tmpl { + __u16 encap_type; + __be16 encap_sport; + __be16 encap_dport; + xfrm_address_t encap_oa; +}; +enum xfrm_ae_ftype_t { + XFRM_AE_UNSPEC, + XFRM_AE_RTHR=1, + XFRM_AE_RVAL=2, + XFRM_AE_LVAL=4, + XFRM_AE_ETHR=8, + XFRM_AE_CR=16, + XFRM_AE_CE=32, + XFRM_AE_CU=64, + __XFRM_AE_MAX +#define XFRM_AE_MAX (__XFRM_AE_MAX - 1) +}; +struct xfrm_userpolicy_type { + __u8 type; + __u16 reserved1; + __u8 reserved2; +}; +enum xfrm_attr_type_t { + XFRMA_UNSPEC, + XFRMA_ALG_AUTH, + XFRMA_ALG_CRYPT, + XFRMA_ALG_COMP, + XFRMA_ENCAP, + XFRMA_TMPL, + XFRMA_SA, + XFRMA_POLICY, + XFRMA_SEC_CTX, + XFRMA_LTIME_VAL, + XFRMA_REPLAY_VAL, + XFRMA_REPLAY_THRESH, + XFRMA_ETIMER_THRESH, + XFRMA_SRCADDR, + XFRMA_COADDR, + XFRMA_LASTUSED, + XFRMA_POLICY_TYPE, + XFRMA_MIGRATE, + XFRMA_ALG_AEAD, + XFRMA_KMADDRESS, + XFRMA_ALG_AUTH_TRUNC, + XFRMA_MARK, + XFRMA_TFCPAD, + XFRMA_REPLAY_ESN_VAL, + XFRMA_SA_EXTRA_FLAGS, + XFRMA_PROTO, + XFRMA_ADDRESS_FILTER, + XFRMA_PAD, + XFRMA_OFFLOAD_DEV, + XFRMA_SET_MARK, + XFRMA_SET_MARK_MASK, + XFRMA_IF_ID, + __XFRMA_MAX +#define XFRMA_OUTPUT_MARK XFRMA_SET_MARK +#define XFRMA_MAX (__XFRMA_MAX - 1) +}; +struct xfrm_mark { + __u32 v; + __u32 m; +}; +enum xfrm_sadattr_type_t { + XFRMA_SAD_UNSPEC, + XFRMA_SAD_CNT, + XFRMA_SAD_HINFO, + __XFRMA_SAD_MAX +#define XFRMA_SAD_MAX (__XFRMA_SAD_MAX - 1) +}; +struct xfrmu_sadhinfo { + __u32 sadhcnt; + __u32 sadhmcnt; +}; +enum xfrm_spdattr_type_t { + XFRMA_SPD_UNSPEC, + XFRMA_SPD_INFO, + XFRMA_SPD_HINFO, + XFRMA_SPD_IPV4_HTHRESH, + XFRMA_SPD_IPV6_HTHRESH, + __XFRMA_SPD_MAX +#define XFRMA_SPD_MAX (__XFRMA_SPD_MAX - 1) +}; +struct xfrmu_spdinfo { + __u32 incnt; + __u32 outcnt; + __u32 fwdcnt; + __u32 inscnt; + __u32 outscnt; + __u32 fwdscnt; +}; +struct xfrmu_spdhinfo { + __u32 spdhcnt; + __u32 spdhmcnt; +}; +struct xfrmu_spdhthresh { + __u8 lbits; + __u8 rbits; +}; +struct xfrm_usersa_info { + struct xfrm_selector sel; + struct xfrm_id id; + xfrm_address_t saddr; + struct xfrm_lifetime_cfg lft; + struct xfrm_lifetime_cur curlft; + struct xfrm_stats stats; + __u32 seq; + __u32 reqid; + __u16 family; + __u8 mode; + __u8 replay_window; + __u8 flags; +#define XFRM_STATE_NOECN 1 +#define XFRM_STATE_DECAP_DSCP 2 +#define XFRM_STATE_NOPMTUDISC 4 +#define XFRM_STATE_WILDRECV 8 +#define XFRM_STATE_ICMP 16 +#define XFRM_STATE_AF_UNSPEC 32 +#define XFRM_STATE_ALIGN4 64 +#define XFRM_STATE_ESN 128 +}; +#define XFRM_SA_XFLAG_DONT_ENCAP_DSCP 1 +#define XFRM_SA_XFLAG_OSEQ_MAY_WRAP 2 +struct xfrm_usersa_id { + xfrm_address_t daddr; + __be32 spi; + __u16 family; + __u8 proto; +}; +struct xfrm_aevent_id { + struct xfrm_usersa_id sa_id; + xfrm_address_t saddr; + __u32 flags; + __u32 reqid; +}; +struct xfrm_userspi_info { + struct xfrm_usersa_info info; + __u32 min; + __u32 max; +}; +struct xfrm_userpolicy_info { + struct xfrm_selector sel; + struct xfrm_lifetime_cfg lft; + struct xfrm_lifetime_cur curlft; + __u32 priority; + __u32 index; + __u8 dir; + __u8 action; +#define XFRM_POLICY_ALLOW 0 +#define XFRM_POLICY_BLOCK 1 + __u8 flags; +#define XFRM_POLICY_LOCALOK 1 + +#define XFRM_POLICY_ICMP 2 + __u8 share; +}; +struct xfrm_userpolicy_id { + struct xfrm_selector sel; + __u32 index; + __u8 dir; +}; +struct xfrm_user_acquire { + struct xfrm_id id; + xfrm_address_t saddr; + struct xfrm_selector sel; + struct xfrm_userpolicy_info policy; + __u32 aalgos; + __u32 ealgos; + __u32 calgos; + __u32 seq; +}; +struct xfrm_user_expire { + struct xfrm_usersa_info state; + __u8 hard; +}; +struct xfrm_user_polexpire { + struct xfrm_userpolicy_info pol; + __u8 hard; +}; +struct xfrm_usersa_flush { + __u8 proto; +}; +struct xfrm_user_report { + __u8 proto; + struct xfrm_selector sel; +}; +struct xfrm_user_kmaddress { + xfrm_address_t local; + xfrm_address_t remote; + __u32 reserved; + __u16 family; +}; +struct xfrm_user_migrate { + xfrm_address_t old_daddr; + xfrm_address_t old_saddr; + xfrm_address_t new_daddr; + xfrm_address_t new_saddr; + __u8 proto; + __u8 mode; + __u16 reserved; + __u32 reqid; + __u16 old_family; + __u16 new_family; +}; +struct xfrm_user_mapping { + struct xfrm_usersa_id id; + __u32 reqid; + xfrm_address_t old_saddr; + xfrm_address_t new_saddr; + __be16 old_sport; + __be16 new_sport; +}; +struct xfrm_address_filter { + xfrm_address_t saddr; + xfrm_address_t daddr; + __u16 family; + __u8 splen; + __u8 dplen; +}; +struct xfrm_user_offload { + int ifindex; + __u8 flags; +}; +#define XFRM_OFFLOAD_IPV6 1 +#define XFRM_OFFLOAD_INBOUND 2 +#ifndef __KERNEL__ +#define XFRMGRP_ACQUIRE 1 +#define XFRMGRP_EXPIRE 2 +#define XFRMGRP_SA 4 +#define XFRMGRP_POLICY 8 +#define XFRMGRP_REPORT 0x20 +#endif +enum xfrm_nlgroups { + XFRMNLGRP_NONE, +#define XFRMNLGRP_NONE XFRMNLGRP_NONE + XFRMNLGRP_ACQUIRE, +#define XFRMNLGRP_ACQUIRE XFRMNLGRP_ACQUIRE + XFRMNLGRP_EXPIRE, +#define XFRMNLGRP_EXPIRE XFRMNLGRP_EXPIRE + XFRMNLGRP_SA, +#define XFRMNLGRP_SA XFRMNLGRP_SA + XFRMNLGRP_POLICY, +#define XFRMNLGRP_POLICY XFRMNLGRP_POLICY + XFRMNLGRP_AEVENTS, +#define XFRMNLGRP_AEVENTS XFRMNLGRP_AEVENTS + XFRMNLGRP_REPORT, +#define XFRMNLGRP_REPORT XFRMNLGRP_REPORT + XFRMNLGRP_MIGRATE, +#define XFRMNLGRP_MIGRATE XFRMNLGRP_MIGRATE + XFRMNLGRP_MAPPING, +#define XFRMNLGRP_MAPPING XFRMNLGRP_MAPPING + __XFRMNLGRP_MAX +}; +#define XFRMNLGRP_MAX (__XFRMNLGRP_MAX - 1) +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/xilinx-v4l2-controls.h b/linux-5.10/prebuilts/usr/include/linux/xilinx-v4l2-controls.h new file mode 100644 index 0000000..006467c --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/xilinx-v4l2-controls.h @@ -0,0 +1,29 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef __UAPI_XILINX_V4L2_CONTROLS_H__ +#define __UAPI_XILINX_V4L2_CONTROLS_H__ +#include +#define V4L2_CID_XILINX_OFFSET 0xc000 +#define V4L2_CID_XILINX_BASE (V4L2_CID_USER_BASE + V4L2_CID_XILINX_OFFSET) +#define V4L2_CID_XILINX_TPG (V4L2_CID_USER_BASE + 0xc000) +#define V4L2_CID_XILINX_TPG_CROSS_HAIRS (V4L2_CID_XILINX_TPG + 1) +#define V4L2_CID_XILINX_TPG_MOVING_BOX (V4L2_CID_XILINX_TPG + 2) +#define V4L2_CID_XILINX_TPG_COLOR_MASK (V4L2_CID_XILINX_TPG + 3) +#define V4L2_CID_XILINX_TPG_STUCK_PIXEL (V4L2_CID_XILINX_TPG + 4) +#define V4L2_CID_XILINX_TPG_NOISE (V4L2_CID_XILINX_TPG + 5) +#define V4L2_CID_XILINX_TPG_MOTION (V4L2_CID_XILINX_TPG + 6) +#define V4L2_CID_XILINX_TPG_MOTION_SPEED (V4L2_CID_XILINX_TPG + 7) +#define V4L2_CID_XILINX_TPG_CROSS_HAIR_ROW (V4L2_CID_XILINX_TPG + 8) +#define V4L2_CID_XILINX_TPG_CROSS_HAIR_COLUMN (V4L2_CID_XILINX_TPG + 9) +#define V4L2_CID_XILINX_TPG_ZPLATE_HOR_START (V4L2_CID_XILINX_TPG + 10) +#define V4L2_CID_XILINX_TPG_ZPLATE_HOR_SPEED (V4L2_CID_XILINX_TPG + 11) +#define V4L2_CID_XILINX_TPG_ZPLATE_VER_START (V4L2_CID_XILINX_TPG + 12) +#define V4L2_CID_XILINX_TPG_ZPLATE_VER_SPEED (V4L2_CID_XILINX_TPG + 13) +#define V4L2_CID_XILINX_TPG_BOX_SIZE (V4L2_CID_XILINX_TPG + 14) +#define V4L2_CID_XILINX_TPG_BOX_COLOR (V4L2_CID_XILINX_TPG + 15) +#define V4L2_CID_XILINX_TPG_STUCK_PIXEL_THRESH (V4L2_CID_XILINX_TPG + 16) +#define V4L2_CID_XILINX_TPG_NOISE_GAIN (V4L2_CID_XILINX_TPG + 17) +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/zorro.h b/linux-5.10/prebuilts/usr/include/linux/zorro.h new file mode 100644 index 0000000..0db240a --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/zorro.h @@ -0,0 +1,69 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI_LINUX_ZORRO_H +#define _UAPI_LINUX_ZORRO_H +#include + +#define ZORRO_MANUF(id) ((id) >> 16) +#define ZORRO_PROD(id) (((id) >> 8) & 0xff) +#define ZORRO_EPC(id) ((id) & 0xff) +#define ZORRO_ID(manuf, prod, epc) \ + ((ZORRO_MANUF_##manuf << 16) | ((prod) << 8) | (epc)) +typedef __u32 zorro_id; +#include + +#define GVP_PRODMASK (0xf8) +#define GVP_SCSICLKMASK (0x01) +enum GVP_flags { + GVP_IO = 0x01, + GVP_ACCEL = 0x02, + GVP_SCSI = 0x04, + GVP_24BITDMA = 0x08, + GVP_25BITDMA = 0x10, + GVP_NOBANK = 0x20, + GVP_14MHZ = 0x40, +}; +struct Node { + __be32 ln_Succ; + __be32 ln_Pred; + __u8 ln_Type; + __s8 ln_Pri; + __be32 ln_Name; +} __packed; +struct ExpansionRom { + + __u8 er_Type; + __u8 er_Product; + __u8 er_Flags; + __u8 er_Reserved03; + __be16 er_Manufacturer; + __be32 er_SerialNumber; + __be16 er_InitDiagVec; + __u8 er_Reserved0c; + __u8 er_Reserved0d; + __u8 er_Reserved0e; + __u8 er_Reserved0f; +} __packed; +#define ERT_TYPEMASK 0xc0 +#define ERT_ZORROII 0xc0 +#define ERT_ZORROIII 0x80 +#define ERTB_MEMLIST 5 +#define ERTF_MEMLIST (1<<5) +struct ConfigDev { + struct Node cd_Node; + __u8 cd_Flags; + __u8 cd_Pad; + struct ExpansionRom cd_Rom; + __be32 cd_BoardAddr; + __be32 cd_BoardSize; + __be16 cd_SlotAddr; + __be16 cd_SlotSize; + __be32 cd_Driver; + __be32 cd_NextCD; + __be32 cd_Unused[4]; +} __packed; +#define ZORRO_NUM_AUTO 16 +#endif diff --git a/linux-5.10/prebuilts/usr/include/linux/zorro_ids.h b/linux-5.10/prebuilts/usr/include/linux/zorro_ids.h new file mode 100644 index 0000000..925c059 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/linux/zorro_ids.h @@ -0,0 +1,434 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#define ZORRO_MANUF_PACIFIC_PERIPHERALS 0x00D3 +#define ZORRO_PROD_PACIFIC_PERIPHERALS_SE_2000_A500 ZORRO_ID(PACIFIC_PERIPHERALS, 0x00, 0) +#define ZORRO_PROD_PACIFIC_PERIPHERALS_SCSI ZORRO_ID(PACIFIC_PERIPHERALS, 0x0A, 0) +#define ZORRO_MANUF_MACROSYSTEMS_USA_2 0x0100 +#define ZORRO_PROD_MACROSYSTEMS_WARP_ENGINE ZORRO_ID(MACROSYSTEMS_USA_2, 0x13, 0) +#define ZORRO_MANUF_KUPKE_1 0x00DD +#define ZORRO_PROD_KUPKE_GOLEM_RAM_BOX_2MB ZORRO_ID(KUPKE_1, 0x00, 0) +#define ZORRO_MANUF_MEMPHIS 0x0100 +#define ZORRO_PROD_MEMPHIS_STORMBRINGER ZORRO_ID(MEMPHIS, 0x00, 0) +#define ZORRO_MANUF_3_STATE 0x0200 +#define ZORRO_PROD_3_STATE_MEGAMIX_2000 ZORRO_ID(3_STATE, 0x02, 0) +#define ZORRO_MANUF_COMMODORE_BRAUNSCHWEIG 0x0201 +#define ZORRO_PROD_CBM_A2088_A2286 ZORRO_ID(COMMODORE_BRAUNSCHWEIG, 0x01, 0) +#define ZORRO_PROD_CBM_A2286 ZORRO_ID(COMMODORE_BRAUNSCHWEIG, 0x02, 0) +#define ZORRO_PROD_CBM_A4091_1 ZORRO_ID(COMMODORE_BRAUNSCHWEIG, 0x54, 0) +#define ZORRO_PROD_CBM_A2386SX_1 ZORRO_ID(COMMODORE_BRAUNSCHWEIG, 0x67, 0) +#define ZORRO_MANUF_COMMODORE_WEST_CHESTER_1 0x0202 +#define ZORRO_PROD_CBM_A2090A ZORRO_ID(COMMODORE_WEST_CHESTER_1, 0x01, 0) +#define ZORRO_PROD_CBM_A590_A2091_1 ZORRO_ID(COMMODORE_WEST_CHESTER_1, 0x02, 0) +#define ZORRO_PROD_CBM_A590_A2091_2 ZORRO_ID(COMMODORE_WEST_CHESTER_1, 0x03, 0) +#define ZORRO_PROD_CBM_A2090B ZORRO_ID(COMMODORE_WEST_CHESTER_1, 0x04, 0) +#define ZORRO_PROD_CBM_A2060 ZORRO_ID(COMMODORE_WEST_CHESTER_1, 0x09, 0) +#define ZORRO_PROD_CBM_A590_A2052_A2058_A2091 ZORRO_ID(COMMODORE_WEST_CHESTER_1, 0x0A, 0) +#define ZORRO_PROD_CBM_A560_RAM ZORRO_ID(COMMODORE_WEST_CHESTER_1, 0x20, 0) +#define ZORRO_PROD_CBM_A2232_PROTOTYPE ZORRO_ID(COMMODORE_WEST_CHESTER_1, 0x45, 0) +#define ZORRO_PROD_CBM_A2232 ZORRO_ID(COMMODORE_WEST_CHESTER_1, 0x46, 0) +#define ZORRO_PROD_CBM_A2620 ZORRO_ID(COMMODORE_WEST_CHESTER_1, 0x50, 0) +#define ZORRO_PROD_CBM_A2630 ZORRO_ID(COMMODORE_WEST_CHESTER_1, 0x51, 0) +#define ZORRO_PROD_CBM_A4091_2 ZORRO_ID(COMMODORE_WEST_CHESTER_1, 0x54, 0) +#define ZORRO_PROD_CBM_A2065_1 ZORRO_ID(COMMODORE_WEST_CHESTER_1, 0x5A, 0) +#define ZORRO_PROD_CBM_ROMULATOR ZORRO_ID(COMMODORE_WEST_CHESTER_1, 0x60, 0) +#define ZORRO_PROD_CBM_A3000_TEST_FIXTURE ZORRO_ID(COMMODORE_WEST_CHESTER_1, 0x61, 0) +#define ZORRO_PROD_CBM_A2386SX_2 ZORRO_ID(COMMODORE_WEST_CHESTER_1, 0x67, 0) +#define ZORRO_PROD_CBM_A2065_2 ZORRO_ID(COMMODORE_WEST_CHESTER_1, 0x70, 0) +#define ZORRO_MANUF_COMMODORE_WEST_CHESTER_2 0x0203 +#define ZORRO_PROD_CBM_A2090A_CM ZORRO_ID(COMMODORE_WEST_CHESTER_2, 0x03, 0) +#define ZORRO_MANUF_PROGRESSIVE_PERIPHERALS_AND_SYSTEMS_2 0x02F4 +#define ZORRO_PROD_PPS_EXP8000 ZORRO_ID(PROGRESSIVE_PERIPHERALS_AND_SYSTEMS_2, 0x02, 0) +#define ZORRO_MANUF_KOLFF_COMPUTER_SUPPLIES 0x02FF +#define ZORRO_PROD_KCS_POWER_PC_BOARD ZORRO_ID(KOLFF_COMPUTER_SUPPLIES, 0x00, 0) +#define ZORRO_MANUF_CARDCO_1 0x03EC +#define ZORRO_PROD_CARDCO_KRONOS_2000_1 ZORRO_ID(CARDCO_1, 0x04, 0) +#define ZORRO_PROD_CARDCO_A1000_1 ZORRO_ID(CARDCO_1, 0x0C, 0) +#define ZORRO_PROD_CARDCO_ESCORT ZORRO_ID(CARDCO_1, 0x0E, 0) +#define ZORRO_PROD_CARDCO_A2410 ZORRO_ID(CARDCO_1, 0xF5, 0) +#define ZORRO_MANUF_A_SQUARED 0x03ED +#define ZORRO_PROD_A_SQUARED_LIVE_2000 ZORRO_ID(A_SQUARED, 0x01, 0) +#define ZORRO_MANUF_COMSPEC_COMMUNICATIONS 0x03EE +#define ZORRO_PROD_COMSPEC_COMMUNICATIONS_AX2000 ZORRO_ID(COMSPEC_COMMUNICATIONS, 0x01, 0) +#define ZORRO_MANUF_ANAKIN_RESEARCH 0x03F1 +#define ZORRO_PROD_ANAKIN_RESEARCH_EASYL ZORRO_ID(ANAKIN_RESEARCH, 0x01, 0) +#define ZORRO_MANUF_MICROBOTICS 0x03F2 +#define ZORRO_PROD_MICROBOTICS_STARBOARD_II ZORRO_ID(MICROBOTICS, 0x00, 0) +#define ZORRO_PROD_MICROBOTICS_STARDRIVE ZORRO_ID(MICROBOTICS, 0x02, 0) +#define ZORRO_PROD_MICROBOTICS_8_UP_A ZORRO_ID(MICROBOTICS, 0x03, 0) +#define ZORRO_PROD_MICROBOTICS_8_UP_Z ZORRO_ID(MICROBOTICS, 0x04, 0) +#define ZORRO_PROD_MICROBOTICS_DELTA_RAM ZORRO_ID(MICROBOTICS, 0x20, 0) +#define ZORRO_PROD_MICROBOTICS_8_STAR_RAM ZORRO_ID(MICROBOTICS, 0x40, 0) +#define ZORRO_PROD_MICROBOTICS_8_STAR ZORRO_ID(MICROBOTICS, 0x41, 0) +#define ZORRO_PROD_MICROBOTICS_VXL_RAM_32 ZORRO_ID(MICROBOTICS, 0x44, 0) +#define ZORRO_PROD_MICROBOTICS_VXL_68030 ZORRO_ID(MICROBOTICS, 0x45, 0) +#define ZORRO_PROD_MICROBOTICS_DELTA ZORRO_ID(MICROBOTICS, 0x60, 0) +#define ZORRO_PROD_MICROBOTICS_MBX_1200_1200Z_RAM ZORRO_ID(MICROBOTICS, 0x81, 0) +#define ZORRO_PROD_MICROBOTICS_HARDFRAME_2000_1 ZORRO_ID(MICROBOTICS, 0x96, 0) +#define ZORRO_PROD_MICROBOTICS_HARDFRAME_2000_2 ZORRO_ID(MICROBOTICS, 0x9E, 0) +#define ZORRO_PROD_MICROBOTICS_MBX_1200_1200Z ZORRO_ID(MICROBOTICS, 0xC1, 0) +#define ZORRO_MANUF_ACCESS_ASSOCIATES_ALEGRA 0x03F4 +#define ZORRO_MANUF_EXPANSION_TECHNOLOGIES 0x03F6 +#define ZORRO_MANUF_ASDG 0x03FF +#define ZORRO_PROD_ASDG_MEMORY_1 ZORRO_ID(ASDG, 0x01, 0) +#define ZORRO_PROD_ASDG_MEMORY_2 ZORRO_ID(ASDG, 0x02, 0) +#define ZORRO_PROD_ASDG_EB920_LAN_ROVER ZORRO_ID(ASDG, 0xFE, 0) +#define ZORRO_PROD_ASDG_GPIB_DUALIEEE488_TWIN_X ZORRO_ID(ASDG, 0xFF, 0) +#define ZORRO_MANUF_IMTRONICS_1 0x0404 +#define ZORRO_PROD_IMTRONICS_HURRICANE_2800_1 ZORRO_ID(IMTRONICS_1, 0x39, 0) +#define ZORRO_PROD_IMTRONICS_HURRICANE_2800_2 ZORRO_ID(IMTRONICS_1, 0x57, 0) +#define ZORRO_MANUF_CBM_UNIVERSITY_OF_LOWELL 0x0406 +#define ZORRO_PROD_CBM_A2410 ZORRO_ID(CBM_UNIVERSITY_OF_LOWELL, 0x00, 0) +#define ZORRO_MANUF_AMERISTAR 0x041D +#define ZORRO_PROD_AMERISTAR_A2065 ZORRO_ID(AMERISTAR, 0x01, 0) +#define ZORRO_PROD_AMERISTAR_A560 ZORRO_ID(AMERISTAR, 0x09, 0) +#define ZORRO_PROD_AMERISTAR_A4066 ZORRO_ID(AMERISTAR, 0x0A, 0) +#define ZORRO_MANUF_SUPRA 0x0420 +#define ZORRO_PROD_SUPRA_SUPRADRIVE_4x4 ZORRO_ID(SUPRA, 0x01, 0) +#define ZORRO_PROD_SUPRA_1000_RAM ZORRO_ID(SUPRA, 0x02, 0) +#define ZORRO_PROD_SUPRA_2000_DMA ZORRO_ID(SUPRA, 0x03, 0) +#define ZORRO_PROD_SUPRA_500 ZORRO_ID(SUPRA, 0x05, 0) +#define ZORRO_PROD_SUPRA_500_SCSI ZORRO_ID(SUPRA, 0x08, 0) +#define ZORRO_PROD_SUPRA_500XP_2000_RAM ZORRO_ID(SUPRA, 0x09, 0) +#define ZORRO_PROD_SUPRA_500RX_2000_RAM ZORRO_ID(SUPRA, 0x0A, 0) +#define ZORRO_PROD_SUPRA_2400ZI ZORRO_ID(SUPRA, 0x0B, 0) +#define ZORRO_PROD_SUPRA_500XP_SUPRADRIVE_WORDSYNC ZORRO_ID(SUPRA, 0x0C, 0) +#define ZORRO_PROD_SUPRA_SUPRADRIVE_WORDSYNC_II ZORRO_ID(SUPRA, 0x0D, 0) +#define ZORRO_PROD_SUPRA_2400ZIPLUS ZORRO_ID(SUPRA, 0x10, 0) +#define ZORRO_MANUF_COMPUTER_SYSTEMS_ASSOCIATES 0x0422 +#define ZORRO_PROD_CSA_MAGNUM ZORRO_ID(COMPUTER_SYSTEMS_ASSOCIATES, 0x11, 0) +#define ZORRO_PROD_CSA_12_GAUGE ZORRO_ID(COMPUTER_SYSTEMS_ASSOCIATES, 0x15, 0) +#define ZORRO_MANUF_MARC_MICHAEL_GROTH 0x0439 +#define ZORRO_MANUF_M_TECH 0x0502 +#define ZORRO_PROD_MTEC_AT500_1 ZORRO_ID(M_TECH, 0x03, 0) +#define ZORRO_MANUF_GREAT_VALLEY_PRODUCTS_1 0x06E1 +#define ZORRO_PROD_GVP_IMPACT_SERIES_I ZORRO_ID(GREAT_VALLEY_PRODUCTS_1, 0x08, 0) +#define ZORRO_MANUF_BYTEBOX 0x07DA +#define ZORRO_PROD_BYTEBOX_A500 ZORRO_ID(BYTEBOX, 0x00, 0) +#define ZORRO_MANUF_DKB_POWER_COMPUTING 0x07DC +#define ZORRO_PROD_DKB_POWER_COMPUTING_SECUREKEY ZORRO_ID(DKB_POWER_COMPUTING, 0x09, 0) +#define ZORRO_PROD_DKB_POWER_COMPUTING_DKM_3128 ZORRO_ID(DKB_POWER_COMPUTING, 0x0E, 0) +#define ZORRO_PROD_DKB_POWER_COMPUTING_RAPID_FIRE ZORRO_ID(DKB_POWER_COMPUTING, 0x0F, 0) +#define ZORRO_PROD_DKB_POWER_COMPUTING_DKM_1202 ZORRO_ID(DKB_POWER_COMPUTING, 0x10, 0) +#define ZORRO_PROD_DKB_POWER_COMPUTING_COBRA_VIPER_II_68EC030 ZORRO_ID(DKB_POWER_COMPUTING, 0x12, 0) +#define ZORRO_PROD_DKB_POWER_COMPUTING_WILDFIRE_060_1 ZORRO_ID(DKB_POWER_COMPUTING, 0x17, 0) +#define ZORRO_PROD_DKB_POWER_COMPUTING_WILDFIRE_060_2 ZORRO_ID(DKB_POWER_COMPUTING, 0xFF, 0) +#define ZORRO_MANUF_GREAT_VALLEY_PRODUCTS_2 0x07E1 +#define ZORRO_PROD_GVP_IMPACT_SERIES_I_4K ZORRO_ID(GREAT_VALLEY_PRODUCTS_2, 0x01, 0) +#define ZORRO_PROD_GVP_IMPACT_SERIES_I_16K_2 ZORRO_ID(GREAT_VALLEY_PRODUCTS_2, 0x02, 0) +#define ZORRO_PROD_GVP_IMPACT_SERIES_I_16K_3 ZORRO_ID(GREAT_VALLEY_PRODUCTS_2, 0x03, 0) +#define ZORRO_PROD_GVP_IMPACT_3001_IDE_1 ZORRO_ID(GREAT_VALLEY_PRODUCTS_2, 0x08, 0) +#define ZORRO_PROD_GVP_IMPACT_3001_RAM ZORRO_ID(GREAT_VALLEY_PRODUCTS_2, 0x09, 0) +#define ZORRO_PROD_GVP_IMPACT_SERIES_II_RAM_1 ZORRO_ID(GREAT_VALLEY_PRODUCTS_2, 0x0A, 0) +#define ZORRO_PROD_GVP_EPC_BASE ZORRO_ID(GREAT_VALLEY_PRODUCTS_2, 0x0B, 0) +#define ZORRO_PROD_GVP_GFORCE_040_1 ZORRO_ID(GREAT_VALLEY_PRODUCTS_2, 0x0B, 0x20) +#define ZORRO_PROD_GVP_GFORCE_040_SCSI_1 ZORRO_ID(GREAT_VALLEY_PRODUCTS_2, 0x0B, 0x30) +#define ZORRO_PROD_GVP_A1291 ZORRO_ID(GREAT_VALLEY_PRODUCTS_2, 0x0B, 0x40) +#define ZORRO_PROD_GVP_COMBO_030_R4 ZORRO_ID(GREAT_VALLEY_PRODUCTS_2, 0x0B, 0x60) +#define ZORRO_PROD_GVP_COMBO_030_R4_SCSI ZORRO_ID(GREAT_VALLEY_PRODUCTS_2, 0x0B, 0x70) +#define ZORRO_PROD_GVP_PHONEPAK ZORRO_ID(GREAT_VALLEY_PRODUCTS_2, 0x0B, 0x78) +#define ZORRO_PROD_GVP_IO_EXTENDER ZORRO_ID(GREAT_VALLEY_PRODUCTS_2, 0x0B, 0x98) +#define ZORRO_PROD_GVP_GFORCE_030 ZORRO_ID(GREAT_VALLEY_PRODUCTS_2, 0x0B, 0xa0) +#define ZORRO_PROD_GVP_GFORCE_030_SCSI ZORRO_ID(GREAT_VALLEY_PRODUCTS_2, 0x0B, 0xb0) +#define ZORRO_PROD_GVP_A530 ZORRO_ID(GREAT_VALLEY_PRODUCTS_2, 0x0B, 0xc0) +#define ZORRO_PROD_GVP_A530_SCSI ZORRO_ID(GREAT_VALLEY_PRODUCTS_2, 0x0B, 0xd0) +#define ZORRO_PROD_GVP_COMBO_030_R3 ZORRO_ID(GREAT_VALLEY_PRODUCTS_2, 0x0B, 0xe0) +#define ZORRO_PROD_GVP_COMBO_030_R3_SCSI ZORRO_ID(GREAT_VALLEY_PRODUCTS_2, 0x0B, 0xf0) +#define ZORRO_PROD_GVP_SERIES_II ZORRO_ID(GREAT_VALLEY_PRODUCTS_2, 0x0B, 0xf8) +#define ZORRO_PROD_GVP_IMPACT_3001_IDE_2 ZORRO_ID(GREAT_VALLEY_PRODUCTS_2, 0x0D, 0) +#define ZORRO_PROD_GVP_GFORCE_040_060 ZORRO_ID(GREAT_VALLEY_PRODUCTS_2, 0x16, 0) +#define ZORRO_PROD_GVP_IMPACT_VISION_24 ZORRO_ID(GREAT_VALLEY_PRODUCTS_2, 0x20, 0) +#define ZORRO_PROD_GVP_GFORCE_040_2 ZORRO_ID(GREAT_VALLEY_PRODUCTS_2, 0xFF, 0) +#define ZORRO_MANUF_CALIFORNIA_ACCESS_SYNERGY 0x07E5 +#define ZORRO_PROD_CALIFORNIA_ACCESS_SYNERGY_MALIBU ZORRO_ID(CALIFORNIA_ACCESS_SYNERGY, 0x01, 0) +#define ZORRO_MANUF_XETEC 0x07E6 +#define ZORRO_PROD_XETEC_FASTCARD ZORRO_ID(XETEC, 0x01, 0) +#define ZORRO_PROD_XETEC_FASTCARD_RAM ZORRO_ID(XETEC, 0x02, 0) +#define ZORRO_PROD_XETEC_FASTCARD_PLUS ZORRO_ID(XETEC, 0x03, 0) +#define ZORRO_MANUF_PROGRESSIVE_PERIPHERALS_AND_SYSTEMS 0x07EA +#define ZORRO_PROD_PPS_MERCURY ZORRO_ID(PROGRESSIVE_PERIPHERALS_AND_SYSTEMS, 0x00, 0) +#define ZORRO_PROD_PPS_A3000_68040 ZORRO_ID(PROGRESSIVE_PERIPHERALS_AND_SYSTEMS, 0x01, 0) +#define ZORRO_PROD_PPS_A2000_68040 ZORRO_ID(PROGRESSIVE_PERIPHERALS_AND_SYSTEMS, 0x69, 0) +#define ZORRO_PROD_PPS_ZEUS ZORRO_ID(PROGRESSIVE_PERIPHERALS_AND_SYSTEMS, 0x96, 0) +#define ZORRO_PROD_PPS_A500_68040 ZORRO_ID(PROGRESSIVE_PERIPHERALS_AND_SYSTEMS, 0xBB, 0) +#define ZORRO_MANUF_XEBEC 0x07EC +#define ZORRO_MANUF_SPIRIT_TECHNOLOGY 0x07F2 +#define ZORRO_PROD_SPIRIT_TECHNOLOGY_INSIDER_IN1000 ZORRO_ID(SPIRIT_TECHNOLOGY, 0x01, 0) +#define ZORRO_PROD_SPIRIT_TECHNOLOGY_INSIDER_IN500 ZORRO_ID(SPIRIT_TECHNOLOGY, 0x02, 0) +#define ZORRO_PROD_SPIRIT_TECHNOLOGY_SIN500 ZORRO_ID(SPIRIT_TECHNOLOGY, 0x03, 0) +#define ZORRO_PROD_SPIRIT_TECHNOLOGY_HDA_506 ZORRO_ID(SPIRIT_TECHNOLOGY, 0x04, 0) +#define ZORRO_PROD_SPIRIT_TECHNOLOGY_AX_S ZORRO_ID(SPIRIT_TECHNOLOGY, 0x05, 0) +#define ZORRO_PROD_SPIRIT_TECHNOLOGY_OCTABYTE ZORRO_ID(SPIRIT_TECHNOLOGY, 0x06, 0) +#define ZORRO_PROD_SPIRIT_TECHNOLOGY_INMATE ZORRO_ID(SPIRIT_TECHNOLOGY, 0x08, 0) +#define ZORRO_MANUF_SPIRIT_TECHNOLOGY_2 0x07F3 +#define ZORRO_MANUF_BSC_ALFADATA_1 0x07FE +#define ZORRO_PROD_BSC_ALF_3_1 ZORRO_ID(BSC_ALFADATA_1, 0x03, 0) +#define ZORRO_MANUF_BSC_ALFADATA_2 0x0801 +#define ZORRO_PROD_BSC_ALF_2_1 ZORRO_ID(BSC_ALFADATA_2, 0x01, 0) +#define ZORRO_PROD_BSC_ALF_2_2 ZORRO_ID(BSC_ALFADATA_2, 0x02, 0) +#define ZORRO_PROD_BSC_ALF_3_2 ZORRO_ID(BSC_ALFADATA_2, 0x03, 0) +#define ZORRO_MANUF_CARDCO_2 0x0802 +#define ZORRO_PROD_CARDCO_KRONOS_2000_2 ZORRO_ID(CARDCO_2, 0x04, 0) +#define ZORRO_PROD_CARDCO_A1000_2 ZORRO_ID(CARDCO_2, 0x0C, 0) +#define ZORRO_MANUF_JOCHHEIM 0x0804 +#define ZORRO_PROD_JOCHHEIM_RAM ZORRO_ID(JOCHHEIM, 0x01, 0) +#define ZORRO_MANUF_CHECKPOINT_TECHNOLOGIES 0x0807 +#define ZORRO_PROD_CHECKPOINT_TECHNOLOGIES_SERIAL_SOLUTION ZORRO_ID(CHECKPOINT_TECHNOLOGIES, 0x00, 0) +#define ZORRO_MANUF_EDOTRONIK 0x0810 +#define ZORRO_PROD_EDOTRONIK_IEEE_488 ZORRO_ID(EDOTRONIK, 0x01, 0) +#define ZORRO_PROD_EDOTRONIK_8032 ZORRO_ID(EDOTRONIK, 0x02, 0) +#define ZORRO_PROD_EDOTRONIK_MULTISERIAL ZORRO_ID(EDOTRONIK, 0x03, 0) +#define ZORRO_PROD_EDOTRONIK_VIDEODIGITIZER ZORRO_ID(EDOTRONIK, 0x04, 0) +#define ZORRO_PROD_EDOTRONIK_PARALLEL_IO ZORRO_ID(EDOTRONIK, 0x05, 0) +#define ZORRO_PROD_EDOTRONIK_PIC_PROTOYPING ZORRO_ID(EDOTRONIK, 0x06, 0) +#define ZORRO_PROD_EDOTRONIK_ADC ZORRO_ID(EDOTRONIK, 0x07, 0) +#define ZORRO_PROD_EDOTRONIK_VME ZORRO_ID(EDOTRONIK, 0x08, 0) +#define ZORRO_PROD_EDOTRONIK_DSP96000 ZORRO_ID(EDOTRONIK, 0x09, 0) +#define ZORRO_MANUF_NES_INC 0x0813 +#define ZORRO_PROD_NES_INC_RAM ZORRO_ID(NES_INC, 0x00, 0) +#define ZORRO_MANUF_ICD 0x0817 +#define ZORRO_PROD_ICD_ADVANTAGE_2000_SCSI ZORRO_ID(ICD, 0x01, 0) +#define ZORRO_PROD_ICD_ADVANTAGE_IDE ZORRO_ID(ICD, 0x03, 0) +#define ZORRO_PROD_ICD_ADVANTAGE_2080_RAM ZORRO_ID(ICD, 0x04, 0) +#define ZORRO_MANUF_KUPKE_2 0x0819 +#define ZORRO_PROD_KUPKE_OMTI ZORRO_ID(KUPKE_2, 0x01, 0) +#define ZORRO_PROD_KUPKE_SCSI_II ZORRO_ID(KUPKE_2, 0x02, 0) +#define ZORRO_PROD_KUPKE_GOLEM_BOX ZORRO_ID(KUPKE_2, 0x03, 0) +#define ZORRO_PROD_KUPKE_030_882 ZORRO_ID(KUPKE_2, 0x04, 0) +#define ZORRO_PROD_KUPKE_SCSI_AT ZORRO_ID(KUPKE_2, 0x05, 0) +#define ZORRO_MANUF_GREAT_VALLEY_PRODUCTS_3 0x081D +#define ZORRO_PROD_GVP_A2000_RAM8 ZORRO_ID(GREAT_VALLEY_PRODUCTS_3, 0x09, 0) +#define ZORRO_PROD_GVP_IMPACT_SERIES_II_RAM_2 ZORRO_ID(GREAT_VALLEY_PRODUCTS_3, 0x0A, 0) +#define ZORRO_MANUF_INTERWORKS_NETWORK 0x081E +#define ZORRO_MANUF_HARDITAL_SYNTHESIS 0x0820 +#define ZORRO_PROD_HARDITAL_SYNTHESIS_TQM_68030_68882 ZORRO_ID(HARDITAL_SYNTHESIS, 0x14, 0) +#define ZORRO_MANUF_APPLIED_ENGINEERING 0x0828 +#define ZORRO_PROD_APPLIED_ENGINEERING_DL2000 ZORRO_ID(APPLIED_ENGINEERING, 0x10, 0) +#define ZORRO_PROD_APPLIED_ENGINEERING_RAM_WORKS ZORRO_ID(APPLIED_ENGINEERING, 0xE0, 0) +#define ZORRO_MANUF_BSC_ALFADATA_3 0x082C +#define ZORRO_PROD_BSC_OKTAGON_2008 ZORRO_ID(BSC_ALFADATA_3, 0x05, 0) +#define ZORRO_PROD_BSC_TANDEM_AT_2008_508 ZORRO_ID(BSC_ALFADATA_3, 0x06, 0) +#define ZORRO_PROD_BSC_ALFA_RAM_1200 ZORRO_ID(BSC_ALFADATA_3, 0x07, 0) +#define ZORRO_PROD_BSC_OKTAGON_2008_RAM ZORRO_ID(BSC_ALFADATA_3, 0x08, 0) +#define ZORRO_PROD_BSC_MULTIFACE_I ZORRO_ID(BSC_ALFADATA_3, 0x10, 0) +#define ZORRO_PROD_BSC_MULTIFACE_II ZORRO_ID(BSC_ALFADATA_3, 0x11, 0) +#define ZORRO_PROD_BSC_MULTIFACE_III ZORRO_ID(BSC_ALFADATA_3, 0x12, 0) +#define ZORRO_PROD_BSC_FRAMEMASTER_II ZORRO_ID(BSC_ALFADATA_3, 0x20, 0) +#define ZORRO_PROD_BSC_GRAFFITI_RAM ZORRO_ID(BSC_ALFADATA_3, 0x21, 0) +#define ZORRO_PROD_BSC_GRAFFITI_REG ZORRO_ID(BSC_ALFADATA_3, 0x22, 0) +#define ZORRO_PROD_BSC_ISDN_MASTERCARD ZORRO_ID(BSC_ALFADATA_3, 0x40, 0) +#define ZORRO_PROD_BSC_ISDN_MASTERCARD_II ZORRO_ID(BSC_ALFADATA_3, 0x41, 0) +#define ZORRO_MANUF_PHOENIX 0x0835 +#define ZORRO_PROD_PHOENIX_ST506 ZORRO_ID(PHOENIX, 0x21, 0) +#define ZORRO_PROD_PHOENIX_SCSI ZORRO_ID(PHOENIX, 0x22, 0) +#define ZORRO_PROD_PHOENIX_RAM ZORRO_ID(PHOENIX, 0xBE, 0) +#define ZORRO_MANUF_ADVANCED_STORAGE_SYSTEMS 0x0836 +#define ZORRO_PROD_ADVANCED_STORAGE_SYSTEMS_NEXUS ZORRO_ID(ADVANCED_STORAGE_SYSTEMS, 0x01, 0) +#define ZORRO_PROD_ADVANCED_STORAGE_SYSTEMS_NEXUS_RAM ZORRO_ID(ADVANCED_STORAGE_SYSTEMS, 0x08, 0) +#define ZORRO_MANUF_IMPULSE 0x0838 +#define ZORRO_PROD_IMPULSE_FIRECRACKER_24 ZORRO_ID(IMPULSE, 0x00, 0) +#define ZORRO_MANUF_IVS 0x0840 +#define ZORRO_PROD_IVS_GRANDSLAM_PIC_2 ZORRO_ID(IVS, 0x02, 0) +#define ZORRO_PROD_IVS_GRANDSLAM_PIC_1 ZORRO_ID(IVS, 0x04, 0) +#define ZORRO_PROD_IVS_OVERDRIVE ZORRO_ID(IVS, 0x10, 0) +#define ZORRO_PROD_IVS_TRUMPCARD_CLASSIC ZORRO_ID(IVS, 0x30, 0) +#define ZORRO_PROD_IVS_TRUMPCARD_PRO_GRANDSLAM ZORRO_ID(IVS, 0x34, 0) +#define ZORRO_PROD_IVS_META_4 ZORRO_ID(IVS, 0x40, 0) +#define ZORRO_PROD_IVS_WAVETOOLS ZORRO_ID(IVS, 0xBF, 0) +#define ZORRO_PROD_IVS_VECTOR_1 ZORRO_ID(IVS, 0xF3, 0) +#define ZORRO_PROD_IVS_VECTOR_2 ZORRO_ID(IVS, 0xF4, 0) +#define ZORRO_MANUF_VECTOR_1 0x0841 +#define ZORRO_PROD_VECTOR_CONNECTION_1 ZORRO_ID(VECTOR_1, 0xE3, 0) +#define ZORRO_MANUF_XPERT_PRODEV 0x0845 +#define ZORRO_PROD_XPERT_PRODEV_VISIONA_RAM ZORRO_ID(XPERT_PRODEV, 0x01, 0) +#define ZORRO_PROD_XPERT_PRODEV_VISIONA_REG ZORRO_ID(XPERT_PRODEV, 0x02, 0) +#define ZORRO_PROD_XPERT_PRODEV_MERLIN_RAM ZORRO_ID(XPERT_PRODEV, 0x03, 0) +#define ZORRO_PROD_XPERT_PRODEV_MERLIN_REG_1 ZORRO_ID(XPERT_PRODEV, 0x04, 0) +#define ZORRO_PROD_XPERT_PRODEV_MERLIN_REG_2 ZORRO_ID(XPERT_PRODEV, 0xC9, 0) +#define ZORRO_MANUF_HYDRA_SYSTEMS 0x0849 +#define ZORRO_PROD_HYDRA_SYSTEMS_AMIGANET ZORRO_ID(HYDRA_SYSTEMS, 0x01, 0) +#define ZORRO_MANUF_SUNRIZE_INDUSTRIES 0x084F +#define ZORRO_PROD_SUNRIZE_INDUSTRIES_AD1012 ZORRO_ID(SUNRIZE_INDUSTRIES, 0x01, 0) +#define ZORRO_PROD_SUNRIZE_INDUSTRIES_AD516 ZORRO_ID(SUNRIZE_INDUSTRIES, 0x02, 0) +#define ZORRO_PROD_SUNRIZE_INDUSTRIES_DD512 ZORRO_ID(SUNRIZE_INDUSTRIES, 0x03, 0) +#define ZORRO_MANUF_TRICERATOPS 0x0850 +#define ZORRO_PROD_TRICERATOPS_MULTI_IO ZORRO_ID(TRICERATOPS, 0x01, 0) +#define ZORRO_MANUF_APPLIED_MAGIC 0x0851 +#define ZORRO_PROD_APPLIED_MAGIC_DMI_RESOLVER ZORRO_ID(APPLIED_MAGIC, 0x01, 0) +#define ZORRO_PROD_APPLIED_MAGIC_DIGITAL_BROADCASTER ZORRO_ID(APPLIED_MAGIC, 0x06, 0) +#define ZORRO_MANUF_GFX_BASE 0x085E +#define ZORRO_PROD_GFX_BASE_GDA_1_VRAM ZORRO_ID(GFX_BASE, 0x00, 0) +#define ZORRO_PROD_GFX_BASE_GDA_1 ZORRO_ID(GFX_BASE, 0x01, 0) +#define ZORRO_MANUF_ROCTEC 0x0860 +#define ZORRO_PROD_ROCTEC_RH_800C ZORRO_ID(ROCTEC, 0x01, 0) +#define ZORRO_PROD_ROCTEC_RH_800C_RAM ZORRO_ID(ROCTEC, 0x01, 0) +#define ZORRO_MANUF_KATO 0x0861 +#define ZORRO_PROD_KATO_MELODY ZORRO_ID(KATO, 0x80, 0) +#define ZORRO_MANUF_HELFRICH_1 0x0861 +#define ZORRO_PROD_HELFRICH_RAINBOW_II ZORRO_ID(HELFRICH_1, 0x20, 0) +#define ZORRO_PROD_HELFRICH_RAINBOW_III ZORRO_ID(HELFRICH_1, 0x21, 0) +#define ZORRO_MANUF_ATLANTIS 0x0862 +#define ZORRO_MANUF_PROTAR 0x0864 +#define ZORRO_MANUF_ACS 0x0865 +#define ZORRO_MANUF_SOFTWARE_RESULTS_ENTERPRISES 0x0866 +#define ZORRO_PROD_SOFTWARE_RESULTS_ENTERPRISES_GOLDEN_GATE_2_BUS_PLUS ZORRO_ID(SOFTWARE_RESULTS_ENTERPRISES, 0x01, 0) +#define ZORRO_MANUF_MASOBOSHI 0x086D +#define ZORRO_PROD_MASOBOSHI_MASTER_CARD_SC201 ZORRO_ID(MASOBOSHI, 0x03, 0) +#define ZORRO_PROD_MASOBOSHI_MASTER_CARD_MC702 ZORRO_ID(MASOBOSHI, 0x04, 0) +#define ZORRO_PROD_MASOBOSHI_MVD_819 ZORRO_ID(MASOBOSHI, 0x07, 0) +#define ZORRO_MANUF_MAINHATTAN_DATA 0x086F +#define ZORRO_PROD_MAINHATTAN_DATA_IDE ZORRO_ID(MAINHATTAN_DATA, 0x01, 0) +#define ZORRO_MANUF_VILLAGE_TRONIC 0x0877 +#define ZORRO_PROD_VILLAGE_TRONIC_DOMINO_RAM ZORRO_ID(VILLAGE_TRONIC, 0x01, 0) +#define ZORRO_PROD_VILLAGE_TRONIC_DOMINO_REG ZORRO_ID(VILLAGE_TRONIC, 0x02, 0) +#define ZORRO_PROD_VILLAGE_TRONIC_DOMINO_16M_PROTOTYPE ZORRO_ID(VILLAGE_TRONIC, 0x03, 0) +#define ZORRO_PROD_VILLAGE_TRONIC_PICASSO_II_II_PLUS_RAM ZORRO_ID(VILLAGE_TRONIC, 0x0B, 0) +#define ZORRO_PROD_VILLAGE_TRONIC_PICASSO_II_II_PLUS_REG ZORRO_ID(VILLAGE_TRONIC, 0x0C, 0) +#define ZORRO_PROD_VILLAGE_TRONIC_PICASSO_II_II_PLUS_SEGMENTED_MODE ZORRO_ID(VILLAGE_TRONIC, 0x0D, 0) +#define ZORRO_PROD_VILLAGE_TRONIC_PICASSO_IV_Z2_RAM1 ZORRO_ID(VILLAGE_TRONIC, 0x15, 0) +#define ZORRO_PROD_VILLAGE_TRONIC_PICASSO_IV_Z2_RAM2 ZORRO_ID(VILLAGE_TRONIC, 0x16, 0) +#define ZORRO_PROD_VILLAGE_TRONIC_PICASSO_IV_Z2_REG ZORRO_ID(VILLAGE_TRONIC, 0x17, 0) +#define ZORRO_PROD_VILLAGE_TRONIC_PICASSO_IV_Z3 ZORRO_ID(VILLAGE_TRONIC, 0x18, 0) +#define ZORRO_PROD_VILLAGE_TRONIC_ARIADNE ZORRO_ID(VILLAGE_TRONIC, 0xC9, 0) +#define ZORRO_PROD_VILLAGE_TRONIC_ARIADNE2 ZORRO_ID(VILLAGE_TRONIC, 0xCA, 0) +#define ZORRO_MANUF_UTILITIES_UNLIMITED 0x087B +#define ZORRO_PROD_UTILITIES_UNLIMITED_EMPLANT_DELUXE ZORRO_ID(UTILITIES_UNLIMITED, 0x15, 0) +#define ZORRO_PROD_UTILITIES_UNLIMITED_EMPLANT_DELUXE2 ZORRO_ID(UTILITIES_UNLIMITED, 0x20, 0) +#define ZORRO_MANUF_AMITRIX 0x0880 +#define ZORRO_PROD_AMITRIX_MULTI_IO ZORRO_ID(AMITRIX, 0x01, 0) +#define ZORRO_PROD_AMITRIX_CD_RAM ZORRO_ID(AMITRIX, 0x02, 0) +#define ZORRO_MANUF_ARMAX 0x0885 +#define ZORRO_PROD_ARMAX_OMNIBUS ZORRO_ID(ARMAX, 0x00, 0) +#define ZORRO_MANUF_ZEUS 0x088D +#define ZORRO_PROD_ZEUS_SPIDER ZORRO_ID(ZEUS, 0x04, 0) +#define ZORRO_MANUF_NEWTEK 0x088F +#define ZORRO_PROD_NEWTEK_VIDEOTOASTER ZORRO_ID(NEWTEK, 0x00, 0) +#define ZORRO_MANUF_M_TECH_GERMANY 0x0890 +#define ZORRO_PROD_MTEC_AT500_2 ZORRO_ID(M_TECH_GERMANY, 0x01, 0) +#define ZORRO_PROD_MTEC_68030 ZORRO_ID(M_TECH_GERMANY, 0x03, 0) +#define ZORRO_PROD_MTEC_68020I ZORRO_ID(M_TECH_GERMANY, 0x06, 0) +#define ZORRO_PROD_MTEC_A1200_T68030_RTC ZORRO_ID(M_TECH_GERMANY, 0x20, 0) +#define ZORRO_PROD_MTEC_VIPER_MK_V_E_MATRIX_530 ZORRO_ID(M_TECH_GERMANY, 0x21, 0) +#define ZORRO_PROD_MTEC_8_MB_RAM ZORRO_ID(M_TECH_GERMANY, 0x22, 0) +#define ZORRO_PROD_MTEC_VIPER_MK_V_E_MATRIX_530_SCSI_IDE ZORRO_ID(M_TECH_GERMANY, 0x24, 0) +#define ZORRO_MANUF_GREAT_VALLEY_PRODUCTS_4 0x0891 +#define ZORRO_PROD_GVP_EGS_28_24_SPECTRUM_RAM ZORRO_ID(GREAT_VALLEY_PRODUCTS_4, 0x01, 0) +#define ZORRO_PROD_GVP_EGS_28_24_SPECTRUM_REG ZORRO_ID(GREAT_VALLEY_PRODUCTS_4, 0x02, 0) +#define ZORRO_MANUF_APOLLO_1 0x0892 +#define ZORRO_PROD_APOLLO_A1200 ZORRO_ID(APOLLO_1, 0x01, 0) +#define ZORRO_MANUF_HELFRICH_2 0x0893 +#define ZORRO_PROD_HELFRICH_PICCOLO_RAM ZORRO_ID(HELFRICH_2, 0x05, 0) +#define ZORRO_PROD_HELFRICH_PICCOLO_REG ZORRO_ID(HELFRICH_2, 0x06, 0) +#define ZORRO_PROD_HELFRICH_PEGGY_PLUS_MPEG ZORRO_ID(HELFRICH_2, 0x07, 0) +#define ZORRO_PROD_HELFRICH_VIDEOCRUNCHER ZORRO_ID(HELFRICH_2, 0x08, 0) +#define ZORRO_PROD_HELFRICH_SD64_RAM ZORRO_ID(HELFRICH_2, 0x0A, 0) +#define ZORRO_PROD_HELFRICH_SD64_REG ZORRO_ID(HELFRICH_2, 0x0B, 0) +#define ZORRO_MANUF_MACROSYSTEMS_USA 0x089B +#define ZORRO_PROD_MACROSYSTEMS_WARP_ENGINE_40xx ZORRO_ID(MACROSYSTEMS_USA, 0x13, 0) +#define ZORRO_MANUF_ELBOX_COMPUTER 0x089E +#define ZORRO_PROD_ELBOX_COMPUTER_1200_4 ZORRO_ID(ELBOX_COMPUTER, 0x06, 0) +#define ZORRO_MANUF_HARMS_PROFESSIONAL 0x0A00 +#define ZORRO_PROD_HARMS_PROFESSIONAL_030_PLUS ZORRO_ID(HARMS_PROFESSIONAL, 0x10, 0) +#define ZORRO_PROD_HARMS_PROFESSIONAL_3500 ZORRO_ID(HARMS_PROFESSIONAL, 0xD0, 0) +#define ZORRO_MANUF_MICRONIK 0x0A50 +#define ZORRO_PROD_MICRONIK_RCA_120 ZORRO_ID(MICRONIK, 0x0A, 0) +#define ZORRO_MANUF_MICRONIK2 0x0F0F +#define ZORRO_PROD_MICRONIK2_Z3I ZORRO_ID(MICRONIK2, 0x01, 0) +#define ZORRO_MANUF_MEGAMICRO 0x1000 +#define ZORRO_PROD_MEGAMICRO_SCRAM_500 ZORRO_ID(MEGAMICRO, 0x03, 0) +#define ZORRO_PROD_MEGAMICRO_SCRAM_500_RAM ZORRO_ID(MEGAMICRO, 0x04, 0) +#define ZORRO_MANUF_IMTRONICS_2 0x1028 +#define ZORRO_PROD_IMTRONICS_HURRICANE_2800_3 ZORRO_ID(IMTRONICS_2, 0x39, 0) +#define ZORRO_PROD_IMTRONICS_HURRICANE_2800_4 ZORRO_ID(IMTRONICS_2, 0x57, 0) +#define ZORRO_MANUF_INDIVIDUAL_COMPUTERS 0x1212 +#define ZORRO_PROD_INDIVIDUAL_COMPUTERS_BUDDHA ZORRO_ID(INDIVIDUAL_COMPUTERS, 0x00, 0) +#define ZORRO_PROD_INDIVIDUAL_COMPUTERS_X_SURF ZORRO_ID(INDIVIDUAL_COMPUTERS, 0x17, 0) +#define ZORRO_PROD_INDIVIDUAL_COMPUTERS_CATWEASEL ZORRO_ID(INDIVIDUAL_COMPUTERS, 0x2A, 0) +#define ZORRO_MANUF_KUPKE_3 0x1248 +#define ZORRO_PROD_KUPKE_GOLEM_HD_3000 ZORRO_ID(KUPKE_3, 0x01, 0) +#define ZORRO_MANUF_ITH 0x1388 +#define ZORRO_PROD_ITH_ISDN_MASTER_II ZORRO_ID(ITH, 0x01, 0) +#define ZORRO_MANUF_VMC 0x1389 +#define ZORRO_PROD_VMC_ISDN_BLASTER_Z2 ZORRO_ID(VMC, 0x01, 0) +#define ZORRO_PROD_VMC_HYPERCOM_4 ZORRO_ID(VMC, 0x02, 0) +#define ZORRO_MANUF_INFORMATION 0x157C +#define ZORRO_PROD_INFORMATION_ISDN_ENGINE_I ZORRO_ID(INFORMATION, 0x64, 0) +#define ZORRO_MANUF_VORTEX 0x2017 +#define ZORRO_PROD_VORTEX_GOLDEN_GATE_80386SX ZORRO_ID(VORTEX, 0x07, 0) +#define ZORRO_PROD_VORTEX_GOLDEN_GATE_RAM ZORRO_ID(VORTEX, 0x08, 0) +#define ZORRO_PROD_VORTEX_GOLDEN_GATE_80486 ZORRO_ID(VORTEX, 0x09, 0) +#define ZORRO_MANUF_EXPANSION_SYSTEMS 0x2062 +#define ZORRO_PROD_EXPANSION_SYSTEMS_DATAFLYER_4000SX ZORRO_ID(EXPANSION_SYSTEMS, 0x01, 0) +#define ZORRO_PROD_EXPANSION_SYSTEMS_DATAFLYER_4000SX_RAM ZORRO_ID(EXPANSION_SYSTEMS, 0x02, 0) +#define ZORRO_MANUF_READYSOFT 0x2100 +#define ZORRO_PROD_READYSOFT_AMAX_II_IV ZORRO_ID(READYSOFT, 0x01, 0) +#define ZORRO_MANUF_PHASE5 0x2140 +#define ZORRO_PROD_PHASE5_BLIZZARD_RAM ZORRO_ID(PHASE5, 0x01, 0) +#define ZORRO_PROD_PHASE5_BLIZZARD ZORRO_ID(PHASE5, 0x02, 0) +#define ZORRO_PROD_PHASE5_BLIZZARD_1220_IV ZORRO_ID(PHASE5, 0x06, 0) +#define ZORRO_PROD_PHASE5_FASTLANE_Z3_RAM ZORRO_ID(PHASE5, 0x0A, 0) +#define ZORRO_PROD_PHASE5_BLIZZARD_1230_II_FASTLANE_Z3_CYBERSCSI_CYBERSTORM060 ZORRO_ID(PHASE5, 0x0B, 0) +#define ZORRO_PROD_PHASE5_BLIZZARD_1220_CYBERSTORM ZORRO_ID(PHASE5, 0x0C, 0) +#define ZORRO_PROD_PHASE5_BLIZZARD_1230 ZORRO_ID(PHASE5, 0x0D, 0) +#define ZORRO_PROD_PHASE5_BLIZZARD_1230_IV_1260 ZORRO_ID(PHASE5, 0x11, 0) +#define ZORRO_PROD_PHASE5_BLIZZARD_2060 ZORRO_ID(PHASE5, 0x18, 0) +#define ZORRO_PROD_PHASE5_CYBERSTORM_MK_II ZORRO_ID(PHASE5, 0x19, 0) +#define ZORRO_PROD_PHASE5_CYBERVISION64 ZORRO_ID(PHASE5, 0x22, 0) +#define ZORRO_PROD_PHASE5_CYBERVISION64_3D_PROTOTYPE ZORRO_ID(PHASE5, 0x32, 0) +#define ZORRO_PROD_PHASE5_CYBERVISION64_3D ZORRO_ID(PHASE5, 0x43, 0) +#define ZORRO_PROD_PHASE5_CYBERSTORM_MK_III ZORRO_ID(PHASE5, 0x64, 0) +#define ZORRO_PROD_PHASE5_BLIZZARD_603E_PLUS ZORRO_ID(PHASE5, 0x6e, 0) +#define ZORRO_MANUF_DPS 0x2169 +#define ZORRO_PROD_DPS_PERSONAL_ANIMATION_RECORDER ZORRO_ID(DPS, 0x01, 0) +#define ZORRO_MANUF_APOLLO_2 0x2200 +#define ZORRO_PROD_APOLLO_A620_68020_1 ZORRO_ID(APOLLO_2, 0x00, 0) +#define ZORRO_PROD_APOLLO_A620_68020_2 ZORRO_ID(APOLLO_2, 0x01, 0) +#define ZORRO_MANUF_APOLLO_3 0x2222 +#define ZORRO_PROD_APOLLO_AT_APOLLO ZORRO_ID(APOLLO_3, 0x22, 0) +#define ZORRO_PROD_APOLLO_1230_1240_1260_2030_4040_4060 ZORRO_ID(APOLLO_3, 0x23, 0) +#define ZORRO_MANUF_PETSOFF_LP 0x38A5 +#define ZORRO_PROD_PETSOFF_LP_DELFINA ZORRO_ID(PETSOFF_LP, 0x00, 0) +#define ZORRO_PROD_PETSOFF_LP_DELFINA_LITE ZORRO_ID(PETSOFF_LP, 0x01, 0) +#define ZORRO_MANUF_UWE_GERLACH 0x3FF7 +#define ZORRO_PROD_UWE_GERLACH_RAM_ROM ZORRO_ID(UWE_GERLACH, 0xd4, 0) +#define ZORRO_MANUF_ACT 0x4231 +#define ZORRO_PROD_ACT_PRELUDE ZORRO_ID(ACT, 0x01, 0) +#define ZORRO_MANUF_MACROSYSTEMS_GERMANY 0x4754 +#define ZORRO_PROD_MACROSYSTEMS_MAESTRO ZORRO_ID(MACROSYSTEMS_GERMANY, 0x03, 0) +#define ZORRO_PROD_MACROSYSTEMS_VLAB ZORRO_ID(MACROSYSTEMS_GERMANY, 0x04, 0) +#define ZORRO_PROD_MACROSYSTEMS_MAESTRO_PRO ZORRO_ID(MACROSYSTEMS_GERMANY, 0x05, 0) +#define ZORRO_PROD_MACROSYSTEMS_RETINA ZORRO_ID(MACROSYSTEMS_GERMANY, 0x06, 0) +#define ZORRO_PROD_MACROSYSTEMS_MULTI_EVOLUTION ZORRO_ID(MACROSYSTEMS_GERMANY, 0x08, 0) +#define ZORRO_PROD_MACROSYSTEMS_TOCCATA ZORRO_ID(MACROSYSTEMS_GERMANY, 0x0C, 0) +#define ZORRO_PROD_MACROSYSTEMS_RETINA_Z3 ZORRO_ID(MACROSYSTEMS_GERMANY, 0x10, 0) +#define ZORRO_PROD_MACROSYSTEMS_VLAB_MOTION ZORRO_ID(MACROSYSTEMS_GERMANY, 0x12, 0) +#define ZORRO_PROD_MACROSYSTEMS_ALTAIS ZORRO_ID(MACROSYSTEMS_GERMANY, 0x13, 0) +#define ZORRO_PROD_MACROSYSTEMS_FALCON_040 ZORRO_ID(MACROSYSTEMS_GERMANY, 0xFD, 0) +#define ZORRO_MANUF_COMBITEC 0x6766 +#define ZORRO_MANUF_SKI_PERIPHERALS 0x8000 +#define ZORRO_PROD_SKI_PERIPHERALS_MAST_FIREBALL ZORRO_ID(SKI_PERIPHERALS, 0x08, 0) +#define ZORRO_PROD_SKI_PERIPHERALS_SCSI_DUAL_SERIAL ZORRO_ID(SKI_PERIPHERALS, 0x80, 0) +#define ZORRO_MANUF_REIS_WARE_2 0xA9AD +#define ZORRO_PROD_REIS_WARE_SCAN_KING ZORRO_ID(REIS_WARE_2, 0x11, 0) +#define ZORRO_MANUF_CAMERON 0xAA01 +#define ZORRO_PROD_CAMERON_PERSONAL_A4 ZORRO_ID(CAMERON, 0x10, 0) +#define ZORRO_MANUF_REIS_WARE 0xAA11 +#define ZORRO_PROD_REIS_WARE_HANDYSCANNER ZORRO_ID(REIS_WARE, 0x11, 0) +#define ZORRO_MANUF_PHOENIX_2 0xB5A8 +#define ZORRO_PROD_PHOENIX_ST506_2 ZORRO_ID(PHOENIX_2, 0x21, 0) +#define ZORRO_PROD_PHOENIX_SCSI_2 ZORRO_ID(PHOENIX_2, 0x22, 0) +#define ZORRO_PROD_PHOENIX_RAM_2 ZORRO_ID(PHOENIX_2, 0xBE, 0) +#define ZORRO_MANUF_COMBITEC_2 0xC008 +#define ZORRO_PROD_COMBITEC_HD ZORRO_ID(COMBITEC_2, 0x2A, 0) +#define ZORRO_PROD_COMBITEC_SRAM ZORRO_ID(COMBITEC_2, 0x2B, 0) + +#define ZORRO_MANUF_HACKER 0x07DB +#define ZORRO_PROD_GENERAL_PROTOTYPE ZORRO_ID(HACKER, 0x00, 0) +#define ZORRO_PROD_HACKER_SCSI ZORRO_ID(HACKER, 0x01, 0) +#define ZORRO_PROD_RESOURCE_MANAGEMENT_FORCE_QUICKNET_QN2000 ZORRO_ID(HACKER, 0x02, 0) +#define ZORRO_PROD_VECTOR_CONNECTION_2 ZORRO_ID(HACKER, 0xE0, 0) +#define ZORRO_PROD_VECTOR_CONNECTION_3 ZORRO_ID(HACKER, 0xE1, 0) +#define ZORRO_PROD_VECTOR_CONNECTION_4 ZORRO_ID(HACKER, 0xE2, 0) +#define ZORRO_PROD_VECTOR_CONNECTION_5 ZORRO_ID(HACKER, 0xE3, 0) diff --git a/linux-5.10/prebuilts/usr/include/misc/cxl.h b/linux-5.10/prebuilts/usr/include/misc/cxl.h new file mode 100644 index 0000000..c1f010a --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/misc/cxl.h @@ -0,0 +1,114 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI_MISC_CXL_H +#define _UAPI_MISC_CXL_H +#include +#include +struct cxl_ioctl_start_work { + __u64 flags; + __u64 work_element_descriptor; + __u64 amr; + __s16 num_interrupts; + __u16 tid; + __s32 reserved1; + __u64 reserved2; + __u64 reserved3; + __u64 reserved4; + __u64 reserved5; +}; +#define CXL_START_WORK_AMR 0x0000000000000001ULL +#define CXL_START_WORK_NUM_IRQS 0x0000000000000002ULL +#define CXL_START_WORK_ERR_FF 0x0000000000000004ULL +#define CXL_START_WORK_TID 0x0000000000000008ULL +#define CXL_START_WORK_ALL (CXL_START_WORK_AMR |\ + CXL_START_WORK_NUM_IRQS |\ + CXL_START_WORK_ERR_FF |\ + CXL_START_WORK_TID) +#define CXL_MODE_DEDICATED 0x1 +#define CXL_MODE_DIRECTED 0x2 +#define CXL_AFUID_FLAG_SLAVE 0x1 +struct cxl_afu_id { + __u64 flags; + __u32 card_id; + __u32 afu_offset; + __u32 afu_mode; + __u32 reserved1; + __u64 reserved2; + __u64 reserved3; + __u64 reserved4; + __u64 reserved5; + __u64 reserved6; +}; +#define CXL_AI_NEED_HEADER 0x0000000000000001ULL +#define CXL_AI_ALL CXL_AI_NEED_HEADER +#define CXL_AI_HEADER_SIZE 128 +#define CXL_AI_BUFFER_SIZE 4096 +#define CXL_AI_MAX_ENTRIES 256 +#define CXL_AI_MAX_CHUNK_SIZE (CXL_AI_BUFFER_SIZE * CXL_AI_MAX_ENTRIES) +struct cxl_adapter_image { + __u64 flags; + __u64 data; + __u64 len_data; + __u64 len_image; + __u64 reserved1; + __u64 reserved2; + __u64 reserved3; + __u64 reserved4; +}; +#define CXL_MAGIC 0xCA +#define CXL_IOCTL_START_WORK _IOW(CXL_MAGIC, 0x00, struct cxl_ioctl_start_work) +#define CXL_IOCTL_GET_PROCESS_ELEMENT _IOR(CXL_MAGIC, 0x01, __u32) +#define CXL_IOCTL_GET_AFU_ID _IOR(CXL_MAGIC, 0x02, struct cxl_afu_id) +#define CXL_IOCTL_DOWNLOAD_IMAGE _IOW(CXL_MAGIC, 0x0A, struct cxl_adapter_image) +#define CXL_IOCTL_VALIDATE_IMAGE _IOW(CXL_MAGIC, 0x0B, struct cxl_adapter_image) +#define CXL_READ_MIN_SIZE 0x1000 +enum cxl_event_type { + CXL_EVENT_RESERVED = 0, + CXL_EVENT_AFU_INTERRUPT = 1, + CXL_EVENT_DATA_STORAGE = 2, + CXL_EVENT_AFU_ERROR = 3, + CXL_EVENT_AFU_DRIVER = 4, +}; +struct cxl_event_header { + __u16 type; + __u16 size; + __u16 process_element; + __u16 reserved1; +}; +struct cxl_event_afu_interrupt { + __u16 flags; + __u16 irq; + __u32 reserved1; +}; +struct cxl_event_data_storage { + __u16 flags; + __u16 reserved1; + __u32 reserved2; + __u64 addr; + __u64 dsisr; + __u64 reserved3; +}; +struct cxl_event_afu_error { + __u16 flags; + __u16 reserved1; + __u32 reserved2; + __u64 error; +}; +struct cxl_event_afu_driver_reserved { + + __u32 data_size; + __u8 data[]; +}; +struct cxl_event { + struct cxl_event_header header; + union { + struct cxl_event_afu_interrupt irq; + struct cxl_event_data_storage fault; + struct cxl_event_afu_error afu_error; + struct cxl_event_afu_driver_reserved afu_driver_event; + }; +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/misc/fastrpc.h b/linux-5.10/prebuilts/usr/include/misc/fastrpc.h new file mode 100644 index 0000000..359a213 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/misc/fastrpc.h @@ -0,0 +1,51 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef __QCOM_FASTRPC_H__ +#define __QCOM_FASTRPC_H__ +#include +#define FASTRPC_IOCTL_ALLOC_DMA_BUFF _IOWR('R', 1, struct fastrpc_alloc_dma_buf) +#define FASTRPC_IOCTL_FREE_DMA_BUFF _IOWR('R', 2, __u32) +#define FASTRPC_IOCTL_INVOKE _IOWR('R', 3, struct fastrpc_invoke) +#define FASTRPC_IOCTL_INIT_ATTACH _IO('R', 4) +#define FASTRPC_IOCTL_INIT_CREATE _IOWR('R', 5, struct fastrpc_init_create) +#define FASTRPC_IOCTL_MMAP _IOWR('R', 6, struct fastrpc_req_mmap) +#define FASTRPC_IOCTL_MUNMAP _IOWR('R', 7, struct fastrpc_req_munmap) +#define FASTRPC_IOCTL_INIT_ATTACH_SNS _IO('R', 8) +struct fastrpc_invoke_args { + __u64 ptr; + __u64 length; + __s32 fd; + __u32 reserved; +}; +struct fastrpc_invoke { + __u32 handle; + __u32 sc; + __u64 args; +}; +struct fastrpc_init_create { + __u32 filelen; + __s32 filefd; + __u32 attrs; + __u32 siglen; + __u64 file; +}; +struct fastrpc_alloc_dma_buf { + __s32 fd; + __u32 flags; + __u64 size; +}; +struct fastrpc_req_mmap { + __s32 fd; + __u32 flags; + __u64 vaddrin; + __u64 size; + __u64 vaddrout; +}; +struct fastrpc_req_munmap { + __u64 vaddrout; + __u64 size; +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/misc/habanalabs.h b/linux-5.10/prebuilts/usr/include/misc/habanalabs.h new file mode 100644 index 0000000..7ba6179 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/misc/habanalabs.h @@ -0,0 +1,572 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef HABANALABS_H_ +#define HABANALABS_H_ +#include +#include +#define GOYA_KMD_SRAM_RESERVED_SIZE_FROM_START 0x8000 +#define GAUDI_DRIVER_SRAM_RESERVED_SIZE_FROM_START 0x80 +#define GAUDI_FIRST_AVAILABLE_W_S_SYNC_OBJECT 48 +#define GAUDI_FIRST_AVAILABLE_W_S_MONITOR 24 +enum goya_queue_id { + GOYA_QUEUE_ID_DMA_0 = 0, + GOYA_QUEUE_ID_DMA_1 = 1, + GOYA_QUEUE_ID_DMA_2 = 2, + GOYA_QUEUE_ID_DMA_3 = 3, + GOYA_QUEUE_ID_DMA_4 = 4, + GOYA_QUEUE_ID_CPU_PQ = 5, + GOYA_QUEUE_ID_MME = 6, + GOYA_QUEUE_ID_TPC0 = 7, + GOYA_QUEUE_ID_TPC1 = 8, + GOYA_QUEUE_ID_TPC2 = 9, + GOYA_QUEUE_ID_TPC3 = 10, + GOYA_QUEUE_ID_TPC4 = 11, + GOYA_QUEUE_ID_TPC5 = 12, + GOYA_QUEUE_ID_TPC6 = 13, + GOYA_QUEUE_ID_TPC7 = 14, + GOYA_QUEUE_ID_SIZE +}; +enum gaudi_queue_id { + GAUDI_QUEUE_ID_DMA_0_0 = 0, + GAUDI_QUEUE_ID_DMA_0_1 = 1, + GAUDI_QUEUE_ID_DMA_0_2 = 2, + GAUDI_QUEUE_ID_DMA_0_3 = 3, + GAUDI_QUEUE_ID_DMA_1_0 = 4, + GAUDI_QUEUE_ID_DMA_1_1 = 5, + GAUDI_QUEUE_ID_DMA_1_2 = 6, + GAUDI_QUEUE_ID_DMA_1_3 = 7, + GAUDI_QUEUE_ID_CPU_PQ = 8, + GAUDI_QUEUE_ID_DMA_2_0 = 9, + GAUDI_QUEUE_ID_DMA_2_1 = 10, + GAUDI_QUEUE_ID_DMA_2_2 = 11, + GAUDI_QUEUE_ID_DMA_2_3 = 12, + GAUDI_QUEUE_ID_DMA_3_0 = 13, + GAUDI_QUEUE_ID_DMA_3_1 = 14, + GAUDI_QUEUE_ID_DMA_3_2 = 15, + GAUDI_QUEUE_ID_DMA_3_3 = 16, + GAUDI_QUEUE_ID_DMA_4_0 = 17, + GAUDI_QUEUE_ID_DMA_4_1 = 18, + GAUDI_QUEUE_ID_DMA_4_2 = 19, + GAUDI_QUEUE_ID_DMA_4_3 = 20, + GAUDI_QUEUE_ID_DMA_5_0 = 21, + GAUDI_QUEUE_ID_DMA_5_1 = 22, + GAUDI_QUEUE_ID_DMA_5_2 = 23, + GAUDI_QUEUE_ID_DMA_5_3 = 24, + GAUDI_QUEUE_ID_DMA_6_0 = 25, + GAUDI_QUEUE_ID_DMA_6_1 = 26, + GAUDI_QUEUE_ID_DMA_6_2 = 27, + GAUDI_QUEUE_ID_DMA_6_3 = 28, + GAUDI_QUEUE_ID_DMA_7_0 = 29, + GAUDI_QUEUE_ID_DMA_7_1 = 30, + GAUDI_QUEUE_ID_DMA_7_2 = 31, + GAUDI_QUEUE_ID_DMA_7_3 = 32, + GAUDI_QUEUE_ID_MME_0_0 = 33, + GAUDI_QUEUE_ID_MME_0_1 = 34, + GAUDI_QUEUE_ID_MME_0_2 = 35, + GAUDI_QUEUE_ID_MME_0_3 = 36, + GAUDI_QUEUE_ID_MME_1_0 = 37, + GAUDI_QUEUE_ID_MME_1_1 = 38, + GAUDI_QUEUE_ID_MME_1_2 = 39, + GAUDI_QUEUE_ID_MME_1_3 = 40, + GAUDI_QUEUE_ID_TPC_0_0 = 41, + GAUDI_QUEUE_ID_TPC_0_1 = 42, + GAUDI_QUEUE_ID_TPC_0_2 = 43, + GAUDI_QUEUE_ID_TPC_0_3 = 44, + GAUDI_QUEUE_ID_TPC_1_0 = 45, + GAUDI_QUEUE_ID_TPC_1_1 = 46, + GAUDI_QUEUE_ID_TPC_1_2 = 47, + GAUDI_QUEUE_ID_TPC_1_3 = 48, + GAUDI_QUEUE_ID_TPC_2_0 = 49, + GAUDI_QUEUE_ID_TPC_2_1 = 50, + GAUDI_QUEUE_ID_TPC_2_2 = 51, + GAUDI_QUEUE_ID_TPC_2_3 = 52, + GAUDI_QUEUE_ID_TPC_3_0 = 53, + GAUDI_QUEUE_ID_TPC_3_1 = 54, + GAUDI_QUEUE_ID_TPC_3_2 = 55, + GAUDI_QUEUE_ID_TPC_3_3 = 56, + GAUDI_QUEUE_ID_TPC_4_0 = 57, + GAUDI_QUEUE_ID_TPC_4_1 = 58, + GAUDI_QUEUE_ID_TPC_4_2 = 59, + GAUDI_QUEUE_ID_TPC_4_3 = 60, + GAUDI_QUEUE_ID_TPC_5_0 = 61, + GAUDI_QUEUE_ID_TPC_5_1 = 62, + GAUDI_QUEUE_ID_TPC_5_2 = 63, + GAUDI_QUEUE_ID_TPC_5_3 = 64, + GAUDI_QUEUE_ID_TPC_6_0 = 65, + GAUDI_QUEUE_ID_TPC_6_1 = 66, + GAUDI_QUEUE_ID_TPC_6_2 = 67, + GAUDI_QUEUE_ID_TPC_6_3 = 68, + GAUDI_QUEUE_ID_TPC_7_0 = 69, + GAUDI_QUEUE_ID_TPC_7_1 = 70, + GAUDI_QUEUE_ID_TPC_7_2 = 71, + GAUDI_QUEUE_ID_TPC_7_3 = 72, + GAUDI_QUEUE_ID_NIC_0_0 = 73, + GAUDI_QUEUE_ID_NIC_0_1 = 74, + GAUDI_QUEUE_ID_NIC_0_2 = 75, + GAUDI_QUEUE_ID_NIC_0_3 = 76, + GAUDI_QUEUE_ID_NIC_1_0 = 77, + GAUDI_QUEUE_ID_NIC_1_1 = 78, + GAUDI_QUEUE_ID_NIC_1_2 = 79, + GAUDI_QUEUE_ID_NIC_1_3 = 80, + GAUDI_QUEUE_ID_NIC_2_0 = 81, + GAUDI_QUEUE_ID_NIC_2_1 = 82, + GAUDI_QUEUE_ID_NIC_2_2 = 83, + GAUDI_QUEUE_ID_NIC_2_3 = 84, + GAUDI_QUEUE_ID_NIC_3_0 = 85, + GAUDI_QUEUE_ID_NIC_3_1 = 86, + GAUDI_QUEUE_ID_NIC_3_2 = 87, + GAUDI_QUEUE_ID_NIC_3_3 = 88, + GAUDI_QUEUE_ID_NIC_4_0 = 89, + GAUDI_QUEUE_ID_NIC_4_1 = 90, + GAUDI_QUEUE_ID_NIC_4_2 = 91, + GAUDI_QUEUE_ID_NIC_4_3 = 92, + GAUDI_QUEUE_ID_NIC_5_0 = 93, + GAUDI_QUEUE_ID_NIC_5_1 = 94, + GAUDI_QUEUE_ID_NIC_5_2 = 95, + GAUDI_QUEUE_ID_NIC_5_3 = 96, + GAUDI_QUEUE_ID_NIC_6_0 = 97, + GAUDI_QUEUE_ID_NIC_6_1 = 98, + GAUDI_QUEUE_ID_NIC_6_2 = 99, + GAUDI_QUEUE_ID_NIC_6_3 = 100, + GAUDI_QUEUE_ID_NIC_7_0 = 101, + GAUDI_QUEUE_ID_NIC_7_1 = 102, + GAUDI_QUEUE_ID_NIC_7_2 = 103, + GAUDI_QUEUE_ID_NIC_7_3 = 104, + GAUDI_QUEUE_ID_NIC_8_0 = 105, + GAUDI_QUEUE_ID_NIC_8_1 = 106, + GAUDI_QUEUE_ID_NIC_8_2 = 107, + GAUDI_QUEUE_ID_NIC_8_3 = 108, + GAUDI_QUEUE_ID_NIC_9_0 = 109, + GAUDI_QUEUE_ID_NIC_9_1 = 110, + GAUDI_QUEUE_ID_NIC_9_2 = 111, + GAUDI_QUEUE_ID_NIC_9_3 = 112, + GAUDI_QUEUE_ID_SIZE +}; +enum goya_engine_id { + GOYA_ENGINE_ID_DMA_0 = 0, + GOYA_ENGINE_ID_DMA_1, + GOYA_ENGINE_ID_DMA_2, + GOYA_ENGINE_ID_DMA_3, + GOYA_ENGINE_ID_DMA_4, + GOYA_ENGINE_ID_MME_0, + GOYA_ENGINE_ID_TPC_0, + GOYA_ENGINE_ID_TPC_1, + GOYA_ENGINE_ID_TPC_2, + GOYA_ENGINE_ID_TPC_3, + GOYA_ENGINE_ID_TPC_4, + GOYA_ENGINE_ID_TPC_5, + GOYA_ENGINE_ID_TPC_6, + GOYA_ENGINE_ID_TPC_7, + GOYA_ENGINE_ID_SIZE +}; +enum gaudi_engine_id { + GAUDI_ENGINE_ID_DMA_0 = 0, + GAUDI_ENGINE_ID_DMA_1, + GAUDI_ENGINE_ID_DMA_2, + GAUDI_ENGINE_ID_DMA_3, + GAUDI_ENGINE_ID_DMA_4, + GAUDI_ENGINE_ID_DMA_5, + GAUDI_ENGINE_ID_DMA_6, + GAUDI_ENGINE_ID_DMA_7, + GAUDI_ENGINE_ID_MME_0, + GAUDI_ENGINE_ID_MME_1, + GAUDI_ENGINE_ID_MME_2, + GAUDI_ENGINE_ID_MME_3, + GAUDI_ENGINE_ID_TPC_0, + GAUDI_ENGINE_ID_TPC_1, + GAUDI_ENGINE_ID_TPC_2, + GAUDI_ENGINE_ID_TPC_3, + GAUDI_ENGINE_ID_TPC_4, + GAUDI_ENGINE_ID_TPC_5, + GAUDI_ENGINE_ID_TPC_6, + GAUDI_ENGINE_ID_TPC_7, + GAUDI_ENGINE_ID_NIC_0, + GAUDI_ENGINE_ID_NIC_1, + GAUDI_ENGINE_ID_NIC_2, + GAUDI_ENGINE_ID_NIC_3, + GAUDI_ENGINE_ID_NIC_4, + GAUDI_ENGINE_ID_NIC_5, + GAUDI_ENGINE_ID_NIC_6, + GAUDI_ENGINE_ID_NIC_7, + GAUDI_ENGINE_ID_NIC_8, + GAUDI_ENGINE_ID_NIC_9, + GAUDI_ENGINE_ID_SIZE +}; +enum hl_device_status { + HL_DEVICE_STATUS_OPERATIONAL, + HL_DEVICE_STATUS_IN_RESET, + HL_DEVICE_STATUS_MALFUNCTION +}; +#define HL_INFO_HW_IP_INFO 0 +#define HL_INFO_HW_EVENTS 1 +#define HL_INFO_DRAM_USAGE 2 +#define HL_INFO_HW_IDLE 3 +#define HL_INFO_DEVICE_STATUS 4 +#define HL_INFO_DEVICE_UTILIZATION 6 +#define HL_INFO_HW_EVENTS_AGGREGATE 7 +#define HL_INFO_CLK_RATE 8 +#define HL_INFO_RESET_COUNT 9 +#define HL_INFO_TIME_SYNC 10 +#define HL_INFO_CS_COUNTERS 11 +#define HL_INFO_PCI_COUNTERS 12 +#define HL_INFO_CLK_THROTTLE_REASON 13 +#define HL_INFO_SYNC_MANAGER 14 +#define HL_INFO_TOTAL_ENERGY 15 +#define HL_INFO_VERSION_MAX_LEN 128 +#define HL_INFO_CARD_NAME_MAX_LEN 16 +struct hl_info_hw_ip_info { + __u64 sram_base_address; + __u64 dram_base_address; + __u64 dram_size; + __u32 sram_size; + __u32 num_of_events; + __u32 device_id; + __u32 module_id; + __u32 reserved[2]; + __u32 cpld_version; + __u32 psoc_pci_pll_nr; + __u32 psoc_pci_pll_nf; + __u32 psoc_pci_pll_od; + __u32 psoc_pci_pll_div_factor; + __u8 tpc_enabled_mask; + __u8 dram_enabled; + __u8 pad[2]; + __u8 cpucp_version[HL_INFO_VERSION_MAX_LEN]; + __u8 card_name[HL_INFO_CARD_NAME_MAX_LEN]; +}; +struct hl_info_dram_usage { + __u64 dram_free_mem; + __u64 ctx_dram_mem; +}; +struct hl_info_hw_idle { + __u32 is_idle; + + __u32 busy_engines_mask; + + __u64 busy_engines_mask_ext; +}; +struct hl_info_device_status { + __u32 status; + __u32 pad; +}; +struct hl_info_device_utilization { + __u32 utilization; + __u32 pad; +}; +struct hl_info_clk_rate { + __u32 cur_clk_rate_mhz; + __u32 max_clk_rate_mhz; +}; +struct hl_info_reset_count { + __u32 hard_reset_cnt; + __u32 soft_reset_cnt; +}; +struct hl_info_time_sync { + __u64 device_time; + __u64 host_time; +}; +struct hl_info_pci_counters { + __u64 rx_throughput; + __u64 tx_throughput; + __u64 replay_cnt; +}; +#define HL_CLK_THROTTLE_POWER 0x1 +#define HL_CLK_THROTTLE_THERMAL 0x2 +struct hl_info_clk_throttle { + __u32 clk_throttling_reason; +}; +struct hl_info_energy { + __u64 total_energy_consumption; +}; +struct hl_info_sync_manager { + __u32 first_available_sync_object; + __u32 first_available_monitor; +}; +struct hl_cs_counters { + __u64 out_of_mem_drop_cnt; + __u64 parsing_drop_cnt; + __u64 queue_full_drop_cnt; + __u64 device_in_reset_drop_cnt; + __u64 max_cs_in_flight_drop_cnt; +}; +struct hl_info_cs_counters { + struct hl_cs_counters cs_counters; + struct hl_cs_counters ctx_cs_counters; +}; +enum gaudi_dcores { + HL_GAUDI_WS_DCORE, + HL_GAUDI_WN_DCORE, + HL_GAUDI_EN_DCORE, + HL_GAUDI_ES_DCORE +}; +struct hl_info_args { + + __u64 return_pointer; + + __u32 return_size; + + __u32 op; + union { + + __u32 dcore_id; + + __u32 ctx_id; + + __u32 period_ms; + }; + __u32 pad; +}; +#define HL_CB_OP_CREATE 0 +#define HL_CB_OP_DESTROY 1 +#define HL_MAX_CB_SIZE (0x200000 - 32) +#define HL_CB_FLAGS_MAP 0x1 +struct hl_cb_in { + + __u64 cb_handle; + + __u32 op; + + __u32 cb_size; + + __u32 ctx_id; + + __u32 flags; +}; +struct hl_cb_out { + + __u64 cb_handle; +}; +union hl_cb_args { + struct hl_cb_in in; + struct hl_cb_out out; +}; +struct hl_cs_chunk { + union { + + __u64 cb_handle; + + __u64 signal_seq_arr; + }; + + __u32 queue_index; + union { + + __u32 cb_size; + + __u32 num_signal_seq_arr; + }; + + __u32 cs_chunk_flags; + + __u32 pad[11]; +}; +#define HL_CS_FLAGS_FORCE_RESTORE 0x1 +#define HL_CS_FLAGS_SIGNAL 0x2 +#define HL_CS_FLAGS_WAIT 0x4 +#define HL_CS_STATUS_SUCCESS 0 +#define HL_MAX_JOBS_PER_CS 512 +struct hl_cs_in { + + __u64 chunks_restore; + + __u64 chunks_execute; + + __u64 chunks_store; + + __u32 num_chunks_restore; + + __u32 num_chunks_execute; + + __u32 num_chunks_store; + + __u32 cs_flags; + + __u32 ctx_id; +}; +struct hl_cs_out { + + __u64 seq; + + __u32 status; + __u32 pad; +}; +union hl_cs_args { + struct hl_cs_in in; + struct hl_cs_out out; +}; +struct hl_wait_cs_in { + + __u64 seq; + + __u64 timeout_us; + + __u32 ctx_id; + __u32 pad; +}; +#define HL_WAIT_CS_STATUS_COMPLETED 0 +#define HL_WAIT_CS_STATUS_BUSY 1 +#define HL_WAIT_CS_STATUS_TIMEDOUT 2 +#define HL_WAIT_CS_STATUS_ABORTED 3 +#define HL_WAIT_CS_STATUS_INTERRUPTED 4 +struct hl_wait_cs_out { + + __u32 status; + __u32 pad; +}; +union hl_wait_cs_args { + struct hl_wait_cs_in in; + struct hl_wait_cs_out out; +}; +#define HL_MEM_OP_ALLOC 0 +#define HL_MEM_OP_FREE 1 +#define HL_MEM_OP_MAP 2 +#define HL_MEM_OP_UNMAP 3 +#define HL_MEM_CONTIGUOUS 0x1 +#define HL_MEM_SHARED 0x2 +#define HL_MEM_USERPTR 0x4 +struct hl_mem_in { + union { + + struct { + + __u64 mem_size; + } alloc; + + struct { + + __u64 handle; + } free; + + struct { + + __u64 hint_addr; + + __u64 handle; + } map_device; + + struct { + + __u64 host_virt_addr; + + __u64 hint_addr; + + __u64 mem_size; + } map_host; + + struct { + + __u64 device_virt_addr; + } unmap; + }; + + __u32 op; + + __u32 flags; + + __u32 ctx_id; + __u32 pad; +}; +struct hl_mem_out { + union { + + __u64 device_virt_addr; + + __u64 handle; + }; +}; +union hl_mem_args { + struct hl_mem_in in; + struct hl_mem_out out; +}; +#define HL_DEBUG_MAX_AUX_VALUES 10 +struct hl_debug_params_etr { + + __u64 buffer_address; + + __u64 buffer_size; + + __u32 sink_mode; + __u32 pad; +}; +struct hl_debug_params_etf { + + __u64 buffer_address; + + __u64 buffer_size; + + __u32 sink_mode; + __u32 pad; +}; +struct hl_debug_params_stm { + + __u64 he_mask; + __u64 sp_mask; + + __u32 id; + + __u32 frequency; +}; +struct hl_debug_params_bmon { + + __u64 start_addr0; + __u64 addr_mask0; + __u64 start_addr1; + __u64 addr_mask1; + + __u32 bw_win; + __u32 win_capture; + + __u32 id; + __u32 pad; +}; +struct hl_debug_params_spmu { + + __u64 event_types[HL_DEBUG_MAX_AUX_VALUES]; + + __u32 event_types_num; + __u32 pad; +}; +#define HL_DEBUG_OP_ETR 0 +#define HL_DEBUG_OP_ETF 1 +#define HL_DEBUG_OP_STM 2 +#define HL_DEBUG_OP_FUNNEL 3 +#define HL_DEBUG_OP_BMON 4 +#define HL_DEBUG_OP_SPMU 5 +#define HL_DEBUG_OP_TIMESTAMP 6 +#define HL_DEBUG_OP_SET_MODE 7 +struct hl_debug_args { + + __u64 input_ptr; + + __u64 output_ptr; + + __u32 input_size; + + __u32 output_size; + + __u32 op; + + __u32 reg_idx; + + __u32 enable; + + __u32 ctx_id; +}; +#define HL_IOCTL_INFO \ + _IOWR('H', 0x01, struct hl_info_args) +#define HL_IOCTL_CB \ + _IOWR('H', 0x02, union hl_cb_args) +#define HL_IOCTL_CS \ + _IOWR('H', 0x03, union hl_cs_args) +#define HL_IOCTL_WAIT_CS \ + _IOWR('H', 0x04, union hl_wait_cs_args) +#define HL_IOCTL_MEMORY \ + _IOWR('H', 0x05, union hl_mem_args) +#define HL_IOCTL_DEBUG \ + _IOWR('H', 0x06, struct hl_debug_args) +#define HL_COMMAND_START 0x01 +#define HL_COMMAND_END 0x07 +#endif diff --git a/linux-5.10/prebuilts/usr/include/misc/ocxl.h b/linux-5.10/prebuilts/usr/include/misc/ocxl.h new file mode 100644 index 0000000..c31bc00 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/misc/ocxl.h @@ -0,0 +1,65 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI_MISC_OCXL_H +#define _UAPI_MISC_OCXL_H +#include +#include +enum ocxl_event_type { + OCXL_AFU_EVENT_XSL_FAULT_ERROR = 0, +}; +#define OCXL_KERNEL_EVENT_FLAG_LAST 0x0001 +struct ocxl_kernel_event_header { + __u16 type; + __u16 flags; + __u32 reserved; +}; +struct ocxl_kernel_event_xsl_fault_error { + __u64 addr; + __u64 dsisr; + __u64 count; + __u64 reserved; +}; +struct ocxl_ioctl_attach { + __u64 amr; + __u64 reserved1; + __u64 reserved2; + __u64 reserved3; +}; +struct ocxl_ioctl_metadata { + __u16 version; + + __u8 afu_version_major; + __u8 afu_version_minor; + __u32 pasid; + __u64 pp_mmio_size; + __u64 global_mmio_size; + + __u64 reserved[13]; +}; +struct ocxl_ioctl_p9_wait { + __u16 thread_id; + __u16 reserved1; + __u32 reserved2; + __u64 reserved3[3]; +}; +#define OCXL_IOCTL_FEATURES_FLAGS0_P9_WAIT 0x01 +struct ocxl_ioctl_features { + __u64 flags[4]; +}; +struct ocxl_ioctl_irq_fd { + __u64 irq_offset; + __s32 eventfd; + __u32 reserved; +}; +#define OCXL_MAGIC 0xCA +#define OCXL_IOCTL_ATTACH _IOW(OCXL_MAGIC, 0x10, struct ocxl_ioctl_attach) +#define OCXL_IOCTL_IRQ_ALLOC _IOR(OCXL_MAGIC, 0x11, __u64) +#define OCXL_IOCTL_IRQ_FREE _IOW(OCXL_MAGIC, 0x12, __u64) +#define OCXL_IOCTL_IRQ_SET_FD _IOW(OCXL_MAGIC, 0x13, struct ocxl_ioctl_irq_fd) +#define OCXL_IOCTL_GET_METADATA _IOR(OCXL_MAGIC, 0x14, struct ocxl_ioctl_metadata) +#define OCXL_IOCTL_ENABLE_P9_WAIT _IOR(OCXL_MAGIC, 0x15, struct ocxl_ioctl_p9_wait) +#define OCXL_IOCTL_GET_FEATURES _IOR(OCXL_MAGIC, 0x16, struct ocxl_ioctl_features) +#endif diff --git a/linux-5.10/prebuilts/usr/include/misc/pvpanic.h b/linux-5.10/prebuilts/usr/include/misc/pvpanic.h new file mode 100644 index 0000000..39c4190 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/misc/pvpanic.h @@ -0,0 +1,10 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef __PVPANIC_H__ +#define __PVPANIC_H__ +#define PVPANIC_PANICKED (1 << 0) +#define PVPANIC_CRASH_LOADED (1 << 1) +#endif diff --git a/linux-5.10/prebuilts/usr/include/misc/uacce/hisi_qm.h b/linux-5.10/prebuilts/usr/include/misc/uacce/hisi_qm.h new file mode 100644 index 0000000..f935084 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/misc/uacce/hisi_qm.h @@ -0,0 +1,16 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI_HISI_QM_H +#define _UAPI_HISI_QM_H +#include +struct hisi_qp_ctx { + __u16 id; + __u16 qc_type; +}; +#define HISI_QM_API_VER_BASE "hisi_qm_v1" +#define HISI_QM_API_VER2_BASE "hisi_qm_v2" +#define UACCE_CMD_QM_SET_QP_CTX _IOWR('H', 10, struct hisi_qp_ctx) +#endif diff --git a/linux-5.10/prebuilts/usr/include/misc/uacce/uacce.h b/linux-5.10/prebuilts/usr/include/misc/uacce/uacce.h new file mode 100644 index 0000000..af10a0b --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/misc/uacce/uacce.h @@ -0,0 +1,17 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPIUUACCE_H +#define _UAPIUUACCE_H +#include +#include +#define UACCE_CMD_START_Q _IO('W', 0) +#define UACCE_CMD_PUT_Q _IO('W', 1) +#define UACCE_DEV_SVA BIT(0) +enum uacce_qfrt { + UACCE_QFRT_MMIO = 0, + UACCE_QFRT_DUS = 1, +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/misc/xilinx_sdfec.h b/linux-5.10/prebuilts/usr/include/misc/xilinx_sdfec.h new file mode 100644 index 0000000..9a8c106 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/misc/xilinx_sdfec.h @@ -0,0 +1,122 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef __XILINX_SDFEC_H__ +#define __XILINX_SDFEC_H__ +#include +#define XSDFEC_LDPC_SC_TABLE_ADDR_BASE (0x10000) +#define XSDFEC_LDPC_SC_TABLE_ADDR_HIGH (0x10400) +#define XSDFEC_LDPC_LA_TABLE_ADDR_BASE (0x18000) +#define XSDFEC_LDPC_LA_TABLE_ADDR_HIGH (0x19000) +#define XSDFEC_LDPC_QC_TABLE_ADDR_BASE (0x20000) +#define XSDFEC_LDPC_QC_TABLE_ADDR_HIGH (0x28000) +#define XSDFEC_SC_TABLE_DEPTH \ + (XSDFEC_LDPC_SC_TABLE_ADDR_HIGH - XSDFEC_LDPC_SC_TABLE_ADDR_BASE) +#define XSDFEC_LA_TABLE_DEPTH \ + (XSDFEC_LDPC_LA_TABLE_ADDR_HIGH - XSDFEC_LDPC_LA_TABLE_ADDR_BASE) +#define XSDFEC_QC_TABLE_DEPTH \ + (XSDFEC_LDPC_QC_TABLE_ADDR_HIGH - XSDFEC_LDPC_QC_TABLE_ADDR_BASE) +enum xsdfec_code { + XSDFEC_TURBO_CODE = 0, + XSDFEC_LDPC_CODE, +}; +enum xsdfec_order { + XSDFEC_MAINTAIN_ORDER = 0, + XSDFEC_OUT_OF_ORDER, +}; +enum xsdfec_turbo_alg { + XSDFEC_MAX_SCALE = 0, + XSDFEC_MAX_STAR, + XSDFEC_TURBO_ALG_MAX, +}; +enum xsdfec_state { + XSDFEC_INIT = 0, + XSDFEC_STARTED, + XSDFEC_STOPPED, + XSDFEC_NEEDS_RESET, + XSDFEC_PL_RECONFIGURE, +}; +enum xsdfec_axis_width { + XSDFEC_1x128b = 1, + XSDFEC_2x128b = 2, + XSDFEC_4x128b = 4, +}; +enum xsdfec_axis_word_include { + XSDFEC_FIXED_VALUE = 0, + XSDFEC_IN_BLOCK, + XSDFEC_PER_AXI_TRANSACTION, + XSDFEC_AXIS_WORDS_INCLUDE_MAX, +}; +struct xsdfec_turbo { + __u32 alg; + __u8 scale; +}; +struct xsdfec_ldpc_params { + __u32 n; + __u32 k; + __u32 psize; + __u32 nlayers; + __u32 nqc; + __u32 nmqc; + __u32 nm; + __u32 norm_type; + __u32 no_packing; + __u32 special_qc; + __u32 no_final_parity; + __u32 max_schedule; + __u32 sc_off; + __u32 la_off; + __u32 qc_off; + __u32 *sc_table; + __u32 *la_table; + __u32 *qc_table; + __u16 code_id; +}; +struct xsdfec_status { + __u32 state; + __s8 activity; +}; +struct xsdfec_irq { + __s8 enable_isr; + __s8 enable_ecc_isr; +}; +struct xsdfec_config { + __u32 code; + __u32 order; + __u32 din_width; + __u32 din_word_include; + __u32 dout_width; + __u32 dout_word_include; + struct xsdfec_irq irq; + __s8 bypass; + __s8 code_wr_protect; +}; +struct xsdfec_stats { + __u32 isr_err_count; + __u32 cecc_count; + __u32 uecc_count; +}; +struct xsdfec_ldpc_param_table_sizes { + __u32 sc_size; + __u32 la_size; + __u32 qc_size; +}; +#define XSDFEC_MAGIC 'f' +#define XSDFEC_START_DEV _IO(XSDFEC_MAGIC, 0) +#define XSDFEC_STOP_DEV _IO(XSDFEC_MAGIC, 1) +#define XSDFEC_GET_STATUS _IOR(XSDFEC_MAGIC, 2, struct xsdfec_status) +#define XSDFEC_SET_IRQ _IOW(XSDFEC_MAGIC, 3, struct xsdfec_irq) +#define XSDFEC_SET_TURBO _IOW(XSDFEC_MAGIC, 4, struct xsdfec_turbo) +#define XSDFEC_ADD_LDPC_CODE_PARAMS \ + _IOW(XSDFEC_MAGIC, 5, struct xsdfec_ldpc_params) +#define XSDFEC_GET_CONFIG _IOR(XSDFEC_MAGIC, 6, struct xsdfec_config) +#define XSDFEC_GET_TURBO _IOR(XSDFEC_MAGIC, 7, struct xsdfec_turbo) +#define XSDFEC_SET_ORDER _IOW(XSDFEC_MAGIC, 8, unsigned long) +#define XSDFEC_SET_BYPASS _IOW(XSDFEC_MAGIC, 9, bool) +#define XSDFEC_IS_ACTIVE _IOR(XSDFEC_MAGIC, 10, bool) +#define XSDFEC_CLEAR_STATS _IO(XSDFEC_MAGIC, 11) +#define XSDFEC_GET_STATS _IOR(XSDFEC_MAGIC, 12, struct xsdfec_stats) +#define XSDFEC_SET_DEFAULT_CONFIG _IO(XSDFEC_MAGIC, 13) +#endif diff --git a/linux-5.10/prebuilts/usr/include/mtd/inftl-user.h b/linux-5.10/prebuilts/usr/include/mtd/inftl-user.h new file mode 100644 index 0000000..76e327e --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/mtd/inftl-user.h @@ -0,0 +1,70 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef __MTD_INFTL_USER_H__ +#define __MTD_INFTL_USER_H__ +#include +#define OSAK_VERSION 0x5120 +#define PERCENTUSED 98 +#define SECTORSIZE 512 +struct inftl_bci { + __u8 ECCsig[6]; + __u8 Status; + __u8 Status1; +} __attribute__((packed)); +struct inftl_unithead1 { + __u16 virtualUnitNo; + __u16 prevUnitNo; + __u8 ANAC; + __u8 NACs; + __u8 parityPerField; + __u8 discarded; +} __attribute__((packed)); +struct inftl_unithead2 { + __u8 parityPerField; + __u8 ANAC; + __u16 prevUnitNo; + __u16 virtualUnitNo; + __u8 NACs; + __u8 discarded; +} __attribute__((packed)); +struct inftl_unittail { + __u8 Reserved[4]; + __u16 EraseMark; + __u16 EraseMark1; +} __attribute__((packed)); +union inftl_uci { + struct inftl_unithead1 a; + struct inftl_unithead2 b; + struct inftl_unittail c; +}; +struct inftl_oob { + struct inftl_bci b; + union inftl_uci u; +}; +struct INFTLPartition { + __u32 virtualUnits; + __u32 firstUnit; + __u32 lastUnit; + __u32 flags; + __u32 spareUnits; + __u32 Reserved0; + __u32 Reserved1; +} __attribute__((packed)); +struct INFTLMediaHeader { + char bootRecordID[8]; + __u32 NoOfBootImageBlocks; + __u32 NoOfBinaryPartitions; + __u32 NoOfBDTLPartitions; + __u32 BlockMultiplierBits; + __u32 FormatFlags; + __u32 OsakVersion; + __u32 PercentUsed; + struct INFTLPartition Partitions[4]; +} __attribute__((packed)); +#define INFTL_BINARY 0x20000000 +#define INFTL_BDTL 0x40000000 +#define INFTL_LAST 0x80000000 +#endif diff --git a/linux-5.10/prebuilts/usr/include/mtd/mtd-abi.h b/linux-5.10/prebuilts/usr/include/mtd/mtd-abi.h new file mode 100644 index 0000000..23cb388 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/mtd/mtd-abi.h @@ -0,0 +1,145 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef __MTD_ABI_H__ +#define __MTD_ABI_H__ +#include +struct erase_info_user { + __u32 start; + __u32 length; +}; +struct erase_info_user64 { + __u64 start; + __u64 length; +}; +struct mtd_oob_buf { + __u32 start; + __u32 length; + unsigned char __user *ptr; +}; +struct mtd_oob_buf64 { + __u64 start; + __u32 pad; + __u32 length; + __u64 usr_ptr; +}; +enum { + MTD_OPS_PLACE_OOB = 0, + MTD_OPS_AUTO_OOB = 1, + MTD_OPS_RAW = 2, +}; +struct mtd_write_req { + __u64 start; + __u64 len; + __u64 ooblen; + __u64 usr_data; + __u64 usr_oob; + __u8 mode; + __u8 padding[7]; +}; +#define MTD_ABSENT 0 +#define MTD_RAM 1 +#define MTD_ROM 2 +#define MTD_NORFLASH 3 +#define MTD_NANDFLASH 4 +#define MTD_DATAFLASH 6 +#define MTD_UBIVOLUME 7 +#define MTD_MLCNANDFLASH 8 +#define MTD_WRITEABLE 0x400 +#define MTD_BIT_WRITEABLE 0x800 +#define MTD_NO_ERASE 0x1000 +#define MTD_POWERUP_LOCK 0x2000 +#define MTD_SLC_ON_MLC_EMULATION 0x4000 +#define MTD_CAP_ROM 0 +#define MTD_CAP_RAM (MTD_WRITEABLE | MTD_BIT_WRITEABLE | MTD_NO_ERASE) +#define MTD_CAP_NORFLASH (MTD_WRITEABLE | MTD_BIT_WRITEABLE) +#define MTD_CAP_NANDFLASH (MTD_WRITEABLE) +#define MTD_CAP_NVRAM (MTD_WRITEABLE | MTD_BIT_WRITEABLE | MTD_NO_ERASE) +#define MTD_NANDECC_OFF 0 +#define MTD_NANDECC_PLACE 1 +#define MTD_NANDECC_AUTOPLACE 2 +#define MTD_NANDECC_PLACEONLY 3 +#define MTD_NANDECC_AUTOPL_USR 4 +#define MTD_OTP_OFF 0 +#define MTD_OTP_FACTORY 1 +#define MTD_OTP_USER 2 +struct mtd_info_user { + __u8 type; + __u32 flags; + __u32 size; + __u32 erasesize; + __u32 writesize; + __u32 oobsize; + __u64 padding; +}; +struct region_info_user { + __u32 offset; + __u32 erasesize; + __u32 numblocks; + __u32 regionindex; +}; +struct otp_info { + __u32 start; + __u32 length; + __u32 locked; +}; +#define MEMGETINFO _IOR('M', 1, struct mtd_info_user) +#define MEMERASE _IOW('M', 2, struct erase_info_user) +#define MEMWRITEOOB _IOWR('M', 3, struct mtd_oob_buf) +#define MEMREADOOB _IOWR('M', 4, struct mtd_oob_buf) +#define MEMLOCK _IOW('M', 5, struct erase_info_user) +#define MEMUNLOCK _IOW('M', 6, struct erase_info_user) +#define MEMGETREGIONCOUNT _IOR('M', 7, int) +#define MEMGETREGIONINFO _IOWR('M', 8, struct region_info_user) +#define MEMGETOOBSEL _IOR('M', 10, struct nand_oobinfo) +#define MEMGETBADBLOCK _IOW('M', 11, __kernel_loff_t) +#define MEMSETBADBLOCK _IOW('M', 12, __kernel_loff_t) +#define OTPSELECT _IOR('M', 13, int) +#define OTPGETREGIONCOUNT _IOW('M', 14, int) +#define OTPGETREGIONINFO _IOW('M', 15, struct otp_info) +#define OTPLOCK _IOR('M', 16, struct otp_info) +#define ECCGETLAYOUT _IOR('M', 17, struct nand_ecclayout_user) +#define ECCGETSTATS _IOR('M', 18, struct mtd_ecc_stats) +#define MTDFILEMODE _IO('M', 19) +#define MEMERASE64 _IOW('M', 20, struct erase_info_user64) +#define MEMWRITEOOB64 _IOWR('M', 21, struct mtd_oob_buf64) +#define MEMREADOOB64 _IOWR('M', 22, struct mtd_oob_buf64) +#define MEMISLOCKED _IOR('M', 23, struct erase_info_user) +#define MEMWRITE _IOWR('M', 24, struct mtd_write_req) +struct nand_oobinfo { + __u32 useecc; + __u32 eccbytes; + __u32 oobfree[8][2]; + __u32 eccpos[32]; +}; +struct nand_oobfree { + __u32 offset; + __u32 length; +}; +#define MTD_MAX_OOBFREE_ENTRIES 8 +#define MTD_MAX_ECCPOS_ENTRIES 64 +struct nand_ecclayout_user { + __u32 eccbytes; + __u32 eccpos[MTD_MAX_ECCPOS_ENTRIES]; + __u32 oobavail; + struct nand_oobfree oobfree[MTD_MAX_OOBFREE_ENTRIES]; +}; +struct mtd_ecc_stats { + __u32 corrected; + __u32 failed; + __u32 badblocks; + __u32 bbtblocks; +}; +enum mtd_file_modes { + MTD_FILE_MODE_NORMAL = MTD_OTP_OFF, + MTD_FILE_MODE_OTP_FACTORY = MTD_OTP_FACTORY, + MTD_FILE_MODE_OTP_USER = MTD_OTP_USER, + MTD_FILE_MODE_RAW, +}; +static inline int mtd_type_is_nand_user(const struct mtd_info_user *mtd) +{ + return mtd->type == MTD_NANDFLASH || mtd->type == MTD_MLCNANDFLASH; +} +#endif diff --git a/linux-5.10/prebuilts/usr/include/mtd/mtd-user.h b/linux-5.10/prebuilts/usr/include/mtd/mtd-user.h new file mode 100644 index 0000000..8d35b81 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/mtd/mtd-user.h @@ -0,0 +1,14 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef __MTD_USER_H__ +#define __MTD_USER_H__ +#include +typedef struct mtd_info_user mtd_info_t; +typedef struct erase_info_user erase_info_t; +typedef struct region_info_user region_info_t; +typedef struct nand_oobinfo nand_oobinfo_t; +typedef struct nand_ecclayout_user nand_ecclayout_t; +#endif diff --git a/linux-5.10/prebuilts/usr/include/mtd/nftl-user.h b/linux-5.10/prebuilts/usr/include/mtd/nftl-user.h new file mode 100644 index 0000000..ba6c5ac --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/mtd/nftl-user.h @@ -0,0 +1,56 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef __MTD_NFTL_USER_H__ +#define __MTD_NFTL_USER_H__ +#include +struct nftl_bci { + unsigned char ECCSig[6]; + __u8 Status; + __u8 Status1; +}__attribute__((packed)); +struct nftl_uci0 { + __u16 VirtUnitNum; + __u16 ReplUnitNum; + __u16 SpareVirtUnitNum; + __u16 SpareReplUnitNum; +} __attribute__((packed)); +struct nftl_uci1 { + __u32 WearInfo; + __u16 EraseMark; + __u16 EraseMark1; +} __attribute__((packed)); +struct nftl_uci2 { + __u16 FoldMark; + __u16 FoldMark1; + __u32 unused; +} __attribute__((packed)); +union nftl_uci { + struct nftl_uci0 a; + struct nftl_uci1 b; + struct nftl_uci2 c; +}; +struct nftl_oob { + struct nftl_bci b; + union nftl_uci u; +}; +struct NFTLMediaHeader { + char DataOrgID[6]; + __u16 NumEraseUnits; + __u16 FirstPhysicalEUN; + __u32 FormattedSize; + unsigned char UnitSizeFactor; +} __attribute__((packed)); +#define MAX_ERASE_ZONES (8192 - 512) +#define ERASE_MARK 0x3c69 +#define SECTOR_FREE 0xff +#define SECTOR_USED 0x55 +#define SECTOR_IGNORE 0x11 +#define SECTOR_DELETED 0x00 +#define FOLD_MARK_IN_PROGRESS 0x5555 +#define ZONE_GOOD 0xff +#define ZONE_BAD_ORIGINAL 0 +#define ZONE_BAD_MARKED 7 +#endif diff --git a/linux-5.10/prebuilts/usr/include/mtd/ubi-user.h b/linux-5.10/prebuilts/usr/include/mtd/ubi-user.h new file mode 100644 index 0000000..0484a35 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/mtd/ubi-user.h @@ -0,0 +1,96 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef __UBI_USER_H__ +#define __UBI_USER_H__ +#include +#define UBI_VOL_NUM_AUTO (-1) +#define UBI_DEV_NUM_AUTO (-1) +#define UBI_MAX_VOLUME_NAME 127 +#define UBI_IOC_MAGIC 'o' +#define UBI_IOCMKVOL _IOW(UBI_IOC_MAGIC, 0, struct ubi_mkvol_req) +#define UBI_IOCRMVOL _IOW(UBI_IOC_MAGIC, 1, __s32) +#define UBI_IOCRSVOL _IOW(UBI_IOC_MAGIC, 2, struct ubi_rsvol_req) +#define UBI_IOCRNVOL _IOW(UBI_IOC_MAGIC, 3, struct ubi_rnvol_req) +#define UBI_IOCRPEB _IOW(UBI_IOC_MAGIC, 4, __s32) +#define UBI_IOCSPEB _IOW(UBI_IOC_MAGIC, 5, __s32) +#define UBI_CTRL_IOC_MAGIC 'o' +#define UBI_IOCATT _IOW(UBI_CTRL_IOC_MAGIC, 64, struct ubi_attach_req) +#define UBI_IOCDET _IOW(UBI_CTRL_IOC_MAGIC, 65, __s32) +#define UBI_VOL_IOC_MAGIC 'O' +#define UBI_IOCVOLUP _IOW(UBI_VOL_IOC_MAGIC, 0, __s64) +#define UBI_IOCEBER _IOW(UBI_VOL_IOC_MAGIC, 1, __s32) +#define UBI_IOCEBCH _IOW(UBI_VOL_IOC_MAGIC, 2, __s32) +#define UBI_IOCEBMAP _IOW(UBI_VOL_IOC_MAGIC, 3, struct ubi_map_req) +#define UBI_IOCEBUNMAP _IOW(UBI_VOL_IOC_MAGIC, 4, __s32) +#define UBI_IOCEBISMAP _IOR(UBI_VOL_IOC_MAGIC, 5, __s32) +#define UBI_IOCSETVOLPROP _IOW(UBI_VOL_IOC_MAGIC, 6, \ + struct ubi_set_vol_prop_req) +#define UBI_IOCVOLCRBLK _IOW(UBI_VOL_IOC_MAGIC, 7, struct ubi_blkcreate_req) +#define UBI_IOCVOLRMBLK _IO(UBI_VOL_IOC_MAGIC, 8) +#define MAX_UBI_MTD_NAME_LEN 127 +#define UBI_MAX_RNVOL 32 +enum { + UBI_DYNAMIC_VOLUME = 3, + UBI_STATIC_VOLUME = 4, +}; +enum { + UBI_VOL_PROP_DIRECT_WRITE = 1, +}; +struct ubi_attach_req { + __s32 ubi_num; + __s32 mtd_num; + __s32 vid_hdr_offset; + __s16 max_beb_per1024; + __s8 padding[10]; +}; +enum { + UBI_VOL_SKIP_CRC_CHECK_FLG = 0x1, +}; +#define UBI_VOL_VALID_FLGS (UBI_VOL_SKIP_CRC_CHECK_FLG) +struct ubi_mkvol_req { + __s32 vol_id; + __s32 alignment; + __s64 bytes; + __s8 vol_type; + __u8 flags; + __s16 name_len; + __s8 padding2[4]; + char name[UBI_MAX_VOLUME_NAME + 1]; +} __packed; +struct ubi_rsvol_req { + __s64 bytes; + __s32 vol_id; +} __packed; +struct ubi_rnvol_req { + __s32 count; + __s8 padding1[12]; + struct { + __s32 vol_id; + __s16 name_len; + __s8 padding2[2]; + char name[UBI_MAX_VOLUME_NAME + 1]; + } ents[UBI_MAX_RNVOL]; +} __packed; +struct ubi_leb_change_req { + __s32 lnum; + __s32 bytes; + __s8 dtype; + __s8 padding[7]; +} __packed; +struct ubi_map_req { + __s32 lnum; + __s8 dtype; + __s8 padding[3]; +} __packed; +struct ubi_set_vol_prop_req { + __u8 property; + __u8 padding[7]; + __u64 value; +} __packed; +struct ubi_blkcreate_req { + __s8 padding[128]; +} __packed; +#endif diff --git a/linux-5.10/prebuilts/usr/include/rdma/bnxt_re-abi.h b/linux-5.10/prebuilts/usr/include/rdma/bnxt_re-abi.h new file mode 100644 index 0000000..1cbaf3d --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/rdma/bnxt_re-abi.h @@ -0,0 +1,64 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef __BNXT_RE_UVERBS_ABI_H__ +#define __BNXT_RE_UVERBS_ABI_H__ +#include +#define BNXT_RE_ABI_VERSION 1 +#define BNXT_RE_CHIP_ID0_CHIP_NUM_SFT 0x00 +#define BNXT_RE_CHIP_ID0_CHIP_REV_SFT 0x10 +#define BNXT_RE_CHIP_ID0_CHIP_MET_SFT 0x18 +enum { + BNXT_RE_UCNTX_CMASK_HAVE_CCTX = 0x1ULL +}; +struct bnxt_re_uctx_resp { + __u32 dev_id; + __u32 max_qp; + __u32 pg_size; + __u32 cqe_sz; + __u32 max_cqd; + __u32 rsvd; + __aligned_u64 comp_mask; + __u32 chip_id0; + __u32 chip_id1; +}; +struct bnxt_re_pd_resp { + __u32 pdid; + __u32 dpi; + __u64 dbr; +} __attribute__((packed, aligned(4))); +struct bnxt_re_cq_req { + __aligned_u64 cq_va; + __aligned_u64 cq_handle; +}; +struct bnxt_re_cq_resp { + __u32 cqid; + __u32 tail; + __u32 phase; + __u32 rsvd; +}; +struct bnxt_re_qp_req { + __aligned_u64 qpsva; + __aligned_u64 qprva; + __aligned_u64 qp_handle; +}; +struct bnxt_re_qp_resp { + __u32 qpid; + __u32 rsvd; +}; +struct bnxt_re_srq_req { + __aligned_u64 srqva; + __aligned_u64 srq_handle; +}; +struct bnxt_re_srq_resp { + __u32 srqid; +}; +enum bnxt_re_shpg_offt { + BNXT_RE_BEG_RESV_OFFT = 0x00, + BNXT_RE_AVID_OFFT = 0x10, + BNXT_RE_AVID_SIZE = 0x04, + BNXT_RE_END_RESV_OFFT = 0xFF0 +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/rdma/cxgb3-abi.h b/linux-5.10/prebuilts/usr/include/rdma/cxgb3-abi.h new file mode 100644 index 0000000..2b159d9 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/rdma/cxgb3-abi.h @@ -0,0 +1,39 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef CXGB3_ABI_USER_H +#define CXGB3_ABI_USER_H +#include +#define IWCH_UVERBS_ABI_VERSION 1 +struct iwch_create_cq_req { + __aligned_u64 user_rptr_addr; +}; +struct iwch_create_cq_resp_v0 { + __aligned_u64 key; + __u32 cqid; + __u32 size_log2; +}; +struct iwch_create_cq_resp { + __aligned_u64 key; + __u32 cqid; + __u32 size_log2; + __u32 memsize; + __u32 reserved; +}; +struct iwch_create_qp_resp { + __aligned_u64 key; + __aligned_u64 db_key; + __u32 qpid; + __u32 size_log2; + __u32 sq_size_log2; + __u32 rq_size_log2; +}; +struct iwch_reg_user_mr_resp { + __u32 pbl_addr; +}; +struct iwch_alloc_pd_resp { + __u32 pdid; +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/rdma/cxgb4-abi.h b/linux-5.10/prebuilts/usr/include/rdma/cxgb4-abi.h new file mode 100644 index 0000000..1bddbee --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/rdma/cxgb4-abi.h @@ -0,0 +1,68 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef CXGB4_ABI_USER_H +#define CXGB4_ABI_USER_H +#include +#define C4IW_UVERBS_ABI_VERSION 3 +enum { + C4IW_64B_CQE = (1 << 0) +}; +struct c4iw_create_cq { + __u32 flags; + __u32 reserved; +}; +struct c4iw_create_cq_resp { + __aligned_u64 key; + __aligned_u64 gts_key; + __aligned_u64 memsize; + __u32 cqid; + __u32 size; + __u32 qid_mask; + __u32 flags; +}; +enum { + C4IW_QPF_ONCHIP = (1 << 0), + C4IW_QPF_WRITE_W_IMM = (1 << 1) +}; +struct c4iw_create_qp_resp { + __aligned_u64 ma_sync_key; + __aligned_u64 sq_key; + __aligned_u64 rq_key; + __aligned_u64 sq_db_gts_key; + __aligned_u64 rq_db_gts_key; + __aligned_u64 sq_memsize; + __aligned_u64 rq_memsize; + __u32 sqid; + __u32 rqid; + __u32 sq_size; + __u32 rq_size; + __u32 qid_mask; + __u32 flags; +}; +struct c4iw_create_srq_resp { + __aligned_u64 srq_key; + __aligned_u64 srq_db_gts_key; + __aligned_u64 srq_memsize; + __u32 srqid; + __u32 srq_size; + __u32 rqt_abs_idx; + __u32 qid_mask; + __u32 flags; + __u32 reserved; +}; +enum { + + T4_SRQ_LIMIT_SUPPORT = 1 << 0, +}; +struct c4iw_alloc_ucontext_resp { + __aligned_u64 status_page_key; + __u32 status_page_size; + __u32 reserved; +}; +struct c4iw_alloc_pd_resp { + __u32 pdid; +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/rdma/efa-abi.h b/linux-5.10/prebuilts/usr/include/rdma/efa-abi.h new file mode 100644 index 0000000..2791c84 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/rdma/efa-abi.h @@ -0,0 +1,95 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef EFA_ABI_USER_H +#define EFA_ABI_USER_H +#include +#define EFA_UVERBS_ABI_VERSION 1 +enum { + EFA_ALLOC_UCONTEXT_CMD_COMP_TX_BATCH = 1 << 0, + EFA_ALLOC_UCONTEXT_CMD_COMP_MIN_SQ_WR = 1 << 1, +}; +struct efa_ibv_alloc_ucontext_cmd { + __u32 comp_mask; + __u8 reserved_20[4]; +}; +enum efa_ibv_user_cmds_supp_udata { + EFA_USER_CMDS_SUPP_UDATA_QUERY_DEVICE = 1 << 0, + EFA_USER_CMDS_SUPP_UDATA_CREATE_AH = 1 << 1, +}; +struct efa_ibv_alloc_ucontext_resp { + __u32 comp_mask; + __u32 cmds_supp_udata_mask; + __u16 sub_cqs_per_cq; + __u16 inline_buf_size; + __u32 max_llq_size; + __u16 max_tx_batch; + __u16 min_sq_wr; + __u8 reserved_a0[4]; +}; +struct efa_ibv_alloc_pd_resp { + __u32 comp_mask; + __u16 pdn; + __u8 reserved_30[2]; +}; +struct efa_ibv_create_cq { + __u32 comp_mask; + __u32 cq_entry_size; + __u16 num_sub_cqs; + __u8 reserved_50[6]; +}; +struct efa_ibv_create_cq_resp { + __u32 comp_mask; + __u8 reserved_20[4]; + __aligned_u64 q_mmap_key; + __aligned_u64 q_mmap_size; + __u16 cq_idx; + __u8 reserved_d0[6]; +}; +enum { + EFA_QP_DRIVER_TYPE_SRD = 0, +}; +struct efa_ibv_create_qp { + __u32 comp_mask; + __u32 rq_ring_size; + __u32 sq_ring_size; + __u32 driver_qp_type; +}; +struct efa_ibv_create_qp_resp { + __u32 comp_mask; + + __u32 rq_db_offset; + + __u32 sq_db_offset; + + __u32 llq_desc_offset; + __aligned_u64 rq_mmap_key; + __aligned_u64 rq_mmap_size; + __aligned_u64 rq_db_mmap_key; + __aligned_u64 sq_db_mmap_key; + __aligned_u64 llq_desc_mmap_key; + __u16 send_sub_cq_idx; + __u16 recv_sub_cq_idx; + __u8 reserved_1e0[4]; +}; +struct efa_ibv_create_ah_resp { + __u32 comp_mask; + __u16 efa_address_handle; + __u8 reserved_30[2]; +}; +enum { + EFA_QUERY_DEVICE_CAPS_RDMA_READ = 1 << 0, + EFA_QUERY_DEVICE_CAPS_RNR_RETRY = 1 << 1, +}; +struct efa_ibv_ex_query_device_resp { + __u32 comp_mask; + __u32 max_sq_wr; + __u32 max_rq_wr; + __u16 max_sq_sge; + __u16 max_rq_sge; + __u32 max_rdma_size; + __u32 device_caps; +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/rdma/hfi/hfi1_ioctl.h b/linux-5.10/prebuilts/usr/include/rdma/hfi/hfi1_ioctl.h new file mode 100644 index 0000000..4c57e60 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/rdma/hfi/hfi1_ioctl.h @@ -0,0 +1,81 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _LINUX__HFI1_IOCTL_H +#define _LINUX__HFI1_IOCTL_H +#include +struct hfi1_user_info { + + __u32 userversion; + __u32 pad; + + __u16 subctxt_cnt; + __u16 subctxt_id; + + __u8 uuid[16]; +}; +struct hfi1_ctxt_info { + __aligned_u64 runtime_flags; + __u32 rcvegr_size; + __u16 num_active; + __u16 unit; + __u16 ctxt; + __u16 subctxt; + __u16 rcvtids; + __u16 credits; + __u16 numa_node; + __u16 rec_cpu; + __u16 send_ctxt; + __u16 egrtids; + __u16 rcvhdrq_cnt; + __u16 rcvhdrq_entsize; + __u16 sdma_ring_size; +}; +struct hfi1_tid_info { + + __aligned_u64 vaddr; + + __aligned_u64 tidlist; + + __u32 tidcnt; + + __u32 length; +}; +struct hfi1_base_info { + + __u32 hw_version; + + __u32 sw_version; + + __u16 jkey; + __u16 padding1; + + __u32 bthqp; + + __aligned_u64 sc_credits_addr; + + __aligned_u64 pio_bufbase_sop; + + __aligned_u64 pio_bufbase; + + __aligned_u64 rcvhdr_bufbase; + + __aligned_u64 rcvegr_bufbase; + + __aligned_u64 sdma_comp_bufbase; + + __aligned_u64 user_regbase; + + __aligned_u64 events_bufbase; + + __aligned_u64 status_bufbase; + + __aligned_u64 rcvhdrtail_base; + + __aligned_u64 subctxt_uregbase; + __aligned_u64 subctxt_rcvegrbuf; + __aligned_u64 subctxt_rcvhdrbuf; +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/rdma/hfi/hfi1_user.h b/linux-5.10/prebuilts/usr/include/rdma/hfi/hfi1_user.h new file mode 100644 index 0000000..4208315 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/rdma/hfi/hfi1_user.h @@ -0,0 +1,120 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _LINUX__HFI1_USER_H +#define _LINUX__HFI1_USER_H +#include +#include +#define HFI1_USER_SWMAJOR 6 +#define HFI1_USER_SWMINOR 3 +#define HFI1_SWMAJOR_SHIFT 16 +#define HFI1_CAP_DMA_RTAIL (1UL << 0) +#define HFI1_CAP_SDMA (1UL << 1) +#define HFI1_CAP_SDMA_AHG (1UL << 2) +#define HFI1_CAP_EXTENDED_PSN (1UL << 3) +#define HFI1_CAP_HDRSUPP (1UL << 4) +#define HFI1_CAP_TID_RDMA (1UL << 5) +#define HFI1_CAP_USE_SDMA_HEAD (1UL << 6) +#define HFI1_CAP_MULTI_PKT_EGR (1UL << 7) +#define HFI1_CAP_NODROP_RHQ_FULL (1UL << 8) +#define HFI1_CAP_NODROP_EGR_FULL (1UL << 9) +#define HFI1_CAP_TID_UNMAP (1UL << 10) +#define HFI1_CAP_PRINT_UNIMPL (1UL << 11) +#define HFI1_CAP_ALLOW_PERM_JKEY (1UL << 12) +#define HFI1_CAP_NO_INTEGRITY (1UL << 13) +#define HFI1_CAP_PKEY_CHECK (1UL << 14) +#define HFI1_CAP_STATIC_RATE_CTRL (1UL << 15) +#define HFI1_CAP_OPFN (1UL << 16) +#define HFI1_CAP_SDMA_HEAD_CHECK (1UL << 17) +#define HFI1_CAP_EARLY_CREDIT_RETURN (1UL << 18) +#define HFI1_CAP_AIP (1UL << 19) +#define HFI1_RCVHDR_ENTSIZE_2 (1UL << 0) +#define HFI1_RCVHDR_ENTSIZE_16 (1UL << 1) +#define HFI1_RCVDHR_ENTSIZE_32 (1UL << 2) +#define _HFI1_EVENT_FROZEN_BIT 0 +#define _HFI1_EVENT_LINKDOWN_BIT 1 +#define _HFI1_EVENT_LID_CHANGE_BIT 2 +#define _HFI1_EVENT_LMC_CHANGE_BIT 3 +#define _HFI1_EVENT_SL2VL_CHANGE_BIT 4 +#define _HFI1_EVENT_TID_MMU_NOTIFY_BIT 5 +#define _HFI1_MAX_EVENT_BIT _HFI1_EVENT_TID_MMU_NOTIFY_BIT +#define HFI1_EVENT_FROZEN (1UL << _HFI1_EVENT_FROZEN_BIT) +#define HFI1_EVENT_LINKDOWN (1UL << _HFI1_EVENT_LINKDOWN_BIT) +#define HFI1_EVENT_LID_CHANGE (1UL << _HFI1_EVENT_LID_CHANGE_BIT) +#define HFI1_EVENT_LMC_CHANGE (1UL << _HFI1_EVENT_LMC_CHANGE_BIT) +#define HFI1_EVENT_SL2VL_CHANGE (1UL << _HFI1_EVENT_SL2VL_CHANGE_BIT) +#define HFI1_EVENT_TID_MMU_NOTIFY (1UL << _HFI1_EVENT_TID_MMU_NOTIFY_BIT) +#define HFI1_STATUS_INITTED 0x1 +#define HFI1_STATUS_CHIP_PRESENT 0x20 +#define HFI1_STATUS_IB_READY 0x40 +#define HFI1_STATUS_IB_CONF 0x80 +#define HFI1_STATUS_HWERROR 0x200 +#define HFI1_MAX_SHARED_CTXTS 8 +#define HFI1_POLL_TYPE_ANYRCV 0x0 +#define HFI1_POLL_TYPE_URGENT 0x1 +enum hfi1_sdma_comp_state { + FREE = 0, + QUEUED, + COMPLETE, + ERROR +}; +struct hfi1_sdma_comp_entry { + __u32 status; + __u32 errcode; +}; +struct hfi1_status { + __aligned_u64 dev; + __aligned_u64 port; + char freezemsg[0]; +}; +enum sdma_req_opcode { + EXPECTED = 0, + EAGER +}; +#define HFI1_SDMA_REQ_VERSION_MASK 0xF +#define HFI1_SDMA_REQ_VERSION_SHIFT 0x0 +#define HFI1_SDMA_REQ_OPCODE_MASK 0xF +#define HFI1_SDMA_REQ_OPCODE_SHIFT 0x4 +#define HFI1_SDMA_REQ_IOVCNT_MASK 0xFF +#define HFI1_SDMA_REQ_IOVCNT_SHIFT 0x8 +struct sdma_req_info { + + __u16 ctrl; + + __u16 npkts; + + __u16 fragsize; + + __u16 comp_idx; +} __attribute__((__packed__)); +struct hfi1_kdeth_header { + __le32 ver_tid_offset; + __le16 jkey; + __le16 hcrc; + __le32 swdata[7]; +} __attribute__((__packed__)); +struct hfi1_pkt_header { + __le16 pbc[4]; + __be16 lrh[4]; + __be32 bth[3]; + struct hfi1_kdeth_header kdeth; +} __attribute__((__packed__)); +enum hfi1_ureg { + + ur_rcvhdrtail = 0, + + ur_rcvhdrhead = 1, + + ur_rcvegrindextail = 2, + + ur_rcvegrindexhead = 3, + + ur_rcvegroffsettail = 4, + + ur_maxreg, + + ur_rcvtidflowtable = 256 +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/rdma/hns-abi.h b/linux-5.10/prebuilts/usr/include/rdma/hns-abi.h new file mode 100644 index 0000000..0592499 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/rdma/hns-abi.h @@ -0,0 +1,47 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef HNS_ABI_USER_H +#define HNS_ABI_USER_H +#include +struct hns_roce_ib_create_cq { + __aligned_u64 buf_addr; + __aligned_u64 db_addr; + __u32 cqe_size; + __u32 reserved; +}; +struct hns_roce_ib_create_cq_resp { + __aligned_u64 cqn; + __aligned_u64 cap_flags; +}; +struct hns_roce_ib_create_srq { + __aligned_u64 buf_addr; + __aligned_u64 db_addr; + __aligned_u64 que_addr; +}; +struct hns_roce_ib_create_srq_resp { + __u32 srqn; + __u32 reserved; +}; +struct hns_roce_ib_create_qp { + __aligned_u64 buf_addr; + __aligned_u64 db_addr; + __u8 log_sq_bb_count; + __u8 log_sq_stride; + __u8 sq_no_prefetch; + __u8 reserved[5]; + __aligned_u64 sdb_addr; +}; +struct hns_roce_ib_create_qp_resp { + __aligned_u64 cap_flags; +}; +struct hns_roce_ib_alloc_ucontext_resp { + __u32 qp_tab_size; + __u32 cqe_size; +}; +struct hns_roce_ib_alloc_pd_resp { + __u32 pdn; +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/rdma/i40iw-abi.h b/linux-5.10/prebuilts/usr/include/rdma/i40iw-abi.h new file mode 100644 index 0000000..a05ecea --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/rdma/i40iw-abi.h @@ -0,0 +1,63 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef I40IW_ABI_H +#define I40IW_ABI_H +#include +#define I40IW_ABI_VER 5 +struct i40iw_alloc_ucontext_req { + __u32 reserved32; + __u8 userspace_ver; + __u8 reserved8[3]; +}; +struct i40iw_alloc_ucontext_resp { + __u32 max_pds; + __u32 max_qps; + __u32 wq_size; + __u8 kernel_ver; + __u8 reserved[3]; +}; +struct i40iw_alloc_pd_resp { + __u32 pd_id; + __u8 reserved[4]; +}; +struct i40iw_create_cq_req { + __aligned_u64 user_cq_buffer; + __aligned_u64 user_shadow_area; +}; +struct i40iw_create_qp_req { + __aligned_u64 user_wqe_buffers; + __aligned_u64 user_compl_ctx; + + __aligned_u64 user_sq_phb; + __aligned_u64 user_rq_phb; +}; +enum i40iw_memreg_type { + IW_MEMREG_TYPE_MEM = 0x0000, + IW_MEMREG_TYPE_QP = 0x0001, + IW_MEMREG_TYPE_CQ = 0x0002, +}; +struct i40iw_mem_reg_req { + __u16 reg_type; + __u16 cq_pages; + __u16 rq_pages; + __u16 sq_pages; +}; +struct i40iw_create_cq_resp { + __u32 cq_id; + __u32 cq_size; + __u32 mmap_db_index; + __u32 reserved; +}; +struct i40iw_create_qp_resp { + __u32 qp_id; + __u32 actual_sq_size; + __u32 actual_rq_size; + __u32 i40iw_drv_opt; + __u16 push_idx; + __u8 lsmm; + __u8 rsvd2; +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/rdma/ib_user_cm.h b/linux-5.10/prebuilts/usr/include/rdma/ib_user_cm.h new file mode 100644 index 0000000..5007cb3 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/rdma/ib_user_cm.h @@ -0,0 +1,255 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef IB_USER_CM_H +#define IB_USER_CM_H +#include +#include +#define IB_USER_CM_ABI_VERSION 5 +enum { + IB_USER_CM_CMD_CREATE_ID, + IB_USER_CM_CMD_DESTROY_ID, + IB_USER_CM_CMD_ATTR_ID, + IB_USER_CM_CMD_LISTEN, + IB_USER_CM_CMD_NOTIFY, + IB_USER_CM_CMD_SEND_REQ, + IB_USER_CM_CMD_SEND_REP, + IB_USER_CM_CMD_SEND_RTU, + IB_USER_CM_CMD_SEND_DREQ, + IB_USER_CM_CMD_SEND_DREP, + IB_USER_CM_CMD_SEND_REJ, + IB_USER_CM_CMD_SEND_MRA, + IB_USER_CM_CMD_SEND_LAP, + IB_USER_CM_CMD_SEND_APR, + IB_USER_CM_CMD_SEND_SIDR_REQ, + IB_USER_CM_CMD_SEND_SIDR_REP, + IB_USER_CM_CMD_EVENT, + IB_USER_CM_CMD_INIT_QP_ATTR, +}; +struct ib_ucm_cmd_hdr { + __u32 cmd; + __u16 in; + __u16 out; +}; +struct ib_ucm_create_id { + __aligned_u64 uid; + __aligned_u64 response; +}; +struct ib_ucm_create_id_resp { + __u32 id; +}; +struct ib_ucm_destroy_id { + __aligned_u64 response; + __u32 id; + __u32 reserved; +}; +struct ib_ucm_destroy_id_resp { + __u32 events_reported; +}; +struct ib_ucm_attr_id { + __aligned_u64 response; + __u32 id; + __u32 reserved; +}; +struct ib_ucm_attr_id_resp { + __be64 service_id; + __be64 service_mask; + __be32 local_id; + __be32 remote_id; +}; +struct ib_ucm_init_qp_attr { + __aligned_u64 response; + __u32 id; + __u32 qp_state; +}; +struct ib_ucm_listen { + __be64 service_id; + __be64 service_mask; + __u32 id; + __u32 reserved; +}; +struct ib_ucm_notify { + __u32 id; + __u32 event; +}; +struct ib_ucm_private_data { + __aligned_u64 data; + __u32 id; + __u8 len; + __u8 reserved[3]; +}; +struct ib_ucm_req { + __u32 id; + __u32 qpn; + __u32 qp_type; + __u32 psn; + __be64 sid; + __aligned_u64 data; + __aligned_u64 primary_path; + __aligned_u64 alternate_path; + __u8 len; + __u8 peer_to_peer; + __u8 responder_resources; + __u8 initiator_depth; + __u8 remote_cm_response_timeout; + __u8 flow_control; + __u8 local_cm_response_timeout; + __u8 retry_count; + __u8 rnr_retry_count; + __u8 max_cm_retries; + __u8 srq; + __u8 reserved[5]; +}; +struct ib_ucm_rep { + __aligned_u64 uid; + __aligned_u64 data; + __u32 id; + __u32 qpn; + __u32 psn; + __u8 len; + __u8 responder_resources; + __u8 initiator_depth; + __u8 target_ack_delay; + __u8 failover_accepted; + __u8 flow_control; + __u8 rnr_retry_count; + __u8 srq; + __u8 reserved[4]; +}; +struct ib_ucm_info { + __u32 id; + __u32 status; + __aligned_u64 info; + __aligned_u64 data; + __u8 info_len; + __u8 data_len; + __u8 reserved[6]; +}; +struct ib_ucm_mra { + __aligned_u64 data; + __u32 id; + __u8 len; + __u8 timeout; + __u8 reserved[2]; +}; +struct ib_ucm_lap { + __aligned_u64 path; + __aligned_u64 data; + __u32 id; + __u8 len; + __u8 reserved[3]; +}; +struct ib_ucm_sidr_req { + __u32 id; + __u32 timeout; + __be64 sid; + __aligned_u64 data; + __aligned_u64 path; + __u16 reserved_pkey; + __u8 len; + __u8 max_cm_retries; + __u8 reserved[4]; +}; +struct ib_ucm_sidr_rep { + __u32 id; + __u32 qpn; + __u32 qkey; + __u32 status; + __aligned_u64 info; + __aligned_u64 data; + __u8 info_len; + __u8 data_len; + __u8 reserved[6]; +}; +struct ib_ucm_event_get { + __aligned_u64 response; + __aligned_u64 data; + __aligned_u64 info; + __u8 data_len; + __u8 info_len; + __u8 reserved[6]; +}; +struct ib_ucm_req_event_resp { + struct ib_user_path_rec primary_path; + struct ib_user_path_rec alternate_path; + __be64 remote_ca_guid; + __u32 remote_qkey; + __u32 remote_qpn; + __u32 qp_type; + __u32 starting_psn; + __u8 responder_resources; + __u8 initiator_depth; + __u8 local_cm_response_timeout; + __u8 flow_control; + __u8 remote_cm_response_timeout; + __u8 retry_count; + __u8 rnr_retry_count; + __u8 srq; + __u8 port; + __u8 reserved[7]; +}; +struct ib_ucm_rep_event_resp { + __be64 remote_ca_guid; + __u32 remote_qkey; + __u32 remote_qpn; + __u32 starting_psn; + __u8 responder_resources; + __u8 initiator_depth; + __u8 target_ack_delay; + __u8 failover_accepted; + __u8 flow_control; + __u8 rnr_retry_count; + __u8 srq; + __u8 reserved[5]; +}; +struct ib_ucm_rej_event_resp { + __u32 reason; + +}; +struct ib_ucm_mra_event_resp { + __u8 timeout; + __u8 reserved[3]; +}; +struct ib_ucm_lap_event_resp { + struct ib_user_path_rec path; +}; +struct ib_ucm_apr_event_resp { + __u32 status; + +}; +struct ib_ucm_sidr_req_event_resp { + __u16 pkey; + __u8 port; + __u8 reserved; +}; +struct ib_ucm_sidr_rep_event_resp { + __u32 status; + __u32 qkey; + __u32 qpn; + +}; +#define IB_UCM_PRES_DATA 0x01 +#define IB_UCM_PRES_INFO 0x02 +#define IB_UCM_PRES_PRIMARY 0x04 +#define IB_UCM_PRES_ALTERNATE 0x08 +struct ib_ucm_event_resp { + __aligned_u64 uid; + __u32 id; + __u32 event; + __u32 present; + __u32 reserved; + union { + struct ib_ucm_req_event_resp req_resp; + struct ib_ucm_rep_event_resp rep_resp; + struct ib_ucm_rej_event_resp rej_resp; + struct ib_ucm_mra_event_resp mra_resp; + struct ib_ucm_lap_event_resp lap_resp; + struct ib_ucm_apr_event_resp apr_resp; + struct ib_ucm_sidr_req_event_resp sidr_req_resp; + struct ib_ucm_sidr_rep_event_resp sidr_rep_resp; + __u32 send_status; + } u; +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/rdma/ib_user_ioctl_cmds.h b/linux-5.10/prebuilts/usr/include/rdma/ib_user_ioctl_cmds.h new file mode 100644 index 0000000..7ec50f8 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/rdma/ib_user_ioctl_cmds.h @@ -0,0 +1,289 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef IB_USER_IOCTL_CMDS_H +#define IB_USER_IOCTL_CMDS_H +#define UVERBS_ID_NS_MASK 0xF000 +#define UVERBS_ID_NS_SHIFT 12 +#define UVERBS_UDATA_DRIVER_DATA_NS 1 +#define UVERBS_UDATA_DRIVER_DATA_FLAG (1UL << UVERBS_ID_NS_SHIFT) +enum uverbs_default_objects { + UVERBS_OBJECT_DEVICE, + UVERBS_OBJECT_PD, + UVERBS_OBJECT_COMP_CHANNEL, + UVERBS_OBJECT_CQ, + UVERBS_OBJECT_QP, + UVERBS_OBJECT_SRQ, + UVERBS_OBJECT_AH, + UVERBS_OBJECT_MR, + UVERBS_OBJECT_MW, + UVERBS_OBJECT_FLOW, + UVERBS_OBJECT_XRCD, + UVERBS_OBJECT_RWQ_IND_TBL, + UVERBS_OBJECT_WQ, + UVERBS_OBJECT_FLOW_ACTION, + UVERBS_OBJECT_DM, + UVERBS_OBJECT_COUNTERS, + UVERBS_OBJECT_ASYNC_EVENT, +}; +enum { + UVERBS_ATTR_UHW_IN = UVERBS_UDATA_DRIVER_DATA_FLAG, + UVERBS_ATTR_UHW_OUT, +}; +enum uverbs_methods_device { + UVERBS_METHOD_INVOKE_WRITE, + UVERBS_METHOD_INFO_HANDLES, + UVERBS_METHOD_QUERY_PORT, + UVERBS_METHOD_GET_CONTEXT, + UVERBS_METHOD_QUERY_CONTEXT, + UVERBS_METHOD_QUERY_GID_TABLE, + UVERBS_METHOD_QUERY_GID_ENTRY, +}; +enum uverbs_attrs_invoke_write_cmd_attr_ids { + UVERBS_ATTR_CORE_IN, + UVERBS_ATTR_CORE_OUT, + UVERBS_ATTR_WRITE_CMD, +}; +enum uverbs_attrs_query_port_cmd_attr_ids { + UVERBS_ATTR_QUERY_PORT_PORT_NUM, + UVERBS_ATTR_QUERY_PORT_RESP, +}; +enum uverbs_attrs_get_context_attr_ids { + UVERBS_ATTR_GET_CONTEXT_NUM_COMP_VECTORS, + UVERBS_ATTR_GET_CONTEXT_CORE_SUPPORT, +}; +enum uverbs_attrs_query_context_attr_ids { + UVERBS_ATTR_QUERY_CONTEXT_NUM_COMP_VECTORS, + UVERBS_ATTR_QUERY_CONTEXT_CORE_SUPPORT, +}; +enum uverbs_attrs_create_cq_cmd_attr_ids { + UVERBS_ATTR_CREATE_CQ_HANDLE, + UVERBS_ATTR_CREATE_CQ_CQE, + UVERBS_ATTR_CREATE_CQ_USER_HANDLE, + UVERBS_ATTR_CREATE_CQ_COMP_CHANNEL, + UVERBS_ATTR_CREATE_CQ_COMP_VECTOR, + UVERBS_ATTR_CREATE_CQ_FLAGS, + UVERBS_ATTR_CREATE_CQ_RESP_CQE, + UVERBS_ATTR_CREATE_CQ_EVENT_FD, +}; +enum uverbs_attrs_destroy_cq_cmd_attr_ids { + UVERBS_ATTR_DESTROY_CQ_HANDLE, + UVERBS_ATTR_DESTROY_CQ_RESP, +}; +enum uverbs_attrs_create_flow_action_esp { + UVERBS_ATTR_CREATE_FLOW_ACTION_ESP_HANDLE, + UVERBS_ATTR_FLOW_ACTION_ESP_ATTRS, + UVERBS_ATTR_FLOW_ACTION_ESP_ESN, + UVERBS_ATTR_FLOW_ACTION_ESP_KEYMAT, + UVERBS_ATTR_FLOW_ACTION_ESP_REPLAY, + UVERBS_ATTR_FLOW_ACTION_ESP_ENCAP, +}; +enum uverbs_attrs_modify_flow_action_esp { + UVERBS_ATTR_MODIFY_FLOW_ACTION_ESP_HANDLE = + UVERBS_ATTR_CREATE_FLOW_ACTION_ESP_HANDLE, +}; +enum uverbs_attrs_destroy_flow_action_esp { + UVERBS_ATTR_DESTROY_FLOW_ACTION_HANDLE, +}; +enum uverbs_attrs_create_qp_cmd_attr_ids { + UVERBS_ATTR_CREATE_QP_HANDLE, + UVERBS_ATTR_CREATE_QP_XRCD_HANDLE, + UVERBS_ATTR_CREATE_QP_PD_HANDLE, + UVERBS_ATTR_CREATE_QP_SRQ_HANDLE, + UVERBS_ATTR_CREATE_QP_SEND_CQ_HANDLE, + UVERBS_ATTR_CREATE_QP_RECV_CQ_HANDLE, + UVERBS_ATTR_CREATE_QP_IND_TABLE_HANDLE, + UVERBS_ATTR_CREATE_QP_USER_HANDLE, + UVERBS_ATTR_CREATE_QP_CAP, + UVERBS_ATTR_CREATE_QP_TYPE, + UVERBS_ATTR_CREATE_QP_FLAGS, + UVERBS_ATTR_CREATE_QP_SOURCE_QPN, + UVERBS_ATTR_CREATE_QP_EVENT_FD, + UVERBS_ATTR_CREATE_QP_RESP_CAP, + UVERBS_ATTR_CREATE_QP_RESP_QP_NUM, +}; +enum uverbs_attrs_destroy_qp_cmd_attr_ids { + UVERBS_ATTR_DESTROY_QP_HANDLE, + UVERBS_ATTR_DESTROY_QP_RESP, +}; +enum uverbs_methods_qp { + UVERBS_METHOD_QP_CREATE, + UVERBS_METHOD_QP_DESTROY, +}; +enum uverbs_attrs_create_srq_cmd_attr_ids { + UVERBS_ATTR_CREATE_SRQ_HANDLE, + UVERBS_ATTR_CREATE_SRQ_PD_HANDLE, + UVERBS_ATTR_CREATE_SRQ_XRCD_HANDLE, + UVERBS_ATTR_CREATE_SRQ_CQ_HANDLE, + UVERBS_ATTR_CREATE_SRQ_USER_HANDLE, + UVERBS_ATTR_CREATE_SRQ_MAX_WR, + UVERBS_ATTR_CREATE_SRQ_MAX_SGE, + UVERBS_ATTR_CREATE_SRQ_LIMIT, + UVERBS_ATTR_CREATE_SRQ_MAX_NUM_TAGS, + UVERBS_ATTR_CREATE_SRQ_TYPE, + UVERBS_ATTR_CREATE_SRQ_EVENT_FD, + UVERBS_ATTR_CREATE_SRQ_RESP_MAX_WR, + UVERBS_ATTR_CREATE_SRQ_RESP_MAX_SGE, + UVERBS_ATTR_CREATE_SRQ_RESP_SRQ_NUM, +}; +enum uverbs_attrs_destroy_srq_cmd_attr_ids { + UVERBS_ATTR_DESTROY_SRQ_HANDLE, + UVERBS_ATTR_DESTROY_SRQ_RESP, +}; +enum uverbs_methods_srq { + UVERBS_METHOD_SRQ_CREATE, + UVERBS_METHOD_SRQ_DESTROY, +}; +enum uverbs_methods_cq { + UVERBS_METHOD_CQ_CREATE, + UVERBS_METHOD_CQ_DESTROY, +}; +enum uverbs_attrs_create_wq_cmd_attr_ids { + UVERBS_ATTR_CREATE_WQ_HANDLE, + UVERBS_ATTR_CREATE_WQ_PD_HANDLE, + UVERBS_ATTR_CREATE_WQ_CQ_HANDLE, + UVERBS_ATTR_CREATE_WQ_USER_HANDLE, + UVERBS_ATTR_CREATE_WQ_TYPE, + UVERBS_ATTR_CREATE_WQ_EVENT_FD, + UVERBS_ATTR_CREATE_WQ_MAX_WR, + UVERBS_ATTR_CREATE_WQ_MAX_SGE, + UVERBS_ATTR_CREATE_WQ_FLAGS, + UVERBS_ATTR_CREATE_WQ_RESP_MAX_WR, + UVERBS_ATTR_CREATE_WQ_RESP_MAX_SGE, + UVERBS_ATTR_CREATE_WQ_RESP_WQ_NUM, +}; +enum uverbs_attrs_destroy_wq_cmd_attr_ids { + UVERBS_ATTR_DESTROY_WQ_HANDLE, + UVERBS_ATTR_DESTROY_WQ_RESP, +}; +enum uverbs_methods_wq { + UVERBS_METHOD_WQ_CREATE, + UVERBS_METHOD_WQ_DESTROY, +}; +enum uverbs_methods_actions_flow_action_ops { + UVERBS_METHOD_FLOW_ACTION_ESP_CREATE, + UVERBS_METHOD_FLOW_ACTION_DESTROY, + UVERBS_METHOD_FLOW_ACTION_ESP_MODIFY, +}; +enum uverbs_attrs_alloc_dm_cmd_attr_ids { + UVERBS_ATTR_ALLOC_DM_HANDLE, + UVERBS_ATTR_ALLOC_DM_LENGTH, + UVERBS_ATTR_ALLOC_DM_ALIGNMENT, +}; +enum uverbs_attrs_free_dm_cmd_attr_ids { + UVERBS_ATTR_FREE_DM_HANDLE, +}; +enum uverbs_methods_dm { + UVERBS_METHOD_DM_ALLOC, + UVERBS_METHOD_DM_FREE, +}; +enum uverbs_attrs_reg_dm_mr_cmd_attr_ids { + UVERBS_ATTR_REG_DM_MR_HANDLE, + UVERBS_ATTR_REG_DM_MR_OFFSET, + UVERBS_ATTR_REG_DM_MR_LENGTH, + UVERBS_ATTR_REG_DM_MR_PD_HANDLE, + UVERBS_ATTR_REG_DM_MR_ACCESS_FLAGS, + UVERBS_ATTR_REG_DM_MR_DM_HANDLE, + UVERBS_ATTR_REG_DM_MR_RESP_LKEY, + UVERBS_ATTR_REG_DM_MR_RESP_RKEY, +}; +enum uverbs_methods_mr { + UVERBS_METHOD_DM_MR_REG, + UVERBS_METHOD_MR_DESTROY, + UVERBS_METHOD_ADVISE_MR, + UVERBS_METHOD_QUERY_MR, +}; +enum uverbs_attrs_mr_destroy_ids { + UVERBS_ATTR_DESTROY_MR_HANDLE, +}; +enum uverbs_attrs_advise_mr_cmd_attr_ids { + UVERBS_ATTR_ADVISE_MR_PD_HANDLE, + UVERBS_ATTR_ADVISE_MR_ADVICE, + UVERBS_ATTR_ADVISE_MR_FLAGS, + UVERBS_ATTR_ADVISE_MR_SGE_LIST, +}; +enum uverbs_attrs_query_mr_cmd_attr_ids { + UVERBS_ATTR_QUERY_MR_HANDLE, + UVERBS_ATTR_QUERY_MR_RESP_LKEY, + UVERBS_ATTR_QUERY_MR_RESP_RKEY, + UVERBS_ATTR_QUERY_MR_RESP_LENGTH, + UVERBS_ATTR_QUERY_MR_RESP_IOVA, +}; +enum uverbs_attrs_create_counters_cmd_attr_ids { + UVERBS_ATTR_CREATE_COUNTERS_HANDLE, +}; +enum uverbs_attrs_destroy_counters_cmd_attr_ids { + UVERBS_ATTR_DESTROY_COUNTERS_HANDLE, +}; +enum uverbs_attrs_read_counters_cmd_attr_ids { + UVERBS_ATTR_READ_COUNTERS_HANDLE, + UVERBS_ATTR_READ_COUNTERS_BUFF, + UVERBS_ATTR_READ_COUNTERS_FLAGS, +}; +enum uverbs_methods_actions_counters_ops { + UVERBS_METHOD_COUNTERS_CREATE, + UVERBS_METHOD_COUNTERS_DESTROY, + UVERBS_METHOD_COUNTERS_READ, +}; +enum uverbs_attrs_info_handles_id { + UVERBS_ATTR_INFO_OBJECT_ID, + UVERBS_ATTR_INFO_TOTAL_HANDLES, + UVERBS_ATTR_INFO_HANDLES_LIST, +}; +enum uverbs_methods_pd { + UVERBS_METHOD_PD_DESTROY, +}; +enum uverbs_attrs_pd_destroy_ids { + UVERBS_ATTR_DESTROY_PD_HANDLE, +}; +enum uverbs_methods_mw { + UVERBS_METHOD_MW_DESTROY, +}; +enum uverbs_attrs_mw_destroy_ids { + UVERBS_ATTR_DESTROY_MW_HANDLE, +}; +enum uverbs_methods_xrcd { + UVERBS_METHOD_XRCD_DESTROY, +}; +enum uverbs_attrs_xrcd_destroy_ids { + UVERBS_ATTR_DESTROY_XRCD_HANDLE, +}; +enum uverbs_methods_ah { + UVERBS_METHOD_AH_DESTROY, +}; +enum uverbs_attrs_ah_destroy_ids { + UVERBS_ATTR_DESTROY_AH_HANDLE, +}; +enum uverbs_methods_rwq_ind_tbl { + UVERBS_METHOD_RWQ_IND_TBL_DESTROY, +}; +enum uverbs_attrs_rwq_ind_tbl_destroy_ids { + UVERBS_ATTR_DESTROY_RWQ_IND_TBL_HANDLE, +}; +enum uverbs_methods_flow { + UVERBS_METHOD_FLOW_DESTROY, +}; +enum uverbs_attrs_flow_destroy_ids { + UVERBS_ATTR_DESTROY_FLOW_HANDLE, +}; +enum uverbs_method_async_event { + UVERBS_METHOD_ASYNC_EVENT_ALLOC, +}; +enum uverbs_attrs_async_event_create { + UVERBS_ATTR_ASYNC_EVENT_ALLOC_FD_HANDLE, +}; +enum uverbs_attrs_query_gid_table_cmd_attr_ids { + UVERBS_ATTR_QUERY_GID_TABLE_ENTRY_SIZE, + UVERBS_ATTR_QUERY_GID_TABLE_FLAGS, + UVERBS_ATTR_QUERY_GID_TABLE_RESP_ENTRIES, + UVERBS_ATTR_QUERY_GID_TABLE_RESP_NUM_ENTRIES, +}; +enum uverbs_attrs_query_gid_entry_cmd_attr_ids { + UVERBS_ATTR_QUERY_GID_ENTRY_PORT, + UVERBS_ATTR_QUERY_GID_ENTRY_GID_INDEX, + UVERBS_ATTR_QUERY_GID_ENTRY_FLAGS, + UVERBS_ATTR_QUERY_GID_ENTRY_RESP_ENTRY, +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/rdma/ib_user_ioctl_verbs.h b/linux-5.10/prebuilts/usr/include/rdma/ib_user_ioctl_verbs.h new file mode 100644 index 0000000..7f05c60 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/rdma/ib_user_ioctl_verbs.h @@ -0,0 +1,199 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef IB_USER_IOCTL_VERBS_H +#define IB_USER_IOCTL_VERBS_H +#include +#include +#ifndef RDMA_UAPI_PTR +#define RDMA_UAPI_PTR(_type, _name) __aligned_u64 _name +#endif +#define IB_UVERBS_ACCESS_OPTIONAL_FIRST (1 << 20) +#define IB_UVERBS_ACCESS_OPTIONAL_LAST (1 << 29) +enum ib_uverbs_core_support { + IB_UVERBS_CORE_SUPPORT_OPTIONAL_MR_ACCESS = 1 << 0, +}; +enum ib_uverbs_access_flags { + IB_UVERBS_ACCESS_LOCAL_WRITE = 1 << 0, + IB_UVERBS_ACCESS_REMOTE_WRITE = 1 << 1, + IB_UVERBS_ACCESS_REMOTE_READ = 1 << 2, + IB_UVERBS_ACCESS_REMOTE_ATOMIC = 1 << 3, + IB_UVERBS_ACCESS_MW_BIND = 1 << 4, + IB_UVERBS_ACCESS_ZERO_BASED = 1 << 5, + IB_UVERBS_ACCESS_ON_DEMAND = 1 << 6, + IB_UVERBS_ACCESS_HUGETLB = 1 << 7, + IB_UVERBS_ACCESS_RELAXED_ORDERING = IB_UVERBS_ACCESS_OPTIONAL_FIRST, + IB_UVERBS_ACCESS_OPTIONAL_RANGE = + ((IB_UVERBS_ACCESS_OPTIONAL_LAST << 1) - 1) & + ~(IB_UVERBS_ACCESS_OPTIONAL_FIRST - 1) +}; +enum ib_uverbs_srq_type { + IB_UVERBS_SRQT_BASIC, + IB_UVERBS_SRQT_XRC, + IB_UVERBS_SRQT_TM, +}; +enum ib_uverbs_wq_type { + IB_UVERBS_WQT_RQ, +}; +enum ib_uverbs_wq_flags { + IB_UVERBS_WQ_FLAGS_CVLAN_STRIPPING = 1 << 0, + IB_UVERBS_WQ_FLAGS_SCATTER_FCS = 1 << 1, + IB_UVERBS_WQ_FLAGS_DELAY_DROP = 1 << 2, + IB_UVERBS_WQ_FLAGS_PCI_WRITE_END_PADDING = 1 << 3, +}; +enum ib_uverbs_qp_type { + IB_UVERBS_QPT_RC = 2, + IB_UVERBS_QPT_UC, + IB_UVERBS_QPT_UD, + IB_UVERBS_QPT_RAW_PACKET = 8, + IB_UVERBS_QPT_XRC_INI, + IB_UVERBS_QPT_XRC_TGT, + IB_UVERBS_QPT_DRIVER = 0xFF, +}; +enum ib_uverbs_qp_create_flags { + IB_UVERBS_QP_CREATE_BLOCK_MULTICAST_LOOPBACK = 1 << 1, + IB_UVERBS_QP_CREATE_SCATTER_FCS = 1 << 8, + IB_UVERBS_QP_CREATE_CVLAN_STRIPPING = 1 << 9, + IB_UVERBS_QP_CREATE_PCI_WRITE_END_PADDING = 1 << 11, + IB_UVERBS_QP_CREATE_SQ_SIG_ALL = 1 << 12, +}; +enum ib_uverbs_query_port_cap_flags { + IB_UVERBS_PCF_SM = 1 << 1, + IB_UVERBS_PCF_NOTICE_SUP = 1 << 2, + IB_UVERBS_PCF_TRAP_SUP = 1 << 3, + IB_UVERBS_PCF_OPT_IPD_SUP = 1 << 4, + IB_UVERBS_PCF_AUTO_MIGR_SUP = 1 << 5, + IB_UVERBS_PCF_SL_MAP_SUP = 1 << 6, + IB_UVERBS_PCF_MKEY_NVRAM = 1 << 7, + IB_UVERBS_PCF_PKEY_NVRAM = 1 << 8, + IB_UVERBS_PCF_LED_INFO_SUP = 1 << 9, + IB_UVERBS_PCF_SM_DISABLED = 1 << 10, + IB_UVERBS_PCF_SYS_IMAGE_GUID_SUP = 1 << 11, + IB_UVERBS_PCF_PKEY_SW_EXT_PORT_TRAP_SUP = 1 << 12, + IB_UVERBS_PCF_EXTENDED_SPEEDS_SUP = 1 << 14, + IB_UVERBS_PCF_CM_SUP = 1 << 16, + IB_UVERBS_PCF_SNMP_TUNNEL_SUP = 1 << 17, + IB_UVERBS_PCF_REINIT_SUP = 1 << 18, + IB_UVERBS_PCF_DEVICE_MGMT_SUP = 1 << 19, + IB_UVERBS_PCF_VENDOR_CLASS_SUP = 1 << 20, + IB_UVERBS_PCF_DR_NOTICE_SUP = 1 << 21, + IB_UVERBS_PCF_CAP_MASK_NOTICE_SUP = 1 << 22, + IB_UVERBS_PCF_BOOT_MGMT_SUP = 1 << 23, + IB_UVERBS_PCF_LINK_LATENCY_SUP = 1 << 24, + IB_UVERBS_PCF_CLIENT_REG_SUP = 1 << 25, + + IB_UVERBS_PCF_LINK_SPEED_WIDTH_TABLE_SUP = 1 << 27, + IB_UVERBS_PCF_VENDOR_SPECIFIC_MADS_TABLE_SUP = 1 << 28, + IB_UVERBS_PCF_MCAST_PKEY_TRAP_SUPPRESSION_SUP = 1 << 29, + IB_UVERBS_PCF_MCAST_FDB_TOP_SUP = 1 << 30, + IB_UVERBS_PCF_HIERARCHY_INFO_SUP = 1ULL << 31, + + IB_UVERBS_PCF_IP_BASED_GIDS = 1 << 26, +}; +enum ib_uverbs_query_port_flags { + IB_UVERBS_QPF_GRH_REQUIRED = 1 << 0, +}; +enum ib_uverbs_flow_action_esp_keymat { + IB_UVERBS_FLOW_ACTION_ESP_KEYMAT_AES_GCM, +}; +enum ib_uverbs_flow_action_esp_keymat_aes_gcm_iv_algo { + IB_UVERBS_FLOW_ACTION_IV_ALGO_SEQ, +}; +struct ib_uverbs_flow_action_esp_keymat_aes_gcm { + __aligned_u64 iv; + __u32 iv_algo; + __u32 salt; + __u32 icv_len; + __u32 key_len; + __u32 aes_key[256 / 32]; +}; +enum ib_uverbs_flow_action_esp_replay { + IB_UVERBS_FLOW_ACTION_ESP_REPLAY_NONE, + IB_UVERBS_FLOW_ACTION_ESP_REPLAY_BMP, +}; +struct ib_uverbs_flow_action_esp_replay_bmp { + __u32 size; +}; +enum ib_uverbs_flow_action_esp_flags { + IB_UVERBS_FLOW_ACTION_ESP_FLAGS_INLINE_CRYPTO = 0UL << 0, + IB_UVERBS_FLOW_ACTION_ESP_FLAGS_FULL_OFFLOAD = 1UL << 0, + IB_UVERBS_FLOW_ACTION_ESP_FLAGS_TUNNEL = 0UL << 1, + IB_UVERBS_FLOW_ACTION_ESP_FLAGS_TRANSPORT = 1UL << 1, + IB_UVERBS_FLOW_ACTION_ESP_FLAGS_DECRYPT = 0UL << 2, + IB_UVERBS_FLOW_ACTION_ESP_FLAGS_ENCRYPT = 1UL << 2, + IB_UVERBS_FLOW_ACTION_ESP_FLAGS_ESN_NEW_WINDOW = 1UL << 3, +}; +struct ib_uverbs_flow_action_esp_encap { + + RDMA_UAPI_PTR(void *, val_ptr); + RDMA_UAPI_PTR(struct ib_uverbs_flow_action_esp_encap *, next_ptr); + __u16 len; + __u16 type; +}; +struct ib_uverbs_flow_action_esp { + __u32 spi; + __u32 seq; + __u32 tfc_pad; + __u32 flags; + __aligned_u64 hard_limit_pkts; +}; +enum ib_uverbs_read_counters_flags { + + IB_UVERBS_READ_COUNTERS_PREFER_CACHED = 1 << 0, +}; +enum ib_uverbs_advise_mr_advice { + IB_UVERBS_ADVISE_MR_ADVICE_PREFETCH, + IB_UVERBS_ADVISE_MR_ADVICE_PREFETCH_WRITE, + IB_UVERBS_ADVISE_MR_ADVICE_PREFETCH_NO_FAULT, +}; +enum ib_uverbs_advise_mr_flag { + IB_UVERBS_ADVISE_MR_FLAG_FLUSH = 1 << 0, +}; +struct ib_uverbs_query_port_resp_ex { + struct ib_uverbs_query_port_resp legacy_resp; + __u16 port_cap_flags2; + __u8 reserved[6]; +}; +struct ib_uverbs_qp_cap { + __u32 max_send_wr; + __u32 max_recv_wr; + __u32 max_send_sge; + __u32 max_recv_sge; + __u32 max_inline_data; +}; +enum rdma_driver_id { + RDMA_DRIVER_UNKNOWN, + RDMA_DRIVER_MLX5, + RDMA_DRIVER_MLX4, + RDMA_DRIVER_CXGB3, + RDMA_DRIVER_CXGB4, + RDMA_DRIVER_MTHCA, + RDMA_DRIVER_BNXT_RE, + RDMA_DRIVER_OCRDMA, + RDMA_DRIVER_NES, + RDMA_DRIVER_I40IW, + RDMA_DRIVER_VMW_PVRDMA, + RDMA_DRIVER_QEDR, + RDMA_DRIVER_HNS, + RDMA_DRIVER_USNIC, + RDMA_DRIVER_RXE, + RDMA_DRIVER_HFI1, + RDMA_DRIVER_QIB, + RDMA_DRIVER_EFA, + RDMA_DRIVER_SIW, +}; +enum ib_uverbs_gid_type { + IB_UVERBS_GID_TYPE_IB, + IB_UVERBS_GID_TYPE_ROCE_V1, + IB_UVERBS_GID_TYPE_ROCE_V2, +}; +struct ib_uverbs_gid_entry { + __aligned_u64 gid[2]; + __u32 gid_index; + __u32 port_num; + __u32 gid_type; + __u32 netdev_ifindex; +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/rdma/ib_user_mad.h b/linux-5.10/prebuilts/usr/include/rdma/ib_user_mad.h new file mode 100644 index 0000000..96bb7b7 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/rdma/ib_user_mad.h @@ -0,0 +1,80 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef IB_USER_MAD_H +#define IB_USER_MAD_H +#include +#include +#define IB_USER_MAD_ABI_VERSION 5 +struct ib_user_mad_hdr_old { + __u32 id; + __u32 status; + __u32 timeout_ms; + __u32 retries; + __u32 length; + __be32 qpn; + __be32 qkey; + __be16 lid; + __u8 sl; + __u8 path_bits; + __u8 grh_present; + __u8 gid_index; + __u8 hop_limit; + __u8 traffic_class; + __u8 gid[16]; + __be32 flow_label; +}; +struct ib_user_mad_hdr { + __u32 id; + __u32 status; + __u32 timeout_ms; + __u32 retries; + __u32 length; + __be32 qpn; + __be32 qkey; + __be16 lid; + __u8 sl; + __u8 path_bits; + __u8 grh_present; + __u8 gid_index; + __u8 hop_limit; + __u8 traffic_class; + __u8 gid[16]; + __be32 flow_label; + __u16 pkey_index; + __u8 reserved[6]; +}; +struct ib_user_mad { + struct ib_user_mad_hdr hdr; + __aligned_u64 data[0]; +}; +typedef unsigned long __attribute__((aligned(4))) packed_ulong; +#define IB_USER_MAD_LONGS_PER_METHOD_MASK (128 / (8 * sizeof (long))) +struct ib_user_mad_reg_req { + __u32 id; + packed_ulong method_mask[IB_USER_MAD_LONGS_PER_METHOD_MASK]; + __u8 qpn; + __u8 mgmt_class; + __u8 mgmt_class_version; + __u8 oui[3]; + __u8 rmpp_version; +}; +enum { + IB_USER_MAD_USER_RMPP = (1 << 0), +}; +#define IB_USER_MAD_REG_FLAGS_CAP (IB_USER_MAD_USER_RMPP) +struct ib_user_mad_reg_req2 { + __u32 id; + __u32 qpn; + __u8 mgmt_class; + __u8 mgmt_class_version; + __u16 res; + __u32 flags; + __aligned_u64 method_mask[2]; + __u32 oui; + __u8 rmpp_version; + __u8 reserved[3]; +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/rdma/ib_user_sa.h b/linux-5.10/prebuilts/usr/include/rdma/ib_user_sa.h new file mode 100644 index 0000000..c91ef81 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/rdma/ib_user_sa.h @@ -0,0 +1,44 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef IB_USER_SA_H +#define IB_USER_SA_H +#include +enum { + IB_PATH_GMP = 1, + IB_PATH_PRIMARY = (1<<1), + IB_PATH_ALTERNATE = (1<<2), + IB_PATH_OUTBOUND = (1<<3), + IB_PATH_INBOUND = (1<<4), + IB_PATH_INBOUND_REVERSE = (1<<5), + IB_PATH_BIDIRECTIONAL = IB_PATH_OUTBOUND | IB_PATH_INBOUND_REVERSE +}; +struct ib_path_rec_data { + __u32 flags; + __u32 reserved; + __u32 path_rec[16]; +}; +struct ib_user_path_rec { + __u8 dgid[16]; + __u8 sgid[16]; + __be16 dlid; + __be16 slid; + __u32 raw_traffic; + __be32 flow_label; + __u32 reversible; + __u32 mtu; + __be16 pkey; + __u8 hop_limit; + __u8 traffic_class; + __u8 numb_path; + __u8 sl; + __u8 mtu_selector; + __u8 rate_selector; + __u8 rate; + __u8 packet_life_time_selector; + __u8 packet_life_time; + __u8 preference; +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/rdma/ib_user_verbs.h b/linux-5.10/prebuilts/usr/include/rdma/ib_user_verbs.h new file mode 100644 index 0000000..2bde2ee --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/rdma/ib_user_verbs.h @@ -0,0 +1,1090 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef IB_USER_VERBS_H +#define IB_USER_VERBS_H +#include +#define IB_USER_VERBS_ABI_VERSION 6 +#define IB_USER_VERBS_CMD_THRESHOLD 50 +enum ib_uverbs_write_cmds { + IB_USER_VERBS_CMD_GET_CONTEXT, + IB_USER_VERBS_CMD_QUERY_DEVICE, + IB_USER_VERBS_CMD_QUERY_PORT, + IB_USER_VERBS_CMD_ALLOC_PD, + IB_USER_VERBS_CMD_DEALLOC_PD, + IB_USER_VERBS_CMD_CREATE_AH, + IB_USER_VERBS_CMD_MODIFY_AH, + IB_USER_VERBS_CMD_QUERY_AH, + IB_USER_VERBS_CMD_DESTROY_AH, + IB_USER_VERBS_CMD_REG_MR, + IB_USER_VERBS_CMD_REG_SMR, + IB_USER_VERBS_CMD_REREG_MR, + IB_USER_VERBS_CMD_QUERY_MR, + IB_USER_VERBS_CMD_DEREG_MR, + IB_USER_VERBS_CMD_ALLOC_MW, + IB_USER_VERBS_CMD_BIND_MW, + IB_USER_VERBS_CMD_DEALLOC_MW, + IB_USER_VERBS_CMD_CREATE_COMP_CHANNEL, + IB_USER_VERBS_CMD_CREATE_CQ, + IB_USER_VERBS_CMD_RESIZE_CQ, + IB_USER_VERBS_CMD_DESTROY_CQ, + IB_USER_VERBS_CMD_POLL_CQ, + IB_USER_VERBS_CMD_PEEK_CQ, + IB_USER_VERBS_CMD_REQ_NOTIFY_CQ, + IB_USER_VERBS_CMD_CREATE_QP, + IB_USER_VERBS_CMD_QUERY_QP, + IB_USER_VERBS_CMD_MODIFY_QP, + IB_USER_VERBS_CMD_DESTROY_QP, + IB_USER_VERBS_CMD_POST_SEND, + IB_USER_VERBS_CMD_POST_RECV, + IB_USER_VERBS_CMD_ATTACH_MCAST, + IB_USER_VERBS_CMD_DETACH_MCAST, + IB_USER_VERBS_CMD_CREATE_SRQ, + IB_USER_VERBS_CMD_MODIFY_SRQ, + IB_USER_VERBS_CMD_QUERY_SRQ, + IB_USER_VERBS_CMD_DESTROY_SRQ, + IB_USER_VERBS_CMD_POST_SRQ_RECV, + IB_USER_VERBS_CMD_OPEN_XRCD, + IB_USER_VERBS_CMD_CLOSE_XRCD, + IB_USER_VERBS_CMD_CREATE_XSRQ, + IB_USER_VERBS_CMD_OPEN_QP, +}; +enum { + IB_USER_VERBS_EX_CMD_QUERY_DEVICE = IB_USER_VERBS_CMD_QUERY_DEVICE, + IB_USER_VERBS_EX_CMD_CREATE_CQ = IB_USER_VERBS_CMD_CREATE_CQ, + IB_USER_VERBS_EX_CMD_CREATE_QP = IB_USER_VERBS_CMD_CREATE_QP, + IB_USER_VERBS_EX_CMD_MODIFY_QP = IB_USER_VERBS_CMD_MODIFY_QP, + IB_USER_VERBS_EX_CMD_CREATE_FLOW = IB_USER_VERBS_CMD_THRESHOLD, + IB_USER_VERBS_EX_CMD_DESTROY_FLOW, + IB_USER_VERBS_EX_CMD_CREATE_WQ, + IB_USER_VERBS_EX_CMD_MODIFY_WQ, + IB_USER_VERBS_EX_CMD_DESTROY_WQ, + IB_USER_VERBS_EX_CMD_CREATE_RWQ_IND_TBL, + IB_USER_VERBS_EX_CMD_DESTROY_RWQ_IND_TBL, + IB_USER_VERBS_EX_CMD_MODIFY_CQ +}; +struct ib_uverbs_async_event_desc { + __aligned_u64 element; + __u32 event_type; + __u32 reserved; +}; +struct ib_uverbs_comp_event_desc { + __aligned_u64 cq_handle; +}; +struct ib_uverbs_cq_moderation_caps { + __u16 max_cq_moderation_count; + __u16 max_cq_moderation_period; + __u32 reserved; +}; +#define IB_USER_VERBS_CMD_COMMAND_MASK 0xff +#define IB_USER_VERBS_CMD_FLAG_EXTENDED 0x80000000u +struct ib_uverbs_cmd_hdr { + __u32 command; + __u16 in_words; + __u16 out_words; +}; +struct ib_uverbs_ex_cmd_hdr { + __aligned_u64 response; + __u16 provider_in_words; + __u16 provider_out_words; + __u32 cmd_hdr_reserved; +}; +struct ib_uverbs_get_context { + __aligned_u64 response; + __aligned_u64 driver_data[0]; +}; +struct ib_uverbs_get_context_resp { + __u32 async_fd; + __u32 num_comp_vectors; + __aligned_u64 driver_data[0]; +}; +struct ib_uverbs_query_device { + __aligned_u64 response; + __aligned_u64 driver_data[0]; +}; +struct ib_uverbs_query_device_resp { + __aligned_u64 fw_ver; + __be64 node_guid; + __be64 sys_image_guid; + __aligned_u64 max_mr_size; + __aligned_u64 page_size_cap; + __u32 vendor_id; + __u32 vendor_part_id; + __u32 hw_ver; + __u32 max_qp; + __u32 max_qp_wr; + __u32 device_cap_flags; + __u32 max_sge; + __u32 max_sge_rd; + __u32 max_cq; + __u32 max_cqe; + __u32 max_mr; + __u32 max_pd; + __u32 max_qp_rd_atom; + __u32 max_ee_rd_atom; + __u32 max_res_rd_atom; + __u32 max_qp_init_rd_atom; + __u32 max_ee_init_rd_atom; + __u32 atomic_cap; + __u32 max_ee; + __u32 max_rdd; + __u32 max_mw; + __u32 max_raw_ipv6_qp; + __u32 max_raw_ethy_qp; + __u32 max_mcast_grp; + __u32 max_mcast_qp_attach; + __u32 max_total_mcast_qp_attach; + __u32 max_ah; + __u32 max_fmr; + __u32 max_map_per_fmr; + __u32 max_srq; + __u32 max_srq_wr; + __u32 max_srq_sge; + __u16 max_pkeys; + __u8 local_ca_ack_delay; + __u8 phys_port_cnt; + __u8 reserved[4]; +}; +struct ib_uverbs_ex_query_device { + __u32 comp_mask; + __u32 reserved; +}; +struct ib_uverbs_odp_caps { + __aligned_u64 general_caps; + struct { + __u32 rc_odp_caps; + __u32 uc_odp_caps; + __u32 ud_odp_caps; + } per_transport_caps; + __u32 reserved; +}; +struct ib_uverbs_rss_caps { + + __u32 supported_qpts; + __u32 max_rwq_indirection_tables; + __u32 max_rwq_indirection_table_size; + __u32 reserved; +}; +struct ib_uverbs_tm_caps { + + __u32 max_rndv_hdr_size; + + __u32 max_num_tags; + + __u32 flags; + + __u32 max_ops; + + __u32 max_sge; + __u32 reserved; +}; +struct ib_uverbs_ex_query_device_resp { + struct ib_uverbs_query_device_resp base; + __u32 comp_mask; + __u32 response_length; + struct ib_uverbs_odp_caps odp_caps; + __aligned_u64 timestamp_mask; + __aligned_u64 hca_core_clock; + __aligned_u64 device_cap_flags_ex; + struct ib_uverbs_rss_caps rss_caps; + __u32 max_wq_type_rq; + __u32 raw_packet_caps; + struct ib_uverbs_tm_caps tm_caps; + struct ib_uverbs_cq_moderation_caps cq_moderation_caps; + __aligned_u64 max_dm_size; + __u32 xrc_odp_caps; + __u32 reserved; +}; +struct ib_uverbs_query_port { + __aligned_u64 response; + __u8 port_num; + __u8 reserved[7]; + __aligned_u64 driver_data[0]; +}; +struct ib_uverbs_query_port_resp { + __u32 port_cap_flags; + __u32 max_msg_sz; + __u32 bad_pkey_cntr; + __u32 qkey_viol_cntr; + __u32 gid_tbl_len; + __u16 pkey_tbl_len; + __u16 lid; + __u16 sm_lid; + __u8 state; + __u8 max_mtu; + __u8 active_mtu; + __u8 lmc; + __u8 max_vl_num; + __u8 sm_sl; + __u8 subnet_timeout; + __u8 init_type_reply; + __u8 active_width; + __u8 active_speed; + __u8 phys_state; + __u8 link_layer; + __u8 flags; + __u8 reserved; +}; +struct ib_uverbs_alloc_pd { + __aligned_u64 response; + __aligned_u64 driver_data[0]; +}; +struct ib_uverbs_alloc_pd_resp { + __u32 pd_handle; + __u32 driver_data[0]; +}; +struct ib_uverbs_dealloc_pd { + __u32 pd_handle; +}; +struct ib_uverbs_open_xrcd { + __aligned_u64 response; + __u32 fd; + __u32 oflags; + __aligned_u64 driver_data[0]; +}; +struct ib_uverbs_open_xrcd_resp { + __u32 xrcd_handle; + __u32 driver_data[0]; +}; +struct ib_uverbs_close_xrcd { + __u32 xrcd_handle; +}; +struct ib_uverbs_reg_mr { + __aligned_u64 response; + __aligned_u64 start; + __aligned_u64 length; + __aligned_u64 hca_va; + __u32 pd_handle; + __u32 access_flags; + __aligned_u64 driver_data[0]; +}; +struct ib_uverbs_reg_mr_resp { + __u32 mr_handle; + __u32 lkey; + __u32 rkey; + __u32 driver_data[0]; +}; +struct ib_uverbs_rereg_mr { + __aligned_u64 response; + __u32 mr_handle; + __u32 flags; + __aligned_u64 start; + __aligned_u64 length; + __aligned_u64 hca_va; + __u32 pd_handle; + __u32 access_flags; + __aligned_u64 driver_data[0]; +}; +struct ib_uverbs_rereg_mr_resp { + __u32 lkey; + __u32 rkey; + __aligned_u64 driver_data[0]; +}; +struct ib_uverbs_dereg_mr { + __u32 mr_handle; +}; +struct ib_uverbs_alloc_mw { + __aligned_u64 response; + __u32 pd_handle; + __u8 mw_type; + __u8 reserved[3]; + __aligned_u64 driver_data[0]; +}; +struct ib_uverbs_alloc_mw_resp { + __u32 mw_handle; + __u32 rkey; + __aligned_u64 driver_data[0]; +}; +struct ib_uverbs_dealloc_mw { + __u32 mw_handle; +}; +struct ib_uverbs_create_comp_channel { + __aligned_u64 response; +}; +struct ib_uverbs_create_comp_channel_resp { + __u32 fd; +}; +struct ib_uverbs_create_cq { + __aligned_u64 response; + __aligned_u64 user_handle; + __u32 cqe; + __u32 comp_vector; + __s32 comp_channel; + __u32 reserved; + __aligned_u64 driver_data[0]; +}; +enum ib_uverbs_ex_create_cq_flags { + IB_UVERBS_CQ_FLAGS_TIMESTAMP_COMPLETION = 1 << 0, + IB_UVERBS_CQ_FLAGS_IGNORE_OVERRUN = 1 << 1, +}; +struct ib_uverbs_ex_create_cq { + __aligned_u64 user_handle; + __u32 cqe; + __u32 comp_vector; + __s32 comp_channel; + __u32 comp_mask; + __u32 flags; + __u32 reserved; +}; +struct ib_uverbs_create_cq_resp { + __u32 cq_handle; + __u32 cqe; + __aligned_u64 driver_data[0]; +}; +struct ib_uverbs_ex_create_cq_resp { + struct ib_uverbs_create_cq_resp base; + __u32 comp_mask; + __u32 response_length; +}; +struct ib_uverbs_resize_cq { + __aligned_u64 response; + __u32 cq_handle; + __u32 cqe; + __aligned_u64 driver_data[0]; +}; +struct ib_uverbs_resize_cq_resp { + __u32 cqe; + __u32 reserved; + __aligned_u64 driver_data[0]; +}; +struct ib_uverbs_poll_cq { + __aligned_u64 response; + __u32 cq_handle; + __u32 ne; +}; +enum ib_uverbs_wc_opcode { + IB_UVERBS_WC_SEND = 0, + IB_UVERBS_WC_RDMA_WRITE = 1, + IB_UVERBS_WC_RDMA_READ = 2, + IB_UVERBS_WC_COMP_SWAP = 3, + IB_UVERBS_WC_FETCH_ADD = 4, + IB_UVERBS_WC_BIND_MW = 5, + IB_UVERBS_WC_LOCAL_INV = 6, + IB_UVERBS_WC_TSO = 7, +}; +struct ib_uverbs_wc { + __aligned_u64 wr_id; + __u32 status; + __u32 opcode; + __u32 vendor_err; + __u32 byte_len; + union { + __be32 imm_data; + __u32 invalidate_rkey; + } ex; + __u32 qp_num; + __u32 src_qp; + __u32 wc_flags; + __u16 pkey_index; + __u16 slid; + __u8 sl; + __u8 dlid_path_bits; + __u8 port_num; + __u8 reserved; +}; +struct ib_uverbs_poll_cq_resp { + __u32 count; + __u32 reserved; + struct ib_uverbs_wc wc[0]; +}; +struct ib_uverbs_req_notify_cq { + __u32 cq_handle; + __u32 solicited_only; +}; +struct ib_uverbs_destroy_cq { + __aligned_u64 response; + __u32 cq_handle; + __u32 reserved; +}; +struct ib_uverbs_destroy_cq_resp { + __u32 comp_events_reported; + __u32 async_events_reported; +}; +struct ib_uverbs_global_route { + __u8 dgid[16]; + __u32 flow_label; + __u8 sgid_index; + __u8 hop_limit; + __u8 traffic_class; + __u8 reserved; +}; +struct ib_uverbs_ah_attr { + struct ib_uverbs_global_route grh; + __u16 dlid; + __u8 sl; + __u8 src_path_bits; + __u8 static_rate; + __u8 is_global; + __u8 port_num; + __u8 reserved; +}; +struct ib_uverbs_qp_attr { + __u32 qp_attr_mask; + __u32 qp_state; + __u32 cur_qp_state; + __u32 path_mtu; + __u32 path_mig_state; + __u32 qkey; + __u32 rq_psn; + __u32 sq_psn; + __u32 dest_qp_num; + __u32 qp_access_flags; + struct ib_uverbs_ah_attr ah_attr; + struct ib_uverbs_ah_attr alt_ah_attr; + + __u32 max_send_wr; + __u32 max_recv_wr; + __u32 max_send_sge; + __u32 max_recv_sge; + __u32 max_inline_data; + __u16 pkey_index; + __u16 alt_pkey_index; + __u8 en_sqd_async_notify; + __u8 sq_draining; + __u8 max_rd_atomic; + __u8 max_dest_rd_atomic; + __u8 min_rnr_timer; + __u8 port_num; + __u8 timeout; + __u8 retry_cnt; + __u8 rnr_retry; + __u8 alt_port_num; + __u8 alt_timeout; + __u8 reserved[5]; +}; +struct ib_uverbs_create_qp { + __aligned_u64 response; + __aligned_u64 user_handle; + __u32 pd_handle; + __u32 send_cq_handle; + __u32 recv_cq_handle; + __u32 srq_handle; + __u32 max_send_wr; + __u32 max_recv_wr; + __u32 max_send_sge; + __u32 max_recv_sge; + __u32 max_inline_data; + __u8 sq_sig_all; + __u8 qp_type; + __u8 is_srq; + __u8 reserved; + __aligned_u64 driver_data[0]; +}; +enum ib_uverbs_create_qp_mask { + IB_UVERBS_CREATE_QP_MASK_IND_TABLE = 1UL << 0, +}; +enum { + IB_UVERBS_CREATE_QP_SUP_COMP_MASK = IB_UVERBS_CREATE_QP_MASK_IND_TABLE, +}; +enum { + + IB_USER_LEGACY_LAST_QP_ATTR_MASK = 1ULL << 20, +}; +enum { + + IB_USER_LAST_QP_ATTR_MASK = 1ULL << 25, +}; +struct ib_uverbs_ex_create_qp { + __aligned_u64 user_handle; + __u32 pd_handle; + __u32 send_cq_handle; + __u32 recv_cq_handle; + __u32 srq_handle; + __u32 max_send_wr; + __u32 max_recv_wr; + __u32 max_send_sge; + __u32 max_recv_sge; + __u32 max_inline_data; + __u8 sq_sig_all; + __u8 qp_type; + __u8 is_srq; + __u8 reserved; + __u32 comp_mask; + __u32 create_flags; + __u32 rwq_ind_tbl_handle; + __u32 source_qpn; +}; +struct ib_uverbs_open_qp { + __aligned_u64 response; + __aligned_u64 user_handle; + __u32 pd_handle; + __u32 qpn; + __u8 qp_type; + __u8 reserved[7]; + __aligned_u64 driver_data[0]; +}; +struct ib_uverbs_create_qp_resp { + __u32 qp_handle; + __u32 qpn; + __u32 max_send_wr; + __u32 max_recv_wr; + __u32 max_send_sge; + __u32 max_recv_sge; + __u32 max_inline_data; + __u32 reserved; + __u32 driver_data[0]; +}; +struct ib_uverbs_ex_create_qp_resp { + struct ib_uverbs_create_qp_resp base; + __u32 comp_mask; + __u32 response_length; +}; +struct ib_uverbs_qp_dest { + __u8 dgid[16]; + __u32 flow_label; + __u16 dlid; + __u16 reserved; + __u8 sgid_index; + __u8 hop_limit; + __u8 traffic_class; + __u8 sl; + __u8 src_path_bits; + __u8 static_rate; + __u8 is_global; + __u8 port_num; +}; +struct ib_uverbs_query_qp { + __aligned_u64 response; + __u32 qp_handle; + __u32 attr_mask; + __aligned_u64 driver_data[0]; +}; +struct ib_uverbs_query_qp_resp { + struct ib_uverbs_qp_dest dest; + struct ib_uverbs_qp_dest alt_dest; + __u32 max_send_wr; + __u32 max_recv_wr; + __u32 max_send_sge; + __u32 max_recv_sge; + __u32 max_inline_data; + __u32 qkey; + __u32 rq_psn; + __u32 sq_psn; + __u32 dest_qp_num; + __u32 qp_access_flags; + __u16 pkey_index; + __u16 alt_pkey_index; + __u8 qp_state; + __u8 cur_qp_state; + __u8 path_mtu; + __u8 path_mig_state; + __u8 sq_draining; + __u8 max_rd_atomic; + __u8 max_dest_rd_atomic; + __u8 min_rnr_timer; + __u8 port_num; + __u8 timeout; + __u8 retry_cnt; + __u8 rnr_retry; + __u8 alt_port_num; + __u8 alt_timeout; + __u8 sq_sig_all; + __u8 reserved[5]; + __aligned_u64 driver_data[0]; +}; +struct ib_uverbs_modify_qp { + struct ib_uverbs_qp_dest dest; + struct ib_uverbs_qp_dest alt_dest; + __u32 qp_handle; + __u32 attr_mask; + __u32 qkey; + __u32 rq_psn; + __u32 sq_psn; + __u32 dest_qp_num; + __u32 qp_access_flags; + __u16 pkey_index; + __u16 alt_pkey_index; + __u8 qp_state; + __u8 cur_qp_state; + __u8 path_mtu; + __u8 path_mig_state; + __u8 en_sqd_async_notify; + __u8 max_rd_atomic; + __u8 max_dest_rd_atomic; + __u8 min_rnr_timer; + __u8 port_num; + __u8 timeout; + __u8 retry_cnt; + __u8 rnr_retry; + __u8 alt_port_num; + __u8 alt_timeout; + __u8 reserved[2]; + __aligned_u64 driver_data[0]; +}; +struct ib_uverbs_ex_modify_qp { + struct ib_uverbs_modify_qp base; + __u32 rate_limit; + __u32 reserved; +}; +struct ib_uverbs_ex_modify_qp_resp { + __u32 comp_mask; + __u32 response_length; +}; +struct ib_uverbs_destroy_qp { + __aligned_u64 response; + __u32 qp_handle; + __u32 reserved; +}; +struct ib_uverbs_destroy_qp_resp { + __u32 events_reported; +}; +struct ib_uverbs_sge { + __aligned_u64 addr; + __u32 length; + __u32 lkey; +}; +enum ib_uverbs_wr_opcode { + IB_UVERBS_WR_RDMA_WRITE = 0, + IB_UVERBS_WR_RDMA_WRITE_WITH_IMM = 1, + IB_UVERBS_WR_SEND = 2, + IB_UVERBS_WR_SEND_WITH_IMM = 3, + IB_UVERBS_WR_RDMA_READ = 4, + IB_UVERBS_WR_ATOMIC_CMP_AND_SWP = 5, + IB_UVERBS_WR_ATOMIC_FETCH_AND_ADD = 6, + IB_UVERBS_WR_LOCAL_INV = 7, + IB_UVERBS_WR_BIND_MW = 8, + IB_UVERBS_WR_SEND_WITH_INV = 9, + IB_UVERBS_WR_TSO = 10, + IB_UVERBS_WR_RDMA_READ_WITH_INV = 11, + IB_UVERBS_WR_MASKED_ATOMIC_CMP_AND_SWP = 12, + IB_UVERBS_WR_MASKED_ATOMIC_FETCH_AND_ADD = 13, + +}; +struct ib_uverbs_send_wr { + __aligned_u64 wr_id; + __u32 num_sge; + __u32 opcode; + __u32 send_flags; + union { + __be32 imm_data; + __u32 invalidate_rkey; + } ex; + union { + struct { + __aligned_u64 remote_addr; + __u32 rkey; + __u32 reserved; + } rdma; + struct { + __aligned_u64 remote_addr; + __aligned_u64 compare_add; + __aligned_u64 swap; + __u32 rkey; + __u32 reserved; + } atomic; + struct { + __u32 ah; + __u32 remote_qpn; + __u32 remote_qkey; + __u32 reserved; + } ud; + } wr; +}; +struct ib_uverbs_post_send { + __aligned_u64 response; + __u32 qp_handle; + __u32 wr_count; + __u32 sge_count; + __u32 wqe_size; + struct ib_uverbs_send_wr send_wr[0]; +}; +struct ib_uverbs_post_send_resp { + __u32 bad_wr; +}; +struct ib_uverbs_recv_wr { + __aligned_u64 wr_id; + __u32 num_sge; + __u32 reserved; +}; +struct ib_uverbs_post_recv { + __aligned_u64 response; + __u32 qp_handle; + __u32 wr_count; + __u32 sge_count; + __u32 wqe_size; + struct ib_uverbs_recv_wr recv_wr[0]; +}; +struct ib_uverbs_post_recv_resp { + __u32 bad_wr; +}; +struct ib_uverbs_post_srq_recv { + __aligned_u64 response; + __u32 srq_handle; + __u32 wr_count; + __u32 sge_count; + __u32 wqe_size; + struct ib_uverbs_recv_wr recv[0]; +}; +struct ib_uverbs_post_srq_recv_resp { + __u32 bad_wr; +}; +struct ib_uverbs_create_ah { + __aligned_u64 response; + __aligned_u64 user_handle; + __u32 pd_handle; + __u32 reserved; + struct ib_uverbs_ah_attr attr; + __aligned_u64 driver_data[0]; +}; +struct ib_uverbs_create_ah_resp { + __u32 ah_handle; + __u32 driver_data[0]; +}; +struct ib_uverbs_destroy_ah { + __u32 ah_handle; +}; +struct ib_uverbs_attach_mcast { + __u8 gid[16]; + __u32 qp_handle; + __u16 mlid; + __u16 reserved; + __aligned_u64 driver_data[0]; +}; +struct ib_uverbs_detach_mcast { + __u8 gid[16]; + __u32 qp_handle; + __u16 mlid; + __u16 reserved; + __aligned_u64 driver_data[0]; +}; +struct ib_uverbs_flow_spec_hdr { + __u32 type; + __u16 size; + __u16 reserved; + + __aligned_u64 flow_spec_data[0]; +}; +struct ib_uverbs_flow_eth_filter { + __u8 dst_mac[6]; + __u8 src_mac[6]; + __be16 ether_type; + __be16 vlan_tag; +}; +struct ib_uverbs_flow_spec_eth { + union { + struct ib_uverbs_flow_spec_hdr hdr; + struct { + __u32 type; + __u16 size; + __u16 reserved; + }; + }; + struct ib_uverbs_flow_eth_filter val; + struct ib_uverbs_flow_eth_filter mask; +}; +struct ib_uverbs_flow_ipv4_filter { + __be32 src_ip; + __be32 dst_ip; + __u8 proto; + __u8 tos; + __u8 ttl; + __u8 flags; +}; +struct ib_uverbs_flow_spec_ipv4 { + union { + struct ib_uverbs_flow_spec_hdr hdr; + struct { + __u32 type; + __u16 size; + __u16 reserved; + }; + }; + struct ib_uverbs_flow_ipv4_filter val; + struct ib_uverbs_flow_ipv4_filter mask; +}; +struct ib_uverbs_flow_tcp_udp_filter { + __be16 dst_port; + __be16 src_port; +}; +struct ib_uverbs_flow_spec_tcp_udp { + union { + struct ib_uverbs_flow_spec_hdr hdr; + struct { + __u32 type; + __u16 size; + __u16 reserved; + }; + }; + struct ib_uverbs_flow_tcp_udp_filter val; + struct ib_uverbs_flow_tcp_udp_filter mask; +}; +struct ib_uverbs_flow_ipv6_filter { + __u8 src_ip[16]; + __u8 dst_ip[16]; + __be32 flow_label; + __u8 next_hdr; + __u8 traffic_class; + __u8 hop_limit; + __u8 reserved; +}; +struct ib_uverbs_flow_spec_ipv6 { + union { + struct ib_uverbs_flow_spec_hdr hdr; + struct { + __u32 type; + __u16 size; + __u16 reserved; + }; + }; + struct ib_uverbs_flow_ipv6_filter val; + struct ib_uverbs_flow_ipv6_filter mask; +}; +struct ib_uverbs_flow_spec_action_tag { + union { + struct ib_uverbs_flow_spec_hdr hdr; + struct { + __u32 type; + __u16 size; + __u16 reserved; + }; + }; + __u32 tag_id; + __u32 reserved1; +}; +struct ib_uverbs_flow_spec_action_drop { + union { + struct ib_uverbs_flow_spec_hdr hdr; + struct { + __u32 type; + __u16 size; + __u16 reserved; + }; + }; +}; +struct ib_uverbs_flow_spec_action_handle { + union { + struct ib_uverbs_flow_spec_hdr hdr; + struct { + __u32 type; + __u16 size; + __u16 reserved; + }; + }; + __u32 handle; + __u32 reserved1; +}; +struct ib_uverbs_flow_spec_action_count { + union { + struct ib_uverbs_flow_spec_hdr hdr; + struct { + __u32 type; + __u16 size; + __u16 reserved; + }; + }; + __u32 handle; + __u32 reserved1; +}; +struct ib_uverbs_flow_tunnel_filter { + __be32 tunnel_id; +}; +struct ib_uverbs_flow_spec_tunnel { + union { + struct ib_uverbs_flow_spec_hdr hdr; + struct { + __u32 type; + __u16 size; + __u16 reserved; + }; + }; + struct ib_uverbs_flow_tunnel_filter val; + struct ib_uverbs_flow_tunnel_filter mask; +}; +struct ib_uverbs_flow_spec_esp_filter { + __u32 spi; + __u32 seq; +}; +struct ib_uverbs_flow_spec_esp { + union { + struct ib_uverbs_flow_spec_hdr hdr; + struct { + __u32 type; + __u16 size; + __u16 reserved; + }; + }; + struct ib_uverbs_flow_spec_esp_filter val; + struct ib_uverbs_flow_spec_esp_filter mask; +}; +struct ib_uverbs_flow_gre_filter { + + __be16 c_ks_res0_ver; + __be16 protocol; + __be32 key; +}; +struct ib_uverbs_flow_spec_gre { + union { + struct ib_uverbs_flow_spec_hdr hdr; + struct { + __u32 type; + __u16 size; + __u16 reserved; + }; + }; + struct ib_uverbs_flow_gre_filter val; + struct ib_uverbs_flow_gre_filter mask; +}; +struct ib_uverbs_flow_mpls_filter { + + __be32 label; +}; +struct ib_uverbs_flow_spec_mpls { + union { + struct ib_uverbs_flow_spec_hdr hdr; + struct { + __u32 type; + __u16 size; + __u16 reserved; + }; + }; + struct ib_uverbs_flow_mpls_filter val; + struct ib_uverbs_flow_mpls_filter mask; +}; +struct ib_uverbs_flow_attr { + __u32 type; + __u16 size; + __u16 priority; + __u8 num_of_specs; + __u8 reserved[2]; + __u8 port; + __u32 flags; + + struct ib_uverbs_flow_spec_hdr flow_specs[0]; +}; +struct ib_uverbs_create_flow { + __u32 comp_mask; + __u32 qp_handle; + struct ib_uverbs_flow_attr flow_attr; +}; +struct ib_uverbs_create_flow_resp { + __u32 comp_mask; + __u32 flow_handle; +}; +struct ib_uverbs_destroy_flow { + __u32 comp_mask; + __u32 flow_handle; +}; +struct ib_uverbs_create_srq { + __aligned_u64 response; + __aligned_u64 user_handle; + __u32 pd_handle; + __u32 max_wr; + __u32 max_sge; + __u32 srq_limit; + __aligned_u64 driver_data[0]; +}; +struct ib_uverbs_create_xsrq { + __aligned_u64 response; + __aligned_u64 user_handle; + __u32 srq_type; + __u32 pd_handle; + __u32 max_wr; + __u32 max_sge; + __u32 srq_limit; + __u32 max_num_tags; + __u32 xrcd_handle; + __u32 cq_handle; + __aligned_u64 driver_data[0]; +}; +struct ib_uverbs_create_srq_resp { + __u32 srq_handle; + __u32 max_wr; + __u32 max_sge; + __u32 srqn; + __u32 driver_data[0]; +}; +struct ib_uverbs_modify_srq { + __u32 srq_handle; + __u32 attr_mask; + __u32 max_wr; + __u32 srq_limit; + __aligned_u64 driver_data[0]; +}; +struct ib_uverbs_query_srq { + __aligned_u64 response; + __u32 srq_handle; + __u32 reserved; + __aligned_u64 driver_data[0]; +}; +struct ib_uverbs_query_srq_resp { + __u32 max_wr; + __u32 max_sge; + __u32 srq_limit; + __u32 reserved; +}; +struct ib_uverbs_destroy_srq { + __aligned_u64 response; + __u32 srq_handle; + __u32 reserved; +}; +struct ib_uverbs_destroy_srq_resp { + __u32 events_reported; +}; +struct ib_uverbs_ex_create_wq { + __u32 comp_mask; + __u32 wq_type; + __aligned_u64 user_handle; + __u32 pd_handle; + __u32 cq_handle; + __u32 max_wr; + __u32 max_sge; + __u32 create_flags; + __u32 reserved; +}; +struct ib_uverbs_ex_create_wq_resp { + __u32 comp_mask; + __u32 response_length; + __u32 wq_handle; + __u32 max_wr; + __u32 max_sge; + __u32 wqn; +}; +struct ib_uverbs_ex_destroy_wq { + __u32 comp_mask; + __u32 wq_handle; +}; +struct ib_uverbs_ex_destroy_wq_resp { + __u32 comp_mask; + __u32 response_length; + __u32 events_reported; + __u32 reserved; +}; +struct ib_uverbs_ex_modify_wq { + __u32 attr_mask; + __u32 wq_handle; + __u32 wq_state; + __u32 curr_wq_state; + __u32 flags; + __u32 flags_mask; +}; +#define IB_USER_VERBS_MAX_LOG_IND_TBL_SIZE 0x0d +struct ib_uverbs_ex_create_rwq_ind_table { + __u32 comp_mask; + __u32 log_ind_tbl_size; + + __u32 wq_handles[0]; +}; +struct ib_uverbs_ex_create_rwq_ind_table_resp { + __u32 comp_mask; + __u32 response_length; + __u32 ind_tbl_handle; + __u32 ind_tbl_num; +}; +struct ib_uverbs_ex_destroy_rwq_ind_table { + __u32 comp_mask; + __u32 ind_tbl_handle; +}; +struct ib_uverbs_cq_moderation { + __u16 cq_count; + __u16 cq_period; +}; +struct ib_uverbs_ex_modify_cq { + __u32 cq_handle; + __u32 attr_mask; + struct ib_uverbs_cq_moderation attr; + __u32 reserved; +}; +#define IB_DEVICE_NAME_MAX 64 +#endif diff --git a/linux-5.10/prebuilts/usr/include/rdma/mlx4-abi.h b/linux-5.10/prebuilts/usr/include/rdma/mlx4-abi.h new file mode 100644 index 0000000..2798ecd --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/rdma/mlx4-abi.h @@ -0,0 +1,117 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef MLX4_ABI_USER_H +#define MLX4_ABI_USER_H +#include +#define MLX4_IB_UVERBS_NO_DEV_CAPS_ABI_VERSION 3 +#define MLX4_IB_UVERBS_ABI_VERSION 4 +struct mlx4_ib_alloc_ucontext_resp_v3 { + __u32 qp_tab_size; + __u16 bf_reg_size; + __u16 bf_regs_per_page; +}; +enum { + MLX4_USER_DEV_CAP_LARGE_CQE = 1L << 0, +}; +struct mlx4_ib_alloc_ucontext_resp { + __u32 dev_caps; + __u32 qp_tab_size; + __u16 bf_reg_size; + __u16 bf_regs_per_page; + __u32 cqe_size; +}; +struct mlx4_ib_alloc_pd_resp { + __u32 pdn; + __u32 reserved; +}; +struct mlx4_ib_create_cq { + __aligned_u64 buf_addr; + __aligned_u64 db_addr; +}; +struct mlx4_ib_create_cq_resp { + __u32 cqn; + __u32 reserved; +}; +struct mlx4_ib_resize_cq { + __aligned_u64 buf_addr; +}; +struct mlx4_ib_create_srq { + __aligned_u64 buf_addr; + __aligned_u64 db_addr; +}; +struct mlx4_ib_create_srq_resp { + __u32 srqn; + __u32 reserved; +}; +struct mlx4_ib_create_qp_rss { + __aligned_u64 rx_hash_fields_mask; + __u8 rx_hash_function; + __u8 reserved[7]; + __u8 rx_hash_key[40]; + __u32 comp_mask; + __u32 reserved1; +}; +struct mlx4_ib_create_qp { + __aligned_u64 buf_addr; + __aligned_u64 db_addr; + __u8 log_sq_bb_count; + __u8 log_sq_stride; + __u8 sq_no_prefetch; + __u8 reserved; + __u32 inl_recv_sz; +}; +struct mlx4_ib_create_wq { + __aligned_u64 buf_addr; + __aligned_u64 db_addr; + __u8 log_range_size; + __u8 reserved[3]; + __u32 comp_mask; +}; +struct mlx4_ib_modify_wq { + __u32 comp_mask; + __u32 reserved; +}; +struct mlx4_ib_create_rwq_ind_tbl_resp { + __u32 response_length; + __u32 reserved; +}; +enum mlx4_ib_rx_hash_function_flags { + MLX4_IB_RX_HASH_FUNC_TOEPLITZ = 1 << 0, +}; +enum mlx4_ib_rx_hash_fields { + MLX4_IB_RX_HASH_SRC_IPV4 = 1 << 0, + MLX4_IB_RX_HASH_DST_IPV4 = 1 << 1, + MLX4_IB_RX_HASH_SRC_IPV6 = 1 << 2, + MLX4_IB_RX_HASH_DST_IPV6 = 1 << 3, + MLX4_IB_RX_HASH_SRC_PORT_TCP = 1 << 4, + MLX4_IB_RX_HASH_DST_PORT_TCP = 1 << 5, + MLX4_IB_RX_HASH_SRC_PORT_UDP = 1 << 6, + MLX4_IB_RX_HASH_DST_PORT_UDP = 1 << 7, + MLX4_IB_RX_HASH_INNER = 1ULL << 31, +}; +struct mlx4_ib_rss_caps { + __aligned_u64 rx_hash_fields_mask; + __u8 rx_hash_function; + __u8 reserved[7]; +}; +enum query_device_resp_mask { + MLX4_IB_QUERY_DEV_RESP_MASK_CORE_CLOCK_OFFSET = 1UL << 0, +}; +struct mlx4_ib_tso_caps { + __u32 max_tso; + + __u32 supported_qpts; +}; +struct mlx4_uverbs_ex_query_device_resp { + __u32 comp_mask; + __u32 response_length; + __aligned_u64 hca_core_clock_offset; + __u32 max_inl_recv_sz; + __u32 reserved; + struct mlx4_ib_rss_caps rss_caps; + struct mlx4_ib_tso_caps tso_caps; +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/rdma/mlx5-abi.h b/linux-5.10/prebuilts/usr/include/rdma/mlx5-abi.h new file mode 100644 index 0000000..5681be2 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/rdma/mlx5-abi.h @@ -0,0 +1,378 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef MLX5_ABI_USER_H +#define MLX5_ABI_USER_H +#include +#include +#include +enum { + MLX5_QP_FLAG_SIGNATURE = 1 << 0, + MLX5_QP_FLAG_SCATTER_CQE = 1 << 1, + MLX5_QP_FLAG_TUNNEL_OFFLOADS = 1 << 2, + MLX5_QP_FLAG_BFREG_INDEX = 1 << 3, + MLX5_QP_FLAG_TYPE_DCT = 1 << 4, + MLX5_QP_FLAG_TYPE_DCI = 1 << 5, + MLX5_QP_FLAG_TIR_ALLOW_SELF_LB_UC = 1 << 6, + MLX5_QP_FLAG_TIR_ALLOW_SELF_LB_MC = 1 << 7, + MLX5_QP_FLAG_ALLOW_SCATTER_CQE = 1 << 8, + MLX5_QP_FLAG_PACKET_BASED_CREDIT_MODE = 1 << 9, + MLX5_QP_FLAG_UAR_PAGE_INDEX = 1 << 10, +}; +enum { + MLX5_SRQ_FLAG_SIGNATURE = 1 << 0, +}; +enum { + MLX5_WQ_FLAG_SIGNATURE = 1 << 0, +}; +#define MLX5_IB_UVERBS_ABI_VERSION 1 +struct mlx5_ib_alloc_ucontext_req { + __u32 total_num_bfregs; + __u32 num_low_latency_bfregs; +}; +enum mlx5_lib_caps { + MLX5_LIB_CAP_4K_UAR = (__u64)1 << 0, + MLX5_LIB_CAP_DYN_UAR = (__u64)1 << 1, +}; +enum mlx5_ib_alloc_uctx_v2_flags { + MLX5_IB_ALLOC_UCTX_DEVX = 1 << 0, +}; +struct mlx5_ib_alloc_ucontext_req_v2 { + __u32 total_num_bfregs; + __u32 num_low_latency_bfregs; + __u32 flags; + __u32 comp_mask; + __u8 max_cqe_version; + __u8 reserved0; + __u16 reserved1; + __u32 reserved2; + __aligned_u64 lib_caps; +}; +enum mlx5_ib_alloc_ucontext_resp_mask { + MLX5_IB_ALLOC_UCONTEXT_RESP_MASK_CORE_CLOCK_OFFSET = 1UL << 0, + MLX5_IB_ALLOC_UCONTEXT_RESP_MASK_DUMP_FILL_MKEY = 1UL << 1, + MLX5_IB_ALLOC_UCONTEXT_RESP_MASK_ECE = 1UL << 2, +}; +enum mlx5_user_cmds_supp_uhw { + MLX5_USER_CMDS_SUPP_UHW_QUERY_DEVICE = 1 << 0, + MLX5_USER_CMDS_SUPP_UHW_CREATE_AH = 1 << 1, +}; +enum mlx5_user_inline_mode { + MLX5_USER_INLINE_MODE_NA, + MLX5_USER_INLINE_MODE_NONE, + MLX5_USER_INLINE_MODE_L2, + MLX5_USER_INLINE_MODE_IP, + MLX5_USER_INLINE_MODE_TCP_UDP, +}; +enum { + MLX5_USER_ALLOC_UCONTEXT_FLOW_ACTION_FLAGS_ESP_AES_GCM = 1 << 0, + MLX5_USER_ALLOC_UCONTEXT_FLOW_ACTION_FLAGS_ESP_AES_GCM_REQ_METADATA = 1 << 1, + MLX5_USER_ALLOC_UCONTEXT_FLOW_ACTION_FLAGS_ESP_AES_GCM_SPI_STEERING = 1 << 2, + MLX5_USER_ALLOC_UCONTEXT_FLOW_ACTION_FLAGS_ESP_AES_GCM_FULL_OFFLOAD = 1 << 3, + MLX5_USER_ALLOC_UCONTEXT_FLOW_ACTION_FLAGS_ESP_AES_GCM_TX_IV_IS_ESN = 1 << 4, +}; +struct mlx5_ib_alloc_ucontext_resp { + __u32 qp_tab_size; + __u32 bf_reg_size; + __u32 tot_bfregs; + __u32 cache_line_size; + __u16 max_sq_desc_sz; + __u16 max_rq_desc_sz; + __u32 max_send_wqebb; + __u32 max_recv_wr; + __u32 max_srq_recv_wr; + __u16 num_ports; + __u16 flow_action_flags; + __u32 comp_mask; + __u32 response_length; + __u8 cqe_version; + __u8 cmds_supp_uhw; + __u8 eth_min_inline; + __u8 clock_info_versions; + __aligned_u64 hca_core_clock_offset; + __u32 log_uar_size; + __u32 num_uars_per_page; + __u32 num_dyn_bfregs; + __u32 dump_fill_mkey; +}; +struct mlx5_ib_alloc_pd_resp { + __u32 pdn; +}; +struct mlx5_ib_tso_caps { + __u32 max_tso; + + __u32 supported_qpts; +}; +struct mlx5_ib_rss_caps { + __aligned_u64 rx_hash_fields_mask; + __u8 rx_hash_function; + __u8 reserved[7]; +}; +enum mlx5_ib_cqe_comp_res_format { + MLX5_IB_CQE_RES_FORMAT_HASH = 1 << 0, + MLX5_IB_CQE_RES_FORMAT_CSUM = 1 << 1, + MLX5_IB_CQE_RES_FORMAT_CSUM_STRIDX = 1 << 2, +}; +struct mlx5_ib_cqe_comp_caps { + __u32 max_num; + __u32 supported_format; +}; +enum mlx5_ib_packet_pacing_cap_flags { + MLX5_IB_PP_SUPPORT_BURST = 1 << 0, +}; +struct mlx5_packet_pacing_caps { + __u32 qp_rate_limit_min; + __u32 qp_rate_limit_max; + + __u32 supported_qpts; + __u8 cap_flags; + __u8 reserved[3]; +}; +enum mlx5_ib_mpw_caps { + MPW_RESERVED = 1 << 0, + MLX5_IB_ALLOW_MPW = 1 << 1, + MLX5_IB_SUPPORT_EMPW = 1 << 2, +}; +enum mlx5_ib_sw_parsing_offloads { + MLX5_IB_SW_PARSING = 1 << 0, + MLX5_IB_SW_PARSING_CSUM = 1 << 1, + MLX5_IB_SW_PARSING_LSO = 1 << 2, +}; +struct mlx5_ib_sw_parsing_caps { + __u32 sw_parsing_offloads; + + __u32 supported_qpts; +}; +struct mlx5_ib_striding_rq_caps { + __u32 min_single_stride_log_num_of_bytes; + __u32 max_single_stride_log_num_of_bytes; + __u32 min_single_wqe_log_num_of_strides; + __u32 max_single_wqe_log_num_of_strides; + + __u32 supported_qpts; + __u32 reserved; +}; +enum mlx5_ib_query_dev_resp_flags { + + MLX5_IB_QUERY_DEV_RESP_FLAGS_CQE_128B_COMP = 1 << 0, + MLX5_IB_QUERY_DEV_RESP_FLAGS_CQE_128B_PAD = 1 << 1, + MLX5_IB_QUERY_DEV_RESP_PACKET_BASED_CREDIT_MODE = 1 << 2, + MLX5_IB_QUERY_DEV_RESP_FLAGS_SCAT2CQE_DCT = 1 << 3, +}; +enum mlx5_ib_tunnel_offloads { + MLX5_IB_TUNNELED_OFFLOADS_VXLAN = 1 << 0, + MLX5_IB_TUNNELED_OFFLOADS_GRE = 1 << 1, + MLX5_IB_TUNNELED_OFFLOADS_GENEVE = 1 << 2, + MLX5_IB_TUNNELED_OFFLOADS_MPLS_GRE = 1 << 3, + MLX5_IB_TUNNELED_OFFLOADS_MPLS_UDP = 1 << 4, +}; +struct mlx5_ib_query_device_resp { + __u32 comp_mask; + __u32 response_length; + struct mlx5_ib_tso_caps tso_caps; + struct mlx5_ib_rss_caps rss_caps; + struct mlx5_ib_cqe_comp_caps cqe_comp_caps; + struct mlx5_packet_pacing_caps packet_pacing_caps; + __u32 mlx5_ib_support_multi_pkt_send_wqes; + __u32 flags; + struct mlx5_ib_sw_parsing_caps sw_parsing_caps; + struct mlx5_ib_striding_rq_caps striding_rq_caps; + __u32 tunnel_offloads_caps; + __u32 reserved; +}; +enum mlx5_ib_create_cq_flags { + MLX5_IB_CREATE_CQ_FLAGS_CQE_128B_PAD = 1 << 0, + MLX5_IB_CREATE_CQ_FLAGS_UAR_PAGE_INDEX = 1 << 1, +}; +struct mlx5_ib_create_cq { + __aligned_u64 buf_addr; + __aligned_u64 db_addr; + __u32 cqe_size; + __u8 cqe_comp_en; + __u8 cqe_comp_res_format; + __u16 flags; + __u16 uar_page_index; + __u16 reserved0; + __u32 reserved1; +}; +struct mlx5_ib_create_cq_resp { + __u32 cqn; + __u32 reserved; +}; +struct mlx5_ib_resize_cq { + __aligned_u64 buf_addr; + __u16 cqe_size; + __u16 reserved0; + __u32 reserved1; +}; +struct mlx5_ib_create_srq { + __aligned_u64 buf_addr; + __aligned_u64 db_addr; + __u32 flags; + __u32 reserved0; + __u32 uidx; + __u32 reserved1; +}; +struct mlx5_ib_create_srq_resp { + __u32 srqn; + __u32 reserved; +}; +struct mlx5_ib_create_qp { + __aligned_u64 buf_addr; + __aligned_u64 db_addr; + __u32 sq_wqe_count; + __u32 rq_wqe_count; + __u32 rq_wqe_shift; + __u32 flags; + __u32 uidx; + __u32 bfreg_index; + union { + __aligned_u64 sq_buf_addr; + __aligned_u64 access_key; + }; + __u32 ece_options; + __u32 reserved; +}; +enum mlx5_rx_hash_function_flags { + MLX5_RX_HASH_FUNC_TOEPLITZ = 1 << 0, +}; +enum mlx5_rx_hash_fields { + MLX5_RX_HASH_SRC_IPV4 = 1 << 0, + MLX5_RX_HASH_DST_IPV4 = 1 << 1, + MLX5_RX_HASH_SRC_IPV6 = 1 << 2, + MLX5_RX_HASH_DST_IPV6 = 1 << 3, + MLX5_RX_HASH_SRC_PORT_TCP = 1 << 4, + MLX5_RX_HASH_DST_PORT_TCP = 1 << 5, + MLX5_RX_HASH_SRC_PORT_UDP = 1 << 6, + MLX5_RX_HASH_DST_PORT_UDP = 1 << 7, + MLX5_RX_HASH_IPSEC_SPI = 1 << 8, + + MLX5_RX_HASH_INNER = (1UL << 31), +}; +struct mlx5_ib_create_qp_rss { + __aligned_u64 rx_hash_fields_mask; + __u8 rx_hash_function; + __u8 rx_key_len; + __u8 reserved[6]; + __u8 rx_hash_key[128]; + __u32 comp_mask; + __u32 flags; +}; +enum mlx5_ib_create_qp_resp_mask { + MLX5_IB_CREATE_QP_RESP_MASK_TIRN = 1UL << 0, + MLX5_IB_CREATE_QP_RESP_MASK_TISN = 1UL << 1, + MLX5_IB_CREATE_QP_RESP_MASK_RQN = 1UL << 2, + MLX5_IB_CREATE_QP_RESP_MASK_SQN = 1UL << 3, + MLX5_IB_CREATE_QP_RESP_MASK_TIR_ICM_ADDR = 1UL << 4, +}; +struct mlx5_ib_create_qp_resp { + __u32 bfreg_index; + __u32 ece_options; + __u32 comp_mask; + __u32 tirn; + __u32 tisn; + __u32 rqn; + __u32 sqn; + __u32 reserved1; + __u64 tir_icm_addr; +}; +struct mlx5_ib_alloc_mw { + __u32 comp_mask; + __u8 num_klms; + __u8 reserved1; + __u16 reserved2; +}; +enum mlx5_ib_create_wq_mask { + MLX5_IB_CREATE_WQ_STRIDING_RQ = (1 << 0), +}; +struct mlx5_ib_create_wq { + __aligned_u64 buf_addr; + __aligned_u64 db_addr; + __u32 rq_wqe_count; + __u32 rq_wqe_shift; + __u32 user_index; + __u32 flags; + __u32 comp_mask; + __u32 single_stride_log_num_of_bytes; + __u32 single_wqe_log_num_of_strides; + __u32 two_byte_shift_en; +}; +struct mlx5_ib_create_ah_resp { + __u32 response_length; + __u8 dmac[ETH_ALEN]; + __u8 reserved[6]; +}; +struct mlx5_ib_burst_info { + __u32 max_burst_sz; + __u16 typical_pkt_sz; + __u16 reserved; +}; +struct mlx5_ib_modify_qp { + __u32 comp_mask; + struct mlx5_ib_burst_info burst_info; + __u32 ece_options; +}; +struct mlx5_ib_modify_qp_resp { + __u32 response_length; + __u32 dctn; + __u32 ece_options; + __u32 reserved; +}; +struct mlx5_ib_create_wq_resp { + __u32 response_length; + __u32 reserved; +}; +struct mlx5_ib_create_rwq_ind_tbl_resp { + __u32 response_length; + __u32 reserved; +}; +struct mlx5_ib_modify_wq { + __u32 comp_mask; + __u32 reserved; +}; +struct mlx5_ib_clock_info { + __u32 sign; + __u32 resv; + __aligned_u64 nsec; + __aligned_u64 cycles; + __aligned_u64 frac; + __u32 mult; + __u32 shift; + __aligned_u64 mask; + __aligned_u64 overflow_period; +}; +enum mlx5_ib_mmap_cmd { + MLX5_IB_MMAP_REGULAR_PAGE = 0, + MLX5_IB_MMAP_GET_CONTIGUOUS_PAGES = 1, + MLX5_IB_MMAP_WC_PAGE = 2, + MLX5_IB_MMAP_NC_PAGE = 3, + + MLX5_IB_MMAP_CORE_CLOCK = 5, + MLX5_IB_MMAP_ALLOC_WC = 6, + MLX5_IB_MMAP_CLOCK_INFO = 7, + MLX5_IB_MMAP_DEVICE_MEM = 8, +}; +enum { + MLX5_IB_CLOCK_INFO_KERNEL_UPDATING = 1, +}; +enum { + MLX5_IB_CLOCK_INFO_V1 = 0, +}; +struct mlx5_ib_flow_counters_desc { + __u32 description; + __u32 index; +}; +struct mlx5_ib_flow_counters_data { + RDMA_UAPI_PTR(struct mlx5_ib_flow_counters_desc *, counters_data); + __u32 ncounters; + __u32 reserved; +}; +struct mlx5_ib_create_flow { + __u32 ncounters_data; + __u32 reserved; + + struct mlx5_ib_flow_counters_data data[]; +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/rdma/mlx5_user_ioctl_cmds.h b/linux-5.10/prebuilts/usr/include/rdma/mlx5_user_ioctl_cmds.h new file mode 100644 index 0000000..ca4b125 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/rdma/mlx5_user_ioctl_cmds.h @@ -0,0 +1,227 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef MLX5_USER_IOCTL_CMDS_H +#define MLX5_USER_IOCTL_CMDS_H +#include +#include +enum mlx5_ib_create_flow_action_attrs { + + MLX5_IB_ATTR_CREATE_FLOW_ACTION_FLAGS = (1U << UVERBS_ID_NS_SHIFT), +}; +enum mlx5_ib_alloc_dm_attrs { + MLX5_IB_ATTR_ALLOC_DM_RESP_START_OFFSET = (1U << UVERBS_ID_NS_SHIFT), + MLX5_IB_ATTR_ALLOC_DM_RESP_PAGE_INDEX, + MLX5_IB_ATTR_ALLOC_DM_REQ_TYPE, +}; +enum mlx5_ib_devx_methods { + MLX5_IB_METHOD_DEVX_OTHER = (1U << UVERBS_ID_NS_SHIFT), + MLX5_IB_METHOD_DEVX_QUERY_UAR, + MLX5_IB_METHOD_DEVX_QUERY_EQN, + MLX5_IB_METHOD_DEVX_SUBSCRIBE_EVENT, +}; +enum mlx5_ib_devx_other_attrs { + MLX5_IB_ATTR_DEVX_OTHER_CMD_IN = (1U << UVERBS_ID_NS_SHIFT), + MLX5_IB_ATTR_DEVX_OTHER_CMD_OUT, +}; +enum mlx5_ib_devx_obj_create_attrs { + MLX5_IB_ATTR_DEVX_OBJ_CREATE_HANDLE = (1U << UVERBS_ID_NS_SHIFT), + MLX5_IB_ATTR_DEVX_OBJ_CREATE_CMD_IN, + MLX5_IB_ATTR_DEVX_OBJ_CREATE_CMD_OUT, +}; +enum mlx5_ib_devx_query_uar_attrs { + MLX5_IB_ATTR_DEVX_QUERY_UAR_USER_IDX = (1U << UVERBS_ID_NS_SHIFT), + MLX5_IB_ATTR_DEVX_QUERY_UAR_DEV_IDX, +}; +enum mlx5_ib_devx_obj_destroy_attrs { + MLX5_IB_ATTR_DEVX_OBJ_DESTROY_HANDLE = (1U << UVERBS_ID_NS_SHIFT), +}; +enum mlx5_ib_devx_obj_modify_attrs { + MLX5_IB_ATTR_DEVX_OBJ_MODIFY_HANDLE = (1U << UVERBS_ID_NS_SHIFT), + MLX5_IB_ATTR_DEVX_OBJ_MODIFY_CMD_IN, + MLX5_IB_ATTR_DEVX_OBJ_MODIFY_CMD_OUT, +}; +enum mlx5_ib_devx_obj_query_attrs { + MLX5_IB_ATTR_DEVX_OBJ_QUERY_HANDLE = (1U << UVERBS_ID_NS_SHIFT), + MLX5_IB_ATTR_DEVX_OBJ_QUERY_CMD_IN, + MLX5_IB_ATTR_DEVX_OBJ_QUERY_CMD_OUT, +}; +enum mlx5_ib_devx_obj_query_async_attrs { + MLX5_IB_ATTR_DEVX_OBJ_QUERY_ASYNC_HANDLE = (1U << UVERBS_ID_NS_SHIFT), + MLX5_IB_ATTR_DEVX_OBJ_QUERY_ASYNC_CMD_IN, + MLX5_IB_ATTR_DEVX_OBJ_QUERY_ASYNC_FD, + MLX5_IB_ATTR_DEVX_OBJ_QUERY_ASYNC_WR_ID, + MLX5_IB_ATTR_DEVX_OBJ_QUERY_ASYNC_OUT_LEN, +}; +enum mlx5_ib_devx_subscribe_event_attrs { + MLX5_IB_ATTR_DEVX_SUBSCRIBE_EVENT_FD_HANDLE = (1U << UVERBS_ID_NS_SHIFT), + MLX5_IB_ATTR_DEVX_SUBSCRIBE_EVENT_OBJ_HANDLE, + MLX5_IB_ATTR_DEVX_SUBSCRIBE_EVENT_TYPE_NUM_LIST, + MLX5_IB_ATTR_DEVX_SUBSCRIBE_EVENT_FD_NUM, + MLX5_IB_ATTR_DEVX_SUBSCRIBE_EVENT_COOKIE, +}; +enum mlx5_ib_devx_query_eqn_attrs { + MLX5_IB_ATTR_DEVX_QUERY_EQN_USER_VEC = (1U << UVERBS_ID_NS_SHIFT), + MLX5_IB_ATTR_DEVX_QUERY_EQN_DEV_EQN, +}; +enum mlx5_ib_devx_obj_methods { + MLX5_IB_METHOD_DEVX_OBJ_CREATE = (1U << UVERBS_ID_NS_SHIFT), + MLX5_IB_METHOD_DEVX_OBJ_DESTROY, + MLX5_IB_METHOD_DEVX_OBJ_MODIFY, + MLX5_IB_METHOD_DEVX_OBJ_QUERY, + MLX5_IB_METHOD_DEVX_OBJ_ASYNC_QUERY, +}; +enum mlx5_ib_var_alloc_attrs { + MLX5_IB_ATTR_VAR_OBJ_ALLOC_HANDLE = (1U << UVERBS_ID_NS_SHIFT), + MLX5_IB_ATTR_VAR_OBJ_ALLOC_MMAP_OFFSET, + MLX5_IB_ATTR_VAR_OBJ_ALLOC_MMAP_LENGTH, + MLX5_IB_ATTR_VAR_OBJ_ALLOC_PAGE_ID, +}; +enum mlx5_ib_var_obj_destroy_attrs { + MLX5_IB_ATTR_VAR_OBJ_DESTROY_HANDLE = (1U << UVERBS_ID_NS_SHIFT), +}; +enum mlx5_ib_var_obj_methods { + MLX5_IB_METHOD_VAR_OBJ_ALLOC = (1U << UVERBS_ID_NS_SHIFT), + MLX5_IB_METHOD_VAR_OBJ_DESTROY, +}; +enum mlx5_ib_uar_alloc_attrs { + MLX5_IB_ATTR_UAR_OBJ_ALLOC_HANDLE = (1U << UVERBS_ID_NS_SHIFT), + MLX5_IB_ATTR_UAR_OBJ_ALLOC_TYPE, + MLX5_IB_ATTR_UAR_OBJ_ALLOC_MMAP_OFFSET, + MLX5_IB_ATTR_UAR_OBJ_ALLOC_MMAP_LENGTH, + MLX5_IB_ATTR_UAR_OBJ_ALLOC_PAGE_ID, +}; +enum mlx5_ib_uar_obj_destroy_attrs { + MLX5_IB_ATTR_UAR_OBJ_DESTROY_HANDLE = (1U << UVERBS_ID_NS_SHIFT), +}; +enum mlx5_ib_uar_obj_methods { + MLX5_IB_METHOD_UAR_OBJ_ALLOC = (1U << UVERBS_ID_NS_SHIFT), + MLX5_IB_METHOD_UAR_OBJ_DESTROY, +}; +enum mlx5_ib_devx_umem_reg_attrs { + MLX5_IB_ATTR_DEVX_UMEM_REG_HANDLE = (1U << UVERBS_ID_NS_SHIFT), + MLX5_IB_ATTR_DEVX_UMEM_REG_ADDR, + MLX5_IB_ATTR_DEVX_UMEM_REG_LEN, + MLX5_IB_ATTR_DEVX_UMEM_REG_ACCESS, + MLX5_IB_ATTR_DEVX_UMEM_REG_OUT_ID, +}; +enum mlx5_ib_devx_umem_dereg_attrs { + MLX5_IB_ATTR_DEVX_UMEM_DEREG_HANDLE = (1U << UVERBS_ID_NS_SHIFT), +}; +enum mlx5_ib_pp_obj_methods { + MLX5_IB_METHOD_PP_OBJ_ALLOC = (1U << UVERBS_ID_NS_SHIFT), + MLX5_IB_METHOD_PP_OBJ_DESTROY, +}; +enum mlx5_ib_pp_alloc_attrs { + MLX5_IB_ATTR_PP_OBJ_ALLOC_HANDLE = (1U << UVERBS_ID_NS_SHIFT), + MLX5_IB_ATTR_PP_OBJ_ALLOC_CTX, + MLX5_IB_ATTR_PP_OBJ_ALLOC_FLAGS, + MLX5_IB_ATTR_PP_OBJ_ALLOC_INDEX, +}; +enum mlx5_ib_pp_obj_destroy_attrs { + MLX5_IB_ATTR_PP_OBJ_DESTROY_HANDLE = (1U << UVERBS_ID_NS_SHIFT), +}; +enum mlx5_ib_devx_umem_methods { + MLX5_IB_METHOD_DEVX_UMEM_REG = (1U << UVERBS_ID_NS_SHIFT), + MLX5_IB_METHOD_DEVX_UMEM_DEREG, +}; +enum mlx5_ib_devx_async_cmd_fd_alloc_attrs { + MLX5_IB_ATTR_DEVX_ASYNC_CMD_FD_ALLOC_HANDLE = (1U << UVERBS_ID_NS_SHIFT), +}; +enum mlx5_ib_devx_async_event_fd_alloc_attrs { + MLX5_IB_ATTR_DEVX_ASYNC_EVENT_FD_ALLOC_HANDLE = (1U << UVERBS_ID_NS_SHIFT), + MLX5_IB_ATTR_DEVX_ASYNC_EVENT_FD_ALLOC_FLAGS, +}; +enum mlx5_ib_devx_async_cmd_fd_methods { + MLX5_IB_METHOD_DEVX_ASYNC_CMD_FD_ALLOC = (1U << UVERBS_ID_NS_SHIFT), +}; +enum mlx5_ib_devx_async_event_fd_methods { + MLX5_IB_METHOD_DEVX_ASYNC_EVENT_FD_ALLOC = (1U << UVERBS_ID_NS_SHIFT), +}; +enum mlx5_ib_objects { + MLX5_IB_OBJECT_DEVX = (1U << UVERBS_ID_NS_SHIFT), + MLX5_IB_OBJECT_DEVX_OBJ, + MLX5_IB_OBJECT_DEVX_UMEM, + MLX5_IB_OBJECT_FLOW_MATCHER, + MLX5_IB_OBJECT_DEVX_ASYNC_CMD_FD, + MLX5_IB_OBJECT_DEVX_ASYNC_EVENT_FD, + MLX5_IB_OBJECT_VAR, + MLX5_IB_OBJECT_PP, + MLX5_IB_OBJECT_UAR, +}; +enum mlx5_ib_flow_matcher_create_attrs { + MLX5_IB_ATTR_FLOW_MATCHER_CREATE_HANDLE = (1U << UVERBS_ID_NS_SHIFT), + MLX5_IB_ATTR_FLOW_MATCHER_MATCH_MASK, + MLX5_IB_ATTR_FLOW_MATCHER_FLOW_TYPE, + MLX5_IB_ATTR_FLOW_MATCHER_MATCH_CRITERIA, + MLX5_IB_ATTR_FLOW_MATCHER_FLOW_FLAGS, + MLX5_IB_ATTR_FLOW_MATCHER_FT_TYPE, +}; +enum mlx5_ib_flow_matcher_destroy_attrs { + MLX5_IB_ATTR_FLOW_MATCHER_DESTROY_HANDLE = (1U << UVERBS_ID_NS_SHIFT), +}; +enum mlx5_ib_flow_matcher_methods { + MLX5_IB_METHOD_FLOW_MATCHER_CREATE = (1U << UVERBS_ID_NS_SHIFT), + MLX5_IB_METHOD_FLOW_MATCHER_DESTROY, +}; +enum mlx5_ib_device_query_context_attrs { + MLX5_IB_ATTR_QUERY_CONTEXT_RESP_UCTX = (1U << UVERBS_ID_NS_SHIFT), +}; +#define MLX5_IB_DW_MATCH_PARAM 0x80 +struct mlx5_ib_match_params { + __u32 match_params[MLX5_IB_DW_MATCH_PARAM]; +}; +enum mlx5_ib_flow_type { + MLX5_IB_FLOW_TYPE_NORMAL, + MLX5_IB_FLOW_TYPE_SNIFFER, + MLX5_IB_FLOW_TYPE_ALL_DEFAULT, + MLX5_IB_FLOW_TYPE_MC_DEFAULT, +}; +enum mlx5_ib_create_flow_flags { + MLX5_IB_ATTR_CREATE_FLOW_FLAGS_DEFAULT_MISS = 1 << 0, + MLX5_IB_ATTR_CREATE_FLOW_FLAGS_DROP = 1 << 1, +}; +enum mlx5_ib_create_flow_attrs { + MLX5_IB_ATTR_CREATE_FLOW_HANDLE = (1U << UVERBS_ID_NS_SHIFT), + MLX5_IB_ATTR_CREATE_FLOW_MATCH_VALUE, + MLX5_IB_ATTR_CREATE_FLOW_DEST_QP, + MLX5_IB_ATTR_CREATE_FLOW_DEST_DEVX, + MLX5_IB_ATTR_CREATE_FLOW_MATCHER, + MLX5_IB_ATTR_CREATE_FLOW_ARR_FLOW_ACTIONS, + MLX5_IB_ATTR_CREATE_FLOW_TAG, + MLX5_IB_ATTR_CREATE_FLOW_ARR_COUNTERS_DEVX, + MLX5_IB_ATTR_CREATE_FLOW_ARR_COUNTERS_DEVX_OFFSET, + MLX5_IB_ATTR_CREATE_FLOW_FLAGS, +}; +enum mlx5_ib_destroy_flow_attrs { + MLX5_IB_ATTR_DESTROY_FLOW_HANDLE = (1U << UVERBS_ID_NS_SHIFT), +}; +enum mlx5_ib_flow_methods { + MLX5_IB_METHOD_CREATE_FLOW = (1U << UVERBS_ID_NS_SHIFT), + MLX5_IB_METHOD_DESTROY_FLOW, +}; +enum mlx5_ib_flow_action_methods { + MLX5_IB_METHOD_FLOW_ACTION_CREATE_MODIFY_HEADER = (1U << UVERBS_ID_NS_SHIFT), + MLX5_IB_METHOD_FLOW_ACTION_CREATE_PACKET_REFORMAT, +}; +enum mlx5_ib_create_flow_action_create_modify_header_attrs { + MLX5_IB_ATTR_CREATE_MODIFY_HEADER_HANDLE = (1U << UVERBS_ID_NS_SHIFT), + MLX5_IB_ATTR_CREATE_MODIFY_HEADER_ACTIONS_PRM, + MLX5_IB_ATTR_CREATE_MODIFY_HEADER_FT_TYPE, +}; +enum mlx5_ib_create_flow_action_create_packet_reformat_attrs { + MLX5_IB_ATTR_CREATE_PACKET_REFORMAT_HANDLE = (1U << UVERBS_ID_NS_SHIFT), + MLX5_IB_ATTR_CREATE_PACKET_REFORMAT_TYPE, + MLX5_IB_ATTR_CREATE_PACKET_REFORMAT_FT_TYPE, + MLX5_IB_ATTR_CREATE_PACKET_REFORMAT_DATA_BUF, +}; +enum mlx5_ib_query_pd_attrs { + MLX5_IB_ATTR_QUERY_PD_HANDLE = (1U << UVERBS_ID_NS_SHIFT), + MLX5_IB_ATTR_QUERY_PD_RESP_PDN, +}; +enum mlx5_ib_pd_methods { + MLX5_IB_METHOD_PD_QUERY = (1U << UVERBS_ID_NS_SHIFT), +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/rdma/mlx5_user_ioctl_verbs.h b/linux-5.10/prebuilts/usr/include/rdma/mlx5_user_ioctl_verbs.h new file mode 100644 index 0000000..321fef8 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/rdma/mlx5_user_ioctl_verbs.h @@ -0,0 +1,48 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef MLX5_USER_IOCTL_VERBS_H +#define MLX5_USER_IOCTL_VERBS_H +#include +enum mlx5_ib_uapi_flow_action_flags { + MLX5_IB_UAPI_FLOW_ACTION_FLAGS_REQUIRE_METADATA = 1 << 0, +}; +enum mlx5_ib_uapi_flow_table_type { + MLX5_IB_UAPI_FLOW_TABLE_TYPE_NIC_RX = 0x0, + MLX5_IB_UAPI_FLOW_TABLE_TYPE_NIC_TX = 0x1, + MLX5_IB_UAPI_FLOW_TABLE_TYPE_FDB = 0x2, + MLX5_IB_UAPI_FLOW_TABLE_TYPE_RDMA_RX = 0x3, + MLX5_IB_UAPI_FLOW_TABLE_TYPE_RDMA_TX = 0x4, +}; +enum mlx5_ib_uapi_flow_action_packet_reformat_type { + MLX5_IB_UAPI_FLOW_ACTION_PACKET_REFORMAT_TYPE_L2_TUNNEL_TO_L2 = 0x0, + MLX5_IB_UAPI_FLOW_ACTION_PACKET_REFORMAT_TYPE_L2_TO_L2_TUNNEL = 0x1, + MLX5_IB_UAPI_FLOW_ACTION_PACKET_REFORMAT_TYPE_L3_TUNNEL_TO_L2 = 0x2, + MLX5_IB_UAPI_FLOW_ACTION_PACKET_REFORMAT_TYPE_L2_TO_L3_TUNNEL = 0x3, +}; +struct mlx5_ib_uapi_devx_async_cmd_hdr { + __aligned_u64 wr_id; + __u8 out_data[]; +}; +enum mlx5_ib_uapi_dm_type { + MLX5_IB_UAPI_DM_TYPE_MEMIC, + MLX5_IB_UAPI_DM_TYPE_STEERING_SW_ICM, + MLX5_IB_UAPI_DM_TYPE_HEADER_MODIFY_SW_ICM, +}; +enum mlx5_ib_uapi_devx_create_event_channel_flags { + MLX5_IB_UAPI_DEVX_CR_EV_CH_FLAGS_OMIT_DATA = 1 << 0, +}; +struct mlx5_ib_uapi_devx_async_event_hdr { + __aligned_u64 cookie; + __u8 out_data[]; +}; +enum mlx5_ib_uapi_pp_alloc_flags { + MLX5_IB_UAPI_PP_ALLOC_FLAGS_DEDICATED_INDEX = 1 << 0, +}; +enum mlx5_ib_uapi_uar_alloc_type { + MLX5_IB_UAPI_UAR_ALLOC_TYPE_BF = 0x0, + MLX5_IB_UAPI_UAR_ALLOC_TYPE_NC = 0x1, +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/rdma/mthca-abi.h b/linux-5.10/prebuilts/usr/include/rdma/mthca-abi.h new file mode 100644 index 0000000..a2885be --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/rdma/mthca-abi.h @@ -0,0 +1,56 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef MTHCA_ABI_USER_H +#define MTHCA_ABI_USER_H +#include +#define MTHCA_UVERBS_ABI_VERSION 1 +struct mthca_alloc_ucontext_resp { + __u32 qp_tab_size; + __u32 uarc_size; +}; +struct mthca_alloc_pd_resp { + __u32 pdn; + __u32 reserved; +}; +#define MTHCA_MR_DMASYNC 0x1 +struct mthca_reg_mr { + __u32 mr_attrs; + __u32 reserved; +}; +struct mthca_create_cq { + __u32 lkey; + __u32 pdn; + __aligned_u64 arm_db_page; + __aligned_u64 set_db_page; + __u32 arm_db_index; + __u32 set_db_index; +}; +struct mthca_create_cq_resp { + __u32 cqn; + __u32 reserved; +}; +struct mthca_resize_cq { + __u32 lkey; + __u32 reserved; +}; +struct mthca_create_srq { + __u32 lkey; + __u32 db_index; + __aligned_u64 db_page; +}; +struct mthca_create_srq_resp { + __u32 srqn; + __u32 reserved; +}; +struct mthca_create_qp { + __u32 lkey; + __u32 reserved; + __aligned_u64 sq_db_page; + __aligned_u64 rq_db_page; + __u32 sq_db_index; + __u32 rq_db_index; +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/rdma/nes-abi.h b/linux-5.10/prebuilts/usr/include/rdma/nes-abi.h new file mode 100644 index 0000000..9e4d5f0 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/rdma/nes-abi.h @@ -0,0 +1,63 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef NES_ABI_USER_H +#define NES_ABI_USER_H +#include +#define NES_ABI_USERSPACE_VER 2 +#define NES_ABI_KERNEL_VER 2 +struct nes_alloc_ucontext_req { + __u32 reserved32; + __u8 userspace_ver; + __u8 reserved8[3]; +}; +struct nes_alloc_ucontext_resp { + __u32 max_pds; + __u32 max_qps; + __u32 wq_size; + __u8 virtwq; + __u8 kernel_ver; + __u8 reserved[2]; +}; +struct nes_alloc_pd_resp { + __u32 pd_id; + __u32 mmap_db_index; +}; +struct nes_create_cq_req { + __aligned_u64 user_cq_buffer; + __u32 mcrqf; + __u8 reserved[4]; +}; +struct nes_create_qp_req { + __aligned_u64 user_wqe_buffers; + __aligned_u64 user_qp_buffer; +}; +enum iwnes_memreg_type { + IWNES_MEMREG_TYPE_MEM = 0x0000, + IWNES_MEMREG_TYPE_QP = 0x0001, + IWNES_MEMREG_TYPE_CQ = 0x0002, + IWNES_MEMREG_TYPE_MW = 0x0003, + IWNES_MEMREG_TYPE_FMR = 0x0004, + IWNES_MEMREG_TYPE_FMEM = 0x0005, +}; +struct nes_mem_reg_req { + __u32 reg_type; + __u32 reserved; +}; +struct nes_create_cq_resp { + __u32 cq_id; + __u32 cq_size; + __u32 mmap_db_index; + __u32 reserved; +}; +struct nes_create_qp_resp { + __u32 qp_id; + __u32 actual_sq_size; + __u32 actual_rq_size; + __u32 mmap_sq_db_index; + __u32 mmap_rq_db_index; + __u32 nes_drv_opt; +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/rdma/ocrdma-abi.h b/linux-5.10/prebuilts/usr/include/rdma/ocrdma-abi.h new file mode 100644 index 0000000..8064249 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/rdma/ocrdma-abi.h @@ -0,0 +1,97 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef OCRDMA_ABI_USER_H +#define OCRDMA_ABI_USER_H +#include +#define OCRDMA_ABI_VERSION 2 +#define OCRDMA_BE_ROCE_ABI_VERSION 1 +struct ocrdma_alloc_ucontext_resp { + __u32 dev_id; + __u32 wqe_size; + __u32 max_inline_data; + __u32 dpp_wqe_size; + __aligned_u64 ah_tbl_page; + __u32 ah_tbl_len; + __u32 rqe_size; + __u8 fw_ver[32]; + + __aligned_u64 rsvd1; + __aligned_u64 rsvd2; +}; +struct ocrdma_alloc_pd_ureq { + __u32 rsvd[2]; +}; +struct ocrdma_alloc_pd_uresp { + __u32 id; + __u32 dpp_enabled; + __u32 dpp_page_addr_hi; + __u32 dpp_page_addr_lo; + __u32 rsvd[2]; +}; +struct ocrdma_create_cq_ureq { + __u32 dpp_cq; + __u32 rsvd; +}; +#define MAX_CQ_PAGES 8 +struct ocrdma_create_cq_uresp { + __u32 cq_id; + __u32 page_size; + __u32 num_pages; + __u32 max_hw_cqe; + __aligned_u64 page_addr[MAX_CQ_PAGES]; + __aligned_u64 db_page_addr; + __u32 db_page_size; + __u32 phase_change; + + __aligned_u64 rsvd1; + __aligned_u64 rsvd2; +}; +#define MAX_QP_PAGES 8 +#define MAX_UD_AV_PAGES 8 +struct ocrdma_create_qp_ureq { + __u8 enable_dpp_cq; + __u8 rsvd; + __u16 dpp_cq_id; + __u32 rsvd1; +}; +struct ocrdma_create_qp_uresp { + __u16 qp_id; + __u16 sq_dbid; + __u16 rq_dbid; + __u16 resv0; + __u32 sq_page_size; + __u32 rq_page_size; + __u32 num_sq_pages; + __u32 num_rq_pages; + __aligned_u64 sq_page_addr[MAX_QP_PAGES]; + __aligned_u64 rq_page_addr[MAX_QP_PAGES]; + __aligned_u64 db_page_addr; + __u32 db_page_size; + __u32 dpp_credit; + __u32 dpp_offset; + __u32 num_wqe_allocated; + __u32 num_rqe_allocated; + __u32 db_sq_offset; + __u32 db_rq_offset; + __u32 db_shift; + __aligned_u64 rsvd[11]; +}; +struct ocrdma_create_srq_uresp { + __u16 rq_dbid; + __u16 resv0; + __u32 resv1; + __u32 rq_page_size; + __u32 num_rq_pages; + __aligned_u64 rq_page_addr[MAX_QP_PAGES]; + __aligned_u64 db_page_addr; + __u32 db_page_size; + __u32 num_rqe_allocated; + __u32 db_rq_offset; + __u32 db_shift; + __aligned_u64 rsvd2; + __aligned_u64 rsvd3; +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/rdma/qedr-abi.h b/linux-5.10/prebuilts/usr/include/rdma/qedr-abi.h new file mode 100644 index 0000000..ec7a7f1 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/rdma/qedr-abi.h @@ -0,0 +1,112 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef __QEDR_USER_H__ +#define __QEDR_USER_H__ +#include +#define QEDR_ABI_VERSION (8) +enum qedr_alloc_ucontext_flags { + QEDR_ALLOC_UCTX_EDPM_MODE = 1 << 0, + QEDR_ALLOC_UCTX_DB_REC = 1 << 1, + QEDR_SUPPORT_DPM_SIZES = 1 << 2, +}; +struct qedr_alloc_ucontext_req { + __u32 context_flags; + __u32 reserved; +}; +#define QEDR_LDPM_MAX_SIZE (8192) +#define QEDR_EDPM_TRANS_SIZE (64) +#define QEDR_EDPM_MAX_SIZE (ROCE_REQ_MAX_INLINE_DATA_SIZE) +enum qedr_rdma_dpm_type { + QEDR_DPM_TYPE_NONE = 0, + QEDR_DPM_TYPE_ROCE_ENHANCED = 1 << 0, + QEDR_DPM_TYPE_ROCE_LEGACY = 1 << 1, + QEDR_DPM_TYPE_IWARP_LEGACY = 1 << 2, + QEDR_DPM_TYPE_ROCE_EDPM_MODE = 1 << 3, + QEDR_DPM_SIZES_SET = 1 << 4, +}; +struct qedr_alloc_ucontext_resp { + __aligned_u64 db_pa; + __u32 db_size; + __u32 max_send_wr; + __u32 max_recv_wr; + __u32 max_srq_wr; + __u32 sges_per_send_wr; + __u32 sges_per_recv_wr; + __u32 sges_per_srq_wr; + __u32 max_cqes; + __u8 dpm_flags; + __u8 wids_enabled; + __u16 wid_count; + __u16 ldpm_limit_size; + __u8 edpm_trans_size; + __u8 reserved; + __u16 edpm_limit_size; + __u8 padding[6]; +}; +struct qedr_alloc_pd_ureq { + __aligned_u64 rsvd1; +}; +struct qedr_alloc_pd_uresp { + __u32 pd_id; + __u32 reserved; +}; +struct qedr_create_cq_ureq { + __aligned_u64 addr; + __aligned_u64 len; +}; +struct qedr_create_cq_uresp { + __u32 db_offset; + __u16 icid; + __u16 reserved; + __aligned_u64 db_rec_addr; +}; +struct qedr_create_qp_ureq { + __u32 qp_handle_hi; + __u32 qp_handle_lo; + + + __aligned_u64 sq_addr; + + __aligned_u64 sq_len; + + + __aligned_u64 rq_addr; + + __aligned_u64 rq_len; +}; +struct qedr_create_qp_uresp { + __u32 qp_id; + __u32 atomic_supported; + + __u32 sq_db_offset; + __u16 sq_icid; + + __u32 rq_db_offset; + __u16 rq_icid; + __u32 rq_db2_offset; + __u32 reserved; + + __aligned_u64 sq_db_rec_addr; + + __aligned_u64 rq_db_rec_addr; +}; +struct qedr_create_srq_ureq { + + __aligned_u64 prod_pair_addr; + + __aligned_u64 srq_addr; + + __aligned_u64 srq_len; +}; +struct qedr_create_srq_uresp { + __u16 srq_id; + __u16 reserved0; + __u32 reserved1; +}; +struct qedr_user_db_rec { + __aligned_u64 db_data; +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/rdma/rdma_netlink.h b/linux-5.10/prebuilts/usr/include/rdma/rdma_netlink.h new file mode 100644 index 0000000..09d3f2d --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/rdma/rdma_netlink.h @@ -0,0 +1,343 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI_RDMA_NETLINK_H +#define _UAPI_RDMA_NETLINK_H +#include +enum { + RDMA_NL_IWCM = 2, + RDMA_NL_RSVD, + RDMA_NL_LS, + RDMA_NL_NLDEV, + RDMA_NL_NUM_CLIENTS +}; +enum { + RDMA_NL_GROUP_IWPM = 2, + RDMA_NL_GROUP_LS, + RDMA_NL_NUM_GROUPS +}; +#define RDMA_NL_GET_CLIENT(type) ((type & (((1 << 6) - 1) << 10)) >> 10) +#define RDMA_NL_GET_OP(type) (type & ((1 << 10) - 1)) +#define RDMA_NL_GET_TYPE(client, op) ((client << 10) + op) +#define IWPM_UABI_VERSION_MIN 3 +#define IWPM_UABI_VERSION 4 +enum { + + IWPM_FLAGS_NO_PORT_MAP = (1 << 0), +}; +enum { + RDMA_NL_IWPM_REG_PID = 0, + RDMA_NL_IWPM_ADD_MAPPING, + RDMA_NL_IWPM_QUERY_MAPPING, + RDMA_NL_IWPM_REMOVE_MAPPING, + RDMA_NL_IWPM_REMOTE_INFO, + RDMA_NL_IWPM_HANDLE_ERR, + RDMA_NL_IWPM_MAPINFO, + RDMA_NL_IWPM_MAPINFO_NUM, + RDMA_NL_IWPM_HELLO, + RDMA_NL_IWPM_NUM_OPS +}; +enum { + IWPM_NLA_REG_PID_UNSPEC = 0, + IWPM_NLA_REG_PID_SEQ, + IWPM_NLA_REG_IF_NAME, + IWPM_NLA_REG_IBDEV_NAME, + IWPM_NLA_REG_ULIB_NAME, + IWPM_NLA_REG_PID_MAX +}; +enum { + IWPM_NLA_RREG_PID_UNSPEC = 0, + IWPM_NLA_RREG_PID_SEQ, + IWPM_NLA_RREG_IBDEV_NAME, + IWPM_NLA_RREG_ULIB_NAME, + IWPM_NLA_RREG_ULIB_VER, + IWPM_NLA_RREG_PID_ERR, + IWPM_NLA_RREG_PID_MAX +}; +enum { + IWPM_NLA_MANAGE_MAPPING_UNSPEC = 0, + IWPM_NLA_MANAGE_MAPPING_SEQ, + IWPM_NLA_MANAGE_ADDR, + IWPM_NLA_MANAGE_FLAGS, + IWPM_NLA_MANAGE_MAPPING_MAX +}; +enum { + IWPM_NLA_RMANAGE_MAPPING_UNSPEC = 0, + IWPM_NLA_RMANAGE_MAPPING_SEQ, + IWPM_NLA_RMANAGE_ADDR, + IWPM_NLA_RMANAGE_MAPPED_LOC_ADDR, + + IWPM_NLA_MANAGE_MAPPED_LOC_ADDR = IWPM_NLA_RMANAGE_MAPPED_LOC_ADDR, + IWPM_NLA_RMANAGE_MAPPING_ERR, + IWPM_NLA_RMANAGE_MAPPING_MAX +}; +#define IWPM_NLA_MAPINFO_SEND_MAX 3 +#define IWPM_NLA_REMOVE_MAPPING_MAX 3 +enum { + IWPM_NLA_QUERY_MAPPING_UNSPEC = 0, + IWPM_NLA_QUERY_MAPPING_SEQ, + IWPM_NLA_QUERY_LOCAL_ADDR, + IWPM_NLA_QUERY_REMOTE_ADDR, + IWPM_NLA_QUERY_FLAGS, + IWPM_NLA_QUERY_MAPPING_MAX, +}; +enum { + IWPM_NLA_RQUERY_MAPPING_UNSPEC = 0, + IWPM_NLA_RQUERY_MAPPING_SEQ, + IWPM_NLA_RQUERY_LOCAL_ADDR, + IWPM_NLA_RQUERY_REMOTE_ADDR, + IWPM_NLA_RQUERY_MAPPED_LOC_ADDR, + IWPM_NLA_RQUERY_MAPPED_REM_ADDR, + IWPM_NLA_RQUERY_MAPPING_ERR, + IWPM_NLA_RQUERY_MAPPING_MAX +}; +enum { + IWPM_NLA_MAPINFO_REQ_UNSPEC = 0, + IWPM_NLA_MAPINFO_ULIB_NAME, + IWPM_NLA_MAPINFO_ULIB_VER, + IWPM_NLA_MAPINFO_REQ_MAX +}; +enum { + IWPM_NLA_MAPINFO_UNSPEC = 0, + IWPM_NLA_MAPINFO_LOCAL_ADDR, + IWPM_NLA_MAPINFO_MAPPED_ADDR, + IWPM_NLA_MAPINFO_FLAGS, + IWPM_NLA_MAPINFO_MAX +}; +enum { + IWPM_NLA_MAPINFO_NUM_UNSPEC = 0, + IWPM_NLA_MAPINFO_SEQ, + IWPM_NLA_MAPINFO_SEND_NUM, + IWPM_NLA_MAPINFO_ACK_NUM, + IWPM_NLA_MAPINFO_NUM_MAX +}; +enum { + IWPM_NLA_ERR_UNSPEC = 0, + IWPM_NLA_ERR_SEQ, + IWPM_NLA_ERR_CODE, + IWPM_NLA_ERR_MAX +}; +enum { + IWPM_NLA_HELLO_UNSPEC = 0, + IWPM_NLA_HELLO_ABI_VERSION, + IWPM_NLA_HELLO_MAX +}; +enum { + + RDMA_NODE_IB_CA = 1, + RDMA_NODE_IB_SWITCH, + RDMA_NODE_IB_ROUTER, + RDMA_NODE_RNIC, + RDMA_NODE_USNIC, + RDMA_NODE_USNIC_UDP, + RDMA_NODE_UNSPECIFIED, +}; +enum { + RDMA_NL_LS_OP_RESOLVE = 0, + RDMA_NL_LS_OP_SET_TIMEOUT, + RDMA_NL_LS_OP_IP_RESOLVE, + RDMA_NL_LS_NUM_OPS +}; +#define RDMA_NL_LS_F_ERR 0x0100 +enum { + LS_RESOLVE_PATH_USE_ALL = 0, + LS_RESOLVE_PATH_USE_UNIDIRECTIONAL, + LS_RESOLVE_PATH_USE_GMP, + LS_RESOLVE_PATH_USE_MAX +}; +#define LS_DEVICE_NAME_MAX 64 +struct rdma_ls_resolve_header { + __u8 device_name[LS_DEVICE_NAME_MAX]; + __u8 port_num; + __u8 path_use; +}; +struct rdma_ls_ip_resolve_header { + __u32 ifindex; +}; +#define RDMA_NLA_F_MANDATORY (1 << 13) +#define RDMA_NLA_TYPE_MASK (~(NLA_F_NESTED | NLA_F_NET_BYTEORDER | \ + RDMA_NLA_F_MANDATORY)) +enum { + LS_NLA_TYPE_UNSPEC = 0, + LS_NLA_TYPE_PATH_RECORD, + LS_NLA_TYPE_TIMEOUT, + LS_NLA_TYPE_SERVICE_ID, + LS_NLA_TYPE_DGID, + LS_NLA_TYPE_SGID, + LS_NLA_TYPE_TCLASS, + LS_NLA_TYPE_PKEY, + LS_NLA_TYPE_QOS_CLASS, + LS_NLA_TYPE_IPV4, + LS_NLA_TYPE_IPV6, + LS_NLA_TYPE_MAX +}; +struct rdma_nla_ls_gid { + __u8 gid[16]; +}; +enum rdma_nldev_command { + RDMA_NLDEV_CMD_UNSPEC, + RDMA_NLDEV_CMD_GET, + RDMA_NLDEV_CMD_SET, + RDMA_NLDEV_CMD_NEWLINK, + RDMA_NLDEV_CMD_DELLINK, + RDMA_NLDEV_CMD_PORT_GET, + RDMA_NLDEV_CMD_SYS_GET, + RDMA_NLDEV_CMD_SYS_SET, + + RDMA_NLDEV_CMD_RES_GET = 9, + RDMA_NLDEV_CMD_RES_QP_GET, + RDMA_NLDEV_CMD_RES_CM_ID_GET, + RDMA_NLDEV_CMD_RES_CQ_GET, + RDMA_NLDEV_CMD_RES_MR_GET, + RDMA_NLDEV_CMD_RES_PD_GET, + RDMA_NLDEV_CMD_GET_CHARDEV, + RDMA_NLDEV_CMD_STAT_SET, + RDMA_NLDEV_CMD_STAT_GET, + RDMA_NLDEV_CMD_STAT_DEL, + RDMA_NLDEV_CMD_RES_QP_GET_RAW, + RDMA_NLDEV_CMD_RES_CQ_GET_RAW, + RDMA_NLDEV_CMD_RES_MR_GET_RAW, + RDMA_NLDEV_NUM_OPS +}; +enum rdma_nldev_print_type { + RDMA_NLDEV_PRINT_TYPE_UNSPEC, + RDMA_NLDEV_PRINT_TYPE_HEX, +}; +enum rdma_nldev_attr { + + RDMA_NLDEV_ATTR_UNSPEC, + + RDMA_NLDEV_ATTR_PAD = RDMA_NLDEV_ATTR_UNSPEC, + + RDMA_NLDEV_ATTR_DEV_INDEX, + RDMA_NLDEV_ATTR_DEV_NAME, + + RDMA_NLDEV_ATTR_PORT_INDEX, + + RDMA_NLDEV_ATTR_CAP_FLAGS, + + RDMA_NLDEV_ATTR_FW_VERSION, + + RDMA_NLDEV_ATTR_NODE_GUID, + + RDMA_NLDEV_ATTR_SYS_IMAGE_GUID, + + RDMA_NLDEV_ATTR_SUBNET_PREFIX, + + RDMA_NLDEV_ATTR_LID, + RDMA_NLDEV_ATTR_SM_LID, + + RDMA_NLDEV_ATTR_LMC, + RDMA_NLDEV_ATTR_PORT_STATE, + RDMA_NLDEV_ATTR_PORT_PHYS_STATE, + RDMA_NLDEV_ATTR_DEV_NODE_TYPE, + RDMA_NLDEV_ATTR_RES_SUMMARY, + RDMA_NLDEV_ATTR_RES_SUMMARY_ENTRY, + RDMA_NLDEV_ATTR_RES_SUMMARY_ENTRY_NAME, + RDMA_NLDEV_ATTR_RES_SUMMARY_ENTRY_CURR, + RDMA_NLDEV_ATTR_RES_QP, + RDMA_NLDEV_ATTR_RES_QP_ENTRY, + + RDMA_NLDEV_ATTR_RES_LQPN, + + RDMA_NLDEV_ATTR_RES_RQPN, + + RDMA_NLDEV_ATTR_RES_RQ_PSN, + + RDMA_NLDEV_ATTR_RES_SQ_PSN, + RDMA_NLDEV_ATTR_RES_PATH_MIG_STATE, + + RDMA_NLDEV_ATTR_RES_TYPE, + RDMA_NLDEV_ATTR_RES_STATE, + + RDMA_NLDEV_ATTR_RES_PID, + + RDMA_NLDEV_ATTR_RES_KERN_NAME, + RDMA_NLDEV_ATTR_RES_CM_ID, + RDMA_NLDEV_ATTR_RES_CM_ID_ENTRY, + + RDMA_NLDEV_ATTR_RES_PS, + + RDMA_NLDEV_ATTR_RES_SRC_ADDR, + RDMA_NLDEV_ATTR_RES_DST_ADDR, + RDMA_NLDEV_ATTR_RES_CQ, + RDMA_NLDEV_ATTR_RES_CQ_ENTRY, + RDMA_NLDEV_ATTR_RES_CQE, + RDMA_NLDEV_ATTR_RES_USECNT, + RDMA_NLDEV_ATTR_RES_POLL_CTX, + RDMA_NLDEV_ATTR_RES_MR, + RDMA_NLDEV_ATTR_RES_MR_ENTRY, + RDMA_NLDEV_ATTR_RES_RKEY, + RDMA_NLDEV_ATTR_RES_LKEY, + RDMA_NLDEV_ATTR_RES_IOVA, + RDMA_NLDEV_ATTR_RES_MRLEN, + RDMA_NLDEV_ATTR_RES_PD, + RDMA_NLDEV_ATTR_RES_PD_ENTRY, + RDMA_NLDEV_ATTR_RES_LOCAL_DMA_LKEY, + RDMA_NLDEV_ATTR_RES_UNSAFE_GLOBAL_RKEY, + + RDMA_NLDEV_ATTR_NDEV_INDEX, + RDMA_NLDEV_ATTR_NDEV_NAME, + + RDMA_NLDEV_ATTR_DRIVER, + RDMA_NLDEV_ATTR_DRIVER_ENTRY, + RDMA_NLDEV_ATTR_DRIVER_STRING, + + RDMA_NLDEV_ATTR_DRIVER_PRINT_TYPE, + RDMA_NLDEV_ATTR_DRIVER_S32, + RDMA_NLDEV_ATTR_DRIVER_U32, + RDMA_NLDEV_ATTR_DRIVER_S64, + RDMA_NLDEV_ATTR_DRIVER_U64, + + RDMA_NLDEV_ATTR_RES_PDN, + RDMA_NLDEV_ATTR_RES_CQN, + RDMA_NLDEV_ATTR_RES_MRN, + RDMA_NLDEV_ATTR_RES_CM_IDN, + RDMA_NLDEV_ATTR_RES_CTXN, + + RDMA_NLDEV_ATTR_LINK_TYPE, + + RDMA_NLDEV_SYS_ATTR_NETNS_MODE, + + RDMA_NLDEV_ATTR_DEV_PROTOCOL, + + RDMA_NLDEV_NET_NS_FD, + + RDMA_NLDEV_ATTR_CHARDEV_TYPE, + RDMA_NLDEV_ATTR_CHARDEV_NAME, + RDMA_NLDEV_ATTR_CHARDEV_ABI, + RDMA_NLDEV_ATTR_CHARDEV, + RDMA_NLDEV_ATTR_UVERBS_DRIVER_ID, + + RDMA_NLDEV_ATTR_STAT_MODE, + RDMA_NLDEV_ATTR_STAT_RES, + RDMA_NLDEV_ATTR_STAT_AUTO_MODE_MASK, + RDMA_NLDEV_ATTR_STAT_COUNTER, + RDMA_NLDEV_ATTR_STAT_COUNTER_ENTRY, + RDMA_NLDEV_ATTR_STAT_COUNTER_ID, + RDMA_NLDEV_ATTR_STAT_HWCOUNTERS, + RDMA_NLDEV_ATTR_STAT_HWCOUNTER_ENTRY, + RDMA_NLDEV_ATTR_STAT_HWCOUNTER_ENTRY_NAME, + RDMA_NLDEV_ATTR_STAT_HWCOUNTER_ENTRY_VALUE, + + RDMA_NLDEV_ATTR_DEV_DIM, + RDMA_NLDEV_ATTR_RES_RAW, + + RDMA_NLDEV_ATTR_MAX +}; +enum rdma_nl_counter_mode { + RDMA_COUNTER_MODE_NONE, + + RDMA_COUNTER_MODE_AUTO, + + RDMA_COUNTER_MODE_MANUAL, + + RDMA_COUNTER_MODE_MAX, +}; +enum rdma_nl_counter_mask { + RDMA_COUNTER_MASK_QP_TYPE = 1, + RDMA_COUNTER_MASK_PID = 1 << 1, +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/rdma/rdma_user_cm.h b/linux-5.10/prebuilts/usr/include/rdma/rdma_user_cm.h new file mode 100644 index 0000000..45b2f23 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/rdma/rdma_user_cm.h @@ -0,0 +1,261 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef RDMA_USER_CM_H +#define RDMA_USER_CM_H +#include +#include +#include +#include +#include +#define RDMA_USER_CM_ABI_VERSION 4 +#define RDMA_MAX_PRIVATE_DATA 256 +enum { + RDMA_USER_CM_CMD_CREATE_ID, + RDMA_USER_CM_CMD_DESTROY_ID, + RDMA_USER_CM_CMD_BIND_IP, + RDMA_USER_CM_CMD_RESOLVE_IP, + RDMA_USER_CM_CMD_RESOLVE_ROUTE, + RDMA_USER_CM_CMD_QUERY_ROUTE, + RDMA_USER_CM_CMD_CONNECT, + RDMA_USER_CM_CMD_LISTEN, + RDMA_USER_CM_CMD_ACCEPT, + RDMA_USER_CM_CMD_REJECT, + RDMA_USER_CM_CMD_DISCONNECT, + RDMA_USER_CM_CMD_INIT_QP_ATTR, + RDMA_USER_CM_CMD_GET_EVENT, + RDMA_USER_CM_CMD_GET_OPTION, + RDMA_USER_CM_CMD_SET_OPTION, + RDMA_USER_CM_CMD_NOTIFY, + RDMA_USER_CM_CMD_JOIN_IP_MCAST, + RDMA_USER_CM_CMD_LEAVE_MCAST, + RDMA_USER_CM_CMD_MIGRATE_ID, + RDMA_USER_CM_CMD_QUERY, + RDMA_USER_CM_CMD_BIND, + RDMA_USER_CM_CMD_RESOLVE_ADDR, + RDMA_USER_CM_CMD_JOIN_MCAST +}; +enum rdma_ucm_port_space { + RDMA_PS_IPOIB = 0x0002, + RDMA_PS_IB = 0x013F, + RDMA_PS_TCP = 0x0106, + RDMA_PS_UDP = 0x0111, +}; +struct rdma_ucm_cmd_hdr { + __u32 cmd; + __u16 in; + __u16 out; +}; +struct rdma_ucm_create_id { + __aligned_u64 uid; + __aligned_u64 response; + __u16 ps; + __u8 qp_type; + __u8 reserved[5]; +}; +struct rdma_ucm_create_id_resp { + __u32 id; +}; +struct rdma_ucm_destroy_id { + __aligned_u64 response; + __u32 id; + __u32 reserved; +}; +struct rdma_ucm_destroy_id_resp { + __u32 events_reported; +}; +struct rdma_ucm_bind_ip { + __aligned_u64 response; + struct sockaddr_in6 addr; + __u32 id; +}; +struct rdma_ucm_bind { + __u32 id; + __u16 addr_size; + __u16 reserved; + struct sockaddr_storage addr; +}; +struct rdma_ucm_resolve_ip { + struct sockaddr_in6 src_addr; + struct sockaddr_in6 dst_addr; + __u32 id; + __u32 timeout_ms; +}; +struct rdma_ucm_resolve_addr { + __u32 id; + __u32 timeout_ms; + __u16 src_size; + __u16 dst_size; + __u32 reserved; + struct sockaddr_storage src_addr; + struct sockaddr_storage dst_addr; +}; +struct rdma_ucm_resolve_route { + __u32 id; + __u32 timeout_ms; +}; +enum { + RDMA_USER_CM_QUERY_ADDR, + RDMA_USER_CM_QUERY_PATH, + RDMA_USER_CM_QUERY_GID +}; +struct rdma_ucm_query { + __aligned_u64 response; + __u32 id; + __u32 option; +}; +struct rdma_ucm_query_route_resp { + __aligned_u64 node_guid; + struct ib_user_path_rec ib_route[2]; + struct sockaddr_in6 src_addr; + struct sockaddr_in6 dst_addr; + __u32 num_paths; + __u8 port_num; + __u8 reserved[3]; + __u32 ibdev_index; + __u32 reserved1; +}; +struct rdma_ucm_query_addr_resp { + __aligned_u64 node_guid; + __u8 port_num; + __u8 reserved; + __u16 pkey; + __u16 src_size; + __u16 dst_size; + struct sockaddr_storage src_addr; + struct sockaddr_storage dst_addr; + __u32 ibdev_index; + __u32 reserved1; +}; +struct rdma_ucm_query_path_resp { + __u32 num_paths; + __u32 reserved; + struct ib_path_rec_data path_data[0]; +}; +struct rdma_ucm_conn_param { + __u32 qp_num; + __u32 qkey; + __u8 private_data[RDMA_MAX_PRIVATE_DATA]; + __u8 private_data_len; + __u8 srq; + __u8 responder_resources; + __u8 initiator_depth; + __u8 flow_control; + __u8 retry_count; + __u8 rnr_retry_count; + __u8 valid; +}; +struct rdma_ucm_ud_param { + __u32 qp_num; + __u32 qkey; + struct ib_uverbs_ah_attr ah_attr; + __u8 private_data[RDMA_MAX_PRIVATE_DATA]; + __u8 private_data_len; + __u8 reserved[7]; +}; +struct rdma_ucm_ece { + __u32 vendor_id; + __u32 attr_mod; +}; +struct rdma_ucm_connect { + struct rdma_ucm_conn_param conn_param; + __u32 id; + __u32 reserved; + struct rdma_ucm_ece ece; +}; +struct rdma_ucm_listen { + __u32 id; + __u32 backlog; +}; +struct rdma_ucm_accept { + __aligned_u64 uid; + struct rdma_ucm_conn_param conn_param; + __u32 id; + __u32 reserved; + struct rdma_ucm_ece ece; +}; +struct rdma_ucm_reject { + __u32 id; + __u8 private_data_len; + __u8 reason; + __u8 reserved[2]; + __u8 private_data[RDMA_MAX_PRIVATE_DATA]; +}; +struct rdma_ucm_disconnect { + __u32 id; +}; +struct rdma_ucm_init_qp_attr { + __aligned_u64 response; + __u32 id; + __u32 qp_state; +}; +struct rdma_ucm_notify { + __u32 id; + __u32 event; +}; +struct rdma_ucm_join_ip_mcast { + __aligned_u64 response; + __aligned_u64 uid; + struct sockaddr_in6 addr; + __u32 id; +}; +enum { + RDMA_MC_JOIN_FLAG_FULLMEMBER, + RDMA_MC_JOIN_FLAG_SENDONLY_FULLMEMBER, + RDMA_MC_JOIN_FLAG_RESERVED, +}; +struct rdma_ucm_join_mcast { + __aligned_u64 response; + __aligned_u64 uid; + __u32 id; + __u16 addr_size; + __u16 join_flags; + struct sockaddr_storage addr; +}; +struct rdma_ucm_get_event { + __aligned_u64 response; +}; +struct rdma_ucm_event_resp { + __aligned_u64 uid; + __u32 id; + __u32 event; + __u32 status; + + union { + struct rdma_ucm_conn_param conn; + struct rdma_ucm_ud_param ud; + } param; + __u32 reserved; + struct rdma_ucm_ece ece; +}; +enum { + RDMA_OPTION_ID = 0, + RDMA_OPTION_IB = 1 +}; +enum { + RDMA_OPTION_ID_TOS = 0, + RDMA_OPTION_ID_REUSEADDR = 1, + RDMA_OPTION_ID_AFONLY = 2, + RDMA_OPTION_ID_ACK_TIMEOUT = 3 +}; +enum { + RDMA_OPTION_IB_PATH = 1 +}; +struct rdma_ucm_set_option { + __aligned_u64 optval; + __u32 id; + __u32 level; + __u32 optname; + __u32 optlen; +}; +struct rdma_ucm_migrate_id { + __aligned_u64 response; + __u32 id; + __u32 fd; +}; +struct rdma_ucm_migrate_resp { + __u32 events_reported; +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/rdma/rdma_user_ioctl.h b/linux-5.10/prebuilts/usr/include/rdma/rdma_user_ioctl.h new file mode 100644 index 0000000..59768c8 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/rdma/rdma_user_ioctl.h @@ -0,0 +1,29 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef RDMA_USER_IOCTL_H +#define RDMA_USER_IOCTL_H +#include +#include +#include +#define IB_IOCTL_MAGIC RDMA_IOCTL_MAGIC +#define IB_USER_MAD_REGISTER_AGENT _IOWR(RDMA_IOCTL_MAGIC, 0x01, struct ib_user_mad_reg_req) +#define IB_USER_MAD_UNREGISTER_AGENT _IOW(RDMA_IOCTL_MAGIC, 0x02, __u32) +#define IB_USER_MAD_ENABLE_PKEY _IO(RDMA_IOCTL_MAGIC, 0x03) +#define IB_USER_MAD_REGISTER_AGENT2 _IOWR(RDMA_IOCTL_MAGIC, 0x04, struct ib_user_mad_reg_req2) +#define HFI1_IOCTL_ASSIGN_CTXT _IOWR(RDMA_IOCTL_MAGIC, 0xE1, struct hfi1_user_info) +#define HFI1_IOCTL_CTXT_INFO _IOW(RDMA_IOCTL_MAGIC, 0xE2, struct hfi1_ctxt_info) +#define HFI1_IOCTL_USER_INFO _IOW(RDMA_IOCTL_MAGIC, 0xE3, struct hfi1_base_info) +#define HFI1_IOCTL_TID_UPDATE _IOWR(RDMA_IOCTL_MAGIC, 0xE4, struct hfi1_tid_info) +#define HFI1_IOCTL_TID_FREE _IOWR(RDMA_IOCTL_MAGIC, 0xE5, struct hfi1_tid_info) +#define HFI1_IOCTL_CREDIT_UPD _IO(RDMA_IOCTL_MAGIC, 0xE6) +#define HFI1_IOCTL_RECV_CTRL _IOW(RDMA_IOCTL_MAGIC, 0xE8, int) +#define HFI1_IOCTL_POLL_TYPE _IOW(RDMA_IOCTL_MAGIC, 0xE9, int) +#define HFI1_IOCTL_ACK_EVENT _IOW(RDMA_IOCTL_MAGIC, 0xEA, unsigned long) +#define HFI1_IOCTL_SET_PKEY _IOW(RDMA_IOCTL_MAGIC, 0xEB, __u16) +#define HFI1_IOCTL_CTXT_RESET _IO(RDMA_IOCTL_MAGIC, 0xEC) +#define HFI1_IOCTL_TID_INVAL_READ _IOWR(RDMA_IOCTL_MAGIC, 0xED, struct hfi1_tid_info) +#define HFI1_IOCTL_GET_VERS _IOR(RDMA_IOCTL_MAGIC, 0xEE, int) +#endif diff --git a/linux-5.10/prebuilts/usr/include/rdma/rdma_user_ioctl_cmds.h b/linux-5.10/prebuilts/usr/include/rdma/rdma_user_ioctl_cmds.h new file mode 100644 index 0000000..bf8fd3d --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/rdma/rdma_user_ioctl_cmds.h @@ -0,0 +1,47 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef RDMA_USER_IOCTL_CMDS_H +#define RDMA_USER_IOCTL_CMDS_H +#include +#include +#define RDMA_IOCTL_MAGIC 0x1b +#define RDMA_VERBS_IOCTL \ + _IOWR(RDMA_IOCTL_MAGIC, 1, struct ib_uverbs_ioctl_hdr) +enum { + + UVERBS_ATTR_F_MANDATORY = 1U << 0, + + UVERBS_ATTR_F_VALID_OUTPUT = 1U << 1, +}; +struct ib_uverbs_attr { + __u16 attr_id; + __u16 len; + __u16 flags; + union { + struct { + __u8 elem_id; + __u8 reserved; + } enum_data; + __u16 reserved; + } attr_data; + union { + + __aligned_u64 data; + + __s64 data_s64; + }; +}; +struct ib_uverbs_ioctl_hdr { + __u16 length; + __u16 object_id; + __u16 method_id; + __u16 num_attrs; + __aligned_u64 reserved1; + __u32 driver_id; + __u32 reserved2; + struct ib_uverbs_attr attrs[0]; +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/rdma/rdma_user_rxe.h b/linux-5.10/prebuilts/usr/include/rdma/rdma_user_rxe.h new file mode 100644 index 0000000..585fa80 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/rdma/rdma_user_rxe.h @@ -0,0 +1,139 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef RDMA_USER_RXE_H +#define RDMA_USER_RXE_H +#include +#include +#include +#include +enum { + RXE_NETWORK_TYPE_IPV4 = 1, + RXE_NETWORK_TYPE_IPV6 = 2, +}; +union rxe_gid { + __u8 raw[16]; + struct { + __be64 subnet_prefix; + __be64 interface_id; + } global; +}; +struct rxe_global_route { + union rxe_gid dgid; + __u32 flow_label; + __u8 sgid_index; + __u8 hop_limit; + __u8 traffic_class; +}; +struct rxe_av { + __u8 port_num; + + __u8 network_type; + __u8 dmac[6]; + struct rxe_global_route grh; + union { + struct sockaddr_in _sockaddr_in; + struct sockaddr_in6 _sockaddr_in6; + } sgid_addr, dgid_addr; +}; +struct rxe_send_wr { + __aligned_u64 wr_id; + __u32 num_sge; + __u32 opcode; + __u32 send_flags; + union { + __be32 imm_data; + __u32 invalidate_rkey; + } ex; + union { + struct { + __aligned_u64 remote_addr; + __u32 rkey; + __u32 reserved; + } rdma; + struct { + __aligned_u64 remote_addr; + __aligned_u64 compare_add; + __aligned_u64 swap; + __u32 rkey; + __u32 reserved; + } atomic; + struct { + __u32 remote_qpn; + __u32 remote_qkey; + __u16 pkey_index; + } ud; + + struct { + union { + struct ib_mr *mr; + __aligned_u64 reserved; + }; + __u32 key; + __u32 access; + } reg; + } wr; +}; +struct rxe_sge { + __aligned_u64 addr; + __u32 length; + __u32 lkey; +}; +struct mminfo { + __aligned_u64 offset; + __u32 size; + __u32 pad; +}; +struct rxe_dma_info { + __u32 length; + __u32 resid; + __u32 cur_sge; + __u32 num_sge; + __u32 sge_offset; + __u32 reserved; + union { + __u8 inline_data[0]; + struct rxe_sge sge[0]; + }; +}; +struct rxe_send_wqe { + struct rxe_send_wr wr; + struct rxe_av av; + __u32 status; + __u32 state; + __aligned_u64 iova; + __u32 mask; + __u32 first_psn; + __u32 last_psn; + __u32 ack_length; + __u32 ssn; + __u32 has_rd_atomic; + struct rxe_dma_info dma; +}; +struct rxe_recv_wqe { + __aligned_u64 wr_id; + __u32 num_sge; + __u32 padding; + struct rxe_dma_info dma; +}; +struct rxe_create_cq_resp { + struct mminfo mi; +}; +struct rxe_resize_cq_resp { + struct mminfo mi; +}; +struct rxe_create_qp_resp { + struct mminfo rq_mi; + struct mminfo sq_mi; +}; +struct rxe_create_srq_resp { + struct mminfo mi; + __u32 srq_num; + __u32 reserved; +}; +struct rxe_modify_srq_cmd { + __aligned_u64 mmap_info_addr; +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/rdma/rvt-abi.h b/linux-5.10/prebuilts/usr/include/rdma/rvt-abi.h new file mode 100644 index 0000000..cd8e6d7 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/rdma/rvt-abi.h @@ -0,0 +1,39 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef RVT_ABI_USER_H +#define RVT_ABI_USER_H +#include +#include +#ifndef RDMA_ATOMIC_UAPI +#define RDMA_ATOMIC_UAPI(_type, _name) struct{ _type val; } _name +#endif +struct rvt_wqe_sge { + __aligned_u64 addr; + __u32 length; + __u32 lkey; +}; +struct rvt_cq_wc { + + RDMA_ATOMIC_UAPI(__u32, head); + + RDMA_ATOMIC_UAPI(__u32, tail); + + struct ib_uverbs_wc uqueue[]; +}; +struct rvt_rwqe { + __u64 wr_id; + __u8 num_sge; + __u8 padding[7]; + struct rvt_wqe_sge sg_list[]; +}; +struct rvt_rwq { + + RDMA_ATOMIC_UAPI(__u32, head); + + RDMA_ATOMIC_UAPI(__u32, tail); + struct rvt_rwqe wq[]; +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/rdma/siw-abi.h b/linux-5.10/prebuilts/usr/include/rdma/siw-abi.h new file mode 100644 index 0000000..6f53881 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/rdma/siw-abi.h @@ -0,0 +1,147 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _SIW_USER_H +#define _SIW_USER_H +#include +#define SIW_NODE_DESC_COMMON "Software iWARP stack" +#define SIW_ABI_VERSION 1 +#define SIW_MAX_SGE 6 +#define SIW_UOBJ_MAX_KEY 0x08FFFF +#define SIW_INVAL_UOBJ_KEY (SIW_UOBJ_MAX_KEY + 1) +struct siw_uresp_create_cq { + __u32 cq_id; + __u32 num_cqe; + __aligned_u64 cq_key; +}; +struct siw_uresp_create_qp { + __u32 qp_id; + __u32 num_sqe; + __u32 num_rqe; + __u32 pad; + __aligned_u64 sq_key; + __aligned_u64 rq_key; +}; +struct siw_ureq_reg_mr { + __u8 stag_key; + __u8 reserved[3]; + __u32 pad; +}; +struct siw_uresp_reg_mr { + __u32 stag; + __u32 pad; +}; +struct siw_uresp_create_srq { + __u32 num_rqe; + __u32 pad; + __aligned_u64 srq_key; +}; +struct siw_uresp_alloc_ctx { + __u32 dev_id; + __u32 pad; +}; +enum siw_opcode { + SIW_OP_WRITE, + SIW_OP_READ, + SIW_OP_READ_LOCAL_INV, + SIW_OP_SEND, + SIW_OP_SEND_WITH_IMM, + SIW_OP_SEND_REMOTE_INV, + + SIW_OP_FETCH_AND_ADD, + SIW_OP_COMP_AND_SWAP, + SIW_OP_RECEIVE, + + SIW_OP_READ_RESPONSE, + + SIW_OP_INVAL_STAG, + SIW_OP_REG_MR, + SIW_NUM_OPCODES +}; +struct siw_sge { + __aligned_u64 laddr; + __u32 length; + __u32 lkey; +}; +#define SIW_MAX_INLINE (sizeof(struct siw_sge) * (SIW_MAX_SGE - 1)) +#if SIW_MAX_SGE < 2 +#error "SIW_MAX_SGE must be at least 2" +#endif +enum siw_wqe_flags { + SIW_WQE_VALID = 1, + SIW_WQE_INLINE = (1 << 1), + SIW_WQE_SIGNALLED = (1 << 2), + SIW_WQE_SOLICITED = (1 << 3), + SIW_WQE_READ_FENCE = (1 << 4), + SIW_WQE_REM_INVAL = (1 << 5), + SIW_WQE_COMPLETED = (1 << 6) +}; +struct siw_sqe { + __aligned_u64 id; + __u16 flags; + __u8 num_sge; + + __u8 opcode; + __u32 rkey; + union { + __aligned_u64 raddr; + __aligned_u64 base_mr; + }; + union { + struct siw_sge sge[SIW_MAX_SGE]; + __aligned_u64 access; + }; +}; +struct siw_rqe { + __aligned_u64 id; + __u16 flags; + __u8 num_sge; + + __u8 opcode; + __u32 unused; + struct siw_sge sge[SIW_MAX_SGE]; +}; +enum siw_notify_flags { + SIW_NOTIFY_NOT = (0), + SIW_NOTIFY_SOLICITED = (1 << 0), + SIW_NOTIFY_NEXT_COMPLETION = (1 << 1), + SIW_NOTIFY_MISSED_EVENTS = (1 << 2), + SIW_NOTIFY_ALL = SIW_NOTIFY_SOLICITED | SIW_NOTIFY_NEXT_COMPLETION | + SIW_NOTIFY_MISSED_EVENTS +}; +enum siw_wc_status { + SIW_WC_SUCCESS, + SIW_WC_LOC_LEN_ERR, + SIW_WC_LOC_PROT_ERR, + SIW_WC_LOC_QP_OP_ERR, + SIW_WC_WR_FLUSH_ERR, + SIW_WC_BAD_RESP_ERR, + SIW_WC_LOC_ACCESS_ERR, + SIW_WC_REM_ACCESS_ERR, + SIW_WC_REM_INV_REQ_ERR, + SIW_WC_GENERAL_ERR, + SIW_NUM_WC_STATUS +}; +struct siw_cqe { + __aligned_u64 id; + __u8 flags; + __u8 opcode; + __u16 status; + __u32 bytes; + union { + __aligned_u64 imm_data; + __u32 inval_stag; + }; + + union { + struct ib_qp *base_qp; + __aligned_u64 qp_id; + }; +}; +struct siw_cq_ctrl { + __u32 flags; + __u32 pad; +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/rdma/vmw_pvrdma-abi.h b/linux-5.10/prebuilts/usr/include/rdma/vmw_pvrdma-abi.h new file mode 100644 index 0000000..2a7485e --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/rdma/vmw_pvrdma-abi.h @@ -0,0 +1,236 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef __VMW_PVRDMA_ABI_H__ +#define __VMW_PVRDMA_ABI_H__ +#include +#define PVRDMA_UVERBS_ABI_VERSION 3 +#define PVRDMA_UAR_HANDLE_MASK 0x00FFFFFF +#define PVRDMA_UAR_QP_OFFSET 0 +#define PVRDMA_UAR_QP_SEND (1 << 30) +#define PVRDMA_UAR_QP_RECV (1 << 31) +#define PVRDMA_UAR_CQ_OFFSET 4 +#define PVRDMA_UAR_CQ_ARM_SOL (1 << 29) +#define PVRDMA_UAR_CQ_ARM (1 << 30) +#define PVRDMA_UAR_CQ_POLL (1 << 31) +#define PVRDMA_UAR_SRQ_OFFSET 8 +#define PVRDMA_UAR_SRQ_RECV (1 << 30) +enum pvrdma_wr_opcode { + PVRDMA_WR_RDMA_WRITE, + PVRDMA_WR_RDMA_WRITE_WITH_IMM, + PVRDMA_WR_SEND, + PVRDMA_WR_SEND_WITH_IMM, + PVRDMA_WR_RDMA_READ, + PVRDMA_WR_ATOMIC_CMP_AND_SWP, + PVRDMA_WR_ATOMIC_FETCH_AND_ADD, + PVRDMA_WR_LSO, + PVRDMA_WR_SEND_WITH_INV, + PVRDMA_WR_RDMA_READ_WITH_INV, + PVRDMA_WR_LOCAL_INV, + PVRDMA_WR_FAST_REG_MR, + PVRDMA_WR_MASKED_ATOMIC_CMP_AND_SWP, + PVRDMA_WR_MASKED_ATOMIC_FETCH_AND_ADD, + PVRDMA_WR_BIND_MW, + PVRDMA_WR_REG_SIG_MR, + PVRDMA_WR_ERROR, +}; +enum pvrdma_wc_status { + PVRDMA_WC_SUCCESS, + PVRDMA_WC_LOC_LEN_ERR, + PVRDMA_WC_LOC_QP_OP_ERR, + PVRDMA_WC_LOC_EEC_OP_ERR, + PVRDMA_WC_LOC_PROT_ERR, + PVRDMA_WC_WR_FLUSH_ERR, + PVRDMA_WC_MW_BIND_ERR, + PVRDMA_WC_BAD_RESP_ERR, + PVRDMA_WC_LOC_ACCESS_ERR, + PVRDMA_WC_REM_INV_REQ_ERR, + PVRDMA_WC_REM_ACCESS_ERR, + PVRDMA_WC_REM_OP_ERR, + PVRDMA_WC_RETRY_EXC_ERR, + PVRDMA_WC_RNR_RETRY_EXC_ERR, + PVRDMA_WC_LOC_RDD_VIOL_ERR, + PVRDMA_WC_REM_INV_RD_REQ_ERR, + PVRDMA_WC_REM_ABORT_ERR, + PVRDMA_WC_INV_EECN_ERR, + PVRDMA_WC_INV_EEC_STATE_ERR, + PVRDMA_WC_FATAL_ERR, + PVRDMA_WC_RESP_TIMEOUT_ERR, + PVRDMA_WC_GENERAL_ERR, +}; +enum pvrdma_wc_opcode { + PVRDMA_WC_SEND, + PVRDMA_WC_RDMA_WRITE, + PVRDMA_WC_RDMA_READ, + PVRDMA_WC_COMP_SWAP, + PVRDMA_WC_FETCH_ADD, + PVRDMA_WC_BIND_MW, + PVRDMA_WC_LSO, + PVRDMA_WC_LOCAL_INV, + PVRDMA_WC_FAST_REG_MR, + PVRDMA_WC_MASKED_COMP_SWAP, + PVRDMA_WC_MASKED_FETCH_ADD, + PVRDMA_WC_RECV = 1 << 7, + PVRDMA_WC_RECV_RDMA_WITH_IMM, +}; +enum pvrdma_wc_flags { + PVRDMA_WC_GRH = 1 << 0, + PVRDMA_WC_WITH_IMM = 1 << 1, + PVRDMA_WC_WITH_INVALIDATE = 1 << 2, + PVRDMA_WC_IP_CSUM_OK = 1 << 3, + PVRDMA_WC_WITH_SMAC = 1 << 4, + PVRDMA_WC_WITH_VLAN = 1 << 5, + PVRDMA_WC_WITH_NETWORK_HDR_TYPE = 1 << 6, + PVRDMA_WC_FLAGS_MAX = PVRDMA_WC_WITH_NETWORK_HDR_TYPE, +}; +enum pvrdma_network_type { + PVRDMA_NETWORK_IB, + PVRDMA_NETWORK_ROCE_V1 = PVRDMA_NETWORK_IB, + PVRDMA_NETWORK_IPV4, + PVRDMA_NETWORK_IPV6 +}; +struct pvrdma_alloc_ucontext_resp { + __u32 qp_tab_size; + __u32 reserved; +}; +struct pvrdma_alloc_pd_resp { + __u32 pdn; + __u32 reserved; +}; +struct pvrdma_create_cq { + __aligned_u64 buf_addr; + __u32 buf_size; + __u32 reserved; +}; +struct pvrdma_create_cq_resp { + __u32 cqn; + __u32 reserved; +}; +struct pvrdma_resize_cq { + __aligned_u64 buf_addr; + __u32 buf_size; + __u32 reserved; +}; +struct pvrdma_create_srq { + __aligned_u64 buf_addr; + __u32 buf_size; + __u32 reserved; +}; +struct pvrdma_create_srq_resp { + __u32 srqn; + __u32 reserved; +}; +struct pvrdma_create_qp { + __aligned_u64 rbuf_addr; + __aligned_u64 sbuf_addr; + __u32 rbuf_size; + __u32 sbuf_size; + __aligned_u64 qp_addr; +}; +struct pvrdma_create_qp_resp { + __u32 qpn; + __u32 qp_handle; +}; +struct pvrdma_ex_cmp_swap { + __aligned_u64 swap_val; + __aligned_u64 compare_val; + __aligned_u64 swap_mask; + __aligned_u64 compare_mask; +}; +struct pvrdma_ex_fetch_add { + __aligned_u64 add_val; + __aligned_u64 field_boundary; +}; +struct pvrdma_av { + __u32 port_pd; + __u32 sl_tclass_flowlabel; + __u8 dgid[16]; + __u8 src_path_bits; + __u8 gid_index; + __u8 stat_rate; + __u8 hop_limit; + __u8 dmac[6]; + __u8 reserved[6]; +}; +struct pvrdma_sge { + __aligned_u64 addr; + __u32 length; + __u32 lkey; +}; +struct pvrdma_rq_wqe_hdr { + __aligned_u64 wr_id; + __u32 num_sge; + __u32 total_len; +}; +struct pvrdma_sq_wqe_hdr { + __aligned_u64 wr_id; + __u32 num_sge; + __u32 total_len; + __u32 opcode; + __u32 send_flags; + union { + __be32 imm_data; + __u32 invalidate_rkey; + } ex; + __u32 reserved; + union { + struct { + __aligned_u64 remote_addr; + __u32 rkey; + __u8 reserved[4]; + } rdma; + struct { + __aligned_u64 remote_addr; + __aligned_u64 compare_add; + __aligned_u64 swap; + __u32 rkey; + __u32 reserved; + } atomic; + struct { + __aligned_u64 remote_addr; + __u32 log_arg_sz; + __u32 rkey; + union { + struct pvrdma_ex_cmp_swap cmp_swap; + struct pvrdma_ex_fetch_add fetch_add; + } wr_data; + } masked_atomics; + struct { + __aligned_u64 iova_start; + __aligned_u64 pl_pdir_dma; + __u32 page_shift; + __u32 page_list_len; + __u32 length; + __u32 access_flags; + __u32 rkey; + __u32 reserved; + } fast_reg; + struct { + __u32 remote_qpn; + __u32 remote_qkey; + struct pvrdma_av av; + } ud; + } wr; +}; +struct pvrdma_cqe { + __aligned_u64 wr_id; + __aligned_u64 qp; + __u32 opcode; + __u32 status; + __u32 byte_len; + __be32 imm_data; + __u32 src_qp; + __u32 wc_flags; + __u32 vendor_err; + __u16 pkey_index; + __u16 slid; + __u8 sl; + __u8 dlid_path_bits; + __u8 port_num; + __u8 smac[6]; + __u8 network_hdr_type; + __u8 reserved2[6]; +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/scsi/cxlflash_ioctl.h b/linux-5.10/prebuilts/usr/include/scsi/cxlflash_ioctl.h new file mode 100644 index 0000000..0dd5641 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/scsi/cxlflash_ioctl.h @@ -0,0 +1,173 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _CXLFLASH_IOCTL_H +#define _CXLFLASH_IOCTL_H +#include +#define CXLFLASH_WWID_LEN 16 +#define DK_CXLFLASH_VERSION_0 0 +struct dk_cxlflash_hdr { + __u16 version; + __u16 rsvd[3]; + __u64 flags; + __u64 return_flags; +}; +#define DK_CXLFLASH_ALL_PORTS_ACTIVE 0x0000000000000001ULL +#define DK_CXLFLASH_APP_CLOSE_ADAP_FD 0x0000000000000002ULL +#define DK_CXLFLASH_CONTEXT_SQ_CMD_MODE 0x0000000000000004ULL +#define DK_CXLFLASH_ATTACH_REUSE_CONTEXT 0x8000000000000000ULL +struct dk_cxlflash_attach { + struct dk_cxlflash_hdr hdr; + __u64 num_interrupts; + __u64 context_id; + __u64 mmio_size; + __u64 block_size; + __u64 adap_fd; + __u64 last_lba; + __u64 max_xfer; + __u64 reserved[8]; +}; +struct dk_cxlflash_detach { + struct dk_cxlflash_hdr hdr; + __u64 context_id; + __u64 reserved[8]; +}; +struct dk_cxlflash_udirect { + struct dk_cxlflash_hdr hdr; + __u64 context_id; + __u64 rsrc_handle; + __u64 last_lba; + __u64 reserved[8]; +}; +#define DK_CXLFLASH_UVIRTUAL_NEED_WRITE_SAME 0x8000000000000000ULL +struct dk_cxlflash_uvirtual { + struct dk_cxlflash_hdr hdr; + __u64 context_id; + __u64 lun_size; + __u64 rsrc_handle; + __u64 last_lba; + __u64 reserved[8]; +}; +struct dk_cxlflash_release { + struct dk_cxlflash_hdr hdr; + __u64 context_id; + __u64 rsrc_handle; + __u64 reserved[8]; +}; +struct dk_cxlflash_resize { + struct dk_cxlflash_hdr hdr; + __u64 context_id; + __u64 rsrc_handle; + __u64 req_size; + __u64 last_lba; + __u64 reserved[8]; +}; +struct dk_cxlflash_clone { + struct dk_cxlflash_hdr hdr; + __u64 context_id_src; + __u64 context_id_dst; + __u64 adap_fd_src; + __u64 reserved[8]; +}; +#define DK_CXLFLASH_VERIFY_SENSE_LEN 18 +#define DK_CXLFLASH_VERIFY_HINT_SENSE 0x8000000000000000ULL +struct dk_cxlflash_verify { + struct dk_cxlflash_hdr hdr; + __u64 context_id; + __u64 rsrc_handle; + __u64 hint; + __u64 last_lba; + __u8 sense_data[DK_CXLFLASH_VERIFY_SENSE_LEN]; + __u8 pad[6]; + __u64 reserved[8]; +}; +#define DK_CXLFLASH_RECOVER_AFU_CONTEXT_RESET 0x8000000000000000ULL +struct dk_cxlflash_recover_afu { + struct dk_cxlflash_hdr hdr; + __u64 reason; + __u64 context_id; + __u64 mmio_size; + __u64 adap_fd; + __u64 reserved[8]; +}; +#define DK_CXLFLASH_MANAGE_LUN_WWID_LEN CXLFLASH_WWID_LEN +#define DK_CXLFLASH_MANAGE_LUN_ENABLE_SUPERPIPE 0x8000000000000000ULL +#define DK_CXLFLASH_MANAGE_LUN_DISABLE_SUPERPIPE 0x4000000000000000ULL +#define DK_CXLFLASH_MANAGE_LUN_ALL_PORTS_ACCESSIBLE 0x2000000000000000ULL +struct dk_cxlflash_manage_lun { + struct dk_cxlflash_hdr hdr; + __u8 wwid[DK_CXLFLASH_MANAGE_LUN_WWID_LEN]; + __u64 reserved[8]; +}; +union cxlflash_ioctls { + struct dk_cxlflash_attach attach; + struct dk_cxlflash_detach detach; + struct dk_cxlflash_udirect udirect; + struct dk_cxlflash_uvirtual uvirtual; + struct dk_cxlflash_release release; + struct dk_cxlflash_resize resize; + struct dk_cxlflash_clone clone; + struct dk_cxlflash_verify verify; + struct dk_cxlflash_recover_afu recover_afu; + struct dk_cxlflash_manage_lun manage_lun; +}; +#define MAX_CXLFLASH_IOCTL_SZ (sizeof(union cxlflash_ioctls)) +#define CXL_MAGIC 0xCA +#define CXL_IOWR(_n, _s) _IOWR(CXL_MAGIC, _n, struct _s) +#define DK_CXLFLASH_ATTACH CXL_IOWR(0x80, dk_cxlflash_attach) +#define DK_CXLFLASH_USER_DIRECT CXL_IOWR(0x81, dk_cxlflash_udirect) +#define DK_CXLFLASH_RELEASE CXL_IOWR(0x82, dk_cxlflash_release) +#define DK_CXLFLASH_DETACH CXL_IOWR(0x83, dk_cxlflash_detach) +#define DK_CXLFLASH_VERIFY CXL_IOWR(0x84, dk_cxlflash_verify) +#define DK_CXLFLASH_RECOVER_AFU CXL_IOWR(0x85, dk_cxlflash_recover_afu) +#define DK_CXLFLASH_MANAGE_LUN CXL_IOWR(0x86, dk_cxlflash_manage_lun) +#define DK_CXLFLASH_USER_VIRTUAL CXL_IOWR(0x87, dk_cxlflash_uvirtual) +#define DK_CXLFLASH_VLUN_RESIZE CXL_IOWR(0x88, dk_cxlflash_resize) +#define DK_CXLFLASH_VLUN_CLONE CXL_IOWR(0x89, dk_cxlflash_clone) +#define HT_CXLFLASH_VERSION_0 0 +struct ht_cxlflash_hdr { + __u16 version; + __u16 subcmd; + __u16 rsvd[2]; + __u64 flags; + __u64 return_flags; +}; +#define HT_CXLFLASH_HOST_READ 0x0000000000000000ULL +#define HT_CXLFLASH_HOST_WRITE 0x0000000000000001ULL +#define HT_CXLFLASH_LUN_PROVISION_SUBCMD_CREATE_LUN 0x0001 +#define HT_CXLFLASH_LUN_PROVISION_SUBCMD_DELETE_LUN 0x0002 +#define HT_CXLFLASH_LUN_PROVISION_SUBCMD_QUERY_PORT 0x0003 +struct ht_cxlflash_lun_provision { + struct ht_cxlflash_hdr hdr; + __u16 port; + __u16 reserved16[3]; + __u64 size; + __u64 lun_id; + __u8 wwid[CXLFLASH_WWID_LEN]; + __u64 max_num_luns; + __u64 cur_num_luns; + __u64 max_cap_port; + __u64 cur_cap_port; + __u64 reserved[8]; +}; +#define HT_CXLFLASH_AFU_DEBUG_MAX_DATA_LEN 262144 +#define HT_CXLFLASH_AFU_DEBUG_SUBCMD_LEN 12 +struct ht_cxlflash_afu_debug { + struct ht_cxlflash_hdr hdr; + __u8 reserved8[4]; + __u8 afu_subcmd[HT_CXLFLASH_AFU_DEBUG_SUBCMD_LEN]; + __u64 data_ea; + __u32 data_len; + __u32 reserved32; + __u64 reserved[8]; +}; +union cxlflash_ht_ioctls { + struct ht_cxlflash_lun_provision lun_provision; + struct ht_cxlflash_afu_debug afu_debug; +}; +#define MAX_HT_CXLFLASH_IOCTL_SZ (sizeof(union cxlflash_ht_ioctls)) +#define HT_CXLFLASH_LUN_PROVISION CXL_IOWR(0xBF, ht_cxlflash_lun_provision) +#define HT_CXLFLASH_AFU_DEBUG CXL_IOWR(0xBE, ht_cxlflash_afu_debug) +#endif diff --git a/linux-5.10/prebuilts/usr/include/scsi/fc/fc_els.h b/linux-5.10/prebuilts/usr/include/scsi/fc/fc_els.h new file mode 100644 index 0000000..639ca37 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/scsi/fc/fc_els.h @@ -0,0 +1,703 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _FC_ELS_H_ +#define _FC_ELS_H_ +#include +#include +enum fc_els_cmd { + ELS_LS_RJT = 0x01, + ELS_LS_ACC = 0x02, + ELS_PLOGI = 0x03, + ELS_FLOGI = 0x04, + ELS_LOGO = 0x05, + ELS_ABTX = 0x06, + ELS_RCS = 0x07, + ELS_RES = 0x08, + ELS_RSS = 0x09, + ELS_RSI = 0x0a, + ELS_ESTS = 0x0b, + ELS_ESTC = 0x0c, + ELS_ADVC = 0x0d, + ELS_RTV = 0x0e, + ELS_RLS = 0x0f, + ELS_ECHO = 0x10, + ELS_TEST = 0x11, + ELS_RRQ = 0x12, + ELS_REC = 0x13, + ELS_SRR = 0x14, + ELS_FPIN = 0x16, + ELS_RDP = 0x18, + ELS_RDF = 0x19, + ELS_PRLI = 0x20, + ELS_PRLO = 0x21, + ELS_SCN = 0x22, + ELS_TPLS = 0x23, + ELS_TPRLO = 0x24, + ELS_LCLM = 0x25, + ELS_GAID = 0x30, + ELS_FACT = 0x31, + ELS_FDACDT = 0x32, + ELS_NACT = 0x33, + ELS_NDACT = 0x34, + ELS_QOSR = 0x40, + ELS_RVCS = 0x41, + ELS_PDISC = 0x50, + ELS_FDISC = 0x51, + ELS_ADISC = 0x52, + ELS_RNC = 0x53, + ELS_FARP_REQ = 0x54, + ELS_FARP_REPL = 0x55, + ELS_RPS = 0x56, + ELS_RPL = 0x57, + ELS_RPBC = 0x58, + ELS_FAN = 0x60, + ELS_RSCN = 0x61, + ELS_SCR = 0x62, + ELS_RNFT = 0x63, + ELS_CSR = 0x68, + ELS_CSU = 0x69, + ELS_LINIT = 0x70, + ELS_LSTS = 0x72, + ELS_RNID = 0x78, + ELS_RLIR = 0x79, + ELS_LIRR = 0x7a, + ELS_SRL = 0x7b, + ELS_SBRP = 0x7c, + ELS_RPSC = 0x7d, + ELS_QSA = 0x7e, + ELS_EVFP = 0x7f, + ELS_LKA = 0x80, + ELS_AUTH_ELS = 0x90, +}; +#define FC_ELS_CMDS_INIT { \ + [ELS_LS_RJT] = "LS_RJT", \ + [ELS_LS_ACC] = "LS_ACC", \ + [ELS_PLOGI] = "PLOGI", \ + [ELS_FLOGI] = "FLOGI", \ + [ELS_LOGO] = "LOGO", \ + [ELS_ABTX] = "ABTX", \ + [ELS_RCS] = "RCS", \ + [ELS_RES] = "RES", \ + [ELS_RSS] = "RSS", \ + [ELS_RSI] = "RSI", \ + [ELS_ESTS] = "ESTS", \ + [ELS_ESTC] = "ESTC", \ + [ELS_ADVC] = "ADVC", \ + [ELS_RTV] = "RTV", \ + [ELS_RLS] = "RLS", \ + [ELS_ECHO] = "ECHO", \ + [ELS_TEST] = "TEST", \ + [ELS_RRQ] = "RRQ", \ + [ELS_REC] = "REC", \ + [ELS_SRR] = "SRR", \ + [ELS_FPIN] = "FPIN", \ + [ELS_RDP] = "RDP", \ + [ELS_RDF] = "RDF", \ + [ELS_PRLI] = "PRLI", \ + [ELS_PRLO] = "PRLO", \ + [ELS_SCN] = "SCN", \ + [ELS_TPLS] = "TPLS", \ + [ELS_TPRLO] = "TPRLO", \ + [ELS_LCLM] = "LCLM", \ + [ELS_GAID] = "GAID", \ + [ELS_FACT] = "FACT", \ + [ELS_FDACDT] = "FDACDT", \ + [ELS_NACT] = "NACT", \ + [ELS_NDACT] = "NDACT", \ + [ELS_QOSR] = "QOSR", \ + [ELS_RVCS] = "RVCS", \ + [ELS_PDISC] = "PDISC", \ + [ELS_FDISC] = "FDISC", \ + [ELS_ADISC] = "ADISC", \ + [ELS_RNC] = "RNC", \ + [ELS_FARP_REQ] = "FARP_REQ", \ + [ELS_FARP_REPL] = "FARP_REPL", \ + [ELS_RPS] = "RPS", \ + [ELS_RPL] = "RPL", \ + [ELS_RPBC] = "RPBC", \ + [ELS_FAN] = "FAN", \ + [ELS_RSCN] = "RSCN", \ + [ELS_SCR] = "SCR", \ + [ELS_RNFT] = "RNFT", \ + [ELS_CSR] = "CSR", \ + [ELS_CSU] = "CSU", \ + [ELS_LINIT] = "LINIT", \ + [ELS_LSTS] = "LSTS", \ + [ELS_RNID] = "RNID", \ + [ELS_RLIR] = "RLIR", \ + [ELS_LIRR] = "LIRR", \ + [ELS_SRL] = "SRL", \ + [ELS_SBRP] = "SBRP", \ + [ELS_RPSC] = "RPSC", \ + [ELS_QSA] = "QSA", \ + [ELS_EVFP] = "EVFP", \ + [ELS_LKA] = "LKA", \ + [ELS_AUTH_ELS] = "AUTH_ELS", \ +} +struct fc_els_ls_acc { + __u8 la_cmd; + __u8 la_resv[3]; +}; +struct fc_els_ls_rjt { + __u8 er_cmd; + __u8 er_resv[4]; + __u8 er_reason; + __u8 er_explan; + __u8 er_vendor; +}; +enum fc_els_rjt_reason { + ELS_RJT_NONE = 0, + ELS_RJT_INVAL = 0x01, + ELS_RJT_LOGIC = 0x03, + ELS_RJT_BUSY = 0x05, + ELS_RJT_PROT = 0x07, + ELS_RJT_UNAB = 0x09, + ELS_RJT_UNSUP = 0x0b, + ELS_RJT_INPROG = 0x0e, + ELS_RJT_FIP = 0x20, + ELS_RJT_VENDOR = 0xff, +}; +enum fc_els_rjt_explan { + ELS_EXPL_NONE = 0x00, + ELS_EXPL_SPP_OPT_ERR = 0x01, + ELS_EXPL_SPP_ICTL_ERR = 0x03, + ELS_EXPL_AH = 0x11, + ELS_EXPL_AH_REQ = 0x13, + ELS_EXPL_SID = 0x15, + ELS_EXPL_OXID_RXID = 0x17, + ELS_EXPL_INPROG = 0x19, + ELS_EXPL_PLOGI_REQD = 0x1e, + ELS_EXPL_INSUF_RES = 0x29, + ELS_EXPL_UNAB_DATA = 0x2a, + ELS_EXPL_UNSUPR = 0x2c, + ELS_EXPL_INV_LEN = 0x2d, + ELS_EXPL_NOT_NEIGHBOR = 0x62, + +}; +enum fc_ls_tlv_dtag { + ELS_DTAG_LS_REQ_INFO = 0x00000001, + + ELS_DTAG_LNK_INTEGRITY = 0x00020001, + + ELS_DTAG_DELIVERY = 0x00020002, + + ELS_DTAG_PEER_CONGEST = 0x00020003, + + ELS_DTAG_CONGESTION = 0x00020004, + + ELS_DTAG_FPIN_REGISTER = 0x00030001, + +}; +#define FC_LS_TLV_DTAG_INIT { \ + { ELS_DTAG_LS_REQ_INFO, "Link Service Request Information" }, \ + { ELS_DTAG_LNK_INTEGRITY, "Link Integrity Notification" }, \ + { ELS_DTAG_DELIVERY, "Delivery Notification Present" }, \ + { ELS_DTAG_PEER_CONGEST, "Peer Congestion Notification" }, \ + { ELS_DTAG_CONGESTION, "Congestion Notification" }, \ + { ELS_DTAG_FPIN_REGISTER, "FPIN Registration" }, \ +} +struct fc_tlv_desc { + __be32 desc_tag; + __be32 desc_len; + __u8 desc_value[0]; +}; +#define FC_TLV_DESC_HDR_SZ sizeof(struct fc_tlv_desc) +#define FC_TLV_DESC_LENGTH_FROM_SZ(desc) \ + (sizeof(desc) - FC_TLV_DESC_HDR_SZ) +#define FC_TLV_DESC_SZ_FROM_LENGTH(tlv) \ + (__be32_to_cpu((tlv)->desc_len) + FC_TLV_DESC_HDR_SZ) +static inline void *fc_tlv_next_desc(void *desc) +{ + struct fc_tlv_desc *tlv = desc; + return (desc + FC_TLV_DESC_SZ_FROM_LENGTH(tlv)); +} +struct fc_els_lsri_desc { + __be32 desc_tag; + __be32 desc_len; + struct { + __u8 cmd; + __u8 bytes[3]; + } rqst_w0; +}; +struct fc_els_csp { + __u8 sp_hi_ver; + __u8 sp_lo_ver; + __be16 sp_bb_cred; + __be16 sp_features; + __be16 sp_bb_data; + union { + struct { + __be16 _sp_tot_seq; + __be16 _sp_rel_off; + } sp_plogi; + struct { + __be32 _sp_r_a_tov; + } sp_flogi_acc; + } sp_u; + __be32 sp_e_d_tov; +}; +#define sp_tot_seq sp_u.sp_plogi._sp_tot_seq +#define sp_rel_off sp_u.sp_plogi._sp_rel_off +#define sp_r_a_tov sp_u.sp_flogi_acc._sp_r_a_tov +#define FC_SP_BB_DATA_MASK 0xfff +#define FC_SP_MIN_MAX_PAYLOAD FC_MIN_MAX_PAYLOAD +#define FC_SP_MAX_MAX_PAYLOAD FC_MAX_PAYLOAD +#define FC_SP_FT_NPIV 0x8000 +#define FC_SP_FT_CIRO 0x8000 +#define FC_SP_FT_CLAD 0x8000 +#define FC_SP_FT_RAND 0x4000 +#define FC_SP_FT_VAL 0x2000 +#define FC_SP_FT_NPIV_ACC 0x2000 +#define FC_SP_FT_FPORT 0x1000 +#define FC_SP_FT_ABB 0x0800 +#define FC_SP_FT_EDTR 0x0400 +#define FC_SP_FT_MCAST 0x0200 +#define FC_SP_FT_BCAST 0x0100 +#define FC_SP_FT_HUNT 0x0080 +#define FC_SP_FT_SIMP 0x0040 +#define FC_SP_FT_SEC 0x0020 +#define FC_SP_FT_CSYN 0x0010 +#define FC_SP_FT_RTTOV 0x0008 +#define FC_SP_FT_HALF 0x0004 +#define FC_SP_FT_SEQC 0x0002 +#define FC_SP_FT_PAYL 0x0001 +struct fc_els_cssp { + __be16 cp_class; + __be16 cp_init; + __be16 cp_recip; + __be16 cp_rdfs; + __be16 cp_con_seq; + __be16 cp_ee_cred; + __u8 cp_resv1; + __u8 cp_open_seq; + __u8 _cp_resv2[2]; +}; +#define FC_CPC_VALID 0x8000 +#define FC_CPC_IMIX 0x4000 +#define FC_CPC_SEQ 0x0800 +#define FC_CPC_CAMP 0x0200 +#define FC_CPC_PRI 0x0080 +#define FC_CPI_CSYN 0x0010 +#define FC_CPR_CSYN 0x0008 +struct fc_els_flogi { + __u8 fl_cmd; + __u8 _fl_resvd[3]; + struct fc_els_csp fl_csp; + __be64 fl_wwpn; + __be64 fl_wwnn; + struct fc_els_cssp fl_cssp[4]; + __u8 fl_vend[16]; +} __attribute__((__packed__)); +struct fc_els_spp { + __u8 spp_type; + __u8 spp_type_ext; + __u8 spp_flags; + __u8 _spp_resvd; + __be32 spp_orig_pa; + __be32 spp_resp_pa; + __be32 spp_params; +}; +#define FC_SPP_OPA_VAL 0x80 +#define FC_SPP_RPA_VAL 0x40 +#define FC_SPP_EST_IMG_PAIR 0x20 +#define FC_SPP_RESP_MASK 0x0f +enum fc_els_spp_resp { + FC_SPP_RESP_ACK = 1, + FC_SPP_RESP_RES = 2, + FC_SPP_RESP_INIT = 3, + FC_SPP_RESP_NO_PA = 4, + FC_SPP_RESP_CONF = 5, + FC_SPP_RESP_COND = 6, + FC_SPP_RESP_MULT = 7, + FC_SPP_RESP_INVL = 8, +}; +struct fc_els_rrq { + __u8 rrq_cmd; + __u8 rrq_zero[3]; + __u8 rrq_resvd; + __u8 rrq_s_id[3]; + __be16 rrq_ox_id; + __be16 rrq_rx_id; +}; +struct fc_els_rec { + __u8 rec_cmd; + __u8 rec_zero[3]; + __u8 rec_resvd; + __u8 rec_s_id[3]; + __be16 rec_ox_id; + __be16 rec_rx_id; +}; +struct fc_els_rec_acc { + __u8 reca_cmd; + __u8 reca_zero[3]; + __be16 reca_ox_id; + __be16 reca_rx_id; + __u8 reca_resvd1; + __u8 reca_ofid[3]; + __u8 reca_resvd2; + __u8 reca_rfid[3]; + __be32 reca_fc4value; + __be32 reca_e_stat; +}; +struct fc_els_prli { + __u8 prli_cmd; + __u8 prli_spp_len; + __be16 prli_len; + +}; +struct fc_els_prlo { + __u8 prlo_cmd; + __u8 prlo_obs; + __be16 prlo_len; +}; +struct fc_els_adisc { + __u8 adisc_cmd; + __u8 adisc_resv[3]; + __u8 adisc_resv1; + __u8 adisc_hard_addr[3]; + __be64 adisc_wwpn; + __be64 adisc_wwnn; + __u8 adisc_resv2; + __u8 adisc_port_id[3]; +} __attribute__((__packed__)); +struct fc_els_logo { + __u8 fl_cmd; + __u8 fl_zero[3]; + __u8 fl_resvd; + __u8 fl_n_port_id[3]; + __be64 fl_n_port_wwn; +}; +struct fc_els_rtv { + __u8 rtv_cmd; + __u8 rtv_zero[3]; +}; +struct fc_els_rtv_acc { + __u8 rtv_cmd; + __u8 rtv_zero[3]; + __be32 rtv_r_a_tov; + __be32 rtv_e_d_tov; + __be32 rtv_toq; +}; +#define FC_ELS_RTV_EDRES (1 << 26) +#define FC_ELS_RTV_RTTOV (1 << 19) +struct fc_els_scr { + __u8 scr_cmd; + __u8 scr_resv[6]; + __u8 scr_reg_func; +}; +enum fc_els_scr_func { + ELS_SCRF_FAB = 1, + ELS_SCRF_NPORT = 2, + ELS_SCRF_FULL = 3, + ELS_SCRF_CLEAR = 255, +}; +struct fc_els_rscn { + __u8 rscn_cmd; + __u8 rscn_page_len; + __be16 rscn_plen; + +}; +struct fc_els_rscn_page { + __u8 rscn_page_flags; + __u8 rscn_fid[3]; +}; +#define ELS_RSCN_EV_QUAL_BIT 2 +#define ELS_RSCN_EV_QUAL_MASK 0xf +#define ELS_RSCN_ADDR_FMT_BIT 0 +#define ELS_RSCN_ADDR_FMT_MASK 0x3 +enum fc_els_rscn_ev_qual { + ELS_EV_QUAL_NONE = 0, + ELS_EV_QUAL_NS_OBJ = 1, + ELS_EV_QUAL_PORT_ATTR = 2, + ELS_EV_QUAL_SERV_OBJ = 3, + ELS_EV_QUAL_SW_CONFIG = 4, + ELS_EV_QUAL_REM_OBJ = 5, +}; +enum fc_els_rscn_addr_fmt { + ELS_ADDR_FMT_PORT = 0, + ELS_ADDR_FMT_AREA = 1, + ELS_ADDR_FMT_DOM = 2, + ELS_ADDR_FMT_FAB = 3, +}; +struct fc_els_rnid { + __u8 rnid_cmd; + __u8 rnid_resv[3]; + __u8 rnid_fmt; + __u8 rnid_resv2[3]; +}; +enum fc_els_rnid_fmt { + ELS_RNIDF_NONE = 0, + ELS_RNIDF_GEN = 0xdf, +}; +struct fc_els_rnid_resp { + __u8 rnid_cmd; + __u8 rnid_resv[3]; + __u8 rnid_fmt; + __u8 rnid_cid_len; + __u8 rnid_resv2; + __u8 rnid_sid_len; +}; +struct fc_els_rnid_cid { + __be64 rnid_wwpn; + __be64 rnid_wwnn; +}; +struct fc_els_rnid_gen { + __u8 rnid_vend_id[16]; + __be32 rnid_atype; + __be32 rnid_phys_port; + __be32 rnid_att_nodes; + __u8 rnid_node_mgmt; + __u8 rnid_ip_ver; + __be16 rnid_prot_port; + __be32 rnid_ip_addr[4]; + __u8 rnid_resvd[2]; + __be16 rnid_vend_spec; +}; +enum fc_els_rnid_atype { + ELS_RNIDA_UNK = 0x01, + ELS_RNIDA_OTHER = 0x02, + ELS_RNIDA_HUB = 0x03, + ELS_RNIDA_SWITCH = 0x04, + ELS_RNIDA_GATEWAY = 0x05, + ELS_RNIDA_CONV = 0x06, + ELS_RNIDA_HBA = 0x07, + ELS_RNIDA_PROXY = 0x08, + ELS_RNIDA_STORAGE = 0x09, + ELS_RNIDA_HOST = 0x0a, + ELS_RNIDA_SUBSYS = 0x0b, + ELS_RNIDA_ACCESS = 0x0e, + ELS_RNIDA_NAS = 0x11, + ELS_RNIDA_BRIDGE = 0x12, + ELS_RNIDA_VIRT = 0x13, + ELS_RNIDA_MF = 0xff, + ELS_RNIDA_MF_HUB = 1UL << 31, + ELS_RNIDA_MF_SW = 1UL << 30, + ELS_RNIDA_MF_GW = 1UL << 29, + ELS_RNIDA_MF_ST = 1UL << 28, + ELS_RNIDA_MF_HOST = 1UL << 27, + ELS_RNIDA_MF_SUB = 1UL << 26, + ELS_RNIDA_MF_ACC = 1UL << 25, + ELS_RNIDA_MF_WDM = 1UL << 24, + ELS_RNIDA_MF_NAS = 1UL << 23, + ELS_RNIDA_MF_BR = 1UL << 22, + ELS_RNIDA_MF_VIRT = 1UL << 21, +}; +enum fc_els_rnid_mgmt { + ELS_RNIDM_SNMP = 0, + ELS_RNIDM_TELNET = 1, + ELS_RNIDM_HTTP = 2, + ELS_RNIDM_HTTPS = 3, + ELS_RNIDM_XML = 4, +}; +enum fc_els_rnid_ipver { + ELS_RNIDIP_NONE = 0, + ELS_RNIDIP_V4 = 1, + ELS_RNIDIP_V6 = 2, +}; +struct fc_els_rpl { + __u8 rpl_cmd; + __u8 rpl_resv[5]; + __be16 rpl_max_size; + __u8 rpl_resv1; + __u8 rpl_index[3]; +}; +struct fc_els_pnb { + __be32 pnb_phys_pn; + __u8 pnb_resv; + __u8 pnb_port_id[3]; + __be64 pnb_wwpn; +}; +struct fc_els_rpl_resp { + __u8 rpl_cmd; + __u8 rpl_resv1; + __be16 rpl_plen; + __u8 rpl_resv2; + __u8 rpl_llen[3]; + __u8 rpl_resv3; + __u8 rpl_index[3]; + struct fc_els_pnb rpl_pnb[1]; +}; +struct fc_els_lesb { + __be32 lesb_link_fail; + __be32 lesb_sync_loss; + __be32 lesb_sig_loss; + __be32 lesb_prim_err; + __be32 lesb_inv_word; + __be32 lesb_inv_crc; +}; +struct fc_els_rps { + __u8 rps_cmd; + __u8 rps_resv[2]; + __u8 rps_flag; + __be64 rps_port_spec; +}; +enum fc_els_rps_flag { + FC_ELS_RPS_DID = 0x00, + FC_ELS_RPS_PPN = 0x01, + FC_ELS_RPS_WWPN = 0x02, +}; +struct fc_els_rps_resp { + __u8 rps_cmd; + __u8 rps_resv[2]; + __u8 rps_flag; + __u8 rps_resv2[2]; + __be16 rps_status; + struct fc_els_lesb rps_lesb; +}; +enum fc_els_rps_resp_flag { + FC_ELS_RPS_LPEV = 0x01, +}; +enum fc_els_rps_resp_status { + FC_ELS_RPS_PTP = 1 << 5, + FC_ELS_RPS_LOOP = 1 << 4, + FC_ELS_RPS_FAB = 1 << 3, + FC_ELS_RPS_NO_SIG = 1 << 2, + FC_ELS_RPS_NO_SYNC = 1 << 1, + FC_ELS_RPS_RESET = 1 << 0, +}; +struct fc_els_lirr { + __u8 lirr_cmd; + __u8 lirr_resv[3]; + __u8 lirr_func; + __u8 lirr_fmt; + __u8 lirr_resv2[2]; +}; +enum fc_els_lirr_func { + ELS_LIRR_SET_COND = 0x01, + ELS_LIRR_SET_UNCOND = 0x02, + ELS_LIRR_CLEAR = 0xff +}; +struct fc_els_srl { + __u8 srl_cmd; + __u8 srl_resv[3]; + __u8 srl_flag; + __u8 srl_flag_param[3]; +}; +enum fc_els_srl_flag { + FC_ELS_SRL_ALL = 0x00, + FC_ELS_SRL_ONE = 0x01, + FC_ELS_SRL_EN_PER = 0x02, + FC_ELS_SRL_DIS_PER = 0x03, +}; +struct fc_els_rls { + __u8 rls_cmd; + __u8 rls_resv[4]; + __u8 rls_port_id[3]; +}; +struct fc_els_rls_resp { + __u8 rls_cmd; + __u8 rls_resv[3]; + struct fc_els_lesb rls_lesb; +}; +struct fc_els_rlir { + __u8 rlir_cmd; + __u8 rlir_resv[3]; + __u8 rlir_fmt; + __u8 rlir_clr_len; + __u8 rlir_cld_len; + __u8 rlir_slr_len; +}; +struct fc_els_clir { + __be64 clir_wwpn; + __be64 clir_wwnn; + __u8 clir_port_type; + __u8 clir_port_id[3]; + __be64 clir_conn_wwpn; + __be64 clir_conn_wwnn; + __be64 clir_fab_name; + __be32 clir_phys_port; + __be32 clir_trans_id; + __u8 clir_resv[3]; + __u8 clir_ts_fmt; + __be64 clir_timestamp; +}; +enum fc_els_clir_ts_fmt { + ELS_CLIR_TS_UNKNOWN = 0, + ELS_CLIR_TS_SEC_FRAC = 1, + ELS_CLIR_TS_CSU = 2, +}; +struct fc_els_clid { + __u8 clid_iq; + __u8 clid_ic; + __be16 clid_epai; +}; +enum fc_els_clid_iq { + ELS_CLID_SWITCH = 0x20, + ELS_CLID_E_PORT = 0x10, + ELS_CLID_SEV_MASK = 0x0c, + ELS_CLID_SEV_INFO = 0x00, + ELS_CLID_SEV_INOP = 0x08, + ELS_CLID_SEV_DEG = 0x04, + ELS_CLID_LASER = 0x02, + ELS_CLID_FRU = 0x01, +}; +enum fc_els_clid_ic { + ELS_CLID_IC_IMPL = 1, + ELS_CLID_IC_BER = 2, + ELS_CLID_IC_LOS = 3, + ELS_CLID_IC_NOS = 4, + ELS_CLID_IC_PST = 5, + ELS_CLID_IC_INVAL = 6, + ELS_CLID_IC_LOOP_TO = 7, + ELS_CLID_IC_LIP = 8, +}; +enum fc_fpin_li_event_types { + FPIN_LI_UNKNOWN = 0x0, + FPIN_LI_LINK_FAILURE = 0x1, + FPIN_LI_LOSS_OF_SYNC = 0x2, + FPIN_LI_LOSS_OF_SIG = 0x3, + FPIN_LI_PRIM_SEQ_ERR = 0x4, + FPIN_LI_INVALID_TX_WD = 0x5, + FPIN_LI_INVALID_CRC = 0x6, + FPIN_LI_DEVICE_SPEC = 0xF, +}; +#define FC_FPIN_LI_EVT_TYPES_INIT { \ + { FPIN_LI_UNKNOWN, "Unknown" }, \ + { FPIN_LI_LINK_FAILURE, "Link Failure" }, \ + { FPIN_LI_LOSS_OF_SYNC, "Loss of Synchronization" }, \ + { FPIN_LI_LOSS_OF_SIG, "Loss of Signal" }, \ + { FPIN_LI_PRIM_SEQ_ERR, "Primitive Sequence Protocol Error" }, \ + { FPIN_LI_INVALID_TX_WD, "Invalid Transmission Word" }, \ + { FPIN_LI_INVALID_CRC, "Invalid CRC" }, \ + { FPIN_LI_DEVICE_SPEC, "Device Specific" }, \ +} +struct fc_fn_li_desc { + __be32 desc_tag; + __be32 desc_len; + __be64 detecting_wwpn; + __be64 attached_wwpn; + __be16 event_type; + __be16 event_modifier; + __be32 event_threshold; + __be32 event_count; + __be32 pname_count; + __be64 pname_list[0]; +}; +struct fc_els_fpin { + __u8 fpin_cmd; + __u8 fpin_zero[3]; + __be32 desc_len; + struct fc_tlv_desc fpin_desc[0]; +}; +struct fc_df_desc_fpin_reg { + __be32 desc_tag; + __be32 desc_len; + __be32 count; + __be32 desc_tags[0]; +}; +struct fc_els_rdf { + __u8 fpin_cmd; + __u8 fpin_zero[3]; + __be32 desc_len; + struct fc_tlv_desc desc[0]; +}; +struct fc_els_rdf_resp { + struct fc_els_ls_acc acc_hdr; + __be32 desc_list_len; + struct fc_els_lsri_desc lsri; + struct fc_tlv_desc desc[0]; +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/scsi/fc/fc_fs.h b/linux-5.10/prebuilts/usr/include/scsi/fc/fc_fs.h new file mode 100644 index 0000000..b775e98 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/scsi/fc/fc_fs.h @@ -0,0 +1,237 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _FC_FS_H_ +#define _FC_FS_H_ +#include +struct fc_frame_header { + __u8 fh_r_ctl; + __u8 fh_d_id[3]; + __u8 fh_cs_ctl; + __u8 fh_s_id[3]; + __u8 fh_type; + __u8 fh_f_ctl[3]; + __u8 fh_seq_id; + __u8 fh_df_ctl; + __be16 fh_seq_cnt; + __be16 fh_ox_id; + __be16 fh_rx_id; + __be32 fh_parm_offset; +}; +#define FC_FRAME_HEADER_LEN 24 +#define FC_MAX_PAYLOAD 2112U +#define FC_MIN_MAX_PAYLOAD 256U +#define FC_MAX_FRAME (FC_MAX_PAYLOAD + FC_FRAME_HEADER_LEN) +#define FC_MIN_MAX_FRAME (FC_MIN_MAX_PAYLOAD + FC_FRAME_HEADER_LEN) + +enum fc_rctl { + FC_RCTL_DD_UNCAT = 0x00, + FC_RCTL_DD_SOL_DATA = 0x01, + FC_RCTL_DD_UNSOL_CTL = 0x02, + FC_RCTL_DD_SOL_CTL = 0x03, + FC_RCTL_DD_UNSOL_DATA = 0x04, + FC_RCTL_DD_DATA_DESC = 0x05, + FC_RCTL_DD_UNSOL_CMD = 0x06, + FC_RCTL_DD_CMD_STATUS = 0x07, +#define FC_RCTL_ILS_REQ FC_RCTL_DD_UNSOL_CTL +#define FC_RCTL_ILS_REP FC_RCTL_DD_SOL_CTL + + FC_RCTL_ELS_REQ = 0x22, + FC_RCTL_ELS_REP = 0x23, + FC_RCTL_ELS4_REQ = 0x32, + FC_RCTL_ELS4_REP = 0x33, + + FC_RCTL_VFTH = 0x50, + FC_RCTL_IFRH = 0x51, + FC_RCTL_ENCH = 0x52, + + FC_RCTL_BA_NOP = 0x80, + FC_RCTL_BA_ABTS = 0x81, + FC_RCTL_BA_RMC = 0x82, + FC_RCTL_BA_ACC = 0x84, + FC_RCTL_BA_RJT = 0x85, + FC_RCTL_BA_PRMT = 0x86, + + FC_RCTL_ACK_1 = 0xc0, + FC_RCTL_ACK_0 = 0xc1, + FC_RCTL_P_RJT = 0xc2, + FC_RCTL_F_RJT = 0xc3, + FC_RCTL_P_BSY = 0xc4, + FC_RCTL_F_BSY = 0xc5, + FC_RCTL_F_BSYL = 0xc6, + FC_RCTL_LCR = 0xc7, + FC_RCTL_END = 0xc9, +}; + +#define FC_RCTL_NAMES_INIT { \ + [FC_RCTL_DD_UNCAT] = "uncat", \ + [FC_RCTL_DD_SOL_DATA] = "sol data", \ + [FC_RCTL_DD_UNSOL_CTL] = "unsol ctl", \ + [FC_RCTL_DD_SOL_CTL] = "sol ctl/reply", \ + [FC_RCTL_DD_UNSOL_DATA] = "unsol data", \ + [FC_RCTL_DD_DATA_DESC] = "data desc", \ + [FC_RCTL_DD_UNSOL_CMD] = "unsol cmd", \ + [FC_RCTL_DD_CMD_STATUS] = "cmd status", \ + [FC_RCTL_ELS_REQ] = "ELS req", \ + [FC_RCTL_ELS_REP] = "ELS rep", \ + [FC_RCTL_ELS4_REQ] = "FC-4 ELS req", \ + [FC_RCTL_ELS4_REP] = "FC-4 ELS rep", \ + [FC_RCTL_BA_NOP] = "BLS NOP", \ + [FC_RCTL_BA_ABTS] = "BLS abort", \ + [FC_RCTL_BA_RMC] = "BLS remove connection", \ + [FC_RCTL_BA_ACC] = "BLS accept", \ + [FC_RCTL_BA_RJT] = "BLS reject", \ + [FC_RCTL_BA_PRMT] = "BLS dedicated connection preempted", \ + [FC_RCTL_ACK_1] = "LC ACK_1", \ + [FC_RCTL_ACK_0] = "LC ACK_0", \ + [FC_RCTL_P_RJT] = "LC port reject", \ + [FC_RCTL_F_RJT] = "LC fabric reject", \ + [FC_RCTL_P_BSY] = "LC port busy", \ + [FC_RCTL_F_BSY] = "LC fabric busy to data frame", \ + [FC_RCTL_F_BSYL] = "LC fabric busy to link control frame",\ + [FC_RCTL_LCR] = "LC link credit reset", \ + [FC_RCTL_END] = "LC end", \ +} +enum fc_well_known_fid { + FC_FID_NONE = 0x000000, + FC_FID_BCAST = 0xffffff, + FC_FID_FLOGI = 0xfffffe, + FC_FID_FCTRL = 0xfffffd, + FC_FID_DIR_SERV = 0xfffffc, + FC_FID_TIME_SERV = 0xfffffb, + FC_FID_MGMT_SERV = 0xfffffa, + FC_FID_QOS = 0xfffff9, + FC_FID_ALIASES = 0xfffff8, + FC_FID_SEC_KEY = 0xfffff7, + FC_FID_CLOCK = 0xfffff6, + FC_FID_MCAST_SERV = 0xfffff5, +}; +#define FC_FID_WELL_KNOWN_MAX 0xffffff +#define FC_FID_WELL_KNOWN_BASE 0xfffff5 +#define FC_FID_DOM_MGR 0xfffc00 +#define FC_FID_DOMAIN 0 +#define FC_FID_PORT 1 +#define FC_FID_LINK 2 +enum fc_fh_type { + FC_TYPE_BLS = 0x00, + FC_TYPE_ELS = 0x01, + FC_TYPE_IP = 0x05, + FC_TYPE_FCP = 0x08, + FC_TYPE_CT = 0x20, + FC_TYPE_ILS = 0x22, + FC_TYPE_NVME = 0x28, +}; +#define FC_TYPE_NAMES_INIT { \ + [FC_TYPE_BLS] = "BLS", \ + [FC_TYPE_ELS] = "ELS", \ + [FC_TYPE_IP] = "IP", \ + [FC_TYPE_FCP] = "FCP", \ + [FC_TYPE_CT] = "CT", \ + [FC_TYPE_ILS] = "ILS", \ + [FC_TYPE_NVME] = "NVME", \ +} +#define FC_XID_UNKNOWN 0xffff +#define FC_XID_MIN 0x0 +#define FC_XID_MAX 0xfffe +#define FC_FC_EX_CTX (1 << 23) +#define FC_FC_SEQ_CTX (1 << 22) +#define FC_FC_FIRST_SEQ (1 << 21) +#define FC_FC_LAST_SEQ (1 << 20) +#define FC_FC_END_SEQ (1 << 19) +#define FC_FC_END_CONN (1 << 18) +#define FC_FC_RES_B17 (1 << 17) +#define FC_FC_SEQ_INIT (1 << 16) +#define FC_FC_X_ID_REASS (1 << 15) +#define FC_FC_X_ID_INVAL (1 << 14) +#define FC_FC_ACK_1 (1 << 12) +#define FC_FC_ACK_N (2 << 12) +#define FC_FC_ACK_0 (3 << 12) +#define FC_FC_RES_B11 (1 << 11) +#define FC_FC_RES_B10 (1 << 10) +#define FC_FC_RETX_SEQ (1 << 9) +#define FC_FC_UNI_TX (1 << 8) +#define FC_FC_CONT_SEQ(i) ((i) << 6) +#define FC_FC_ABT_SEQ(i) ((i) << 4) +#define FC_FC_REL_OFF (1 << 3) +#define FC_FC_RES2 (1 << 2) +#define FC_FC_FILL(i) ((i) & 3) +struct fc_ba_acc { + __u8 ba_seq_id_val; +#define FC_BA_SEQ_ID_VAL 0x80 + __u8 ba_seq_id; + __u8 ba_resvd[2]; + __be16 ba_ox_id; + __be16 ba_rx_id; + __be16 ba_low_seq_cnt; + __be16 ba_high_seq_cnt; +}; +struct fc_ba_rjt { + __u8 br_resvd; + __u8 br_reason; + __u8 br_explan; + __u8 br_vendor; +}; +enum fc_ba_rjt_reason { + FC_BA_RJT_NONE = 0, + FC_BA_RJT_INVL_CMD = 0x01, + FC_BA_RJT_LOG_ERR = 0x03, + FC_BA_RJT_LOG_BUSY = 0x05, + FC_BA_RJT_PROTO_ERR = 0x07, + FC_BA_RJT_UNABLE = 0x09, + FC_BA_RJT_VENDOR = 0xff, +}; +enum fc_ba_rjt_explan { + FC_BA_RJT_EXP_NONE = 0x00, + FC_BA_RJT_INV_XID = 0x03, + FC_BA_RJT_ABT = 0x05, +}; +struct fc_pf_rjt { + __u8 rj_action; + __u8 rj_reason; + __u8 rj_resvd; + __u8 rj_vendor; +}; +enum fc_pf_rjt_reason { + FC_RJT_NONE = 0, + FC_RJT_INVL_DID = 0x01, + FC_RJT_INVL_SID = 0x02, + FC_RJT_P_UNAV_T = 0x03, + FC_RJT_P_UNAV = 0x04, + FC_RJT_CLS_UNSUP = 0x05, + FC_RJT_DEL_USAGE = 0x06, + FC_RJT_TYPE_UNSUP = 0x07, + FC_RJT_LINK_CTL = 0x08, + FC_RJT_R_CTL = 0x09, + FC_RJT_F_CTL = 0x0a, + FC_RJT_OX_ID = 0x0b, + FC_RJT_RX_ID = 0x0c, + FC_RJT_SEQ_ID = 0x0d, + FC_RJT_DF_CTL = 0x0e, + FC_RJT_SEQ_CNT = 0x0f, + FC_RJT_PARAM = 0x10, + FC_RJT_EXCH_ERR = 0x11, + FC_RJT_PROTO = 0x12, + FC_RJT_LEN = 0x13, + FC_RJT_UNEXP_ACK = 0x14, + FC_RJT_FAB_CLASS = 0x15, + FC_RJT_LOGI_REQ = 0x16, + FC_RJT_SEQ_XS = 0x17, + FC_RJT_EXCH_EST = 0x18, + FC_RJT_FAB_UNAV = 0x1a, + FC_RJT_VC_ID = 0x1b, + FC_RJT_CS_CTL = 0x1c, + FC_RJT_INSUF_RES = 0x1d, + FC_RJT_INVL_CLS = 0x1f, + FC_RJT_PREEMT_RJT = 0x20, + FC_RJT_PREEMT_DIS = 0x21, + FC_RJT_MCAST_ERR = 0x22, + FC_RJT_MCAST_ET = 0x23, + FC_RJT_PRLI_REQ = 0x24, + FC_RJT_INVL_ATT = 0x25, + FC_RJT_VENDOR = 0xff, +}; +#define FC_DEF_E_D_TOV 2000UL +#define FC_DEF_R_A_TOV 10000UL +#endif diff --git a/linux-5.10/prebuilts/usr/include/scsi/fc/fc_gs.h b/linux-5.10/prebuilts/usr/include/scsi/fc/fc_gs.h new file mode 100644 index 0000000..39694bc --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/scsi/fc/fc_gs.h @@ -0,0 +1,56 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _FC_GS_H_ +#define _FC_GS_H_ +#include +struct fc_ct_hdr { + __u8 ct_rev; + __u8 ct_in_id[3]; + __u8 ct_fs_type; + __u8 ct_fs_subtype; + __u8 ct_options; + __u8 _ct_resvd1; + __be16 ct_cmd; + __be16 ct_mr_size; + __u8 _ct_resvd2; + __u8 ct_reason; + __u8 ct_explan; + __u8 ct_vendor; +}; +#define FC_CT_HDR_LEN 16 +enum fc_ct_rev { + FC_CT_REV = 1 +}; +enum fc_ct_fs_type { + FC_FST_ALIAS = 0xf8, + FC_FST_MGMT = 0xfa, + FC_FST_TIME = 0xfb, + FC_FST_DIR = 0xfc, +}; +enum fc_ct_cmd { + FC_FS_RJT = 0x8001, + FC_FS_ACC = 0x8002, +}; +enum fc_ct_reason { + FC_FS_RJT_CMD = 0x01, + FC_FS_RJT_VER = 0x02, + FC_FS_RJT_LOG = 0x03, + FC_FS_RJT_IUSIZ = 0x04, + FC_FS_RJT_BSY = 0x05, + FC_FS_RJT_PROTO = 0x07, + FC_FS_RJT_UNABL = 0x09, + FC_FS_RJT_UNSUP = 0x0b, +}; +enum fc_ct_explan { + FC_FS_EXP_NONE = 0x00, + FC_FS_EXP_PID = 0x01, + FC_FS_EXP_PNAM = 0x02, + FC_FS_EXP_NNAM = 0x03, + FC_FS_EXP_COS = 0x04, + FC_FS_EXP_FTNR = 0x07, + +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/scsi/fc/fc_ns.h b/linux-5.10/prebuilts/usr/include/scsi/fc/fc_ns.h new file mode 100644 index 0000000..9c38801 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/scsi/fc/fc_ns.h @@ -0,0 +1,108 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _FC_NS_H_ +#define _FC_NS_H_ +#include +#define FC_NS_SUBTYPE 2 +enum fc_ns_req { + FC_NS_GA_NXT = 0x0100, + FC_NS_GI_A = 0x0101, + FC_NS_GPN_ID = 0x0112, + FC_NS_GNN_ID = 0x0113, + FC_NS_GSPN_ID = 0x0118, + FC_NS_GID_PN = 0x0121, + FC_NS_GID_NN = 0x0131, + FC_NS_GID_FT = 0x0171, + FC_NS_GPN_FT = 0x0172, + FC_NS_GID_PT = 0x01a1, + FC_NS_RPN_ID = 0x0212, + FC_NS_RNN_ID = 0x0213, + FC_NS_RFT_ID = 0x0217, + FC_NS_RSPN_ID = 0x0218, + FC_NS_RFF_ID = 0x021f, + FC_NS_RSNN_NN = 0x0239, +}; +enum fc_ns_pt { + FC_NS_UNID_PORT = 0x00, + FC_NS_N_PORT = 0x01, + FC_NS_NL_PORT = 0x02, + FC_NS_FNL_PORT = 0x03, + FC_NS_NX_PORT = 0x7f, + FC_NS_F_PORT = 0x81, + FC_NS_FL_PORT = 0x82, + FC_NS_E_PORT = 0x84, + FC_NS_B_PORT = 0x85, +}; +struct fc_ns_pt_obj { + __u8 pt_type; +}; +struct fc_ns_fid { + __u8 fp_flags; + __u8 fp_fid[3]; +}; +#define FC_NS_FID_LAST 0x80 +#define FC_NS_TYPES 256 +#define FC_NS_BPW 32 +struct fc_ns_fts { + __be32 ff_type_map[FC_NS_TYPES / FC_NS_BPW]; +}; +struct fc_ns_ff { + __be32 fd_feat[FC_NS_TYPES * 4 / FC_NS_BPW]; +}; +struct fc_ns_gid_pt { + __u8 fn_pt_type; + __u8 fn_domain_id_scope; + __u8 fn_area_id_scope; + __u8 fn_resvd; +}; +struct fc_ns_gid_ft { + __u8 fn_resvd; + __u8 fn_domain_id_scope; + __u8 fn_area_id_scope; + __u8 fn_fc4_type; +}; +struct fc_gpn_ft_resp { + __u8 fp_flags; + __u8 fp_fid[3]; + __be32 fp_resvd; + __be64 fp_wwpn; +}; +struct fc_ns_gid_pn { + __be64 fn_wwpn; +}; +struct fc_gid_pn_resp { + __u8 fp_resvd; + __u8 fp_fid[3]; +}; +struct fc_gspn_resp { + __u8 fp_name_len; + char fp_name[]; +}; +struct fc_ns_rft_id { + struct fc_ns_fid fr_fid; + struct fc_ns_fts fr_fts; +}; +struct fc_ns_rn_id { + struct fc_ns_fid fr_fid; + __be64 fr_wwn; +} __attribute__((__packed__)); +struct fc_ns_rsnn { + __be64 fr_wwn; + __u8 fr_name_len; + char fr_name[]; +} __attribute__((__packed__)); +struct fc_ns_rspn { + struct fc_ns_fid fr_fid; + __u8 fr_name_len; + char fr_name[]; +} __attribute__((__packed__)); +struct fc_ns_rff_id { + struct fc_ns_fid fr_fid; + __u8 fr_resvd[2]; + __u8 fr_feat; + __u8 fr_type; +} __attribute__((__packed__)); +#endif diff --git a/linux-5.10/prebuilts/usr/include/scsi/scsi_bsg_fc.h b/linux-5.10/prebuilts/usr/include/scsi/scsi_bsg_fc.h new file mode 100644 index 0000000..deff2cb --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/scsi/scsi_bsg_fc.h @@ -0,0 +1,106 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef SCSI_BSG_FC_H +#define SCSI_BSG_FC_H +#include +#define FC_DEFAULT_BSG_TIMEOUT (10 * HZ) +#define FC_BSG_CLS_MASK 0xF0000000 +#define FC_BSG_HST_MASK 0x80000000 +#define FC_BSG_RPT_MASK 0x40000000 + +#define FC_BSG_HST_ADD_RPORT (FC_BSG_HST_MASK | 0x00000001) +#define FC_BSG_HST_DEL_RPORT (FC_BSG_HST_MASK | 0x00000002) +#define FC_BSG_HST_ELS_NOLOGIN (FC_BSG_HST_MASK | 0x00000003) +#define FC_BSG_HST_CT (FC_BSG_HST_MASK | 0x00000004) +#define FC_BSG_HST_VENDOR (FC_BSG_HST_MASK | 0x000000FF) + +#define FC_BSG_RPT_ELS (FC_BSG_RPT_MASK | 0x00000001) +#define FC_BSG_RPT_CT (FC_BSG_RPT_MASK | 0x00000002) +struct fc_bsg_host_add_rport { + __u8 reserved; + + __u8 port_id[3]; +}; +struct fc_bsg_host_del_rport { + __u8 reserved; + + __u8 port_id[3]; +}; +struct fc_bsg_host_els { + + __u8 command_code; + + __u8 port_id[3]; +}; +#define FC_CTELS_STATUS_OK 0x00000000 +#define FC_CTELS_STATUS_REJECT 0x00000001 +#define FC_CTELS_STATUS_P_RJT 0x00000002 +#define FC_CTELS_STATUS_F_RJT 0x00000003 +#define FC_CTELS_STATUS_P_BSY 0x00000004 +#define FC_CTELS_STATUS_F_BSY 0x00000006 +struct fc_bsg_ctels_reply { + + __u32 status; + + struct { + __u8 action; + __u8 reason_code; + __u8 reason_explanation; + __u8 vendor_unique; + } rjt_data; +}; +struct fc_bsg_host_ct { + __u8 reserved; + + __u8 port_id[3]; + + __u32 preamble_word0; + __u32 preamble_word1; + __u32 preamble_word2; +}; +struct fc_bsg_host_vendor { + + __u64 vendor_id; + + __u32 vendor_cmd[0]; +}; +struct fc_bsg_host_vendor_reply { + + __u32 vendor_rsp[0]; +}; +struct fc_bsg_rport_els { + + __u8 els_code; +}; +struct fc_bsg_rport_ct { + + __u32 preamble_word0; + __u32 preamble_word1; + __u32 preamble_word2; +}; +struct fc_bsg_request { + __u32 msgcode; + union { + struct fc_bsg_host_add_rport h_addrport; + struct fc_bsg_host_del_rport h_delrport; + struct fc_bsg_host_els h_els; + struct fc_bsg_host_ct h_ct; + struct fc_bsg_host_vendor h_vendor; + struct fc_bsg_rport_els r_els; + struct fc_bsg_rport_ct r_ct; + } rqst_data; +} __attribute__((packed)); +struct fc_bsg_reply { + + __u32 result; + + __u32 reply_payload_rcv_len; + union { + struct fc_bsg_host_vendor_reply vendor_reply; + struct fc_bsg_ctels_reply ctels_reply; + } reply_data; +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/scsi/scsi_bsg_ufs.h b/linux-5.10/prebuilts/usr/include/scsi/scsi_bsg_ufs.h new file mode 100644 index 0000000..c13d4a9 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/scsi/scsi_bsg_ufs.h @@ -0,0 +1,50 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef SCSI_BSG_UFS_H +#define SCSI_BSG_UFS_H +#include +#define UFS_CDB_SIZE 16 +#define UPIU_TRANSACTION_UIC_CMD 0x1F +#define UIC_CMD_SIZE (sizeof(__u32) * 4) +struct utp_upiu_header { + __be32 dword_0; + __be32 dword_1; + __be32 dword_2; +}; +struct utp_upiu_query { + __u8 opcode; + __u8 idn; + __u8 index; + __u8 selector; + __be16 reserved_osf; + __be16 length; + __be32 value; + __be32 reserved[2]; +}; +struct utp_upiu_cmd { + __be32 exp_data_transfer_len; + __u8 cdb[UFS_CDB_SIZE]; +}; +struct utp_upiu_req { + struct utp_upiu_header header; + union { + struct utp_upiu_cmd sc; + struct utp_upiu_query qr; + struct utp_upiu_query uc; + }; +}; +struct ufs_bsg_request { + __u32 msgcode; + struct utp_upiu_req upiu_req; +}; +struct ufs_bsg_reply { + + __u32 result; + + __u32 reply_payload_rcv_len; + struct utp_upiu_req upiu_rsp; +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/scsi/scsi_netlink.h b/linux-5.10/prebuilts/usr/include/scsi/scsi_netlink.h new file mode 100644 index 0000000..21edf9b --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/scsi/scsi_netlink.h @@ -0,0 +1,48 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef SCSI_NETLINK_H +#define SCSI_NETLINK_H +#include +#include +#define SCSI_TRANSPORT_MSG NLMSG_MIN_TYPE + 1 + +#define SCSI_NL_GRP_FC_EVENTS (1<<2) +#define SCSI_NL_GRP_CNT 3 +struct scsi_nl_hdr { + __u8 version; + __u8 transport; + __u16 magic; + __u16 msgtype; + __u16 msglen; +} __attribute__((aligned(sizeof(__u64)))); +#define SCSI_NL_VERSION 1 +#define SCSI_NL_MAGIC 0xA1B2 +#define SCSI_NL_TRANSPORT 0 +#define SCSI_NL_TRANSPORT_FC 1 +#define SCSI_NL_MAX_TRANSPORTS 2 + +#define SCSI_NL_SHOST_VENDOR 0x0001 + +#define SCSI_NL_MSGALIGN(len) (((len) + 7) & ~7) +struct scsi_nl_host_vendor_msg { + struct scsi_nl_hdr snlh; + __u64 vendor_id; + __u16 host_no; + __u16 vmsg_datalen; +} __attribute__((aligned(sizeof(__u64)))); +#define SCSI_NL_VID_TYPE_SHIFT 56 +#define SCSI_NL_VID_TYPE_MASK ((__u64)0xFF << SCSI_NL_VID_TYPE_SHIFT) +#define SCSI_NL_VID_TYPE_PCI ((__u64)0x01 << SCSI_NL_VID_TYPE_SHIFT) +#define SCSI_NL_VID_ID_MASK (~ SCSI_NL_VID_TYPE_MASK) +#define INIT_SCSI_NL_HDR(hdr, t, mtype, mlen) \ + { \ + (hdr)->version = SCSI_NL_VERSION; \ + (hdr)->transport = t; \ + (hdr)->magic = SCSI_NL_MAGIC; \ + (hdr)->msgtype = mtype; \ + (hdr)->msglen = mlen; \ + } +#endif diff --git a/linux-5.10/prebuilts/usr/include/scsi/scsi_netlink_fc.h b/linux-5.10/prebuilts/usr/include/scsi/scsi_netlink_fc.h new file mode 100644 index 0000000..4d074e2 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/scsi/scsi_netlink_fc.h @@ -0,0 +1,24 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef SCSI_NETLINK_FC_H +#define SCSI_NETLINK_FC_H +#include +#include + +#define FC_NL_ASYNC_EVENT 0x0100 + +#define FC_NL_MSGALIGN(len) (((len) + 7) & ~7) +struct fc_nl_event { + struct scsi_nl_hdr snlh; + __u64 seconds; + __u64 vendor_id; + __u16 host_no; + __u16 event_datalen; + __u32 event_num; + __u32 event_code; + __u32 event_data; +} __attribute__((aligned(sizeof(__u64)))); +#endif diff --git a/linux-5.10/prebuilts/usr/include/sound/asequencer.h b/linux-5.10/prebuilts/usr/include/sound/asequencer.h new file mode 100644 index 0000000..5968f25 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/sound/asequencer.h @@ -0,0 +1,417 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI__SOUND_ASEQUENCER_H +#define _UAPI__SOUND_ASEQUENCER_H +#include +#define SNDRV_SEQ_VERSION SNDRV_PROTOCOL_VERSION(1, 0, 2) +#define SNDRV_SEQ_EVENT_SYSTEM 0 +#define SNDRV_SEQ_EVENT_RESULT 1 +#define SNDRV_SEQ_EVENT_NOTE 5 +#define SNDRV_SEQ_EVENT_NOTEON 6 +#define SNDRV_SEQ_EVENT_NOTEOFF 7 +#define SNDRV_SEQ_EVENT_KEYPRESS 8 + +#define SNDRV_SEQ_EVENT_CONTROLLER 10 +#define SNDRV_SEQ_EVENT_PGMCHANGE 11 +#define SNDRV_SEQ_EVENT_CHANPRESS 12 +#define SNDRV_SEQ_EVENT_PITCHBEND 13 +#define SNDRV_SEQ_EVENT_CONTROL14 14 +#define SNDRV_SEQ_EVENT_NONREGPARAM 15 +#define SNDRV_SEQ_EVENT_REGPARAM 16 +#define SNDRV_SEQ_EVENT_SONGPOS 20 +#define SNDRV_SEQ_EVENT_SONGSEL 21 +#define SNDRV_SEQ_EVENT_QFRAME 22 +#define SNDRV_SEQ_EVENT_TIMESIGN 23 +#define SNDRV_SEQ_EVENT_KEYSIGN 24 + +#define SNDRV_SEQ_EVENT_START 30 +#define SNDRV_SEQ_EVENT_CONTINUE 31 +#define SNDRV_SEQ_EVENT_STOP 32 +#define SNDRV_SEQ_EVENT_SETPOS_TICK 33 +#define SNDRV_SEQ_EVENT_SETPOS_TIME 34 +#define SNDRV_SEQ_EVENT_TEMPO 35 +#define SNDRV_SEQ_EVENT_CLOCK 36 +#define SNDRV_SEQ_EVENT_TICK 37 +#define SNDRV_SEQ_EVENT_QUEUE_SKEW 38 +#define SNDRV_SEQ_EVENT_TUNE_REQUEST 40 +#define SNDRV_SEQ_EVENT_RESET 41 +#define SNDRV_SEQ_EVENT_SENSING 42 +#define SNDRV_SEQ_EVENT_ECHO 50 +#define SNDRV_SEQ_EVENT_OSS 51 +#define SNDRV_SEQ_EVENT_CLIENT_START 60 +#define SNDRV_SEQ_EVENT_CLIENT_EXIT 61 +#define SNDRV_SEQ_EVENT_CLIENT_CHANGE 62 +#define SNDRV_SEQ_EVENT_PORT_START 63 +#define SNDRV_SEQ_EVENT_PORT_EXIT 64 +#define SNDRV_SEQ_EVENT_PORT_CHANGE 65 +#define SNDRV_SEQ_EVENT_PORT_SUBSCRIBED 66 +#define SNDRV_SEQ_EVENT_PORT_UNSUBSCRIBED 67 +#define SNDRV_SEQ_EVENT_USR0 90 +#define SNDRV_SEQ_EVENT_USR1 91 +#define SNDRV_SEQ_EVENT_USR2 92 +#define SNDRV_SEQ_EVENT_USR3 93 +#define SNDRV_SEQ_EVENT_USR4 94 +#define SNDRV_SEQ_EVENT_USR5 95 +#define SNDRV_SEQ_EVENT_USR6 96 +#define SNDRV_SEQ_EVENT_USR7 97 +#define SNDRV_SEQ_EVENT_USR8 98 +#define SNDRV_SEQ_EVENT_USR9 99 +#define SNDRV_SEQ_EVENT_SYSEX 130 +#define SNDRV_SEQ_EVENT_BOUNCE 131 +#define SNDRV_SEQ_EVENT_USR_VAR0 135 +#define SNDRV_SEQ_EVENT_USR_VAR1 136 +#define SNDRV_SEQ_EVENT_USR_VAR2 137 +#define SNDRV_SEQ_EVENT_USR_VAR3 138 +#define SNDRV_SEQ_EVENT_USR_VAR4 139 +#define SNDRV_SEQ_EVENT_KERNEL_ERROR 150 +#define SNDRV_SEQ_EVENT_KERNEL_QUOTE 151 +#define SNDRV_SEQ_EVENT_NONE 255 +typedef unsigned char snd_seq_event_type_t; +struct snd_seq_addr { + unsigned char client; + unsigned char port; +}; +struct snd_seq_connect { + struct snd_seq_addr sender; + struct snd_seq_addr dest; +}; +#define SNDRV_SEQ_ADDRESS_UNKNOWN 253 +#define SNDRV_SEQ_ADDRESS_SUBSCRIBERS 254 +#define SNDRV_SEQ_ADDRESS_BROADCAST 255 +#define SNDRV_SEQ_QUEUE_DIRECT 253 + +#define SNDRV_SEQ_TIME_STAMP_TICK (0<<0) +#define SNDRV_SEQ_TIME_STAMP_REAL (1<<0) +#define SNDRV_SEQ_TIME_STAMP_MASK (1<<0) +#define SNDRV_SEQ_TIME_MODE_ABS (0<<1) +#define SNDRV_SEQ_TIME_MODE_REL (1<<1) +#define SNDRV_SEQ_TIME_MODE_MASK (1<<1) +#define SNDRV_SEQ_EVENT_LENGTH_FIXED (0<<2) +#define SNDRV_SEQ_EVENT_LENGTH_VARIABLE (1<<2) +#define SNDRV_SEQ_EVENT_LENGTH_VARUSR (2<<2) +#define SNDRV_SEQ_EVENT_LENGTH_MASK (3<<2) +#define SNDRV_SEQ_PRIORITY_NORMAL (0<<4) +#define SNDRV_SEQ_PRIORITY_HIGH (1<<4) +#define SNDRV_SEQ_PRIORITY_MASK (1<<4) + +struct snd_seq_ev_note { + unsigned char channel; + unsigned char note; + unsigned char velocity; + unsigned char off_velocity; + unsigned int duration; +}; + +struct snd_seq_ev_ctrl { + unsigned char channel; + unsigned char unused1, unused2, unused3; + unsigned int param; + signed int value; +}; + +struct snd_seq_ev_raw8 { + unsigned char d[12]; +}; + +struct snd_seq_ev_raw32 { + unsigned int d[3]; +}; + +struct snd_seq_ev_ext { + unsigned int len; + void *ptr; +} __attribute__((packed)); +struct snd_seq_result { + int event; + int result; +}; +struct snd_seq_real_time { + unsigned int tv_sec; + unsigned int tv_nsec; +}; +typedef unsigned int snd_seq_tick_time_t; +union snd_seq_timestamp { + snd_seq_tick_time_t tick; + struct snd_seq_real_time time; +}; +struct snd_seq_queue_skew { + unsigned int value; + unsigned int base; +}; + +struct snd_seq_ev_queue_control { + unsigned char queue; + unsigned char pad[3]; + union { + signed int value; + union snd_seq_timestamp time; + unsigned int position; + struct snd_seq_queue_skew skew; + unsigned int d32[2]; + unsigned char d8[8]; + } param; +}; + +struct snd_seq_ev_quote { + struct snd_seq_addr origin; + unsigned short value; + struct snd_seq_event *event; +} __attribute__((packed)); + +struct snd_seq_event { + snd_seq_event_type_t type; + unsigned char flags; + char tag; + + unsigned char queue; + union snd_seq_timestamp time; + struct snd_seq_addr source; + struct snd_seq_addr dest; + union { + struct snd_seq_ev_note note; + struct snd_seq_ev_ctrl control; + struct snd_seq_ev_raw8 raw8; + struct snd_seq_ev_raw32 raw32; + struct snd_seq_ev_ext ext; + struct snd_seq_ev_queue_control queue; + union snd_seq_timestamp time; + struct snd_seq_addr addr; + struct snd_seq_connect connect; + struct snd_seq_result result; + struct snd_seq_ev_quote quote; + } data; +}; +struct snd_seq_event_bounce { + int err; + struct snd_seq_event event; + +}; + +struct snd_seq_system_info { + int queues; + int clients; + int ports; + int channels; + int cur_clients; + int cur_queues; + char reserved[24]; +}; + +struct snd_seq_running_info { + unsigned char client; + unsigned char big_endian; + unsigned char cpu_mode; + unsigned char pad; + unsigned char reserved[12]; +}; + +#define SNDRV_SEQ_CLIENT_SYSTEM 0 + +#define SNDRV_SEQ_CLIENT_DUMMY 14 +#define SNDRV_SEQ_CLIENT_OSS 15 + +typedef int __bitwise snd_seq_client_type_t; +#define NO_CLIENT ((__force snd_seq_client_type_t) 0) +#define USER_CLIENT ((__force snd_seq_client_type_t) 1) +#define KERNEL_CLIENT ((__force snd_seq_client_type_t) 2) + + +#define SNDRV_SEQ_FILTER_BROADCAST (1<<0) +#define SNDRV_SEQ_FILTER_MULTICAST (1<<1) +#define SNDRV_SEQ_FILTER_BOUNCE (1<<2) +#define SNDRV_SEQ_FILTER_USE_EVENT (1<<31) +struct snd_seq_client_info { + int client; + snd_seq_client_type_t type; + char name[64]; + unsigned int filter; + unsigned char multicast_filter[8]; + unsigned char event_filter[32]; + int num_ports; + int event_lost; + int card; + int pid; + char reserved[56]; +}; +struct snd_seq_client_pool { + int client; + int output_pool; + int input_pool; + int output_room; + int output_free; + int input_free; + char reserved[64]; +}; +#define SNDRV_SEQ_REMOVE_INPUT (1<<0) +#define SNDRV_SEQ_REMOVE_OUTPUT (1<<1) +#define SNDRV_SEQ_REMOVE_DEST (1<<2) +#define SNDRV_SEQ_REMOVE_DEST_CHANNEL (1<<3) +#define SNDRV_SEQ_REMOVE_TIME_BEFORE (1<<4) +#define SNDRV_SEQ_REMOVE_TIME_AFTER (1<<5) +#define SNDRV_SEQ_REMOVE_TIME_TICK (1<<6) +#define SNDRV_SEQ_REMOVE_EVENT_TYPE (1<<7) +#define SNDRV_SEQ_REMOVE_IGNORE_OFF (1<<8) +#define SNDRV_SEQ_REMOVE_TAG_MATCH (1<<9) +struct snd_seq_remove_events { + unsigned int remove_mode; + union snd_seq_timestamp time; + unsigned char queue; + struct snd_seq_addr dest; + unsigned char channel; + int type; + char tag; + int reserved[10]; +}; + +#define SNDRV_SEQ_PORT_SYSTEM_TIMER 0 +#define SNDRV_SEQ_PORT_SYSTEM_ANNOUNCE 1 + +#define SNDRV_SEQ_PORT_CAP_READ (1<<0) +#define SNDRV_SEQ_PORT_CAP_WRITE (1<<1) +#define SNDRV_SEQ_PORT_CAP_SYNC_READ (1<<2) +#define SNDRV_SEQ_PORT_CAP_SYNC_WRITE (1<<3) +#define SNDRV_SEQ_PORT_CAP_DUPLEX (1<<4) +#define SNDRV_SEQ_PORT_CAP_SUBS_READ (1<<5) +#define SNDRV_SEQ_PORT_CAP_SUBS_WRITE (1<<6) +#define SNDRV_SEQ_PORT_CAP_NO_EXPORT (1<<7) + +#define SNDRV_SEQ_PORT_TYPE_SPECIFIC (1<<0) +#define SNDRV_SEQ_PORT_TYPE_MIDI_GENERIC (1<<1) +#define SNDRV_SEQ_PORT_TYPE_MIDI_GM (1<<2) +#define SNDRV_SEQ_PORT_TYPE_MIDI_GS (1<<3) +#define SNDRV_SEQ_PORT_TYPE_MIDI_XG (1<<4) +#define SNDRV_SEQ_PORT_TYPE_MIDI_MT32 (1<<5) +#define SNDRV_SEQ_PORT_TYPE_MIDI_GM2 (1<<6) +#define SNDRV_SEQ_PORT_TYPE_SYNTH (1<<10) +#define SNDRV_SEQ_PORT_TYPE_DIRECT_SAMPLE (1<<11) +#define SNDRV_SEQ_PORT_TYPE_SAMPLE (1<<12) +#define SNDRV_SEQ_PORT_TYPE_HARDWARE (1<<16) +#define SNDRV_SEQ_PORT_TYPE_SOFTWARE (1<<17) +#define SNDRV_SEQ_PORT_TYPE_SYNTHESIZER (1<<18) +#define SNDRV_SEQ_PORT_TYPE_PORT (1<<19) +#define SNDRV_SEQ_PORT_TYPE_APPLICATION (1<<20) +#define SNDRV_SEQ_PORT_FLG_GIVEN_PORT (1<<0) +#define SNDRV_SEQ_PORT_FLG_TIMESTAMP (1<<1) +#define SNDRV_SEQ_PORT_FLG_TIME_REAL (1<<2) +struct snd_seq_port_info { + struct snd_seq_addr addr; + char name[64]; + unsigned int capability; + unsigned int type; + int midi_channels; + int midi_voices; + int synth_voices; + int read_use; + int write_use; + void *kernel; + unsigned int flags; + unsigned char time_queue; + char reserved[59]; +}; +#define SNDRV_SEQ_QUEUE_FLG_SYNC (1<<0) +struct snd_seq_queue_info { + int queue; + + int owner; + unsigned locked:1; + char name[64]; + unsigned int flags; + char reserved[60]; +}; +struct snd_seq_queue_status { + int queue; + int events; + snd_seq_tick_time_t tick; + struct snd_seq_real_time time; + int running; + int flags; + char reserved[64]; +}; +struct snd_seq_queue_tempo { + int queue; + unsigned int tempo; + int ppq; + unsigned int skew_value; + unsigned int skew_base; + char reserved[24]; +}; +#define SNDRV_SEQ_TIMER_ALSA 0 +#define SNDRV_SEQ_TIMER_MIDI_CLOCK 1 +#define SNDRV_SEQ_TIMER_MIDI_TICK 2 +struct snd_seq_queue_timer { + int queue; + int type; + union { + struct { + struct snd_timer_id id; + unsigned int resolution; + } alsa; + } u; + char reserved[64]; +}; +struct snd_seq_queue_client { + int queue; + int client; + int used; + + char reserved[64]; +}; +#define SNDRV_SEQ_PORT_SUBS_EXCLUSIVE (1<<0) +#define SNDRV_SEQ_PORT_SUBS_TIMESTAMP (1<<1) +#define SNDRV_SEQ_PORT_SUBS_TIME_REAL (1<<2) +struct snd_seq_port_subscribe { + struct snd_seq_addr sender; + struct snd_seq_addr dest; + unsigned int voices; + unsigned int flags; + unsigned char queue; + unsigned char pad[3]; + char reserved[64]; +}; +#define SNDRV_SEQ_QUERY_SUBS_READ 0 +#define SNDRV_SEQ_QUERY_SUBS_WRITE 1 +struct snd_seq_query_subs { + struct snd_seq_addr root; + int type; + int index; + int num_subs; + struct snd_seq_addr addr; + unsigned char queue; + unsigned int flags; + char reserved[64]; +}; +#define SNDRV_SEQ_IOCTL_PVERSION _IOR ('S', 0x00, int) +#define SNDRV_SEQ_IOCTL_CLIENT_ID _IOR ('S', 0x01, int) +#define SNDRV_SEQ_IOCTL_SYSTEM_INFO _IOWR('S', 0x02, struct snd_seq_system_info) +#define SNDRV_SEQ_IOCTL_RUNNING_MODE _IOWR('S', 0x03, struct snd_seq_running_info) +#define SNDRV_SEQ_IOCTL_GET_CLIENT_INFO _IOWR('S', 0x10, struct snd_seq_client_info) +#define SNDRV_SEQ_IOCTL_SET_CLIENT_INFO _IOW ('S', 0x11, struct snd_seq_client_info) +#define SNDRV_SEQ_IOCTL_CREATE_PORT _IOWR('S', 0x20, struct snd_seq_port_info) +#define SNDRV_SEQ_IOCTL_DELETE_PORT _IOW ('S', 0x21, struct snd_seq_port_info) +#define SNDRV_SEQ_IOCTL_GET_PORT_INFO _IOWR('S', 0x22, struct snd_seq_port_info) +#define SNDRV_SEQ_IOCTL_SET_PORT_INFO _IOW ('S', 0x23, struct snd_seq_port_info) +#define SNDRV_SEQ_IOCTL_SUBSCRIBE_PORT _IOW ('S', 0x30, struct snd_seq_port_subscribe) +#define SNDRV_SEQ_IOCTL_UNSUBSCRIBE_PORT _IOW ('S', 0x31, struct snd_seq_port_subscribe) +#define SNDRV_SEQ_IOCTL_CREATE_QUEUE _IOWR('S', 0x32, struct snd_seq_queue_info) +#define SNDRV_SEQ_IOCTL_DELETE_QUEUE _IOW ('S', 0x33, struct snd_seq_queue_info) +#define SNDRV_SEQ_IOCTL_GET_QUEUE_INFO _IOWR('S', 0x34, struct snd_seq_queue_info) +#define SNDRV_SEQ_IOCTL_SET_QUEUE_INFO _IOWR('S', 0x35, struct snd_seq_queue_info) +#define SNDRV_SEQ_IOCTL_GET_NAMED_QUEUE _IOWR('S', 0x36, struct snd_seq_queue_info) +#define SNDRV_SEQ_IOCTL_GET_QUEUE_STATUS _IOWR('S', 0x40, struct snd_seq_queue_status) +#define SNDRV_SEQ_IOCTL_GET_QUEUE_TEMPO _IOWR('S', 0x41, struct snd_seq_queue_tempo) +#define SNDRV_SEQ_IOCTL_SET_QUEUE_TEMPO _IOW ('S', 0x42, struct snd_seq_queue_tempo) +#define SNDRV_SEQ_IOCTL_GET_QUEUE_TIMER _IOWR('S', 0x45, struct snd_seq_queue_timer) +#define SNDRV_SEQ_IOCTL_SET_QUEUE_TIMER _IOW ('S', 0x46, struct snd_seq_queue_timer) +#define SNDRV_SEQ_IOCTL_GET_QUEUE_CLIENT _IOWR('S', 0x49, struct snd_seq_queue_client) +#define SNDRV_SEQ_IOCTL_SET_QUEUE_CLIENT _IOW ('S', 0x4a, struct snd_seq_queue_client) +#define SNDRV_SEQ_IOCTL_GET_CLIENT_POOL _IOWR('S', 0x4b, struct snd_seq_client_pool) +#define SNDRV_SEQ_IOCTL_SET_CLIENT_POOL _IOW ('S', 0x4c, struct snd_seq_client_pool) +#define SNDRV_SEQ_IOCTL_REMOVE_EVENTS _IOW ('S', 0x4e, struct snd_seq_remove_events) +#define SNDRV_SEQ_IOCTL_QUERY_SUBS _IOWR('S', 0x4f, struct snd_seq_query_subs) +#define SNDRV_SEQ_IOCTL_GET_SUBSCRIPTION _IOWR('S', 0x50, struct snd_seq_port_subscribe) +#define SNDRV_SEQ_IOCTL_QUERY_NEXT_CLIENT _IOWR('S', 0x51, struct snd_seq_client_info) +#define SNDRV_SEQ_IOCTL_QUERY_NEXT_PORT _IOWR('S', 0x52, struct snd_seq_port_info) +#endif diff --git a/linux-5.10/prebuilts/usr/include/sound/asoc.h b/linux-5.10/prebuilts/usr/include/sound/asoc.h new file mode 100644 index 0000000..0f9b131 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/sound/asoc.h @@ -0,0 +1,379 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef __LINUX_UAPI_SND_ASOC_H +#define __LINUX_UAPI_SND_ASOC_H +#include +#include +#define SND_SOC_TPLG_MAX_CHAN 8 +#define SND_SOC_TPLG_MAX_FORMATS 16 +#define SND_SOC_TPLG_STREAM_CONFIG_MAX 8 +#define SND_SOC_TPLG_HW_CONFIG_MAX 8 +#define SND_SOC_TPLG_CTL_VOLSW 1 +#define SND_SOC_TPLG_CTL_VOLSW_SX 2 +#define SND_SOC_TPLG_CTL_VOLSW_XR_SX 3 +#define SND_SOC_TPLG_CTL_ENUM 4 +#define SND_SOC_TPLG_CTL_BYTES 5 +#define SND_SOC_TPLG_CTL_ENUM_VALUE 6 +#define SND_SOC_TPLG_CTL_RANGE 7 +#define SND_SOC_TPLG_CTL_STROBE 8 +#define SND_SOC_TPLG_DAPM_CTL_VOLSW 64 +#define SND_SOC_TPLG_DAPM_CTL_ENUM_DOUBLE 65 +#define SND_SOC_TPLG_DAPM_CTL_ENUM_VIRT 66 +#define SND_SOC_TPLG_DAPM_CTL_ENUM_VALUE 67 +#define SND_SOC_TPLG_DAPM_CTL_PIN 68 +#define SND_SOC_TPLG_DAPM_INPUT 0 +#define SND_SOC_TPLG_DAPM_OUTPUT 1 +#define SND_SOC_TPLG_DAPM_MUX 2 +#define SND_SOC_TPLG_DAPM_MIXER 3 +#define SND_SOC_TPLG_DAPM_PGA 4 +#define SND_SOC_TPLG_DAPM_OUT_DRV 5 +#define SND_SOC_TPLG_DAPM_ADC 6 +#define SND_SOC_TPLG_DAPM_DAC 7 +#define SND_SOC_TPLG_DAPM_SWITCH 8 +#define SND_SOC_TPLG_DAPM_PRE 9 +#define SND_SOC_TPLG_DAPM_POST 10 +#define SND_SOC_TPLG_DAPM_AIF_IN 11 +#define SND_SOC_TPLG_DAPM_AIF_OUT 12 +#define SND_SOC_TPLG_DAPM_DAI_IN 13 +#define SND_SOC_TPLG_DAPM_DAI_OUT 14 +#define SND_SOC_TPLG_DAPM_DAI_LINK 15 +#define SND_SOC_TPLG_DAPM_BUFFER 16 +#define SND_SOC_TPLG_DAPM_SCHEDULER 17 +#define SND_SOC_TPLG_DAPM_EFFECT 18 +#define SND_SOC_TPLG_DAPM_SIGGEN 19 +#define SND_SOC_TPLG_DAPM_SRC 20 +#define SND_SOC_TPLG_DAPM_ASRC 21 +#define SND_SOC_TPLG_DAPM_ENCODER 22 +#define SND_SOC_TPLG_DAPM_DECODER 23 +#define SND_SOC_TPLG_DAPM_LAST SND_SOC_TPLG_DAPM_DECODER +#define SND_SOC_TPLG_MAGIC 0x41536F43 +#define SND_SOC_TPLG_NUM_TEXTS 16 +#define SND_SOC_TPLG_ABI_VERSION 0x5 +#define SND_SOC_TPLG_ABI_VERSION_MIN 0x4 +#define SND_SOC_TPLG_TLV_SIZE 32 +#define SND_SOC_TPLG_TYPE_MIXER 1 +#define SND_SOC_TPLG_TYPE_BYTES 2 +#define SND_SOC_TPLG_TYPE_ENUM 3 +#define SND_SOC_TPLG_TYPE_DAPM_GRAPH 4 +#define SND_SOC_TPLG_TYPE_DAPM_WIDGET 5 +#define SND_SOC_TPLG_TYPE_DAI_LINK 6 +#define SND_SOC_TPLG_TYPE_PCM 7 +#define SND_SOC_TPLG_TYPE_MANIFEST 8 +#define SND_SOC_TPLG_TYPE_CODEC_LINK 9 +#define SND_SOC_TPLG_TYPE_BACKEND_LINK 10 +#define SND_SOC_TPLG_TYPE_PDATA 11 +#define SND_SOC_TPLG_TYPE_DAI 12 +#define SND_SOC_TPLG_TYPE_MAX SND_SOC_TPLG_TYPE_DAI +#define SND_SOC_TPLG_TYPE_VENDOR_FW 1000 +#define SND_SOC_TPLG_TYPE_VENDOR_CONFIG 1001 +#define SND_SOC_TPLG_TYPE_VENDOR_COEFF 1002 +#define SND_SOC_TPLG_TYPEVENDOR_CODEC 1003 +#define SND_SOC_TPLG_STREAM_PLAYBACK 0 +#define SND_SOC_TPLG_STREAM_CAPTURE 1 +#define SND_SOC_TPLG_TUPLE_TYPE_UUID 0 +#define SND_SOC_TPLG_TUPLE_TYPE_STRING 1 +#define SND_SOC_TPLG_TUPLE_TYPE_BOOL 2 +#define SND_SOC_TPLG_TUPLE_TYPE_BYTE 3 +#define SND_SOC_TPLG_TUPLE_TYPE_WORD 4 +#define SND_SOC_TPLG_TUPLE_TYPE_SHORT 5 +#define SND_SOC_TPLG_DAI_FLGBIT_SYMMETRIC_RATES (1 << 0) +#define SND_SOC_TPLG_DAI_FLGBIT_SYMMETRIC_CHANNELS (1 << 1) +#define SND_SOC_TPLG_DAI_FLGBIT_SYMMETRIC_SAMPLEBITS (1 << 2) +#define SND_SOC_TPLG_DAI_CLK_GATE_UNDEFINED 0 +#define SND_SOC_TPLG_DAI_CLK_GATE_GATED 1 +#define SND_SOC_TPLG_DAI_CLK_GATE_CONT 2 +#define SND_SOC_TPLG_MCLK_CO 0 +#define SND_SOC_TPLG_MCLK_CI 1 +#define SND_SOC_DAI_FORMAT_I2S 1 +#define SND_SOC_DAI_FORMAT_RIGHT_J 2 +#define SND_SOC_DAI_FORMAT_LEFT_J 3 +#define SND_SOC_DAI_FORMAT_DSP_A 4 +#define SND_SOC_DAI_FORMAT_DSP_B 5 +#define SND_SOC_DAI_FORMAT_AC97 6 +#define SND_SOC_DAI_FORMAT_PDM 7 +#define SND_SOC_DAI_FORMAT_MSB SND_SOC_DAI_FORMAT_LEFT_J +#define SND_SOC_DAI_FORMAT_LSB SND_SOC_DAI_FORMAT_RIGHT_J +#define SND_SOC_TPLG_LNK_FLGBIT_SYMMETRIC_RATES (1 << 0) +#define SND_SOC_TPLG_LNK_FLGBIT_SYMMETRIC_CHANNELS (1 << 1) +#define SND_SOC_TPLG_LNK_FLGBIT_SYMMETRIC_SAMPLEBITS (1 << 2) +#define SND_SOC_TPLG_LNK_FLGBIT_VOICE_WAKEUP (1 << 3) +#define SND_SOC_TPLG_BCLK_CM 0 +#define SND_SOC_TPLG_BCLK_CS 1 +#define SND_SOC_TPLG_FSYNC_CM 0 +#define SND_SOC_TPLG_FSYNC_CS 1 +struct snd_soc_tplg_hdr { + __le32 magic; + __le32 abi; + __le32 version; + __le32 type; + __le32 size; + __le32 vendor_type; + __le32 payload_size; + __le32 index; + __le32 count; +} __attribute__((packed)); +struct snd_soc_tplg_vendor_uuid_elem { + __le32 token; + char uuid[16]; +} __attribute__((packed)); +struct snd_soc_tplg_vendor_value_elem { + __le32 token; + __le32 value; +} __attribute__((packed)); +struct snd_soc_tplg_vendor_string_elem { + __le32 token; + char string[SNDRV_CTL_ELEM_ID_NAME_MAXLEN]; +} __attribute__((packed)); +struct snd_soc_tplg_vendor_array { + __le32 size; + __le32 type; + __le32 num_elems; + union { + struct snd_soc_tplg_vendor_uuid_elem uuid[0]; + struct snd_soc_tplg_vendor_value_elem value[0]; + struct snd_soc_tplg_vendor_string_elem string[0]; + }; +} __attribute__((packed)); +struct snd_soc_tplg_private { + __le32 size; + union { + char data[0]; + struct snd_soc_tplg_vendor_array array[0]; + }; +} __attribute__((packed)); +struct snd_soc_tplg_tlv_dbscale { + __le32 min; + __le32 step; + __le32 mute; +} __attribute__((packed)); +struct snd_soc_tplg_ctl_tlv { + __le32 size; + __le32 type; + union { + __le32 data[SND_SOC_TPLG_TLV_SIZE]; + struct snd_soc_tplg_tlv_dbscale scale; + }; +} __attribute__((packed)); +struct snd_soc_tplg_channel { + __le32 size; + __le32 reg; + __le32 shift; + __le32 id; +} __attribute__((packed)); +struct snd_soc_tplg_io_ops { + __le32 get; + __le32 put; + __le32 info; +} __attribute__((packed)); +struct snd_soc_tplg_ctl_hdr { + __le32 size; + __le32 type; + char name[SNDRV_CTL_ELEM_ID_NAME_MAXLEN]; + __le32 access; + struct snd_soc_tplg_io_ops ops; + struct snd_soc_tplg_ctl_tlv tlv; +} __attribute__((packed)); +struct snd_soc_tplg_stream_caps { + __le32 size; + char name[SNDRV_CTL_ELEM_ID_NAME_MAXLEN]; + __le64 formats; + __le32 rates; + __le32 rate_min; + __le32 rate_max; + __le32 channels_min; + __le32 channels_max; + __le32 periods_min; + __le32 periods_max; + __le32 period_size_min; + __le32 period_size_max; + __le32 buffer_size_min; + __le32 buffer_size_max; + __le32 sig_bits; +} __attribute__((packed)); +struct snd_soc_tplg_stream { + __le32 size; + char name[SNDRV_CTL_ELEM_ID_NAME_MAXLEN]; + __le64 format; + __le32 rate; + __le32 period_bytes; + __le32 buffer_bytes; + __le32 channels; +} __attribute__((packed)); +struct snd_soc_tplg_hw_config { + __le32 size; + __le32 id; + __le32 fmt; + __u8 clock_gated; + __u8 invert_bclk; + __u8 invert_fsync; + __u8 bclk_master; + __u8 fsync_master; + __u8 mclk_direction; + __le16 reserved; + __le32 mclk_rate; + __le32 bclk_rate; + __le32 fsync_rate; + __le32 tdm_slots; + __le32 tdm_slot_width; + __le32 tx_slots; + __le32 rx_slots; + __le32 tx_channels; + __le32 tx_chanmap[SND_SOC_TPLG_MAX_CHAN]; + __le32 rx_channels; + __le32 rx_chanmap[SND_SOC_TPLG_MAX_CHAN]; +} __attribute__((packed)); +struct snd_soc_tplg_manifest { + __le32 size; + __le32 control_elems; + __le32 widget_elems; + __le32 graph_elems; + __le32 pcm_elems; + __le32 dai_link_elems; + __le32 dai_elems; + __le32 reserved[20]; + struct snd_soc_tplg_private priv; +} __attribute__((packed)); +struct snd_soc_tplg_mixer_control { + struct snd_soc_tplg_ctl_hdr hdr; + __le32 size; + __le32 min; + __le32 max; + __le32 platform_max; + __le32 invert; + __le32 num_channels; + struct snd_soc_tplg_channel channel[SND_SOC_TPLG_MAX_CHAN]; + struct snd_soc_tplg_private priv; +} __attribute__((packed)); +struct snd_soc_tplg_enum_control { + struct snd_soc_tplg_ctl_hdr hdr; + __le32 size; + __le32 num_channels; + struct snd_soc_tplg_channel channel[SND_SOC_TPLG_MAX_CHAN]; + __le32 items; + __le32 mask; + __le32 count; + char texts[SND_SOC_TPLG_NUM_TEXTS][SNDRV_CTL_ELEM_ID_NAME_MAXLEN]; + __le32 values[SND_SOC_TPLG_NUM_TEXTS * SNDRV_CTL_ELEM_ID_NAME_MAXLEN / 4]; + struct snd_soc_tplg_private priv; +} __attribute__((packed)); +struct snd_soc_tplg_bytes_control { + struct snd_soc_tplg_ctl_hdr hdr; + __le32 size; + __le32 max; + __le32 mask; + __le32 base; + __le32 num_regs; + struct snd_soc_tplg_io_ops ext_ops; + struct snd_soc_tplg_private priv; +} __attribute__((packed)); +struct snd_soc_tplg_dapm_graph_elem { + char sink[SNDRV_CTL_ELEM_ID_NAME_MAXLEN]; + char control[SNDRV_CTL_ELEM_ID_NAME_MAXLEN]; + char source[SNDRV_CTL_ELEM_ID_NAME_MAXLEN]; +} __attribute__((packed)); +struct snd_soc_tplg_dapm_widget { + __le32 size; + __le32 id; + char name[SNDRV_CTL_ELEM_ID_NAME_MAXLEN]; + char sname[SNDRV_CTL_ELEM_ID_NAME_MAXLEN]; + __le32 reg; + __le32 shift; + __le32 mask; + __le32 subseq; + __le32 invert; + __le32 ignore_suspend; + __le16 event_flags; + __le16 event_type; + __le32 num_kcontrols; + struct snd_soc_tplg_private priv; + +} __attribute__((packed)); +struct snd_soc_tplg_pcm { + __le32 size; + char pcm_name[SNDRV_CTL_ELEM_ID_NAME_MAXLEN]; + char dai_name[SNDRV_CTL_ELEM_ID_NAME_MAXLEN]; + __le32 pcm_id; + __le32 dai_id; + __le32 playback; + __le32 capture; + __le32 compress; + struct snd_soc_tplg_stream stream[SND_SOC_TPLG_STREAM_CONFIG_MAX]; + __le32 num_streams; + struct snd_soc_tplg_stream_caps caps[2]; + __le32 flag_mask; + __le32 flags; + struct snd_soc_tplg_private priv; +} __attribute__((packed)); +struct snd_soc_tplg_link_config { + __le32 size; + __le32 id; + char name[SNDRV_CTL_ELEM_ID_NAME_MAXLEN]; + char stream_name[SNDRV_CTL_ELEM_ID_NAME_MAXLEN]; + struct snd_soc_tplg_stream stream[SND_SOC_TPLG_STREAM_CONFIG_MAX]; + __le32 num_streams; + struct snd_soc_tplg_hw_config hw_config[SND_SOC_TPLG_HW_CONFIG_MAX]; + __le32 num_hw_configs; + __le32 default_hw_config_id; + __le32 flag_mask; + __le32 flags; + struct snd_soc_tplg_private priv; +} __attribute__((packed)); +struct snd_soc_tplg_dai { + __le32 size; + char dai_name[SNDRV_CTL_ELEM_ID_NAME_MAXLEN]; + __le32 dai_id; + __le32 playback; + __le32 capture; + struct snd_soc_tplg_stream_caps caps[2]; + __le32 flag_mask; + __le32 flags; + struct snd_soc_tplg_private priv; +} __attribute__((packed)); +struct snd_soc_tplg_manifest_v4 { + __le32 size; + __le32 control_elems; + __le32 widget_elems; + __le32 graph_elems; + __le32 pcm_elems; + __le32 dai_link_elems; + struct snd_soc_tplg_private priv; +} __packed; +struct snd_soc_tplg_stream_caps_v4 { + __le32 size; + char name[SNDRV_CTL_ELEM_ID_NAME_MAXLEN]; + __le64 formats; + __le32 rates; + __le32 rate_min; + __le32 rate_max; + __le32 channels_min; + __le32 channels_max; + __le32 periods_min; + __le32 periods_max; + __le32 period_size_min; + __le32 period_size_max; + __le32 buffer_size_min; + __le32 buffer_size_max; +} __packed; +struct snd_soc_tplg_pcm_v4 { + __le32 size; + char pcm_name[SNDRV_CTL_ELEM_ID_NAME_MAXLEN]; + char dai_name[SNDRV_CTL_ELEM_ID_NAME_MAXLEN]; + __le32 pcm_id; + __le32 dai_id; + __le32 playback; + __le32 capture; + __le32 compress; + struct snd_soc_tplg_stream stream[SND_SOC_TPLG_STREAM_CONFIG_MAX]; + __le32 num_streams; + struct snd_soc_tplg_stream_caps_v4 caps[2]; +} __packed; +struct snd_soc_tplg_link_config_v4 { + __le32 size; + __le32 id; + struct snd_soc_tplg_stream stream[SND_SOC_TPLG_STREAM_CONFIG_MAX]; + __le32 num_streams; +} __packed; +#endif diff --git a/linux-5.10/prebuilts/usr/include/sound/asound.h b/linux-5.10/prebuilts/usr/include/sound/asound.h new file mode 100644 index 0000000..36f1b1d --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/sound/asound.h @@ -0,0 +1,939 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI__SOUND_ASOUND_H +#define _UAPI__SOUND_ASOUND_H +#if defined(__KERNEL__) || defined(__linux__) +#include +#include +#else +#include +#include +#endif +#ifndef __KERNEL__ +#include +#include +#endif +#define SNDRV_PROTOCOL_VERSION(major, minor, subminor) (((major)<<16)|((minor)<<8)|(subminor)) +#define SNDRV_PROTOCOL_MAJOR(version) (((version)>>16)&0xffff) +#define SNDRV_PROTOCOL_MINOR(version) (((version)>>8)&0xff) +#define SNDRV_PROTOCOL_MICRO(version) ((version)&0xff) +#define SNDRV_PROTOCOL_INCOMPATIBLE(kversion, uversion) \ + (SNDRV_PROTOCOL_MAJOR(kversion) != SNDRV_PROTOCOL_MAJOR(uversion) || \ + (SNDRV_PROTOCOL_MAJOR(kversion) == SNDRV_PROTOCOL_MAJOR(uversion) && \ + SNDRV_PROTOCOL_MINOR(kversion) != SNDRV_PROTOCOL_MINOR(uversion))) +struct snd_aes_iec958 { + unsigned char status[24]; + unsigned char subcode[147]; + unsigned char pad; + unsigned char dig_subframe[4]; +}; +struct snd_cea_861_aud_if { + unsigned char db1_ct_cc; + unsigned char db2_sf_ss; + unsigned char db3; + unsigned char db4_ca; + unsigned char db5_dminh_lsv; +}; +#define SNDRV_HWDEP_VERSION SNDRV_PROTOCOL_VERSION(1, 0, 1) +enum { + SNDRV_HWDEP_IFACE_OPL2 = 0, + SNDRV_HWDEP_IFACE_OPL3, + SNDRV_HWDEP_IFACE_OPL4, + SNDRV_HWDEP_IFACE_SB16CSP, + SNDRV_HWDEP_IFACE_EMU10K1, + SNDRV_HWDEP_IFACE_YSS225, + SNDRV_HWDEP_IFACE_ICS2115, + SNDRV_HWDEP_IFACE_SSCAPE, + SNDRV_HWDEP_IFACE_VX, + SNDRV_HWDEP_IFACE_MIXART, + SNDRV_HWDEP_IFACE_USX2Y, + SNDRV_HWDEP_IFACE_EMUX_WAVETABLE, + SNDRV_HWDEP_IFACE_BLUETOOTH, + SNDRV_HWDEP_IFACE_USX2Y_PCM, + SNDRV_HWDEP_IFACE_PCXHR, + SNDRV_HWDEP_IFACE_SB_RC, + SNDRV_HWDEP_IFACE_HDA, + SNDRV_HWDEP_IFACE_USB_STREAM, + SNDRV_HWDEP_IFACE_FW_DICE, + SNDRV_HWDEP_IFACE_FW_FIREWORKS, + SNDRV_HWDEP_IFACE_FW_BEBOB, + SNDRV_HWDEP_IFACE_FW_OXFW, + SNDRV_HWDEP_IFACE_FW_DIGI00X, + SNDRV_HWDEP_IFACE_FW_TASCAM, + SNDRV_HWDEP_IFACE_LINE6, + SNDRV_HWDEP_IFACE_FW_MOTU, + SNDRV_HWDEP_IFACE_FW_FIREFACE, + + SNDRV_HWDEP_IFACE_LAST = SNDRV_HWDEP_IFACE_FW_FIREFACE +}; +struct snd_hwdep_info { + unsigned int device; + int card; + unsigned char id[64]; + unsigned char name[80]; + int iface; + unsigned char reserved[64]; +}; +struct snd_hwdep_dsp_status { + unsigned int version; + unsigned char id[32]; + unsigned int num_dsps; + unsigned int dsp_loaded; + unsigned int chip_ready; + unsigned char reserved[16]; +}; +struct snd_hwdep_dsp_image { + unsigned int index; + unsigned char name[64]; + unsigned char __user *image; + size_t length; + unsigned long driver_data; +}; +#define SNDRV_HWDEP_IOCTL_PVERSION _IOR ('H', 0x00, int) +#define SNDRV_HWDEP_IOCTL_INFO _IOR ('H', 0x01, struct snd_hwdep_info) +#define SNDRV_HWDEP_IOCTL_DSP_STATUS _IOR('H', 0x02, struct snd_hwdep_dsp_status) +#define SNDRV_HWDEP_IOCTL_DSP_LOAD _IOW('H', 0x03, struct snd_hwdep_dsp_image) +#define SNDRV_PCM_VERSION SNDRV_PROTOCOL_VERSION(2, 0, 15) +typedef unsigned long snd_pcm_uframes_t; +typedef signed long snd_pcm_sframes_t; +enum { + SNDRV_PCM_CLASS_GENERIC = 0, + SNDRV_PCM_CLASS_MULTI, + SNDRV_PCM_CLASS_MODEM, + SNDRV_PCM_CLASS_DIGITIZER, + + SNDRV_PCM_CLASS_LAST = SNDRV_PCM_CLASS_DIGITIZER, +}; +enum { + SNDRV_PCM_SUBCLASS_GENERIC_MIX = 0, + SNDRV_PCM_SUBCLASS_MULTI_MIX, + + SNDRV_PCM_SUBCLASS_LAST = SNDRV_PCM_SUBCLASS_MULTI_MIX, +}; +enum { + SNDRV_PCM_STREAM_PLAYBACK = 0, + SNDRV_PCM_STREAM_CAPTURE, + SNDRV_PCM_STREAM_LAST = SNDRV_PCM_STREAM_CAPTURE, +}; +typedef int __bitwise snd_pcm_access_t; +#define SNDRV_PCM_ACCESS_MMAP_INTERLEAVED ((__force snd_pcm_access_t) 0) +#define SNDRV_PCM_ACCESS_MMAP_NONINTERLEAVED ((__force snd_pcm_access_t) 1) +#define SNDRV_PCM_ACCESS_MMAP_COMPLEX ((__force snd_pcm_access_t) 2) +#define SNDRV_PCM_ACCESS_RW_INTERLEAVED ((__force snd_pcm_access_t) 3) +#define SNDRV_PCM_ACCESS_RW_NONINTERLEAVED ((__force snd_pcm_access_t) 4) +#define SNDRV_PCM_ACCESS_LAST SNDRV_PCM_ACCESS_RW_NONINTERLEAVED +typedef int __bitwise snd_pcm_format_t; +#define SNDRV_PCM_FORMAT_S8 ((__force snd_pcm_format_t) 0) +#define SNDRV_PCM_FORMAT_U8 ((__force snd_pcm_format_t) 1) +#define SNDRV_PCM_FORMAT_S16_LE ((__force snd_pcm_format_t) 2) +#define SNDRV_PCM_FORMAT_S16_BE ((__force snd_pcm_format_t) 3) +#define SNDRV_PCM_FORMAT_U16_LE ((__force snd_pcm_format_t) 4) +#define SNDRV_PCM_FORMAT_U16_BE ((__force snd_pcm_format_t) 5) +#define SNDRV_PCM_FORMAT_S24_LE ((__force snd_pcm_format_t) 6) +#define SNDRV_PCM_FORMAT_S24_BE ((__force snd_pcm_format_t) 7) +#define SNDRV_PCM_FORMAT_U24_LE ((__force snd_pcm_format_t) 8) +#define SNDRV_PCM_FORMAT_U24_BE ((__force snd_pcm_format_t) 9) +#define SNDRV_PCM_FORMAT_S32_LE ((__force snd_pcm_format_t) 10) +#define SNDRV_PCM_FORMAT_S32_BE ((__force snd_pcm_format_t) 11) +#define SNDRV_PCM_FORMAT_U32_LE ((__force snd_pcm_format_t) 12) +#define SNDRV_PCM_FORMAT_U32_BE ((__force snd_pcm_format_t) 13) +#define SNDRV_PCM_FORMAT_FLOAT_LE ((__force snd_pcm_format_t) 14) +#define SNDRV_PCM_FORMAT_FLOAT_BE ((__force snd_pcm_format_t) 15) +#define SNDRV_PCM_FORMAT_FLOAT64_LE ((__force snd_pcm_format_t) 16) +#define SNDRV_PCM_FORMAT_FLOAT64_BE ((__force snd_pcm_format_t) 17) +#define SNDRV_PCM_FORMAT_IEC958_SUBFRAME_LE ((__force snd_pcm_format_t) 18) +#define SNDRV_PCM_FORMAT_IEC958_SUBFRAME_BE ((__force snd_pcm_format_t) 19) +#define SNDRV_PCM_FORMAT_MU_LAW ((__force snd_pcm_format_t) 20) +#define SNDRV_PCM_FORMAT_A_LAW ((__force snd_pcm_format_t) 21) +#define SNDRV_PCM_FORMAT_IMA_ADPCM ((__force snd_pcm_format_t) 22) +#define SNDRV_PCM_FORMAT_MPEG ((__force snd_pcm_format_t) 23) +#define SNDRV_PCM_FORMAT_GSM ((__force snd_pcm_format_t) 24) +#define SNDRV_PCM_FORMAT_S20_LE ((__force snd_pcm_format_t) 25) +#define SNDRV_PCM_FORMAT_S20_BE ((__force snd_pcm_format_t) 26) +#define SNDRV_PCM_FORMAT_U20_LE ((__force snd_pcm_format_t) 27) +#define SNDRV_PCM_FORMAT_U20_BE ((__force snd_pcm_format_t) 28) +#define SNDRV_PCM_FORMAT_SPECIAL ((__force snd_pcm_format_t) 31) +#define SNDRV_PCM_FORMAT_S24_3LE ((__force snd_pcm_format_t) 32) +#define SNDRV_PCM_FORMAT_S24_3BE ((__force snd_pcm_format_t) 33) +#define SNDRV_PCM_FORMAT_U24_3LE ((__force snd_pcm_format_t) 34) +#define SNDRV_PCM_FORMAT_U24_3BE ((__force snd_pcm_format_t) 35) +#define SNDRV_PCM_FORMAT_S20_3LE ((__force snd_pcm_format_t) 36) +#define SNDRV_PCM_FORMAT_S20_3BE ((__force snd_pcm_format_t) 37) +#define SNDRV_PCM_FORMAT_U20_3LE ((__force snd_pcm_format_t) 38) +#define SNDRV_PCM_FORMAT_U20_3BE ((__force snd_pcm_format_t) 39) +#define SNDRV_PCM_FORMAT_S18_3LE ((__force snd_pcm_format_t) 40) +#define SNDRV_PCM_FORMAT_S18_3BE ((__force snd_pcm_format_t) 41) +#define SNDRV_PCM_FORMAT_U18_3LE ((__force snd_pcm_format_t) 42) +#define SNDRV_PCM_FORMAT_U18_3BE ((__force snd_pcm_format_t) 43) +#define SNDRV_PCM_FORMAT_G723_24 ((__force snd_pcm_format_t) 44) +#define SNDRV_PCM_FORMAT_G723_24_1B ((__force snd_pcm_format_t) 45) +#define SNDRV_PCM_FORMAT_G723_40 ((__force snd_pcm_format_t) 46) +#define SNDRV_PCM_FORMAT_G723_40_1B ((__force snd_pcm_format_t) 47) +#define SNDRV_PCM_FORMAT_DSD_U8 ((__force snd_pcm_format_t) 48) +#define SNDRV_PCM_FORMAT_DSD_U16_LE ((__force snd_pcm_format_t) 49) +#define SNDRV_PCM_FORMAT_DSD_U32_LE ((__force snd_pcm_format_t) 50) +#define SNDRV_PCM_FORMAT_DSD_U16_BE ((__force snd_pcm_format_t) 51) +#define SNDRV_PCM_FORMAT_DSD_U32_BE ((__force snd_pcm_format_t) 52) +#define SNDRV_PCM_FORMAT_LAST SNDRV_PCM_FORMAT_DSD_U32_BE +#define SNDRV_PCM_FORMAT_FIRST SNDRV_PCM_FORMAT_S8 +#ifdef SNDRV_LITTLE_ENDIAN +#define SNDRV_PCM_FORMAT_S16 SNDRV_PCM_FORMAT_S16_LE +#define SNDRV_PCM_FORMAT_U16 SNDRV_PCM_FORMAT_U16_LE +#define SNDRV_PCM_FORMAT_S24 SNDRV_PCM_FORMAT_S24_LE +#define SNDRV_PCM_FORMAT_U24 SNDRV_PCM_FORMAT_U24_LE +#define SNDRV_PCM_FORMAT_S32 SNDRV_PCM_FORMAT_S32_LE +#define SNDRV_PCM_FORMAT_U32 SNDRV_PCM_FORMAT_U32_LE +#define SNDRV_PCM_FORMAT_FLOAT SNDRV_PCM_FORMAT_FLOAT_LE +#define SNDRV_PCM_FORMAT_FLOAT64 SNDRV_PCM_FORMAT_FLOAT64_LE +#define SNDRV_PCM_FORMAT_IEC958_SUBFRAME SNDRV_PCM_FORMAT_IEC958_SUBFRAME_LE +#define SNDRV_PCM_FORMAT_S20 SNDRV_PCM_FORMAT_S20_LE +#define SNDRV_PCM_FORMAT_U20 SNDRV_PCM_FORMAT_U20_LE +#endif +#ifdef SNDRV_BIG_ENDIAN +#define SNDRV_PCM_FORMAT_S16 SNDRV_PCM_FORMAT_S16_BE +#define SNDRV_PCM_FORMAT_U16 SNDRV_PCM_FORMAT_U16_BE +#define SNDRV_PCM_FORMAT_S24 SNDRV_PCM_FORMAT_S24_BE +#define SNDRV_PCM_FORMAT_U24 SNDRV_PCM_FORMAT_U24_BE +#define SNDRV_PCM_FORMAT_S32 SNDRV_PCM_FORMAT_S32_BE +#define SNDRV_PCM_FORMAT_U32 SNDRV_PCM_FORMAT_U32_BE +#define SNDRV_PCM_FORMAT_FLOAT SNDRV_PCM_FORMAT_FLOAT_BE +#define SNDRV_PCM_FORMAT_FLOAT64 SNDRV_PCM_FORMAT_FLOAT64_BE +#define SNDRV_PCM_FORMAT_IEC958_SUBFRAME SNDRV_PCM_FORMAT_IEC958_SUBFRAME_BE +#define SNDRV_PCM_FORMAT_S20 SNDRV_PCM_FORMAT_S20_BE +#define SNDRV_PCM_FORMAT_U20 SNDRV_PCM_FORMAT_U20_BE +#endif +typedef int __bitwise snd_pcm_subformat_t; +#define SNDRV_PCM_SUBFORMAT_STD ((__force snd_pcm_subformat_t) 0) +#define SNDRV_PCM_SUBFORMAT_LAST SNDRV_PCM_SUBFORMAT_STD +#define SNDRV_PCM_INFO_MMAP 0x00000001 +#define SNDRV_PCM_INFO_MMAP_VALID 0x00000002 +#define SNDRV_PCM_INFO_DOUBLE 0x00000004 +#define SNDRV_PCM_INFO_BATCH 0x00000010 +#define SNDRV_PCM_INFO_SYNC_APPLPTR 0x00000020 +#define SNDRV_PCM_INFO_INTERLEAVED 0x00000100 +#define SNDRV_PCM_INFO_NONINTERLEAVED 0x00000200 +#define SNDRV_PCM_INFO_COMPLEX 0x00000400 +#define SNDRV_PCM_INFO_BLOCK_TRANSFER 0x00010000 +#define SNDRV_PCM_INFO_OVERRANGE 0x00020000 +#define SNDRV_PCM_INFO_RESUME 0x00040000 +#define SNDRV_PCM_INFO_PAUSE 0x00080000 +#define SNDRV_PCM_INFO_HALF_DUPLEX 0x00100000 +#define SNDRV_PCM_INFO_JOINT_DUPLEX 0x00200000 +#define SNDRV_PCM_INFO_SYNC_START 0x00400000 +#define SNDRV_PCM_INFO_NO_PERIOD_WAKEUP 0x00800000 +#define SNDRV_PCM_INFO_HAS_WALL_CLOCK 0x01000000 +#define SNDRV_PCM_INFO_HAS_LINK_ATIME 0x01000000 +#define SNDRV_PCM_INFO_HAS_LINK_ABSOLUTE_ATIME 0x02000000 +#define SNDRV_PCM_INFO_HAS_LINK_ESTIMATED_ATIME 0x04000000 +#define SNDRV_PCM_INFO_HAS_LINK_SYNCHRONIZED_ATIME 0x08000000 +#define SNDRV_PCM_INFO_DRAIN_TRIGGER 0x40000000 +#define SNDRV_PCM_INFO_FIFO_IN_FRAMES 0x80000000 +#if (__BITS_PER_LONG == 32 && defined(__USE_TIME_BITS64)) || defined __KERNEL__ +#define __SND_STRUCT_TIME64 +#endif +typedef int __bitwise snd_pcm_state_t; +#define SNDRV_PCM_STATE_OPEN ((__force snd_pcm_state_t) 0) +#define SNDRV_PCM_STATE_SETUP ((__force snd_pcm_state_t) 1) +#define SNDRV_PCM_STATE_PREPARED ((__force snd_pcm_state_t) 2) +#define SNDRV_PCM_STATE_RUNNING ((__force snd_pcm_state_t) 3) +#define SNDRV_PCM_STATE_XRUN ((__force snd_pcm_state_t) 4) +#define SNDRV_PCM_STATE_DRAINING ((__force snd_pcm_state_t) 5) +#define SNDRV_PCM_STATE_PAUSED ((__force snd_pcm_state_t) 6) +#define SNDRV_PCM_STATE_SUSPENDED ((__force snd_pcm_state_t) 7) +#define SNDRV_PCM_STATE_DISCONNECTED ((__force snd_pcm_state_t) 8) +#define SNDRV_PCM_STATE_LAST SNDRV_PCM_STATE_DISCONNECTED +enum { + SNDRV_PCM_MMAP_OFFSET_DATA = 0x00000000, + SNDRV_PCM_MMAP_OFFSET_STATUS_OLD = 0x80000000, + SNDRV_PCM_MMAP_OFFSET_CONTROL_OLD = 0x81000000, + SNDRV_PCM_MMAP_OFFSET_STATUS_NEW = 0x82000000, + SNDRV_PCM_MMAP_OFFSET_CONTROL_NEW = 0x83000000, +#ifdef __SND_STRUCT_TIME64 + SNDRV_PCM_MMAP_OFFSET_STATUS = SNDRV_PCM_MMAP_OFFSET_STATUS_NEW, + SNDRV_PCM_MMAP_OFFSET_CONTROL = SNDRV_PCM_MMAP_OFFSET_CONTROL_NEW, +#else + SNDRV_PCM_MMAP_OFFSET_STATUS = SNDRV_PCM_MMAP_OFFSET_STATUS_OLD, + SNDRV_PCM_MMAP_OFFSET_CONTROL = SNDRV_PCM_MMAP_OFFSET_CONTROL_OLD, +#endif +}; +union snd_pcm_sync_id { + unsigned char id[16]; + unsigned short id16[8]; + unsigned int id32[4]; +}; +struct snd_pcm_info { + unsigned int device; + unsigned int subdevice; + int stream; + int card; + unsigned char id[64]; + unsigned char name[80]; + unsigned char subname[32]; + int dev_class; + int dev_subclass; + unsigned int subdevices_count; + unsigned int subdevices_avail; + union snd_pcm_sync_id sync; + unsigned char reserved[64]; +}; +typedef int snd_pcm_hw_param_t; +#define SNDRV_PCM_HW_PARAM_ACCESS 0 +#define SNDRV_PCM_HW_PARAM_FORMAT 1 +#define SNDRV_PCM_HW_PARAM_SUBFORMAT 2 +#define SNDRV_PCM_HW_PARAM_FIRST_MASK SNDRV_PCM_HW_PARAM_ACCESS +#define SNDRV_PCM_HW_PARAM_LAST_MASK SNDRV_PCM_HW_PARAM_SUBFORMAT +#define SNDRV_PCM_HW_PARAM_SAMPLE_BITS 8 +#define SNDRV_PCM_HW_PARAM_FRAME_BITS 9 +#define SNDRV_PCM_HW_PARAM_CHANNELS 10 +#define SNDRV_PCM_HW_PARAM_RATE 11 +#define SNDRV_PCM_HW_PARAM_PERIOD_TIME 12 +#define SNDRV_PCM_HW_PARAM_PERIOD_SIZE 13 +#define SNDRV_PCM_HW_PARAM_PERIOD_BYTES 14 +#define SNDRV_PCM_HW_PARAM_PERIODS 15 +#define SNDRV_PCM_HW_PARAM_BUFFER_TIME 16 +#define SNDRV_PCM_HW_PARAM_BUFFER_SIZE 17 +#define SNDRV_PCM_HW_PARAM_BUFFER_BYTES 18 +#define SNDRV_PCM_HW_PARAM_TICK_TIME 19 +#define SNDRV_PCM_HW_PARAM_FIRST_INTERVAL SNDRV_PCM_HW_PARAM_SAMPLE_BITS +#define SNDRV_PCM_HW_PARAM_LAST_INTERVAL SNDRV_PCM_HW_PARAM_TICK_TIME +#define SNDRV_PCM_HW_PARAMS_NORESAMPLE (1<<0) +#define SNDRV_PCM_HW_PARAMS_EXPORT_BUFFER (1<<1) +#define SNDRV_PCM_HW_PARAMS_NO_PERIOD_WAKEUP (1<<2) +struct snd_interval { + unsigned int min, max; + unsigned int openmin:1, + openmax:1, + integer:1, + empty:1; +}; +#define SNDRV_MASK_MAX 256 +struct snd_mask { + __u32 bits[(SNDRV_MASK_MAX+31)/32]; +}; +struct snd_pcm_hw_params { + unsigned int flags; + struct snd_mask masks[SNDRV_PCM_HW_PARAM_LAST_MASK - + SNDRV_PCM_HW_PARAM_FIRST_MASK + 1]; + struct snd_mask mres[5]; + struct snd_interval intervals[SNDRV_PCM_HW_PARAM_LAST_INTERVAL - + SNDRV_PCM_HW_PARAM_FIRST_INTERVAL + 1]; + struct snd_interval ires[9]; + unsigned int rmask; + unsigned int cmask; + unsigned int info; + unsigned int msbits; + unsigned int rate_num; + unsigned int rate_den; + snd_pcm_uframes_t fifo_size; + unsigned char reserved[64]; +}; +enum { + SNDRV_PCM_TSTAMP_NONE = 0, + SNDRV_PCM_TSTAMP_ENABLE, + SNDRV_PCM_TSTAMP_LAST = SNDRV_PCM_TSTAMP_ENABLE, +}; +struct snd_pcm_sw_params { + int tstamp_mode; + unsigned int period_step; + unsigned int sleep_min; + snd_pcm_uframes_t avail_min; + snd_pcm_uframes_t xfer_align; + snd_pcm_uframes_t start_threshold; + snd_pcm_uframes_t stop_threshold; + snd_pcm_uframes_t silence_threshold; + snd_pcm_uframes_t silence_size; + snd_pcm_uframes_t boundary; + unsigned int proto; + unsigned int tstamp_type; + unsigned char reserved[56]; +}; +struct snd_pcm_channel_info { + unsigned int channel; + __kernel_off_t offset; + unsigned int first; + unsigned int step; +}; +enum { + + SNDRV_PCM_AUDIO_TSTAMP_TYPE_COMPAT = 0, + + SNDRV_PCM_AUDIO_TSTAMP_TYPE_DEFAULT = 1, + SNDRV_PCM_AUDIO_TSTAMP_TYPE_LINK = 2, + SNDRV_PCM_AUDIO_TSTAMP_TYPE_LINK_ABSOLUTE = 3, + SNDRV_PCM_AUDIO_TSTAMP_TYPE_LINK_ESTIMATED = 4, + SNDRV_PCM_AUDIO_TSTAMP_TYPE_LINK_SYNCHRONIZED = 5, + SNDRV_PCM_AUDIO_TSTAMP_TYPE_LAST = SNDRV_PCM_AUDIO_TSTAMP_TYPE_LINK_SYNCHRONIZED +}; +#ifndef __KERNEL__ +typedef struct { unsigned char pad[sizeof(time_t) - sizeof(int)]; } __time_pad; +struct snd_pcm_status { + snd_pcm_state_t state; + __time_pad pad1; + struct timespec trigger_tstamp; + struct timespec tstamp; + snd_pcm_uframes_t appl_ptr; + snd_pcm_uframes_t hw_ptr; + snd_pcm_sframes_t delay; + snd_pcm_uframes_t avail; + snd_pcm_uframes_t avail_max; + snd_pcm_uframes_t overrange; + snd_pcm_state_t suspended_state; + __u32 audio_tstamp_data; + struct timespec audio_tstamp; + struct timespec driver_tstamp; + __u32 audio_tstamp_accuracy; + unsigned char reserved[52-2*sizeof(struct timespec)]; +}; +#endif +#ifdef __SND_STRUCT_TIME64 +#define __snd_pcm_mmap_status64 snd_pcm_mmap_status +#define __snd_pcm_mmap_control64 snd_pcm_mmap_control +#define __snd_pcm_sync_ptr64 snd_pcm_sync_ptr +#ifdef __KERNEL__ +#define __snd_timespec64 __kernel_timespec +#else +#define __snd_timespec64 timespec +#endif +struct __snd_timespec { + __s32 tv_sec; + __s32 tv_nsec; +}; +#else +#define __snd_pcm_mmap_status snd_pcm_mmap_status +#define __snd_pcm_mmap_control snd_pcm_mmap_control +#define __snd_pcm_sync_ptr snd_pcm_sync_ptr +#define __snd_timespec timespec +struct __snd_timespec64 { + __s64 tv_sec; + __s64 tv_nsec; +}; +#endif +struct __snd_pcm_mmap_status { + snd_pcm_state_t state; + int pad1; + snd_pcm_uframes_t hw_ptr; + struct __snd_timespec tstamp; + snd_pcm_state_t suspended_state; + struct __snd_timespec audio_tstamp; +}; +struct __snd_pcm_mmap_control { + snd_pcm_uframes_t appl_ptr; + snd_pcm_uframes_t avail_min; +}; +#define SNDRV_PCM_SYNC_PTR_HWSYNC (1<<0) +#define SNDRV_PCM_SYNC_PTR_APPL (1<<1) +#define SNDRV_PCM_SYNC_PTR_AVAIL_MIN (1<<2) +struct __snd_pcm_sync_ptr { + unsigned int flags; + union { + struct __snd_pcm_mmap_status status; + unsigned char reserved[64]; + } s; + union { + struct __snd_pcm_mmap_control control; + unsigned char reserved[64]; + } c; +}; +#if defined(__BYTE_ORDER) ? __BYTE_ORDER == __BIG_ENDIAN : defined(__BIG_ENDIAN) +typedef char __pad_before_uframe[sizeof(__u64) - sizeof(snd_pcm_uframes_t)]; +typedef char __pad_after_uframe[0]; +#endif +#if defined(__BYTE_ORDER) ? __BYTE_ORDER == __LITTLE_ENDIAN : defined(__LITTLE_ENDIAN) +typedef char __pad_before_uframe[0]; +typedef char __pad_after_uframe[sizeof(__u64) - sizeof(snd_pcm_uframes_t)]; +#endif +struct __snd_pcm_mmap_status64 { + snd_pcm_state_t state; + __u32 pad1; + __pad_before_uframe __pad1; + snd_pcm_uframes_t hw_ptr; + __pad_after_uframe __pad2; + struct __snd_timespec64 tstamp; + snd_pcm_state_t suspended_state; + __u32 pad3; + struct __snd_timespec64 audio_tstamp; +}; +struct __snd_pcm_mmap_control64 { + __pad_before_uframe __pad1; + snd_pcm_uframes_t appl_ptr; + __pad_before_uframe __pad2; + __pad_before_uframe __pad3; + snd_pcm_uframes_t avail_min; + __pad_after_uframe __pad4; +}; +struct __snd_pcm_sync_ptr64 { + __u32 flags; + __u32 pad1; + union { + struct __snd_pcm_mmap_status64 status; + unsigned char reserved[64]; + } s; + union { + struct __snd_pcm_mmap_control64 control; + unsigned char reserved[64]; + } c; +}; +struct snd_xferi { + snd_pcm_sframes_t result; + void __user *buf; + snd_pcm_uframes_t frames; +}; +struct snd_xfern { + snd_pcm_sframes_t result; + void __user * __user *bufs; + snd_pcm_uframes_t frames; +}; +enum { + SNDRV_PCM_TSTAMP_TYPE_GETTIMEOFDAY = 0, + SNDRV_PCM_TSTAMP_TYPE_MONOTONIC, + SNDRV_PCM_TSTAMP_TYPE_MONOTONIC_RAW, + SNDRV_PCM_TSTAMP_TYPE_LAST = SNDRV_PCM_TSTAMP_TYPE_MONOTONIC_RAW, +}; +enum { + SNDRV_CHMAP_UNKNOWN = 0, + SNDRV_CHMAP_NA, + SNDRV_CHMAP_MONO, + + SNDRV_CHMAP_FL, + SNDRV_CHMAP_FR, + SNDRV_CHMAP_RL, + SNDRV_CHMAP_RR, + SNDRV_CHMAP_FC, + SNDRV_CHMAP_LFE, + SNDRV_CHMAP_SL, + SNDRV_CHMAP_SR, + SNDRV_CHMAP_RC, + + SNDRV_CHMAP_FLC, + SNDRV_CHMAP_FRC, + SNDRV_CHMAP_RLC, + SNDRV_CHMAP_RRC, + SNDRV_CHMAP_FLW, + SNDRV_CHMAP_FRW, + SNDRV_CHMAP_FLH, + SNDRV_CHMAP_FCH, + SNDRV_CHMAP_FRH, + SNDRV_CHMAP_TC, + SNDRV_CHMAP_TFL, + SNDRV_CHMAP_TFR, + SNDRV_CHMAP_TFC, + SNDRV_CHMAP_TRL, + SNDRV_CHMAP_TRR, + SNDRV_CHMAP_TRC, + + SNDRV_CHMAP_TFLC, + SNDRV_CHMAP_TFRC, + SNDRV_CHMAP_TSL, + SNDRV_CHMAP_TSR, + SNDRV_CHMAP_LLFE, + SNDRV_CHMAP_RLFE, + SNDRV_CHMAP_BC, + SNDRV_CHMAP_BLC, + SNDRV_CHMAP_BRC, + SNDRV_CHMAP_LAST = SNDRV_CHMAP_BRC, +}; +#define SNDRV_CHMAP_POSITION_MASK 0xffff +#define SNDRV_CHMAP_PHASE_INVERSE (0x01 << 16) +#define SNDRV_CHMAP_DRIVER_SPEC (0x02 << 16) +#define SNDRV_PCM_IOCTL_PVERSION _IOR('A', 0x00, int) +#define SNDRV_PCM_IOCTL_INFO _IOR('A', 0x01, struct snd_pcm_info) +#define SNDRV_PCM_IOCTL_TSTAMP _IOW('A', 0x02, int) +#define SNDRV_PCM_IOCTL_TTSTAMP _IOW('A', 0x03, int) +#define SNDRV_PCM_IOCTL_USER_PVERSION _IOW('A', 0x04, int) +#define SNDRV_PCM_IOCTL_HW_REFINE _IOWR('A', 0x10, struct snd_pcm_hw_params) +#define SNDRV_PCM_IOCTL_HW_PARAMS _IOWR('A', 0x11, struct snd_pcm_hw_params) +#define SNDRV_PCM_IOCTL_HW_FREE _IO('A', 0x12) +#define SNDRV_PCM_IOCTL_SW_PARAMS _IOWR('A', 0x13, struct snd_pcm_sw_params) +#define SNDRV_PCM_IOCTL_STATUS _IOR('A', 0x20, struct snd_pcm_status) +#define SNDRV_PCM_IOCTL_DELAY _IOR('A', 0x21, snd_pcm_sframes_t) +#define SNDRV_PCM_IOCTL_HWSYNC _IO('A', 0x22) +#define __SNDRV_PCM_IOCTL_SYNC_PTR _IOWR('A', 0x23, struct __snd_pcm_sync_ptr) +#define __SNDRV_PCM_IOCTL_SYNC_PTR64 _IOWR('A', 0x23, struct __snd_pcm_sync_ptr64) +#define SNDRV_PCM_IOCTL_SYNC_PTR _IOWR('A', 0x23, struct snd_pcm_sync_ptr) +#define SNDRV_PCM_IOCTL_STATUS_EXT _IOWR('A', 0x24, struct snd_pcm_status) +#define SNDRV_PCM_IOCTL_CHANNEL_INFO _IOR('A', 0x32, struct snd_pcm_channel_info) +#define SNDRV_PCM_IOCTL_PREPARE _IO('A', 0x40) +#define SNDRV_PCM_IOCTL_RESET _IO('A', 0x41) +#define SNDRV_PCM_IOCTL_START _IO('A', 0x42) +#define SNDRV_PCM_IOCTL_DROP _IO('A', 0x43) +#define SNDRV_PCM_IOCTL_DRAIN _IO('A', 0x44) +#define SNDRV_PCM_IOCTL_PAUSE _IOW('A', 0x45, int) +#define SNDRV_PCM_IOCTL_REWIND _IOW('A', 0x46, snd_pcm_uframes_t) +#define SNDRV_PCM_IOCTL_RESUME _IO('A', 0x47) +#define SNDRV_PCM_IOCTL_XRUN _IO('A', 0x48) +#define SNDRV_PCM_IOCTL_FORWARD _IOW('A', 0x49, snd_pcm_uframes_t) +#define SNDRV_PCM_IOCTL_WRITEI_FRAMES _IOW('A', 0x50, struct snd_xferi) +#define SNDRV_PCM_IOCTL_READI_FRAMES _IOR('A', 0x51, struct snd_xferi) +#define SNDRV_PCM_IOCTL_WRITEN_FRAMES _IOW('A', 0x52, struct snd_xfern) +#define SNDRV_PCM_IOCTL_READN_FRAMES _IOR('A', 0x53, struct snd_xfern) +#define SNDRV_PCM_IOCTL_LINK _IOW('A', 0x60, int) +#define SNDRV_PCM_IOCTL_UNLINK _IO('A', 0x61) +#define SNDRV_RAWMIDI_VERSION SNDRV_PROTOCOL_VERSION(2, 0, 1) +enum { + SNDRV_RAWMIDI_STREAM_OUTPUT = 0, + SNDRV_RAWMIDI_STREAM_INPUT, + SNDRV_RAWMIDI_STREAM_LAST = SNDRV_RAWMIDI_STREAM_INPUT, +}; +#define SNDRV_RAWMIDI_INFO_OUTPUT 0x00000001 +#define SNDRV_RAWMIDI_INFO_INPUT 0x00000002 +#define SNDRV_RAWMIDI_INFO_DUPLEX 0x00000004 +struct snd_rawmidi_info { + unsigned int device; + unsigned int subdevice; + int stream; + int card; + unsigned int flags; + unsigned char id[64]; + unsigned char name[80]; + unsigned char subname[32]; + unsigned int subdevices_count; + unsigned int subdevices_avail; + unsigned char reserved[64]; +}; +struct snd_rawmidi_params { + int stream; + size_t buffer_size; + size_t avail_min; + unsigned int no_active_sensing: 1; + unsigned char reserved[16]; +}; +#ifndef __KERNEL__ +struct snd_rawmidi_status { + int stream; + __time_pad pad1; + struct timespec tstamp; + size_t avail; + size_t xruns; + unsigned char reserved[16]; +}; +#endif +#define SNDRV_RAWMIDI_IOCTL_PVERSION _IOR('W', 0x00, int) +#define SNDRV_RAWMIDI_IOCTL_INFO _IOR('W', 0x01, struct snd_rawmidi_info) +#define SNDRV_RAWMIDI_IOCTL_PARAMS _IOWR('W', 0x10, struct snd_rawmidi_params) +#define SNDRV_RAWMIDI_IOCTL_STATUS _IOWR('W', 0x20, struct snd_rawmidi_status) +#define SNDRV_RAWMIDI_IOCTL_DROP _IOW('W', 0x30, int) +#define SNDRV_RAWMIDI_IOCTL_DRAIN _IOW('W', 0x31, int) +#define SNDRV_TIMER_VERSION SNDRV_PROTOCOL_VERSION(2, 0, 7) +enum { + SNDRV_TIMER_CLASS_NONE = -1, + SNDRV_TIMER_CLASS_SLAVE = 0, + SNDRV_TIMER_CLASS_GLOBAL, + SNDRV_TIMER_CLASS_CARD, + SNDRV_TIMER_CLASS_PCM, + SNDRV_TIMER_CLASS_LAST = SNDRV_TIMER_CLASS_PCM, +}; +enum { + SNDRV_TIMER_SCLASS_NONE = 0, + SNDRV_TIMER_SCLASS_APPLICATION, + SNDRV_TIMER_SCLASS_SEQUENCER, + SNDRV_TIMER_SCLASS_OSS_SEQUENCER, + SNDRV_TIMER_SCLASS_LAST = SNDRV_TIMER_SCLASS_OSS_SEQUENCER, +}; +#define SNDRV_TIMER_GLOBAL_SYSTEM 0 +#define SNDRV_TIMER_GLOBAL_RTC 1 +#define SNDRV_TIMER_GLOBAL_HPET 2 +#define SNDRV_TIMER_GLOBAL_HRTIMER 3 +#define SNDRV_TIMER_FLG_SLAVE (1<<0) +struct snd_timer_id { + int dev_class; + int dev_sclass; + int card; + int device; + int subdevice; +}; +struct snd_timer_ginfo { + struct snd_timer_id tid; + unsigned int flags; + int card; + unsigned char id[64]; + unsigned char name[80]; + unsigned long reserved0; + unsigned long resolution; + unsigned long resolution_min; + unsigned long resolution_max; + unsigned int clients; + unsigned char reserved[32]; +}; +struct snd_timer_gparams { + struct snd_timer_id tid; + unsigned long period_num; + unsigned long period_den; + unsigned char reserved[32]; +}; +struct snd_timer_gstatus { + struct snd_timer_id tid; + unsigned long resolution; + unsigned long resolution_num; + unsigned long resolution_den; + unsigned char reserved[32]; +}; +struct snd_timer_select { + struct snd_timer_id id; + unsigned char reserved[32]; +}; +struct snd_timer_info { + unsigned int flags; + int card; + unsigned char id[64]; + unsigned char name[80]; + unsigned long reserved0; + unsigned long resolution; + unsigned char reserved[64]; +}; +#define SNDRV_TIMER_PSFLG_AUTO (1<<0) +#define SNDRV_TIMER_PSFLG_EXCLUSIVE (1<<1) +#define SNDRV_TIMER_PSFLG_EARLY_EVENT (1<<2) +struct snd_timer_params { + unsigned int flags; + unsigned int ticks; + unsigned int queue_size; + unsigned int reserved0; + unsigned int filter; + unsigned char reserved[60]; +}; +#ifndef __KERNEL__ +struct snd_timer_status { + struct timespec tstamp; + unsigned int resolution; + unsigned int lost; + unsigned int overrun; + unsigned int queue; + unsigned char reserved[64]; +}; +#endif +#define SNDRV_TIMER_IOCTL_PVERSION _IOR('T', 0x00, int) +#define SNDRV_TIMER_IOCTL_NEXT_DEVICE _IOWR('T', 0x01, struct snd_timer_id) +#define SNDRV_TIMER_IOCTL_TREAD_OLD _IOW('T', 0x02, int) +#define SNDRV_TIMER_IOCTL_GINFO _IOWR('T', 0x03, struct snd_timer_ginfo) +#define SNDRV_TIMER_IOCTL_GPARAMS _IOW('T', 0x04, struct snd_timer_gparams) +#define SNDRV_TIMER_IOCTL_GSTATUS _IOWR('T', 0x05, struct snd_timer_gstatus) +#define SNDRV_TIMER_IOCTL_SELECT _IOW('T', 0x10, struct snd_timer_select) +#define SNDRV_TIMER_IOCTL_INFO _IOR('T', 0x11, struct snd_timer_info) +#define SNDRV_TIMER_IOCTL_PARAMS _IOW('T', 0x12, struct snd_timer_params) +#define SNDRV_TIMER_IOCTL_STATUS _IOR('T', 0x14, struct snd_timer_status) +#define SNDRV_TIMER_IOCTL_START _IO('T', 0xa0) +#define SNDRV_TIMER_IOCTL_STOP _IO('T', 0xa1) +#define SNDRV_TIMER_IOCTL_CONTINUE _IO('T', 0xa2) +#define SNDRV_TIMER_IOCTL_PAUSE _IO('T', 0xa3) +#define SNDRV_TIMER_IOCTL_TREAD64 _IOW('T', 0xa4, int) +#if __BITS_PER_LONG == 64 +#define SNDRV_TIMER_IOCTL_TREAD SNDRV_TIMER_IOCTL_TREAD_OLD +#else +#define SNDRV_TIMER_IOCTL_TREAD ((sizeof(__kernel_long_t) >= sizeof(time_t)) ? \ + SNDRV_TIMER_IOCTL_TREAD_OLD : \ + SNDRV_TIMER_IOCTL_TREAD64) +#endif +struct snd_timer_read { + unsigned int resolution; + unsigned int ticks; +}; +enum { + SNDRV_TIMER_EVENT_RESOLUTION = 0, + SNDRV_TIMER_EVENT_TICK, + SNDRV_TIMER_EVENT_START, + SNDRV_TIMER_EVENT_STOP, + SNDRV_TIMER_EVENT_CONTINUE, + SNDRV_TIMER_EVENT_PAUSE, + SNDRV_TIMER_EVENT_EARLY, + SNDRV_TIMER_EVENT_SUSPEND, + SNDRV_TIMER_EVENT_RESUME, + + SNDRV_TIMER_EVENT_MSTART = SNDRV_TIMER_EVENT_START + 10, + SNDRV_TIMER_EVENT_MSTOP = SNDRV_TIMER_EVENT_STOP + 10, + SNDRV_TIMER_EVENT_MCONTINUE = SNDRV_TIMER_EVENT_CONTINUE + 10, + SNDRV_TIMER_EVENT_MPAUSE = SNDRV_TIMER_EVENT_PAUSE + 10, + SNDRV_TIMER_EVENT_MSUSPEND = SNDRV_TIMER_EVENT_SUSPEND + 10, + SNDRV_TIMER_EVENT_MRESUME = SNDRV_TIMER_EVENT_RESUME + 10, +}; +#ifndef __KERNEL__ +struct snd_timer_tread { + int event; + __time_pad pad1; + struct timespec tstamp; + unsigned int val; + __time_pad pad2; +}; +#endif +#define SNDRV_CTL_VERSION SNDRV_PROTOCOL_VERSION(2, 0, 8) +struct snd_ctl_card_info { + int card; + int pad; + unsigned char id[16]; + unsigned char driver[16]; + unsigned char name[32]; + unsigned char longname[80]; + unsigned char reserved_[16]; + unsigned char mixername[80]; + unsigned char components[128]; +}; +typedef int __bitwise snd_ctl_elem_type_t; +#define SNDRV_CTL_ELEM_TYPE_NONE ((__force snd_ctl_elem_type_t) 0) +#define SNDRV_CTL_ELEM_TYPE_BOOLEAN ((__force snd_ctl_elem_type_t) 1) +#define SNDRV_CTL_ELEM_TYPE_INTEGER ((__force snd_ctl_elem_type_t) 2) +#define SNDRV_CTL_ELEM_TYPE_ENUMERATED ((__force snd_ctl_elem_type_t) 3) +#define SNDRV_CTL_ELEM_TYPE_BYTES ((__force snd_ctl_elem_type_t) 4) +#define SNDRV_CTL_ELEM_TYPE_IEC958 ((__force snd_ctl_elem_type_t) 5) +#define SNDRV_CTL_ELEM_TYPE_INTEGER64 ((__force snd_ctl_elem_type_t) 6) +#define SNDRV_CTL_ELEM_TYPE_LAST SNDRV_CTL_ELEM_TYPE_INTEGER64 +typedef int __bitwise snd_ctl_elem_iface_t; +#define SNDRV_CTL_ELEM_IFACE_CARD ((__force snd_ctl_elem_iface_t) 0) +#define SNDRV_CTL_ELEM_IFACE_HWDEP ((__force snd_ctl_elem_iface_t) 1) +#define SNDRV_CTL_ELEM_IFACE_MIXER ((__force snd_ctl_elem_iface_t) 2) +#define SNDRV_CTL_ELEM_IFACE_PCM ((__force snd_ctl_elem_iface_t) 3) +#define SNDRV_CTL_ELEM_IFACE_RAWMIDI ((__force snd_ctl_elem_iface_t) 4) +#define SNDRV_CTL_ELEM_IFACE_TIMER ((__force snd_ctl_elem_iface_t) 5) +#define SNDRV_CTL_ELEM_IFACE_SEQUENCER ((__force snd_ctl_elem_iface_t) 6) +#define SNDRV_CTL_ELEM_IFACE_LAST SNDRV_CTL_ELEM_IFACE_SEQUENCER +#define SNDRV_CTL_ELEM_ACCESS_READ (1<<0) +#define SNDRV_CTL_ELEM_ACCESS_WRITE (1<<1) +#define SNDRV_CTL_ELEM_ACCESS_READWRITE (SNDRV_CTL_ELEM_ACCESS_READ|SNDRV_CTL_ELEM_ACCESS_WRITE) +#define SNDRV_CTL_ELEM_ACCESS_VOLATILE (1<<2) +#define SNDRV_CTL_ELEM_ACCESS_TLV_READ (1<<4) +#define SNDRV_CTL_ELEM_ACCESS_TLV_WRITE (1<<5) +#define SNDRV_CTL_ELEM_ACCESS_TLV_READWRITE (SNDRV_CTL_ELEM_ACCESS_TLV_READ|SNDRV_CTL_ELEM_ACCESS_TLV_WRITE) +#define SNDRV_CTL_ELEM_ACCESS_TLV_COMMAND (1<<6) +#define SNDRV_CTL_ELEM_ACCESS_INACTIVE (1<<8) +#define SNDRV_CTL_ELEM_ACCESS_LOCK (1<<9) +#define SNDRV_CTL_ELEM_ACCESS_OWNER (1<<10) +#define SNDRV_CTL_ELEM_ACCESS_TLV_CALLBACK (1<<28) +#define SNDRV_CTL_ELEM_ACCESS_USER (1<<29) +#define SNDRV_CTL_POWER_D0 0x0000 +#define SNDRV_CTL_POWER_D1 0x0100 +#define SNDRV_CTL_POWER_D2 0x0200 +#define SNDRV_CTL_POWER_D3 0x0300 +#define SNDRV_CTL_POWER_D3hot (SNDRV_CTL_POWER_D3|0x0000) +#define SNDRV_CTL_POWER_D3cold (SNDRV_CTL_POWER_D3|0x0001) +#define SNDRV_CTL_ELEM_ID_NAME_MAXLEN 44 +struct snd_ctl_elem_id { + unsigned int numid; + snd_ctl_elem_iface_t iface; + unsigned int device; + unsigned int subdevice; + unsigned char name[SNDRV_CTL_ELEM_ID_NAME_MAXLEN]; + unsigned int index; +}; +struct snd_ctl_elem_list { + unsigned int offset; + unsigned int space; + unsigned int used; + unsigned int count; + struct snd_ctl_elem_id __user *pids; + unsigned char reserved[50]; +}; +struct snd_ctl_elem_info { + struct snd_ctl_elem_id id; + snd_ctl_elem_type_t type; + unsigned int access; + unsigned int count; + __kernel_pid_t owner; + union { + struct { + long min; + long max; + long step; + } integer; + struct { + long long min; + long long max; + long long step; + } integer64; + struct { + unsigned int items; + unsigned int item; + char name[64]; + __u64 names_ptr; + unsigned int names_length; + } enumerated; + unsigned char reserved[128]; + } value; + unsigned char reserved[64]; +}; +struct snd_ctl_elem_value { + struct snd_ctl_elem_id id; + unsigned int indirect: 1; + union { + union { + long value[128]; + long *value_ptr; + } integer; + union { + long long value[64]; + long long *value_ptr; + } integer64; + union { + unsigned int item[128]; + unsigned int *item_ptr; + } enumerated; + union { + unsigned char data[512]; + unsigned char *data_ptr; + } bytes; + struct snd_aes_iec958 iec958; + } value; + unsigned char reserved[128]; +}; +struct snd_ctl_tlv { + unsigned int numid; + unsigned int length; + unsigned int tlv[0]; +}; +#define SNDRV_CTL_IOCTL_PVERSION _IOR('U', 0x00, int) +#define SNDRV_CTL_IOCTL_CARD_INFO _IOR('U', 0x01, struct snd_ctl_card_info) +#define SNDRV_CTL_IOCTL_ELEM_LIST _IOWR('U', 0x10, struct snd_ctl_elem_list) +#define SNDRV_CTL_IOCTL_ELEM_INFO _IOWR('U', 0x11, struct snd_ctl_elem_info) +#define SNDRV_CTL_IOCTL_ELEM_READ _IOWR('U', 0x12, struct snd_ctl_elem_value) +#define SNDRV_CTL_IOCTL_ELEM_WRITE _IOWR('U', 0x13, struct snd_ctl_elem_value) +#define SNDRV_CTL_IOCTL_ELEM_LOCK _IOW('U', 0x14, struct snd_ctl_elem_id) +#define SNDRV_CTL_IOCTL_ELEM_UNLOCK _IOW('U', 0x15, struct snd_ctl_elem_id) +#define SNDRV_CTL_IOCTL_SUBSCRIBE_EVENTS _IOWR('U', 0x16, int) +#define SNDRV_CTL_IOCTL_ELEM_ADD _IOWR('U', 0x17, struct snd_ctl_elem_info) +#define SNDRV_CTL_IOCTL_ELEM_REPLACE _IOWR('U', 0x18, struct snd_ctl_elem_info) +#define SNDRV_CTL_IOCTL_ELEM_REMOVE _IOWR('U', 0x19, struct snd_ctl_elem_id) +#define SNDRV_CTL_IOCTL_TLV_READ _IOWR('U', 0x1a, struct snd_ctl_tlv) +#define SNDRV_CTL_IOCTL_TLV_WRITE _IOWR('U', 0x1b, struct snd_ctl_tlv) +#define SNDRV_CTL_IOCTL_TLV_COMMAND _IOWR('U', 0x1c, struct snd_ctl_tlv) +#define SNDRV_CTL_IOCTL_HWDEP_NEXT_DEVICE _IOWR('U', 0x20, int) +#define SNDRV_CTL_IOCTL_HWDEP_INFO _IOR('U', 0x21, struct snd_hwdep_info) +#define SNDRV_CTL_IOCTL_PCM_NEXT_DEVICE _IOR('U', 0x30, int) +#define SNDRV_CTL_IOCTL_PCM_INFO _IOWR('U', 0x31, struct snd_pcm_info) +#define SNDRV_CTL_IOCTL_PCM_PREFER_SUBDEVICE _IOW('U', 0x32, int) +#define SNDRV_CTL_IOCTL_RAWMIDI_NEXT_DEVICE _IOWR('U', 0x40, int) +#define SNDRV_CTL_IOCTL_RAWMIDI_INFO _IOWR('U', 0x41, struct snd_rawmidi_info) +#define SNDRV_CTL_IOCTL_RAWMIDI_PREFER_SUBDEVICE _IOW('U', 0x42, int) +#define SNDRV_CTL_IOCTL_POWER _IOWR('U', 0xd0, int) +#define SNDRV_CTL_IOCTL_POWER_STATE _IOR('U', 0xd1, int) +enum sndrv_ctl_event_type { + SNDRV_CTL_EVENT_ELEM = 0, + SNDRV_CTL_EVENT_LAST = SNDRV_CTL_EVENT_ELEM, +}; +#define SNDRV_CTL_EVENT_MASK_VALUE (1<<0) +#define SNDRV_CTL_EVENT_MASK_INFO (1<<1) +#define SNDRV_CTL_EVENT_MASK_ADD (1<<2) +#define SNDRV_CTL_EVENT_MASK_TLV (1<<3) +#define SNDRV_CTL_EVENT_MASK_REMOVE (~0U) +struct snd_ctl_event { + int type; + union { + struct { + unsigned int mask; + struct snd_ctl_elem_id id; + } elem; + unsigned char data8[60]; + } data; +}; +#define SNDRV_CTL_NAME_NONE "" +#define SNDRV_CTL_NAME_PLAYBACK "Playback " +#define SNDRV_CTL_NAME_CAPTURE "Capture " +#define SNDRV_CTL_NAME_IEC958_NONE "" +#define SNDRV_CTL_NAME_IEC958_SWITCH "Switch" +#define SNDRV_CTL_NAME_IEC958_VOLUME "Volume" +#define SNDRV_CTL_NAME_IEC958_DEFAULT "Default" +#define SNDRV_CTL_NAME_IEC958_MASK "Mask" +#define SNDRV_CTL_NAME_IEC958_CON_MASK "Con Mask" +#define SNDRV_CTL_NAME_IEC958_PRO_MASK "Pro Mask" +#define SNDRV_CTL_NAME_IEC958_PCM_STREAM "PCM Stream" +#define SNDRV_CTL_NAME_IEC958(expl,direction,what) "IEC958 " expl SNDRV_CTL_NAME_##direction SNDRV_CTL_NAME_IEC958_##what +#endif diff --git a/linux-5.10/prebuilts/usr/include/sound/asound_fm.h b/linux-5.10/prebuilts/usr/include/sound/asound_fm.h new file mode 100644 index 0000000..1da02a4 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/sound/asound_fm.h @@ -0,0 +1,77 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef __SOUND_ASOUND_FM_H +#define __SOUND_ASOUND_FM_H +#define SNDRV_DM_FM_MODE_OPL2 0x00 +#define SNDRV_DM_FM_MODE_OPL3 0x01 +struct snd_dm_fm_info { + unsigned char fm_mode; + unsigned char rhythm; +}; +struct snd_dm_fm_voice { + unsigned char op; + unsigned char voice; + unsigned char am; + unsigned char vibrato; + unsigned char do_sustain; + unsigned char kbd_scale; + unsigned char harmonic; + unsigned char scale_level; + unsigned char volume; + unsigned char attack; + unsigned char decay; + unsigned char sustain; + unsigned char release; + unsigned char feedback; + unsigned char connection; + unsigned char left; + unsigned char right; + unsigned char waveform; +}; +struct snd_dm_fm_note { + unsigned char voice; + unsigned char octave; + unsigned int fnum; + unsigned char key_on; +}; +struct snd_dm_fm_params { + unsigned char am_depth; + unsigned char vib_depth; + unsigned char kbd_split; + unsigned char rhythm; + + unsigned char bass; + unsigned char snare; + unsigned char tomtom; + unsigned char cymbal; + unsigned char hihat; +}; +#define SNDRV_DM_FM_IOCTL_INFO _IOR('H', 0x20, struct snd_dm_fm_info) +#define SNDRV_DM_FM_IOCTL_RESET _IO ('H', 0x21) +#define SNDRV_DM_FM_IOCTL_PLAY_NOTE _IOW('H', 0x22, struct snd_dm_fm_note) +#define SNDRV_DM_FM_IOCTL_SET_VOICE _IOW('H', 0x23, struct snd_dm_fm_voice) +#define SNDRV_DM_FM_IOCTL_SET_PARAMS _IOW('H', 0x24, struct snd_dm_fm_params) +#define SNDRV_DM_FM_IOCTL_SET_MODE _IOW('H', 0x25, int) +#define SNDRV_DM_FM_IOCTL_SET_CONNECTION _IOW('H', 0x26, int) +#define SNDRV_DM_FM_IOCTL_CLEAR_PATCHES _IO ('H', 0x40) +#define SNDRV_DM_FM_OSS_IOCTL_RESET 0x20 +#define SNDRV_DM_FM_OSS_IOCTL_PLAY_NOTE 0x21 +#define SNDRV_DM_FM_OSS_IOCTL_SET_VOICE 0x22 +#define SNDRV_DM_FM_OSS_IOCTL_SET_PARAMS 0x23 +#define SNDRV_DM_FM_OSS_IOCTL_SET_MODE 0x24 +#define SNDRV_DM_FM_OSS_IOCTL_SET_OPL 0x25 +#define FM_KEY_SBI "SBI\032" +#define FM_KEY_2OP "2OP\032" +#define FM_KEY_4OP "4OP\032" +struct sbi_patch { + unsigned char prog; + unsigned char bank; + char key[4]; + char name[25]; + char extension[7]; + unsigned char data[32]; +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/sound/compress_offload.h b/linux-5.10/prebuilts/usr/include/sound/compress_offload.h new file mode 100644 index 0000000..23c7d66 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/sound/compress_offload.h @@ -0,0 +1,81 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef __COMPRESS_OFFLOAD_H +#define __COMPRESS_OFFLOAD_H +#include +#include +#include +#define SNDRV_COMPRESS_VERSION SNDRV_PROTOCOL_VERSION(0, 2, 0) +struct snd_compressed_buffer { + __u32 fragment_size; + __u32 fragments; +} __attribute__((packed, aligned(4))); +struct snd_compr_params { + struct snd_compressed_buffer buffer; + struct snd_codec codec; + __u8 no_wake_mode; +} __attribute__((packed, aligned(4))); +struct snd_compr_tstamp { + __u32 byte_offset; + __u32 copied_total; + __u32 pcm_frames; + __u32 pcm_io_frames; + __u32 sampling_rate; +} __attribute__((packed, aligned(4))); +struct snd_compr_avail { + __u64 avail; + struct snd_compr_tstamp tstamp; +} __attribute__((packed, aligned(4))); +enum snd_compr_direction { + SND_COMPRESS_PLAYBACK = 0, + SND_COMPRESS_CAPTURE +}; +struct snd_compr_caps { + __u32 num_codecs; + __u32 direction; + __u32 min_fragment_size; + __u32 max_fragment_size; + __u32 min_fragments; + __u32 max_fragments; + __u32 codecs[MAX_NUM_CODECS]; + __u32 reserved[11]; +} __attribute__((packed, aligned(4))); +struct snd_compr_codec_caps { + __u32 codec; + __u32 num_descriptors; + struct snd_codec_desc descriptor[MAX_NUM_CODEC_DESCRIPTORS]; +} __attribute__((packed, aligned(4))); +enum sndrv_compress_encoder { + SNDRV_COMPRESS_ENCODER_PADDING = 1, + SNDRV_COMPRESS_ENCODER_DELAY = 2, +}; +struct snd_compr_metadata { + __u32 key; + __u32 value[8]; +} __attribute__((packed, aligned(4))); +#define SNDRV_COMPRESS_IOCTL_VERSION _IOR('C', 0x00, int) +#define SNDRV_COMPRESS_GET_CAPS _IOWR('C', 0x10, struct snd_compr_caps) +#define SNDRV_COMPRESS_GET_CODEC_CAPS _IOWR('C', 0x11,\ + struct snd_compr_codec_caps) +#define SNDRV_COMPRESS_SET_PARAMS _IOW('C', 0x12, struct snd_compr_params) +#define SNDRV_COMPRESS_GET_PARAMS _IOR('C', 0x13, struct snd_codec) +#define SNDRV_COMPRESS_SET_METADATA _IOW('C', 0x14,\ + struct snd_compr_metadata) +#define SNDRV_COMPRESS_GET_METADATA _IOWR('C', 0x15,\ + struct snd_compr_metadata) +#define SNDRV_COMPRESS_TSTAMP _IOR('C', 0x20, struct snd_compr_tstamp) +#define SNDRV_COMPRESS_AVAIL _IOR('C', 0x21, struct snd_compr_avail) +#define SNDRV_COMPRESS_PAUSE _IO('C', 0x30) +#define SNDRV_COMPRESS_RESUME _IO('C', 0x31) +#define SNDRV_COMPRESS_START _IO('C', 0x32) +#define SNDRV_COMPRESS_STOP _IO('C', 0x33) +#define SNDRV_COMPRESS_DRAIN _IO('C', 0x34) +#define SNDRV_COMPRESS_NEXT_TRACK _IO('C', 0x35) +#define SNDRV_COMPRESS_PARTIAL_DRAIN _IO('C', 0x36) +#define SND_COMPR_TRIGGER_DRAIN 7 +#define SND_COMPR_TRIGGER_NEXT_TRACK 8 +#define SND_COMPR_TRIGGER_PARTIAL_DRAIN 9 +#endif diff --git a/linux-5.10/prebuilts/usr/include/sound/compress_params.h b/linux-5.10/prebuilts/usr/include/sound/compress_params.h new file mode 100644 index 0000000..27cb789 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/sound/compress_params.h @@ -0,0 +1,229 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef __SND_COMPRESS_PARAMS_H +#define __SND_COMPRESS_PARAMS_H +#include +#define MAX_NUM_CODECS 32 +#define MAX_NUM_CODEC_DESCRIPTORS 32 +#define MAX_NUM_BITRATES 32 +#define MAX_NUM_SAMPLE_RATES 32 +#define SND_AUDIOCODEC_PCM ((__u32) 0x00000001) +#define SND_AUDIOCODEC_MP3 ((__u32) 0x00000002) +#define SND_AUDIOCODEC_AMR ((__u32) 0x00000003) +#define SND_AUDIOCODEC_AMRWB ((__u32) 0x00000004) +#define SND_AUDIOCODEC_AMRWBPLUS ((__u32) 0x00000005) +#define SND_AUDIOCODEC_AAC ((__u32) 0x00000006) +#define SND_AUDIOCODEC_WMA ((__u32) 0x00000007) +#define SND_AUDIOCODEC_REAL ((__u32) 0x00000008) +#define SND_AUDIOCODEC_VORBIS ((__u32) 0x00000009) +#define SND_AUDIOCODEC_FLAC ((__u32) 0x0000000A) +#define SND_AUDIOCODEC_IEC61937 ((__u32) 0x0000000B) +#define SND_AUDIOCODEC_G723_1 ((__u32) 0x0000000C) +#define SND_AUDIOCODEC_G729 ((__u32) 0x0000000D) +#define SND_AUDIOCODEC_BESPOKE ((__u32) 0x0000000E) +#define SND_AUDIOCODEC_ALAC ((__u32) 0x0000000F) +#define SND_AUDIOCODEC_APE ((__u32) 0x00000010) +#define SND_AUDIOCODEC_MAX SND_AUDIOCODEC_APE +#define SND_AUDIOPROFILE_PCM ((__u32) 0x00000001) +#define SND_AUDIOCHANMODE_MP3_MONO ((__u32) 0x00000001) +#define SND_AUDIOCHANMODE_MP3_STEREO ((__u32) 0x00000002) +#define SND_AUDIOCHANMODE_MP3_JOINTSTEREO ((__u32) 0x00000004) +#define SND_AUDIOCHANMODE_MP3_DUAL ((__u32) 0x00000008) +#define SND_AUDIOPROFILE_AMR ((__u32) 0x00000001) +#define SND_AUDIOMODE_AMR_DTX_OFF ((__u32) 0x00000001) +#define SND_AUDIOMODE_AMR_VAD1 ((__u32) 0x00000002) +#define SND_AUDIOMODE_AMR_VAD2 ((__u32) 0x00000004) +#define SND_AUDIOSTREAMFORMAT_UNDEFINED ((__u32) 0x00000000) +#define SND_AUDIOSTREAMFORMAT_CONFORMANCE ((__u32) 0x00000001) +#define SND_AUDIOSTREAMFORMAT_IF1 ((__u32) 0x00000002) +#define SND_AUDIOSTREAMFORMAT_IF2 ((__u32) 0x00000004) +#define SND_AUDIOSTREAMFORMAT_FSF ((__u32) 0x00000008) +#define SND_AUDIOSTREAMFORMAT_RTPPAYLOAD ((__u32) 0x00000010) +#define SND_AUDIOSTREAMFORMAT_ITU ((__u32) 0x00000020) +#define SND_AUDIOPROFILE_AMRWB ((__u32) 0x00000001) +#define SND_AUDIOMODE_AMRWB_DTX_OFF ((__u32) 0x00000001) +#define SND_AUDIOMODE_AMRWB_VAD1 ((__u32) 0x00000002) +#define SND_AUDIOMODE_AMRWB_VAD2 ((__u32) 0x00000004) +#define SND_AUDIOPROFILE_AMRWBPLUS ((__u32) 0x00000001) +#define SND_AUDIOPROFILE_AAC ((__u32) 0x00000001) +#define SND_AUDIOMODE_AAC_MAIN ((__u32) 0x00000001) +#define SND_AUDIOMODE_AAC_LC ((__u32) 0x00000002) +#define SND_AUDIOMODE_AAC_SSR ((__u32) 0x00000004) +#define SND_AUDIOMODE_AAC_LTP ((__u32) 0x00000008) +#define SND_AUDIOMODE_AAC_HE ((__u32) 0x00000010) +#define SND_AUDIOMODE_AAC_SCALABLE ((__u32) 0x00000020) +#define SND_AUDIOMODE_AAC_ERLC ((__u32) 0x00000040) +#define SND_AUDIOMODE_AAC_LD ((__u32) 0x00000080) +#define SND_AUDIOMODE_AAC_HE_PS ((__u32) 0x00000100) +#define SND_AUDIOMODE_AAC_HE_MPS ((__u32) 0x00000200) +#define SND_AUDIOSTREAMFORMAT_MP2ADTS ((__u32) 0x00000001) +#define SND_AUDIOSTREAMFORMAT_MP4ADTS ((__u32) 0x00000002) +#define SND_AUDIOSTREAMFORMAT_MP4LOAS ((__u32) 0x00000004) +#define SND_AUDIOSTREAMFORMAT_MP4LATM ((__u32) 0x00000008) +#define SND_AUDIOSTREAMFORMAT_ADIF ((__u32) 0x00000010) +#define SND_AUDIOSTREAMFORMAT_MP4FF ((__u32) 0x00000020) +#define SND_AUDIOSTREAMFORMAT_RAW ((__u32) 0x00000040) +#define SND_AUDIOPROFILE_WMA7 ((__u32) 0x00000001) +#define SND_AUDIOPROFILE_WMA8 ((__u32) 0x00000002) +#define SND_AUDIOPROFILE_WMA9 ((__u32) 0x00000004) +#define SND_AUDIOPROFILE_WMA10 ((__u32) 0x00000008) +#define SND_AUDIOPROFILE_WMA9_PRO ((__u32) 0x00000010) +#define SND_AUDIOPROFILE_WMA9_LOSSLESS ((__u32) 0x00000020) +#define SND_AUDIOPROFILE_WMA10_LOSSLESS ((__u32) 0x00000040) +#define SND_AUDIOMODE_WMA_LEVEL1 ((__u32) 0x00000001) +#define SND_AUDIOMODE_WMA_LEVEL2 ((__u32) 0x00000002) +#define SND_AUDIOMODE_WMA_LEVEL3 ((__u32) 0x00000004) +#define SND_AUDIOMODE_WMA_LEVEL4 ((__u32) 0x00000008) +#define SND_AUDIOMODE_WMAPRO_LEVELM0 ((__u32) 0x00000010) +#define SND_AUDIOMODE_WMAPRO_LEVELM1 ((__u32) 0x00000020) +#define SND_AUDIOMODE_WMAPRO_LEVELM2 ((__u32) 0x00000040) +#define SND_AUDIOMODE_WMAPRO_LEVELM3 ((__u32) 0x00000080) +#define SND_AUDIOSTREAMFORMAT_WMA_ASF ((__u32) 0x00000001) +#define SND_AUDIOSTREAMFORMAT_WMA_NOASF_HDR ((__u32) 0x00000002) +#define SND_AUDIOPROFILE_REALAUDIO ((__u32) 0x00000001) +#define SND_AUDIOMODE_REALAUDIO_G2 ((__u32) 0x00000001) +#define SND_AUDIOMODE_REALAUDIO_8 ((__u32) 0x00000002) +#define SND_AUDIOMODE_REALAUDIO_10 ((__u32) 0x00000004) +#define SND_AUDIOMODE_REALAUDIO_SURROUND ((__u32) 0x00000008) +#define SND_AUDIOPROFILE_VORBIS ((__u32) 0x00000001) +#define SND_AUDIOMODE_VORBIS ((__u32) 0x00000001) +#define SND_AUDIOPROFILE_FLAC ((__u32) 0x00000001) +#define SND_AUDIOMODE_FLAC_LEVEL0 ((__u32) 0x00000001) +#define SND_AUDIOMODE_FLAC_LEVEL1 ((__u32) 0x00000002) +#define SND_AUDIOMODE_FLAC_LEVEL2 ((__u32) 0x00000004) +#define SND_AUDIOMODE_FLAC_LEVEL3 ((__u32) 0x00000008) +#define SND_AUDIOMODE_FLAC_LEVEL4 ((__u32) 0x00000010) +#define SND_AUDIOMODE_FLAC_LEVEL5 ((__u32) 0x00000020) +#define SND_AUDIOMODE_FLAC_LEVEL6 ((__u32) 0x00000040) +#define SND_AUDIOMODE_FLAC_LEVEL7 ((__u32) 0x00000080) +#define SND_AUDIOMODE_FLAC_LEVEL8 ((__u32) 0x00000100) +#define SND_AUDIOSTREAMFORMAT_FLAC ((__u32) 0x00000001) +#define SND_AUDIOSTREAMFORMAT_FLAC_OGG ((__u32) 0x00000002) +#define SND_AUDIOPROFILE_IEC61937 ((__u32) 0x00000001) +#define SND_AUDIOPROFILE_IEC61937_SPDIF ((__u32) 0x00000002) +#define SND_AUDIOMODE_IEC_REF_STREAM_HEADER ((__u32) 0x00000000) +#define SND_AUDIOMODE_IEC_LPCM ((__u32) 0x00000001) +#define SND_AUDIOMODE_IEC_AC3 ((__u32) 0x00000002) +#define SND_AUDIOMODE_IEC_MPEG1 ((__u32) 0x00000004) +#define SND_AUDIOMODE_IEC_MP3 ((__u32) 0x00000008) +#define SND_AUDIOMODE_IEC_MPEG2 ((__u32) 0x00000010) +#define SND_AUDIOMODE_IEC_AACLC ((__u32) 0x00000020) +#define SND_AUDIOMODE_IEC_DTS ((__u32) 0x00000040) +#define SND_AUDIOMODE_IEC_ATRAC ((__u32) 0x00000080) +#define SND_AUDIOMODE_IEC_SACD ((__u32) 0x00000100) +#define SND_AUDIOMODE_IEC_EAC3 ((__u32) 0x00000200) +#define SND_AUDIOMODE_IEC_DTS_HD ((__u32) 0x00000400) +#define SND_AUDIOMODE_IEC_MLP ((__u32) 0x00000800) +#define SND_AUDIOMODE_IEC_DST ((__u32) 0x00001000) +#define SND_AUDIOMODE_IEC_WMAPRO ((__u32) 0x00002000) +#define SND_AUDIOMODE_IEC_REF_CXT ((__u32) 0x00004000) +#define SND_AUDIOMODE_IEC_HE_AAC ((__u32) 0x00008000) +#define SND_AUDIOMODE_IEC_HE_AAC2 ((__u32) 0x00010000) +#define SND_AUDIOMODE_IEC_MPEG_SURROUND ((__u32) 0x00020000) +#define SND_AUDIOPROFILE_G723_1 ((__u32) 0x00000001) +#define SND_AUDIOMODE_G723_1_ANNEX_A ((__u32) 0x00000001) +#define SND_AUDIOMODE_G723_1_ANNEX_B ((__u32) 0x00000002) +#define SND_AUDIOMODE_G723_1_ANNEX_C ((__u32) 0x00000004) +#define SND_AUDIOPROFILE_G729 ((__u32) 0x00000001) +#define SND_AUDIOMODE_G729_ANNEX_A ((__u32) 0x00000001) +#define SND_AUDIOMODE_G729_ANNEX_B ((__u32) 0x00000002) +#define SND_RATECONTROLMODE_CONSTANTBITRATE ((__u32) 0x00000001) +#define SND_RATECONTROLMODE_VARIABLEBITRATE ((__u32) 0x00000002) +struct snd_enc_wma { + __u32 super_block_align; +}; +struct snd_enc_vorbis { + __s32 quality; + __u32 managed; + __u32 max_bit_rate; + __u32 min_bit_rate; + __u32 downmix; +} __attribute__((packed, aligned(4))); +struct snd_enc_real { + __u32 quant_bits; + __u32 start_region; + __u32 num_regions; +} __attribute__((packed, aligned(4))); +struct snd_enc_flac { + __u32 num; + __u32 gain; +} __attribute__((packed, aligned(4))); +struct snd_enc_generic { + __u32 bw; + __s32 reserved[15]; +} __attribute__((packed, aligned(4))); +struct snd_dec_flac { + __u16 sample_size; + __u16 min_blk_size; + __u16 max_blk_size; + __u16 min_frame_size; + __u16 max_frame_size; + __u16 reserved; +} __attribute__((packed, aligned(4))); +struct snd_dec_wma { + __u32 encoder_option; + __u32 adv_encoder_option; + __u32 adv_encoder_option2; + __u32 reserved; +} __attribute__((packed, aligned(4))); +struct snd_dec_alac { + __u32 frame_length; + __u8 compatible_version; + __u8 pb; + __u8 mb; + __u8 kb; + __u32 max_run; + __u32 max_frame_bytes; +} __attribute__((packed, aligned(4))); +struct snd_dec_ape { + __u16 compatible_version; + __u16 compression_level; + __u32 format_flags; + __u32 blocks_per_frame; + __u32 final_frame_blocks; + __u32 total_frames; + __u32 seek_table_present; +} __attribute__((packed, aligned(4))); +union snd_codec_options { + struct snd_enc_wma wma; + struct snd_enc_vorbis vorbis; + struct snd_enc_real real; + struct snd_enc_flac flac; + struct snd_enc_generic generic; + struct snd_dec_flac flac_d; + struct snd_dec_wma wma_d; + struct snd_dec_alac alac_d; + struct snd_dec_ape ape_d; +} __attribute__((packed, aligned(4))); +struct snd_codec_desc { + __u32 max_ch; + __u32 sample_rates[MAX_NUM_SAMPLE_RATES]; + __u32 num_sample_rates; + __u32 bit_rate[MAX_NUM_BITRATES]; + __u32 num_bitrates; + __u32 rate_control; + __u32 profiles; + __u32 modes; + __u32 formats; + __u32 min_buffer; + __u32 reserved[15]; +} __attribute__((packed, aligned(4))); +struct snd_codec { + __u32 id; + __u32 ch_in; + __u32 ch_out; + __u32 sample_rate; + __u32 bit_rate; + __u32 rate_control; + __u32 profile; + __u32 level; + __u32 ch_mode; + __u32 format; + __u32 align; + union snd_codec_options options; + __u32 reserved[3]; +} __attribute__((packed, aligned(4))); +#endif diff --git a/linux-5.10/prebuilts/usr/include/sound/emu10k1.h b/linux-5.10/prebuilts/usr/include/sound/emu10k1.h new file mode 100644 index 0000000..8a85fd8 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/sound/emu10k1.h @@ -0,0 +1,315 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI__SOUND_EMU10K1_H +#define _UAPI__SOUND_EMU10K1_H +#ifdef __linux__ +#include +#endif +#define EMU10K1_CARD_CREATIVE 0x00000000 +#define EMU10K1_CARD_EMUAPS 0x00000001 +#define EMU10K1_FX8010_PCM_COUNT 8 +#define __EMU10K1_DECLARE_BITMAP(name,bits) \ + unsigned long name[(bits) / (sizeof(unsigned long) * 8)] +#define iMAC0 0x00 +#define iMAC1 0x01 +#define iMAC2 0x02 +#define iMAC3 0x03 +#define iMACINT0 0x04 +#define iMACINT1 0x05 +#define iACC3 0x06 +#define iMACMV 0x07 +#define iANDXOR 0x08 +#define iTSTNEG 0x09 +#define iLIMITGE 0x0a +#define iLIMITLT 0x0b +#define iLOG 0x0c +#define iEXP 0x0d +#define iINTERP 0x0e +#define iSKIP 0x0f +#define FXBUS(x) (0x00 + (x)) +#define EXTIN(x) (0x10 + (x)) +#define EXTOUT(x) (0x20 + (x)) +#define FXBUS2(x) (0x30 + (x)) + +#define C_00000000 0x40 +#define C_00000001 0x41 +#define C_00000002 0x42 +#define C_00000003 0x43 +#define C_00000004 0x44 +#define C_00000008 0x45 +#define C_00000010 0x46 +#define C_00000020 0x47 +#define C_00000100 0x48 +#define C_00010000 0x49 +#define C_00080000 0x4a +#define C_10000000 0x4b +#define C_20000000 0x4c +#define C_40000000 0x4d +#define C_80000000 0x4e +#define C_7fffffff 0x4f +#define C_ffffffff 0x50 +#define C_fffffffe 0x51 +#define C_c0000000 0x52 +#define C_4f1bbcdc 0x53 +#define C_5a7ef9db 0x54 +#define C_00100000 0x55 +#define GPR_ACCU 0x56 +#define GPR_COND 0x57 +#define GPR_NOISE0 0x58 +#define GPR_NOISE1 0x59 +#define GPR_IRQ 0x5a +#define GPR_DBAC 0x5b +#define GPR(x) (FXGPREGBASE + (x)) +#define ITRAM_DATA(x) (TANKMEMDATAREGBASE + 0x00 + (x)) +#define ETRAM_DATA(x) (TANKMEMDATAREGBASE + 0x80 + (x)) +#define ITRAM_ADDR(x) (TANKMEMADDRREGBASE + 0x00 + (x)) +#define ETRAM_ADDR(x) (TANKMEMADDRREGBASE + 0x80 + (x)) +#define A_ITRAM_DATA(x) (TANKMEMDATAREGBASE + 0x00 + (x)) +#define A_ETRAM_DATA(x) (TANKMEMDATAREGBASE + 0xc0 + (x)) +#define A_ITRAM_ADDR(x) (TANKMEMADDRREGBASE + 0x00 + (x)) +#define A_ETRAM_ADDR(x) (TANKMEMADDRREGBASE + 0xc0 + (x)) +#define A_ITRAM_CTL(x) (A_TANKMEMCTLREGBASE + 0x00 + (x)) +#define A_ETRAM_CTL(x) (A_TANKMEMCTLREGBASE + 0xc0 + (x)) +#define A_FXBUS(x) (0x00 + (x)) +#define A_EXTIN(x) (0x40 + (x)) +#define A_P16VIN(x) (0x50 + (x)) +#define A_EXTOUT(x) (0x60 + (x)) +#define A_FXBUS2(x) (0x80 + (x)) +#define A_EMU32OUTH(x) (0xa0 + (x)) +#define A_EMU32OUTL(x) (0xb0 + (x)) +#define A3_EMU32IN(x) (0x160 + (x)) +#define A3_EMU32OUT(x) (0x1E0 + (x)) +#define A_GPR(x) (A_FXGPREGBASE + (x)) +#define CC_REG_NORMALIZED C_00000001 +#define CC_REG_BORROW C_00000002 +#define CC_REG_MINUS C_00000004 +#define CC_REG_ZERO C_00000008 +#define CC_REG_SATURATE C_00000010 +#define CC_REG_NONZERO C_00000100 +#define FXBUS_PCM_LEFT 0x00 +#define FXBUS_PCM_RIGHT 0x01 +#define FXBUS_PCM_LEFT_REAR 0x02 +#define FXBUS_PCM_RIGHT_REAR 0x03 +#define FXBUS_MIDI_LEFT 0x04 +#define FXBUS_MIDI_RIGHT 0x05 +#define FXBUS_PCM_CENTER 0x06 +#define FXBUS_PCM_LFE 0x07 +#define FXBUS_PCM_LEFT_FRONT 0x08 +#define FXBUS_PCM_RIGHT_FRONT 0x09 +#define FXBUS_MIDI_REVERB 0x0c +#define FXBUS_MIDI_CHORUS 0x0d +#define FXBUS_PCM_LEFT_SIDE 0x0e +#define FXBUS_PCM_RIGHT_SIDE 0x0f +#define FXBUS_PT_LEFT 0x14 +#define FXBUS_PT_RIGHT 0x15 +#define EXTIN_AC97_L 0x00 +#define EXTIN_AC97_R 0x01 +#define EXTIN_SPDIF_CD_L 0x02 +#define EXTIN_SPDIF_CD_R 0x03 +#define EXTIN_ZOOM_L 0x04 +#define EXTIN_ZOOM_R 0x05 +#define EXTIN_TOSLINK_L 0x06 +#define EXTIN_TOSLINK_R 0x07 +#define EXTIN_LINE1_L 0x08 +#define EXTIN_LINE1_R 0x09 +#define EXTIN_COAX_SPDIF_L 0x0a +#define EXTIN_COAX_SPDIF_R 0x0b +#define EXTIN_LINE2_L 0x0c +#define EXTIN_LINE2_R 0x0d +#define EXTOUT_AC97_L 0x00 +#define EXTOUT_AC97_R 0x01 +#define EXTOUT_TOSLINK_L 0x02 +#define EXTOUT_TOSLINK_R 0x03 +#define EXTOUT_AC97_CENTER 0x04 +#define EXTOUT_AC97_LFE 0x05 +#define EXTOUT_HEADPHONE_L 0x06 +#define EXTOUT_HEADPHONE_R 0x07 +#define EXTOUT_REAR_L 0x08 +#define EXTOUT_REAR_R 0x09 +#define EXTOUT_ADC_CAP_L 0x0a +#define EXTOUT_ADC_CAP_R 0x0b +#define EXTOUT_MIC_CAP 0x0c +#define EXTOUT_AC97_REAR_L 0x0d +#define EXTOUT_AC97_REAR_R 0x0e +#define EXTOUT_ACENTER 0x11 +#define EXTOUT_ALFE 0x12 +#define A_EXTIN_AC97_L 0x00 +#define A_EXTIN_AC97_R 0x01 +#define A_EXTIN_SPDIF_CD_L 0x02 +#define A_EXTIN_SPDIF_CD_R 0x03 +#define A_EXTIN_OPT_SPDIF_L 0x04 +#define A_EXTIN_OPT_SPDIF_R 0x05 +#define A_EXTIN_LINE2_L 0x08 +#define A_EXTIN_LINE2_R 0x09 +#define A_EXTIN_ADC_L 0x0a +#define A_EXTIN_ADC_R 0x0b +#define A_EXTIN_AUX2_L 0x0c +#define A_EXTIN_AUX2_R 0x0d +#define A_EXTOUT_FRONT_L 0x00 +#define A_EXTOUT_FRONT_R 0x01 +#define A_EXTOUT_CENTER 0x02 +#define A_EXTOUT_LFE 0x03 +#define A_EXTOUT_HEADPHONE_L 0x04 +#define A_EXTOUT_HEADPHONE_R 0x05 +#define A_EXTOUT_REAR_L 0x06 +#define A_EXTOUT_REAR_R 0x07 +#define A_EXTOUT_AFRONT_L 0x08 +#define A_EXTOUT_AFRONT_R 0x09 +#define A_EXTOUT_ACENTER 0x0a +#define A_EXTOUT_ALFE 0x0b +#define A_EXTOUT_ASIDE_L 0x0c +#define A_EXTOUT_ASIDE_R 0x0d +#define A_EXTOUT_AREAR_L 0x0e +#define A_EXTOUT_AREAR_R 0x0f +#define A_EXTOUT_AC97_L 0x10 +#define A_EXTOUT_AC97_R 0x11 +#define A_EXTOUT_ADC_CAP_L 0x16 +#define A_EXTOUT_ADC_CAP_R 0x17 +#define A_EXTOUT_MIC_CAP 0x18 +#define A_C_00000000 0xc0 +#define A_C_00000001 0xc1 +#define A_C_00000002 0xc2 +#define A_C_00000003 0xc3 +#define A_C_00000004 0xc4 +#define A_C_00000008 0xc5 +#define A_C_00000010 0xc6 +#define A_C_00000020 0xc7 +#define A_C_00000100 0xc8 +#define A_C_00010000 0xc9 +#define A_C_00000800 0xca +#define A_C_10000000 0xcb +#define A_C_20000000 0xcc +#define A_C_40000000 0xcd +#define A_C_80000000 0xce +#define A_C_7fffffff 0xcf +#define A_C_ffffffff 0xd0 +#define A_C_fffffffe 0xd1 +#define A_C_c0000000 0xd2 +#define A_C_4f1bbcdc 0xd3 +#define A_C_5a7ef9db 0xd4 +#define A_C_00100000 0xd5 +#define A_GPR_ACCU 0xd6 +#define A_GPR_COND 0xd7 +#define A_GPR_NOISE0 0xd8 +#define A_GPR_NOISE1 0xd9 +#define A_GPR_IRQ 0xda +#define A_GPR_DBAC 0xdb +#define A_GPR_DBACE 0xde +#define EMU10K1_DBG_ZC 0x80000000 +#define EMU10K1_DBG_SATURATION_OCCURED 0x02000000 +#define EMU10K1_DBG_SATURATION_ADDR 0x01ff0000 +#define EMU10K1_DBG_SINGLE_STEP 0x00008000 +#define EMU10K1_DBG_STEP 0x00004000 +#define EMU10K1_DBG_CONDITION_CODE 0x00003e00 +#define EMU10K1_DBG_SINGLE_STEP_ADDR 0x000001ff +#ifndef __KERNEL__ +#define TANKMEMADDRREG_ADDR_MASK 0x000fffff +#define TANKMEMADDRREG_CLEAR 0x00800000 +#define TANKMEMADDRREG_ALIGN 0x00400000 +#define TANKMEMADDRREG_WRITE 0x00200000 +#define TANKMEMADDRREG_READ 0x00100000 +#endif +struct snd_emu10k1_fx8010_info { + unsigned int internal_tram_size; + unsigned int external_tram_size; + char fxbus_names[16][32]; + char extin_names[16][32]; + char extout_names[32][32]; + unsigned int gpr_controls; +}; +#define EMU10K1_GPR_TRANSLATION_NONE 0 +#define EMU10K1_GPR_TRANSLATION_TABLE100 1 +#define EMU10K1_GPR_TRANSLATION_BASS 2 +#define EMU10K1_GPR_TRANSLATION_TREBLE 3 +#define EMU10K1_GPR_TRANSLATION_ONOFF 4 +enum emu10k1_ctl_elem_iface { + EMU10K1_CTL_ELEM_IFACE_MIXER = 2, + EMU10K1_CTL_ELEM_IFACE_PCM = 3, +}; +struct emu10k1_ctl_elem_id { + unsigned int pad; + int iface; + unsigned int device; + unsigned int subdevice; + unsigned char name[44]; + unsigned int index; +}; +struct snd_emu10k1_fx8010_control_gpr { + struct emu10k1_ctl_elem_id id; + unsigned int vcount; + unsigned int count; + unsigned short gpr[32]; + unsigned int value[32]; + unsigned int min; + unsigned int max; + unsigned int translation; + const unsigned int *tlv; +}; +struct snd_emu10k1_fx8010_control_old_gpr { + struct emu10k1_ctl_elem_id id; + unsigned int vcount; + unsigned int count; + unsigned short gpr[32]; + unsigned int value[32]; + unsigned int min; + unsigned int max; + unsigned int translation; +}; +struct snd_emu10k1_fx8010_code { + char name[128]; + __EMU10K1_DECLARE_BITMAP(gpr_valid, 0x200); + __u32 *gpr_map; + unsigned int gpr_add_control_count; + struct snd_emu10k1_fx8010_control_gpr *gpr_add_controls; + unsigned int gpr_del_control_count; + struct emu10k1_ctl_elem_id *gpr_del_controls; + unsigned int gpr_list_control_count; + unsigned int gpr_list_control_total; + struct snd_emu10k1_fx8010_control_gpr *gpr_list_controls; + __EMU10K1_DECLARE_BITMAP(tram_valid, 0x100); + __u32 *tram_data_map; + __u32 *tram_addr_map; + __EMU10K1_DECLARE_BITMAP(code_valid, 1024); + __u32 *code; +}; +struct snd_emu10k1_fx8010_tram { + unsigned int address; + unsigned int size; + unsigned int *samples; + +}; +struct snd_emu10k1_fx8010_pcm_rec { + unsigned int substream; + unsigned int res1; + unsigned int channels; + unsigned int tram_start; + unsigned int buffer_size; + unsigned short gpr_size; + unsigned short gpr_ptr; + unsigned short gpr_count; + unsigned short gpr_tmpcount; + unsigned short gpr_trigger; + unsigned short gpr_running; + unsigned char pad; + unsigned char etram[32]; + unsigned int res2; +}; +#define SNDRV_EMU10K1_VERSION SNDRV_PROTOCOL_VERSION(1, 0, 1) +#define SNDRV_EMU10K1_IOCTL_INFO _IOR ('H', 0x10, struct snd_emu10k1_fx8010_info) +#define SNDRV_EMU10K1_IOCTL_CODE_POKE _IOW ('H', 0x11, struct snd_emu10k1_fx8010_code) +#define SNDRV_EMU10K1_IOCTL_CODE_PEEK _IOWR('H', 0x12, struct snd_emu10k1_fx8010_code) +#define SNDRV_EMU10K1_IOCTL_TRAM_SETUP _IOW ('H', 0x20, int) +#define SNDRV_EMU10K1_IOCTL_TRAM_POKE _IOW ('H', 0x21, struct snd_emu10k1_fx8010_tram) +#define SNDRV_EMU10K1_IOCTL_TRAM_PEEK _IOWR('H', 0x22, struct snd_emu10k1_fx8010_tram) +#define SNDRV_EMU10K1_IOCTL_PCM_POKE _IOW ('H', 0x30, struct snd_emu10k1_fx8010_pcm_rec) +#define SNDRV_EMU10K1_IOCTL_PCM_PEEK _IOWR('H', 0x31, struct snd_emu10k1_fx8010_pcm_rec) +#define SNDRV_EMU10K1_IOCTL_PVERSION _IOR ('H', 0x40, int) +#define SNDRV_EMU10K1_IOCTL_STOP _IO ('H', 0x80) +#define SNDRV_EMU10K1_IOCTL_CONTINUE _IO ('H', 0x81) +#define SNDRV_EMU10K1_IOCTL_ZERO_TRAM_COUNTER _IO ('H', 0x82) +#define SNDRV_EMU10K1_IOCTL_SINGLE_STEP _IOW ('H', 0x83, int) +#define SNDRV_EMU10K1_IOCTL_DBG_READ _IOR ('H', 0x84, int) +#endif diff --git a/linux-5.10/prebuilts/usr/include/sound/firewire.h b/linux-5.10/prebuilts/usr/include/sound/firewire.h new file mode 100644 index 0000000..708b1da --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/sound/firewire.h @@ -0,0 +1,89 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI_SOUND_FIREWIRE_H_INCLUDED +#define _UAPI_SOUND_FIREWIRE_H_INCLUDED +#include +#include +#define SNDRV_FIREWIRE_EVENT_LOCK_STATUS 0x000010cc +#define SNDRV_FIREWIRE_EVENT_DICE_NOTIFICATION 0xd1ce004e +#define SNDRV_FIREWIRE_EVENT_EFW_RESPONSE 0x4e617475 +#define SNDRV_FIREWIRE_EVENT_DIGI00X_MESSAGE 0x746e736c +#define SNDRV_FIREWIRE_EVENT_MOTU_NOTIFICATION 0x64776479 +#define SNDRV_FIREWIRE_EVENT_TASCAM_CONTROL 0x7473636d +struct snd_firewire_event_common { + unsigned int type; +}; +struct snd_firewire_event_lock_status { + unsigned int type; + unsigned int status; +}; +struct snd_firewire_event_dice_notification { + unsigned int type; + unsigned int notification; +}; +#define SND_EFW_TRANSACTION_USER_SEQNUM_MAX ((__u32)((__u16)~0) - 1) +struct snd_efw_transaction { + __be32 length; + __be32 version; + __be32 seqnum; + __be32 category; + __be32 command; + __be32 status; + __be32 params[0]; +}; +struct snd_firewire_event_efw_response { + unsigned int type; + __be32 response[0]; +}; +struct snd_firewire_event_digi00x_message { + unsigned int type; + __u32 message; +}; +struct snd_firewire_event_motu_notification { + unsigned int type; + __u32 message; +}; +struct snd_firewire_tascam_change { + unsigned int index; + __be32 before; + __be32 after; +}; +struct snd_firewire_event_tascam_control { + unsigned int type; + struct snd_firewire_tascam_change changes[0]; +}; +union snd_firewire_event { + struct snd_firewire_event_common common; + struct snd_firewire_event_lock_status lock_status; + struct snd_firewire_event_dice_notification dice_notification; + struct snd_firewire_event_efw_response efw_response; + struct snd_firewire_event_digi00x_message digi00x_message; + struct snd_firewire_event_tascam_control tascam_control; + struct snd_firewire_event_motu_notification motu_notification; +}; +#define SNDRV_FIREWIRE_IOCTL_GET_INFO _IOR('H', 0xf8, struct snd_firewire_get_info) +#define SNDRV_FIREWIRE_IOCTL_LOCK _IO('H', 0xf9) +#define SNDRV_FIREWIRE_IOCTL_UNLOCK _IO('H', 0xfa) +#define SNDRV_FIREWIRE_IOCTL_TASCAM_STATE _IOR('H', 0xfb, struct snd_firewire_tascam_state) +#define SNDRV_FIREWIRE_TYPE_DICE 1 +#define SNDRV_FIREWIRE_TYPE_FIREWORKS 2 +#define SNDRV_FIREWIRE_TYPE_BEBOB 3 +#define SNDRV_FIREWIRE_TYPE_OXFW 4 +#define SNDRV_FIREWIRE_TYPE_DIGI00X 5 +#define SNDRV_FIREWIRE_TYPE_TASCAM 6 +#define SNDRV_FIREWIRE_TYPE_MOTU 7 +#define SNDRV_FIREWIRE_TYPE_FIREFACE 8 +struct snd_firewire_get_info { + unsigned int type; + unsigned int card; + unsigned char guid[8]; + char device_name[16]; +}; +#define SNDRV_FIREWIRE_TASCAM_STATE_COUNT 64 +struct snd_firewire_tascam_state { + __be32 data[SNDRV_FIREWIRE_TASCAM_STATE_COUNT]; +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/sound/hdsp.h b/linux-5.10/prebuilts/usr/include/sound/hdsp.h new file mode 100644 index 0000000..c458ff9 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/sound/hdsp.h @@ -0,0 +1,74 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef __SOUND_HDSP_H +#define __SOUND_HDSP_H +#ifdef __linux__ +#include +#endif +#define HDSP_MATRIX_MIXER_SIZE 2048 +enum HDSP_IO_Type { + Digiface, + Multiface, + H9652, + H9632, + RPM, + Undefined, +}; +struct hdsp_peak_rms { + __u32 input_peaks[26]; + __u32 playback_peaks[26]; + __u32 output_peaks[28]; + __u64 input_rms[26]; + __u64 playback_rms[26]; + + __u64 output_rms[26]; +}; +#define SNDRV_HDSP_IOCTL_GET_PEAK_RMS _IOR('H', 0x40, struct hdsp_peak_rms) +struct hdsp_config_info { + unsigned char pref_sync_ref; + unsigned char wordclock_sync_check; + unsigned char spdif_sync_check; + unsigned char adatsync_sync_check; + unsigned char adat_sync_check[3]; + unsigned char spdif_in; + unsigned char spdif_out; + unsigned char spdif_professional; + unsigned char spdif_emphasis; + unsigned char spdif_nonaudio; + unsigned int spdif_sample_rate; + unsigned int system_sample_rate; + unsigned int autosync_sample_rate; + unsigned char system_clock_mode; + unsigned char clock_source; + unsigned char autosync_ref; + unsigned char line_out; + unsigned char passthru; + unsigned char da_gain; + unsigned char ad_gain; + unsigned char phone_gain; + unsigned char xlr_breakout_cable; + unsigned char analog_extension_board; +}; +#define SNDRV_HDSP_IOCTL_GET_CONFIG_INFO _IOR('H', 0x41, struct hdsp_config_info) +struct hdsp_firmware { + void *firmware_data; +}; +#define SNDRV_HDSP_IOCTL_UPLOAD_FIRMWARE _IOW('H', 0x42, struct hdsp_firmware) +struct hdsp_version { + enum HDSP_IO_Type io_type; + unsigned short firmware_rev; +}; +#define SNDRV_HDSP_IOCTL_GET_VERSION _IOR('H', 0x43, struct hdsp_version) +struct hdsp_mixer { + unsigned short matrix[HDSP_MATRIX_MIXER_SIZE]; +}; +#define SNDRV_HDSP_IOCTL_GET_MIXER _IOR('H', 0x44, struct hdsp_mixer) +struct hdsp_9632_aeb { + int aebi; + int aebo; +}; +#define SNDRV_HDSP_IOCTL_GET_9632_AEB _IOR('H', 0x45, struct hdsp_9632_aeb) +#endif diff --git a/linux-5.10/prebuilts/usr/include/sound/hdspm.h b/linux-5.10/prebuilts/usr/include/sound/hdspm.h new file mode 100644 index 0000000..2ec0f12 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/sound/hdspm.h @@ -0,0 +1,139 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef __SOUND_HDSPM_H +#define __SOUND_HDSPM_H +#ifdef __linux__ +#include +#endif +#define HDSPM_MAX_CHANNELS 64 +enum hdspm_io_type { + MADI, + MADIface, + AIO, + AES32, + RayDAT +}; +enum hdspm_speed { + ss, + ds, + qs +}; +struct hdspm_peak_rms { + __u32 input_peaks[64]; + __u32 playback_peaks[64]; + __u32 output_peaks[64]; + __u64 input_rms[64]; + __u64 playback_rms[64]; + __u64 output_rms[64]; + __u8 speed; + int status2; +}; +#define SNDRV_HDSPM_IOCTL_GET_PEAK_RMS \ + _IOR('H', 0x42, struct hdspm_peak_rms) +struct hdspm_config { + unsigned char pref_sync_ref; + unsigned char wordclock_sync_check; + unsigned char madi_sync_check; + unsigned int system_sample_rate; + unsigned int autosync_sample_rate; + unsigned char system_clock_mode; + unsigned char clock_source; + unsigned char autosync_ref; + unsigned char line_out; + unsigned int passthru; + unsigned int analog_out; +}; +#define SNDRV_HDSPM_IOCTL_GET_CONFIG \ + _IOR('H', 0x41, struct hdspm_config) +enum hdspm_ltc_format { + format_invalid, + fps_24, + fps_25, + fps_2997, + fps_30 +}; +enum hdspm_ltc_frame { + frame_invalid, + drop_frame, + full_frame +}; +enum hdspm_ltc_input_format { + ntsc, + pal, + no_video +}; +struct hdspm_ltc { + unsigned int ltc; + enum hdspm_ltc_format format; + enum hdspm_ltc_frame frame; + enum hdspm_ltc_input_format input_format; +}; +#define SNDRV_HDSPM_IOCTL_GET_LTC _IOR('H', 0x46, struct hdspm_ltc) +enum hdspm_sync { + hdspm_sync_no_lock = 0, + hdspm_sync_lock = 1, + hdspm_sync_sync = 2 +}; +enum hdspm_madi_input { + hdspm_input_optical = 0, + hdspm_input_coax = 1 +}; +enum hdspm_madi_channel_format { + hdspm_format_ch_64 = 0, + hdspm_format_ch_56 = 1 +}; +enum hdspm_madi_frame_format { + hdspm_frame_48 = 0, + hdspm_frame_96 = 1 +}; +enum hdspm_syncsource { + syncsource_wc = 0, + syncsource_madi = 1, + syncsource_tco = 2, + syncsource_sync = 3, + syncsource_none = 4 +}; +struct hdspm_status { + __u8 card_type; + enum hdspm_syncsource autosync_source; + __u64 card_clock; + __u32 master_period; + union { + struct { + __u8 sync_wc; + __u8 sync_madi; + __u8 sync_tco; + __u8 sync_in; + __u8 madi_input; + __u8 channel_format; + __u8 frame_format; + } madi; + } card_specific; +}; +#define SNDRV_HDSPM_IOCTL_GET_STATUS \ + _IOR('H', 0x47, struct hdspm_status) +#define HDSPM_ADDON_TCO 1 +struct hdspm_version { + __u8 card_type; + char cardname[20]; + unsigned int serial; + unsigned short firmware_rev; + int addons; +}; +#define SNDRV_HDSPM_IOCTL_GET_VERSION _IOR('H', 0x48, struct hdspm_version) +#define HDSPM_MIXER_CHANNELS HDSPM_MAX_CHANNELS +struct hdspm_channelfader { + unsigned int in[HDSPM_MIXER_CHANNELS]; + unsigned int pb[HDSPM_MIXER_CHANNELS]; +}; +struct hdspm_mixer { + struct hdspm_channelfader ch[HDSPM_MIXER_CHANNELS]; +}; +struct hdspm_mixer_ioctl { + struct hdspm_mixer *mixer; +}; +#define SNDRV_HDSPM_IOCTL_GET_MIXER _IOR('H', 0x44, struct hdspm_mixer_ioctl) +#endif diff --git a/linux-5.10/prebuilts/usr/include/sound/sb16_csp.h b/linux-5.10/prebuilts/usr/include/sound/sb16_csp.h new file mode 100644 index 0000000..a73a493 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/sound/sb16_csp.h @@ -0,0 +1,64 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI__SOUND_SB16_CSP_H +#define _UAPI__SOUND_SB16_CSP_H +#define SNDRV_SB_CSP_MODE_NONE 0x00 +#define SNDRV_SB_CSP_MODE_DSP_READ 0x01 +#define SNDRV_SB_CSP_MODE_DSP_WRITE 0x02 +#define SNDRV_SB_CSP_MODE_QSOUND 0x04 +#define SNDRV_SB_CSP_LOAD_FROMUSER 0x01 +#define SNDRV_SB_CSP_LOAD_INITBLOCK 0x02 +#define SNDRV_SB_CSP_SAMPLE_8BIT 0x01 +#define SNDRV_SB_CSP_SAMPLE_16BIT 0x02 +#define SNDRV_SB_CSP_MONO 0x01 +#define SNDRV_SB_CSP_STEREO 0x02 +#define SNDRV_SB_CSP_RATE_8000 0x01 +#define SNDRV_SB_CSP_RATE_11025 0x02 +#define SNDRV_SB_CSP_RATE_22050 0x04 +#define SNDRV_SB_CSP_RATE_44100 0x08 +#define SNDRV_SB_CSP_RATE_ALL 0x0f +#define SNDRV_SB_CSP_ST_IDLE 0x00 +#define SNDRV_SB_CSP_ST_LOADED 0x01 +#define SNDRV_SB_CSP_ST_RUNNING 0x02 +#define SNDRV_SB_CSP_ST_PAUSED 0x04 +#define SNDRV_SB_CSP_ST_AUTO 0x08 +#define SNDRV_SB_CSP_ST_QSOUND 0x10 +#define SNDRV_SB_CSP_QSOUND_MAX_RIGHT 0x20 +#define SNDRV_SB_CSP_MAX_MICROCODE_FILE_SIZE 0x3000 +struct snd_sb_csp_mc_header { + char codec_name[16]; + unsigned short func_req; +}; +struct snd_sb_csp_microcode { + struct snd_sb_csp_mc_header info; + unsigned char data[SNDRV_SB_CSP_MAX_MICROCODE_FILE_SIZE]; +}; +struct snd_sb_csp_start { + int sample_width; + int channels; +}; +struct snd_sb_csp_info { + char codec_name[16]; + unsigned short func_nr; + unsigned int acc_format; + unsigned short acc_channels; + unsigned short acc_width; + unsigned short acc_rates; + unsigned short csp_mode; + unsigned short run_channels; + unsigned short run_width; + unsigned short version; + unsigned short state; +}; +#define SNDRV_SB_CSP_IOCTL_INFO _IOR('H', 0x10, struct snd_sb_csp_info) +#define SNDRV_SB_CSP_IOCTL_LOAD_CODE \ + _IOC(_IOC_WRITE, 'H', 0x11, sizeof(struct snd_sb_csp_microcode)) +#define SNDRV_SB_CSP_IOCTL_UNLOAD_CODE _IO('H', 0x12) +#define SNDRV_SB_CSP_IOCTL_START _IOW('H', 0x13, struct snd_sb_csp_start) +#define SNDRV_SB_CSP_IOCTL_STOP _IO('H', 0x14) +#define SNDRV_SB_CSP_IOCTL_PAUSE _IO('H', 0x15) +#define SNDRV_SB_CSP_IOCTL_RESTART _IO('H', 0x16) +#endif diff --git a/linux-5.10/prebuilts/usr/include/sound/sfnt_info.h b/linux-5.10/prebuilts/usr/include/sound/sfnt_info.h new file mode 100644 index 0000000..a977836 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/sound/sfnt_info.h @@ -0,0 +1,139 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef __SOUND_SFNT_INFO_H +#define __SOUND_SFNT_INFO_H +#include +#ifdef SNDRV_BIG_ENDIAN +#define SNDRV_OSS_PATCHKEY(id) (0xfd00|id) +#else +#define SNDRV_OSS_PATCHKEY(id) ((id<<8)|0xfd) +#endif +struct soundfont_patch_info { + unsigned short key; +#define SNDRV_OSS_SOUNDFONT_PATCH SNDRV_OSS_PATCHKEY(0x07) + short device_no; + unsigned short sf_id; + short optarg; + int len; + short type; +#define SNDRV_SFNT_LOAD_INFO 0 +#define SNDRV_SFNT_LOAD_DATA 1 +#define SNDRV_SFNT_OPEN_PATCH 2 +#define SNDRV_SFNT_CLOSE_PATCH 3 + +#define SNDRV_SFNT_REPLACE_DATA 5 +#define SNDRV_SFNT_MAP_PRESET 6 + +#define SNDRV_SFNT_PROBE_DATA 8 +#define SNDRV_SFNT_REMOVE_INFO 9 + short reserved; + +}; +#define SNDRV_SFNT_PATCH_NAME_LEN 32 +struct soundfont_open_parm { + unsigned short type; +#define SNDRV_SFNT_PAT_TYPE_MISC 0 +#define SNDRV_SFNT_PAT_TYPE_GUS 6 +#define SNDRV_SFNT_PAT_TYPE_MAP 7 +#define SNDRV_SFNT_PAT_LOCKED 0x100 +#define SNDRV_SFNT_PAT_SHARED 0x200 + short reserved; + char name[SNDRV_SFNT_PATCH_NAME_LEN]; +}; +struct soundfont_voice_parm { + unsigned short moddelay; + unsigned short modatkhld; + unsigned short moddcysus; + unsigned short modrelease; + short modkeyhold, modkeydecay; + unsigned short voldelay; + unsigned short volatkhld; + unsigned short voldcysus; + unsigned short volrelease; + short volkeyhold, volkeydecay; + unsigned short lfo1delay; + unsigned short lfo2delay; + unsigned short pefe; + unsigned short fmmod; + unsigned short tremfrq; + unsigned short fm2frq2; + unsigned char cutoff; + unsigned char filterQ; + unsigned char chorus; + unsigned char reverb; + unsigned short reserved[4]; +}; +struct soundfont_voice_info { + unsigned short sf_id; + unsigned short sample; + int start, end; + int loopstart, loopend; + short rate_offset; + unsigned short mode; +#define SNDRV_SFNT_MODE_ROMSOUND 0x8000 +#define SNDRV_SFNT_MODE_STEREO 1 +#define SNDRV_SFNT_MODE_LOOPING 2 +#define SNDRV_SFNT_MODE_NORELEASE 4 +#define SNDRV_SFNT_MODE_INIT_PARM 8 + short root; + short tune; + unsigned char low, high; + unsigned char vellow, velhigh; + signed char fixkey, fixvel; + signed char pan, fixpan; + short exclusiveClass; + unsigned char amplitude; + unsigned char attenuation; + short scaleTuning; + struct soundfont_voice_parm parm; + unsigned short sample_mode; +}; +struct soundfont_voice_rec_hdr { + unsigned char bank; + unsigned char instr; + char nvoices; + char write_mode; +#define SNDRV_SFNT_WR_APPEND 0 +#define SNDRV_SFNT_WR_EXCLUSIVE 1 +#define SNDRV_SFNT_WR_REPLACE 2 +}; +struct soundfont_sample_info { + unsigned short sf_id; + unsigned short sample; + int start, end; + int loopstart, loopend; + int size; + short dummy; + unsigned short mode_flags; +#define SNDRV_SFNT_SAMPLE_8BITS 1 +#define SNDRV_SFNT_SAMPLE_UNSIGNED 2 +#define SNDRV_SFNT_SAMPLE_NO_BLANK 4 +#define SNDRV_SFNT_SAMPLE_SINGLESHOT 8 +#define SNDRV_SFNT_SAMPLE_BIDIR_LOOP 16 +#define SNDRV_SFNT_SAMPLE_STEREO_LEFT 32 +#define SNDRV_SFNT_SAMPLE_STEREO_RIGHT 64 +#define SNDRV_SFNT_SAMPLE_REVERSE_LOOP 128 + unsigned int truesize; +}; +struct soundfont_voice_map { + int map_bank, map_instr, map_key; + int src_bank, src_instr, src_key; +}; +#define SNDRV_EMUX_HWDEP_NAME "Emux WaveTable" +#define SNDRV_EMUX_VERSION ((1 << 16) | (0 << 8) | 0) +struct snd_emux_misc_mode { + int port; + int mode; + int value; + int value2; +}; +#define SNDRV_EMUX_IOCTL_VERSION _IOR('H', 0x80, unsigned int) +#define SNDRV_EMUX_IOCTL_LOAD_PATCH _IOWR('H', 0x81, struct soundfont_patch_info) +#define SNDRV_EMUX_IOCTL_RESET_SAMPLES _IO('H', 0x82) +#define SNDRV_EMUX_IOCTL_REMOVE_LAST_SAMPLES _IO('H', 0x83) +#define SNDRV_EMUX_IOCTL_MEM_AVAIL _IOW('H', 0x84, int) +#define SNDRV_EMUX_IOCTL_MISC_MODE _IOWR('H', 0x84, struct snd_emux_misc_mode) +#endif diff --git a/linux-5.10/prebuilts/usr/include/sound/skl-tplg-interface.h b/linux-5.10/prebuilts/usr/include/sound/skl-tplg-interface.h new file mode 100644 index 0000000..febeb28 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/sound/skl-tplg-interface.h @@ -0,0 +1,174 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef __HDA_TPLG_INTERFACE_H__ +#define __HDA_TPLG_INTERFACE_H__ +#include +#define SKL_CONTROL_TYPE_BYTE_TLV 0x100 +#define SKL_CONTROL_TYPE_MIC_SELECT 0x102 +#define SKL_CONTROL_TYPE_MULTI_IO_SELECT 0x103 +#define SKL_CONTROL_TYPE_MULTI_IO_SELECT_DMIC 0x104 +#define HDA_SST_CFG_MAX 900 +#define MAX_IN_QUEUE 8 +#define MAX_OUT_QUEUE 8 +#define SKL_UUID_STR_SZ 40 +enum skl_event_types { + SKL_EVENT_NONE = 0, + SKL_MIXER_EVENT, + SKL_MUX_EVENT, + SKL_VMIXER_EVENT, + SKL_PGA_EVENT +}; +enum skl_ch_cfg { + SKL_CH_CFG_MONO = 0, + SKL_CH_CFG_STEREO = 1, + SKL_CH_CFG_2_1 = 2, + SKL_CH_CFG_3_0 = 3, + SKL_CH_CFG_3_1 = 4, + SKL_CH_CFG_QUATRO = 5, + SKL_CH_CFG_4_0 = 6, + SKL_CH_CFG_5_0 = 7, + SKL_CH_CFG_5_1 = 8, + SKL_CH_CFG_DUAL_MONO = 9, + SKL_CH_CFG_I2S_DUAL_STEREO_0 = 10, + SKL_CH_CFG_I2S_DUAL_STEREO_1 = 11, + SKL_CH_CFG_4_CHANNEL = 12, + SKL_CH_CFG_INVALID +}; +enum skl_module_type { + SKL_MODULE_TYPE_MIXER = 0, + SKL_MODULE_TYPE_COPIER, + SKL_MODULE_TYPE_UPDWMIX, + SKL_MODULE_TYPE_SRCINT, + SKL_MODULE_TYPE_ALGO, + SKL_MODULE_TYPE_BASE_OUTFMT, + SKL_MODULE_TYPE_KPB, + SKL_MODULE_TYPE_MIC_SELECT, +}; +enum skl_core_affinity { + SKL_AFFINITY_CORE_0 = 0, + SKL_AFFINITY_CORE_1, + SKL_AFFINITY_CORE_MAX +}; +enum skl_pipe_conn_type { + SKL_PIPE_CONN_TYPE_NONE = 0, + SKL_PIPE_CONN_TYPE_FE, + SKL_PIPE_CONN_TYPE_BE +}; +enum skl_hw_conn_type { + SKL_CONN_NONE = 0, + SKL_CONN_SOURCE = 1, + SKL_CONN_SINK = 2 +}; +enum skl_dev_type { + SKL_DEVICE_BT = 0x0, + SKL_DEVICE_DMIC = 0x1, + SKL_DEVICE_I2S = 0x2, + SKL_DEVICE_SLIMBUS = 0x3, + SKL_DEVICE_HDALINK = 0x4, + SKL_DEVICE_HDAHOST = 0x5, + SKL_DEVICE_NONE +}; +enum skl_interleaving { + SKL_INTERLEAVING_PER_CHANNEL = 0, + SKL_INTERLEAVING_PER_SAMPLE = 1, +}; +enum skl_sample_type { + SKL_SAMPLE_TYPE_INT_MSB = 0, + SKL_SAMPLE_TYPE_INT_LSB = 1, + SKL_SAMPLE_TYPE_INT_SIGNED = 2, + SKL_SAMPLE_TYPE_INT_UNSIGNED = 3, + SKL_SAMPLE_TYPE_FLOAT = 4 +}; +enum module_pin_type { + + SKL_PIN_TYPE_HOMOGENEOUS, + + SKL_PIN_TYPE_HETEROGENEOUS, +}; +enum skl_module_param_type { + SKL_PARAM_DEFAULT = 0, + SKL_PARAM_INIT, + SKL_PARAM_SET, + SKL_PARAM_BIND +}; +struct skl_dfw_algo_data { + __u32 set_params:2; + __u32 rsvd:30; + __u32 param_id; + __u32 max; + char params[0]; +} __packed; +enum skl_tkn_dir { + SKL_DIR_IN, + SKL_DIR_OUT +}; +enum skl_tuple_type { + SKL_TYPE_TUPLE, + SKL_TYPE_DATA +}; +struct skl_dfw_v4_module_pin { + __u16 module_id; + __u16 instance_id; +} __packed; +struct skl_dfw_v4_module_fmt { + __u32 channels; + __u32 freq; + __u32 bit_depth; + __u32 valid_bit_depth; + __u32 ch_cfg; + __u32 interleaving_style; + __u32 sample_type; + __u32 ch_map; +} __packed; +struct skl_dfw_v4_module_caps { + __u32 set_params:2; + __u32 rsvd:30; + __u32 param_id; + __u32 caps_size; + __u32 caps[HDA_SST_CFG_MAX]; +} __packed; +struct skl_dfw_v4_pipe { + __u8 pipe_id; + __u8 pipe_priority; + __u16 conn_type:4; + __u16 rsvd:4; + __u16 memory_pages:8; +} __packed; +struct skl_dfw_v4_module { + char uuid[SKL_UUID_STR_SZ]; + __u16 module_id; + __u16 instance_id; + __u32 max_mcps; + __u32 mem_pages; + __u32 obs; + __u32 ibs; + __u32 vbus_id; + __u32 max_in_queue:8; + __u32 max_out_queue:8; + __u32 time_slot:8; + __u32 core_id:4; + __u32 rsvd1:4; + __u32 module_type:8; + __u32 conn_type:4; + __u32 dev_type:4; + __u32 hw_conn_type:4; + __u32 rsvd2:12; + __u32 params_fixup:8; + __u32 converter:8; + __u32 input_pin_type:1; + __u32 output_pin_type:1; + __u32 is_dynamic_in_pin:1; + __u32 is_dynamic_out_pin:1; + __u32 is_loadable:1; + __u32 rsvd3:11; + struct skl_dfw_v4_pipe pipe; + struct skl_dfw_v4_module_fmt in_fmt[MAX_IN_QUEUE]; + struct skl_dfw_v4_module_fmt out_fmt[MAX_OUT_QUEUE]; + struct skl_dfw_v4_module_pin in_pin[MAX_IN_QUEUE]; + struct skl_dfw_v4_module_pin out_pin[MAX_OUT_QUEUE]; + struct skl_dfw_v4_module_caps caps; +} __packed; +#endif diff --git a/linux-5.10/prebuilts/usr/include/sound/snd_sst_tokens.h b/linux-5.10/prebuilts/usr/include/sound/snd_sst_tokens.h new file mode 100644 index 0000000..4f3e28e --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/sound/snd_sst_tokens.h @@ -0,0 +1,89 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef __SND_SST_TOKENS_H__ +#define __SND_SST_TOKENS_H__ +enum SKL_TKNS { + SKL_TKN_UUID = 1, + SKL_TKN_U8_NUM_BLOCKS, + SKL_TKN_U8_BLOCK_TYPE, + SKL_TKN_U8_IN_PIN_TYPE, + SKL_TKN_U8_OUT_PIN_TYPE, + SKL_TKN_U8_DYN_IN_PIN, + SKL_TKN_U8_DYN_OUT_PIN, + SKL_TKN_U8_IN_QUEUE_COUNT, + SKL_TKN_U8_OUT_QUEUE_COUNT, + SKL_TKN_U8_TIME_SLOT, + SKL_TKN_U8_CORE_ID, + SKL_TKN_U8_MOD_TYPE, + SKL_TKN_U8_CONN_TYPE, + SKL_TKN_U8_DEV_TYPE, + SKL_TKN_U8_HW_CONN_TYPE, + SKL_TKN_U16_MOD_INST_ID, + SKL_TKN_U16_BLOCK_SIZE, + SKL_TKN_U32_MAX_MCPS, + SKL_TKN_U32_MEM_PAGES, + SKL_TKN_U32_OBS, + SKL_TKN_U32_IBS, + SKL_TKN_U32_VBUS_ID, + SKL_TKN_U32_PARAMS_FIXUP, + SKL_TKN_U32_CONVERTER, + SKL_TKN_U32_PIPE_ID, + SKL_TKN_U32_PIPE_CONN_TYPE, + SKL_TKN_U32_PIPE_PRIORITY, + SKL_TKN_U32_PIPE_MEM_PGS, + SKL_TKN_U32_DIR_PIN_COUNT, + SKL_TKN_U32_FMT_CH, + SKL_TKN_U32_FMT_FREQ, + SKL_TKN_U32_FMT_BIT_DEPTH, + SKL_TKN_U32_FMT_SAMPLE_SIZE, + SKL_TKN_U32_FMT_CH_CONFIG, + SKL_TKN_U32_FMT_INTERLEAVE, + SKL_TKN_U32_FMT_SAMPLE_TYPE, + SKL_TKN_U32_FMT_CH_MAP, + SKL_TKN_U32_PIN_MOD_ID, + SKL_TKN_U32_PIN_INST_ID, + SKL_TKN_U32_MOD_SET_PARAMS, + SKL_TKN_U32_MOD_PARAM_ID, + SKL_TKN_U32_CAPS_SET_PARAMS, + SKL_TKN_U32_CAPS_PARAMS_ID, + SKL_TKN_U32_CAPS_SIZE, + SKL_TKN_U32_PROC_DOMAIN, + SKL_TKN_U32_LIB_COUNT, + SKL_TKN_STR_LIB_NAME, + SKL_TKN_U32_PMODE, + SKL_TKL_U32_D0I3_CAPS, + SKL_TKN_U32_D0I3_CAPS = SKL_TKL_U32_D0I3_CAPS, + SKL_TKN_U32_DMA_BUF_SIZE, + SKL_TKN_U32_PIPE_DIRECTION, + SKL_TKN_U32_PIPE_CONFIG_ID, + SKL_TKN_U32_NUM_CONFIGS, + SKL_TKN_U32_PATH_MEM_PGS, + SKL_TKN_U32_CFG_FREQ, + SKL_TKN_U8_CFG_CHAN, + SKL_TKN_U8_CFG_BPS, + SKL_TKN_CFG_MOD_RES_ID, + SKL_TKN_CFG_MOD_FMT_ID, + SKL_TKN_U8_NUM_MOD, + SKL_TKN_MM_U8_MOD_IDX, + SKL_TKN_MM_U8_NUM_RES, + SKL_TKN_MM_U8_NUM_INTF, + SKL_TKN_MM_U32_RES_ID, + SKL_TKN_MM_U32_CPS, + SKL_TKN_MM_U32_DMA_SIZE, + SKL_TKN_MM_U32_CPC, + SKL_TKN_MM_U32_RES_PIN_ID, + SKL_TKN_MM_U32_INTF_PIN_ID, + SKL_TKN_MM_U32_PIN_BUF, + SKL_TKN_MM_U32_FMT_ID, + SKL_TKN_MM_U32_NUM_IN_FMT, + SKL_TKN_MM_U32_NUM_OUT_FMT, + SKL_TKN_U32_ASTATE_IDX, + SKL_TKN_U32_ASTATE_COUNT, + SKL_TKN_U32_ASTATE_KCPS, + SKL_TKN_U32_ASTATE_CLK_SRC, + SKL_TKN_MAX = SKL_TKN_U32_ASTATE_CLK_SRC, +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/sound/sof/abi.h b/linux-5.10/prebuilts/usr/include/sound/sof/abi.h new file mode 100644 index 0000000..8089395 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/sound/sof/abi.h @@ -0,0 +1,33 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef __INCLUDE_UAPI_SOUND_SOF_ABI_H__ +#define __INCLUDE_UAPI_SOUND_SOF_ABI_H__ +#define SOF_ABI_MAJOR 3 +#define SOF_ABI_MINOR 17 +#define SOF_ABI_PATCH 0 +#define SOF_ABI_MAJOR_SHIFT 24 +#define SOF_ABI_MAJOR_MASK 0xff +#define SOF_ABI_MINOR_SHIFT 12 +#define SOF_ABI_MINOR_MASK 0xfff +#define SOF_ABI_PATCH_SHIFT 0 +#define SOF_ABI_PATCH_MASK 0xfff +#define SOF_ABI_VER(major, minor, patch) \ + (((major) << SOF_ABI_MAJOR_SHIFT) | \ + ((minor) << SOF_ABI_MINOR_SHIFT) | \ + ((patch) << SOF_ABI_PATCH_SHIFT)) +#define SOF_ABI_VERSION_MAJOR(version) \ + (((version) >> SOF_ABI_MAJOR_SHIFT) & SOF_ABI_MAJOR_MASK) +#define SOF_ABI_VERSION_MINOR(version) \ + (((version) >> SOF_ABI_MINOR_SHIFT) & SOF_ABI_MINOR_MASK) +#define SOF_ABI_VERSION_PATCH(version) \ + (((version) >> SOF_ABI_PATCH_SHIFT) & SOF_ABI_PATCH_MASK) +#define SOF_ABI_VERSION_INCOMPATIBLE(sof_ver, client_ver) \ + (SOF_ABI_VERSION_MAJOR((sof_ver)) != \ + SOF_ABI_VERSION_MAJOR((client_ver)) \ + ) +#define SOF_ABI_VERSION SOF_ABI_VER(SOF_ABI_MAJOR, SOF_ABI_MINOR, SOF_ABI_PATCH) +#define SOF_ABI_MAGIC 0x00464F53 +#endif diff --git a/linux-5.10/prebuilts/usr/include/sound/sof/fw.h b/linux-5.10/prebuilts/usr/include/sound/sof/fw.h new file mode 100644 index 0000000..881a232 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/sound/sof/fw.h @@ -0,0 +1,53 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef __INCLUDE_UAPI_SOF_FW_H__ +#define __INCLUDE_UAPI_SOF_FW_H__ +#include +#define SND_SOF_FW_SIG_SIZE 4 +#define SND_SOF_FW_ABI 1 +#define SND_SOF_FW_SIG "Reef" +enum snd_sof_fw_blk_type { + SOF_FW_BLK_TYPE_INVALID = -1, + SOF_FW_BLK_TYPE_START = 0, + SOF_FW_BLK_TYPE_RSRVD0 = SOF_FW_BLK_TYPE_START, + SOF_FW_BLK_TYPE_IRAM = 1, + SOF_FW_BLK_TYPE_DRAM = 2, + SOF_FW_BLK_TYPE_SRAM = 3, + SOF_FW_BLK_TYPE_ROM = 4, + SOF_FW_BLK_TYPE_IMR = 5, + SOF_FW_BLK_TYPE_RSRVD6 = 6, + SOF_FW_BLK_TYPE_RSRVD7 = 7, + SOF_FW_BLK_TYPE_RSRVD8 = 8, + SOF_FW_BLK_TYPE_RSRVD9 = 9, + SOF_FW_BLK_TYPE_RSRVD10 = 10, + SOF_FW_BLK_TYPE_RSRVD11 = 11, + SOF_FW_BLK_TYPE_RSRVD12 = 12, + SOF_FW_BLK_TYPE_RSRVD13 = 13, + SOF_FW_BLK_TYPE_RSRVD14 = 14, + + SOF_FW_BLK_TYPE_NUM +}; +struct snd_sof_blk_hdr { + enum snd_sof_fw_blk_type type; + __u32 size; + __u32 offset; +} __packed; +enum snd_sof_fw_mod_type { + SOF_FW_BASE = 0, + SOF_FW_MODULE = 1, +}; +struct snd_sof_mod_hdr { + enum snd_sof_fw_mod_type type; + __u32 size; + __u32 num_blocks; +} __packed; +struct snd_sof_fw_header { + unsigned char sig[SND_SOF_FW_SIG_SIZE]; + __u32 file_size; + __u32 num_modules; + __u32 abi; +} __packed; +#endif diff --git a/linux-5.10/prebuilts/usr/include/sound/sof/header.h b/linux-5.10/prebuilts/usr/include/sound/sof/header.h new file mode 100644 index 0000000..efad300 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/sound/sof/header.h @@ -0,0 +1,17 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef __INCLUDE_UAPI_SOUND_SOF_USER_HEADER_H__ +#define __INCLUDE_UAPI_SOUND_SOF_USER_HEADER_H__ +#include +struct sof_abi_hdr { + __u32 magic; + __u32 type; + __u32 size; + __u32 abi; + __u32 reserved[4]; + __u32 data[0]; +} __packed; +#endif diff --git a/linux-5.10/prebuilts/usr/include/sound/sof/tokens.h b/linux-5.10/prebuilts/usr/include/sound/sof/tokens.h new file mode 100644 index 0000000..5e6c546 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/sound/sof/tokens.h @@ -0,0 +1,76 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef __INCLUDE_UAPI_SOF_TOPOLOGY_H__ +#define __INCLUDE_UAPI_SOF_TOPOLOGY_H__ +#define SOF_TPLG_KCTL_VOL_ID 256 +#define SOF_TPLG_KCTL_ENUM_ID 257 +#define SOF_TPLG_KCTL_BYTES_ID 258 +#define SOF_TPLG_KCTL_SWITCH_ID 259 +#define SOF_TPLG_KCTL_BYTES_VOLATILE_RO 260 +#define SOF_TPLG_KCTL_BYTES_VOLATILE_RW 261 +#define SOF_TPLG_KCTL_BYTES_WO_ID 262 +#define SOF_TKN_BUF_SIZE 100 +#define SOF_TKN_BUF_CAPS 101 +#define SOF_TKN_DAI_TYPE 154 +#define SOF_TKN_DAI_INDEX 155 +#define SOF_TKN_DAI_DIRECTION 156 +#define SOF_TKN_SCHED_PERIOD 200 +#define SOF_TKN_SCHED_PRIORITY 201 +#define SOF_TKN_SCHED_MIPS 202 +#define SOF_TKN_SCHED_CORE 203 +#define SOF_TKN_SCHED_FRAMES 204 +#define SOF_TKN_SCHED_TIME_DOMAIN 205 +#define SOF_TKN_VOLUME_RAMP_STEP_TYPE 250 +#define SOF_TKN_VOLUME_RAMP_STEP_MS 251 +#define SOF_TKN_SRC_RATE_IN 300 +#define SOF_TKN_SRC_RATE_OUT 301 +#define SOF_TKN_ASRC_RATE_IN 320 +#define SOF_TKN_ASRC_RATE_OUT 321 +#define SOF_TKN_ASRC_ASYNCHRONOUS_MODE 322 +#define SOF_TKN_ASRC_OPERATION_MODE 323 +#define SOF_TKN_PCM_DMAC_CONFIG 353 +#define SOF_TKN_COMP_PERIOD_SINK_COUNT 400 +#define SOF_TKN_COMP_PERIOD_SOURCE_COUNT 401 +#define SOF_TKN_COMP_FORMAT 402 +#define SOF_TKN_COMP_CORE_ID 404 +#define SOF_TKN_COMP_UUID 405 +#define SOF_TKN_INTEL_SSP_CLKS_CONTROL 500 +#define SOF_TKN_INTEL_SSP_MCLK_ID 501 +#define SOF_TKN_INTEL_SSP_SAMPLE_BITS 502 +#define SOF_TKN_INTEL_SSP_FRAME_PULSE_WIDTH 503 +#define SOF_TKN_INTEL_SSP_QUIRKS 504 +#define SOF_TKN_INTEL_SSP_TDM_PADDING_PER_SLOT 505 +#define SOF_TKN_INTEL_SSP_BCLK_DELAY 506 +#define SOF_TKN_INTEL_DMIC_DRIVER_VERSION 600 +#define SOF_TKN_INTEL_DMIC_CLK_MIN 601 +#define SOF_TKN_INTEL_DMIC_CLK_MAX 602 +#define SOF_TKN_INTEL_DMIC_DUTY_MIN 603 +#define SOF_TKN_INTEL_DMIC_DUTY_MAX 604 +#define SOF_TKN_INTEL_DMIC_NUM_PDM_ACTIVE 605 +#define SOF_TKN_INTEL_DMIC_SAMPLE_RATE 608 +#define SOF_TKN_INTEL_DMIC_FIFO_WORD_LENGTH 609 +#define SOF_TKN_INTEL_DMIC_UNMUTE_RAMP_TIME_MS 610 +#define SOF_TKN_INTEL_DMIC_PDM_CTRL_ID 700 +#define SOF_TKN_INTEL_DMIC_PDM_MIC_A_Enable 701 +#define SOF_TKN_INTEL_DMIC_PDM_MIC_B_Enable 702 +#define SOF_TKN_INTEL_DMIC_PDM_POLARITY_A 703 +#define SOF_TKN_INTEL_DMIC_PDM_POLARITY_B 704 +#define SOF_TKN_INTEL_DMIC_PDM_CLK_EDGE 705 +#define SOF_TKN_INTEL_DMIC_PDM_SKEW 706 +#define SOF_TKN_TONE_SAMPLE_RATE 800 +#define SOF_TKN_PROCESS_TYPE 900 +#define SOF_TKN_EFFECT_TYPE SOF_TKN_PROCESS_TYPE +#define SOF_TKN_IMX_SAI_MCLK_ID 1000 +#define SOF_TKN_IMX_ESAI_MCLK_ID 1100 +#define SOF_TKN_STREAM_PLAYBACK_COMPATIBLE_D0I3 1200 +#define SOF_TKN_STREAM_CAPTURE_COMPATIBLE_D0I3 1201 +#define SOF_TKN_MUTE_LED_USE 1300 +#define SOF_TKN_MUTE_LED_DIRECTION 1301 +#define SOF_TKN_INTEL_ALH_RATE 1400 +#define SOF_TKN_INTEL_ALH_CH 1401 +#define SOF_TKN_INTEL_HDA_RATE 1500 +#define SOF_TKN_INTEL_HDA_CH 1501 +#endif diff --git a/linux-5.10/prebuilts/usr/include/sound/tlv.h b/linux-5.10/prebuilts/usr/include/sound/tlv.h new file mode 100644 index 0000000..b3c2623 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/sound/tlv.h @@ -0,0 +1,71 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef __UAPI_SOUND_TLV_H +#define __UAPI_SOUND_TLV_H +#define SNDRV_CTL_TLVT_CONTAINER 0 +#define SNDRV_CTL_TLVT_DB_SCALE 1 +#define SNDRV_CTL_TLVT_DB_LINEAR 2 +#define SNDRV_CTL_TLVT_DB_RANGE 3 +#define SNDRV_CTL_TLVT_DB_MINMAX 4 +#define SNDRV_CTL_TLVT_DB_MINMAX_MUTE 5 +#define SNDRV_CTL_TLVT_CHMAP_FIXED 0x101 +#define SNDRV_CTL_TLVT_CHMAP_VAR 0x102 +#define SNDRV_CTL_TLVT_CHMAP_PAIRED 0x103 +#define SNDRV_CTL_TLVD_ITEM(type, ...) \ + (type), SNDRV_CTL_TLVD_LENGTH(__VA_ARGS__), __VA_ARGS__ +#define SNDRV_CTL_TLVD_LENGTH(...) \ + ((unsigned int)sizeof((const unsigned int[]) { __VA_ARGS__ })) +#define SNDRV_CTL_TLVO_TYPE 0 +#define SNDRV_CTL_TLVO_LEN 1 +#define SNDRV_CTL_TLVD_CONTAINER_ITEM(...) \ + SNDRV_CTL_TLVD_ITEM(SNDRV_CTL_TLVT_CONTAINER, __VA_ARGS__) +#define SNDRV_CTL_TLVD_DECLARE_CONTAINER(name, ...) \ + unsigned int name[] = { \ + SNDRV_CTL_TLVD_CONTAINER_ITEM(__VA_ARGS__) \ + } +#define SNDRV_CTL_TLVD_DB_SCALE_MASK 0xffff +#define SNDRV_CTL_TLVD_DB_SCALE_MUTE 0x10000 +#define SNDRV_CTL_TLVD_DB_SCALE_ITEM(min, step, mute) \ + SNDRV_CTL_TLVD_ITEM(SNDRV_CTL_TLVT_DB_SCALE, \ + (min), \ + ((step) & SNDRV_CTL_TLVD_DB_SCALE_MASK) | \ + ((mute) ? SNDRV_CTL_TLVD_DB_SCALE_MUTE : 0)) +#define SNDRV_CTL_TLVD_DECLARE_DB_SCALE(name, min, step, mute) \ + unsigned int name[] = { \ + SNDRV_CTL_TLVD_DB_SCALE_ITEM(min, step, mute) \ + } +#define SNDRV_CTL_TLVO_DB_SCALE_MIN 2 +#define SNDRV_CTL_TLVO_DB_SCALE_MUTE_AND_STEP 3 +#define SNDRV_CTL_TLVD_DB_MINMAX_ITEM(min_dB, max_dB) \ + SNDRV_CTL_TLVD_ITEM(SNDRV_CTL_TLVT_DB_MINMAX, (min_dB), (max_dB)) +#define SNDRV_CTL_TLVD_DB_MINMAX_MUTE_ITEM(min_dB, max_dB) \ + SNDRV_CTL_TLVD_ITEM(SNDRV_CTL_TLVT_DB_MINMAX_MUTE, (min_dB), (max_dB)) +#define SNDRV_CTL_TLVD_DECLARE_DB_MINMAX(name, min_dB, max_dB) \ + unsigned int name[] = { \ + SNDRV_CTL_TLVD_DB_MINMAX_ITEM(min_dB, max_dB) \ + } +#define SNDRV_CTL_TLVD_DECLARE_DB_MINMAX_MUTE(name, min_dB, max_dB) \ + unsigned int name[] = { \ + SNDRV_CTL_TLVD_DB_MINMAX_MUTE_ITEM(min_dB, max_dB) \ + } +#define SNDRV_CTL_TLVO_DB_MINMAX_MIN 2 +#define SNDRV_CTL_TLVO_DB_MINMAX_MAX 3 +#define SNDRV_CTL_TLVD_DB_LINEAR_ITEM(min_dB, max_dB) \ + SNDRV_CTL_TLVD_ITEM(SNDRV_CTL_TLVT_DB_LINEAR, (min_dB), (max_dB)) +#define SNDRV_CTL_TLVD_DECLARE_DB_LINEAR(name, min_dB, max_dB) \ + unsigned int name[] = { \ + SNDRV_CTL_TLVD_DB_LINEAR_ITEM(min_dB, max_dB) \ + } +#define SNDRV_CTL_TLVO_DB_LINEAR_MIN 2 +#define SNDRV_CTL_TLVO_DB_LINEAR_MAX 3 +#define SNDRV_CTL_TLVD_DB_RANGE_ITEM(...) \ + SNDRV_CTL_TLVD_ITEM(SNDRV_CTL_TLVT_DB_RANGE, __VA_ARGS__) +#define SNDRV_CTL_TLVD_DECLARE_DB_RANGE(name, ...) \ + unsigned int name[] = { \ + SNDRV_CTL_TLVD_DB_RANGE_ITEM(__VA_ARGS__) \ + } +#define SNDRV_CTL_TLVD_DB_GAIN_MUTE -9999999 +#endif diff --git a/linux-5.10/prebuilts/usr/include/sound/usb_stream.h b/linux-5.10/prebuilts/usr/include/sound/usb_stream.h new file mode 100644 index 0000000..f33f07b --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/sound/usb_stream.h @@ -0,0 +1,51 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI__SOUND_USB_STREAM_H +#define _UAPI__SOUND_USB_STREAM_H +#define USB_STREAM_INTERFACE_VERSION 2 +#define SNDRV_USB_STREAM_IOCTL_SET_PARAMS \ + _IOW('H', 0x90, struct usb_stream_config) +struct usb_stream_packet { + unsigned offset; + unsigned length; +}; +struct usb_stream_config { + unsigned version; + unsigned sample_rate; + unsigned period_frames; + unsigned frame_size; +}; +struct usb_stream { + struct usb_stream_config cfg; + unsigned read_size; + unsigned write_size; + int period_size; + unsigned state; + int idle_insize; + int idle_outsize; + int sync_packet; + unsigned insize_done; + unsigned periods_done; + unsigned periods_polled; + struct usb_stream_packet outpacket[2]; + unsigned inpackets; + unsigned inpacket_head; + unsigned inpacket_split; + unsigned inpacket_split_at; + unsigned next_inpacket_split; + unsigned next_inpacket_split_at; + struct usb_stream_packet inpacket[0]; +}; +enum usb_stream_state { + usb_stream_invalid, + usb_stream_stopped, + usb_stream_sync0, + usb_stream_sync1, + usb_stream_ready, + usb_stream_running, + usb_stream_xrun, +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/video/edid.h b/linux-5.10/prebuilts/usr/include/video/edid.h new file mode 100644 index 0000000..53328d6 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/video/edid.h @@ -0,0 +1,11 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI__linux_video_edid_h__ +#define _UAPI__linux_video_edid_h__ +struct edid_info { + unsigned char dummy[128]; +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/video/sisfb.h b/linux-5.10/prebuilts/usr/include/video/sisfb.h new file mode 100644 index 0000000..8e7f8c4 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/video/sisfb.h @@ -0,0 +1,118 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI_LINUX_SISFB_H_ +#define _UAPI_LINUX_SISFB_H_ +#include +#include +#define CRT2_DEFAULT 0x00000001 +#define CRT2_LCD 0x00000002 +#define CRT2_TV 0x00000004 +#define CRT2_VGA 0x00000008 +#define TV_NTSC 0x00000010 +#define TV_PAL 0x00000020 +#define TV_HIVISION 0x00000040 +#define TV_YPBPR 0x00000080 +#define TV_AVIDEO 0x00000100 +#define TV_SVIDEO 0x00000200 +#define TV_SCART 0x00000400 +#define TV_PALM 0x00001000 +#define TV_PALN 0x00002000 +#define TV_NTSCJ 0x00001000 +#define TV_CHSCART 0x00008000 +#define TV_CHYPBPR525I 0x00010000 +#define CRT1_VGA 0x00000000 +#define CRT1_LCDA 0x00020000 +#define VGA2_CONNECTED 0x00040000 +#define VB_DISPTYPE_CRT1 0x00080000 +#define VB_SINGLE_MODE 0x20000000 +#define VB_MIRROR_MODE 0x40000000 +#define VB_DUALVIEW_MODE 0x80000000 +#define CRT2_ENABLE (CRT2_LCD | CRT2_TV | CRT2_VGA) +#define TV_STANDARD (TV_NTSC | TV_PAL | TV_PALM | TV_PALN | TV_NTSCJ) +#define TV_INTERFACE (TV_AVIDEO|TV_SVIDEO|TV_SCART|TV_HIVISION|TV_YPBPR|TV_CHSCART|TV_CHYPBPR525I) +#define TV_YPBPR525I TV_NTSC +#define TV_YPBPR525P TV_PAL +#define TV_YPBPR750P TV_PALM +#define TV_YPBPR1080I TV_PALN +#define TV_YPBPRALL (TV_YPBPR525I | TV_YPBPR525P | TV_YPBPR750P | TV_YPBPR1080I) +#define VB_DISPTYPE_DISP2 CRT2_ENABLE +#define VB_DISPTYPE_CRT2 CRT2_ENABLE +#define VB_DISPTYPE_DISP1 VB_DISPTYPE_CRT1 +#define VB_DISPMODE_SINGLE VB_SINGLE_MODE +#define VB_DISPMODE_MIRROR VB_MIRROR_MODE +#define VB_DISPMODE_DUAL VB_DUALVIEW_MODE +#define VB_DISPLAY_MODE (SINGLE_MODE | MIRROR_MODE | DUALVIEW_MODE) +struct sisfb_info { + __u32 sisfb_id; +#ifndef SISFB_ID +#define SISFB_ID 0x53495346 +#endif + __u32 chip_id; + __u32 memory; + __u32 heapstart; + __u8 fbvidmode; + __u8 sisfb_version; + __u8 sisfb_revision; + __u8 sisfb_patchlevel; + __u8 sisfb_caps; + __u32 sisfb_tqlen; + __u32 sisfb_pcibus; + __u32 sisfb_pcislot; + __u32 sisfb_pcifunc; + __u8 sisfb_lcdpdc; + __u8 sisfb_lcda; + __u32 sisfb_vbflags; + __u32 sisfb_currentvbflags; + __u32 sisfb_scalelcd; + __u32 sisfb_specialtiming; + __u8 sisfb_haveemi; + __u8 sisfb_emi30,sisfb_emi31,sisfb_emi32,sisfb_emi33; + __u8 sisfb_haveemilcd; + __u8 sisfb_lcdpdca; + __u16 sisfb_tvxpos, sisfb_tvypos; + __u32 sisfb_heapsize; + __u32 sisfb_videooffset; + __u32 sisfb_curfstn; + __u32 sisfb_curdstn; + __u16 sisfb_pci_vendor; + __u32 sisfb_vbflags2; + __u8 sisfb_can_post; + __u8 sisfb_card_posted; + __u8 sisfb_was_boot_device; + __u8 reserved[183]; +}; +#define SISFB_CMD_GETVBFLAGS 0x55AA0001 +#define SISFB_CMD_SWITCHCRT1 0x55AA0010 +#define SISFB_CMD_ERR_OK 0x80000000 +#define SISFB_CMD_ERR_LOCKED 0x80000001 +#define SISFB_CMD_ERR_EARLY 0x80000002 +#define SISFB_CMD_ERR_NOVB 0x80000003 +#define SISFB_CMD_ERR_NOCRT2 0x80000004 +#define SISFB_CMD_ERR_UNKNOWN 0x8000ffff +#define SISFB_CMD_ERR_OTHER 0x80010000 +struct sisfb_cmd { + __u32 sisfb_cmd; + __u32 sisfb_arg[16]; + __u32 sisfb_result[4]; +}; +#define SISFB_GET_INFO_SIZE _IOR(0xF3,0x00,__u32) +#define SISFB_GET_INFO _IOR(0xF3,0x01,struct sisfb_info) +#define SISFB_GET_VBRSTATUS _IOR(0xF3,0x02,__u32) +#define SISFB_GET_AUTOMAXIMIZE _IOR(0xF3,0x03,__u32) +#define SISFB_SET_AUTOMAXIMIZE _IOW(0xF3,0x03,__u32) +#define SISFB_GET_TVPOSOFFSET _IOR(0xF3,0x04,__u32) +#define SISFB_SET_TVPOSOFFSET _IOW(0xF3,0x04,__u32) +#define SISFB_COMMAND _IOWR(0xF3,0x05,struct sisfb_cmd) +#define SISFB_SET_LOCK _IOW(0xF3,0x06,__u32) +#define SISFB_GET_INFO_OLD _IOR('n',0xF8,__u32) +#define SISFB_GET_VBRSTATUS_OLD _IOR('n',0xF9,__u32) +#define SISFB_GET_AUTOMAXIMIZE_OLD _IOR('n',0xFA,__u32) +#define SISFB_SET_AUTOMAXIMIZE_OLD _IOW('n',0xFA,__u32) +struct sis_memreq { + __u32 offset; + __u32 size; +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/video/uvesafb.h b/linux-5.10/prebuilts/usr/include/video/uvesafb.h new file mode 100644 index 0000000..8dc18b9 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/video/uvesafb.h @@ -0,0 +1,54 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef _UAPI_UVESAFB_H +#define _UAPI_UVESAFB_H +#include +struct v86_regs { + __u32 ebx; + __u32 ecx; + __u32 edx; + __u32 esi; + __u32 edi; + __u32 ebp; + __u32 eax; + __u32 eip; + __u32 eflags; + __u32 esp; + __u16 cs; + __u16 ss; + __u16 es; + __u16 ds; + __u16 fs; + __u16 gs; +}; +#define TF_VBEIB 0x01 +#define TF_BUF_ESDI 0x02 +#define TF_BUF_ESBX 0x04 +#define TF_BUF_RET 0x08 +#define TF_EXIT 0x10 +struct uvesafb_task { + __u8 flags; + int buf_len; + struct v86_regs regs; +}; +#define VBE_CAP_CAN_SWITCH_DAC 0x01 +#define VBE_CAP_VGACOMPAT 0x02 +struct vbe_ib { + char vbe_signature[4]; + __u16 vbe_version; + __u32 oem_string_ptr; + __u32 capabilities; + __u32 mode_list_ptr; + __u16 total_memory; + __u16 oem_software_rev; + __u32 oem_vendor_name_ptr; + __u32 oem_product_name_ptr; + __u32 oem_product_rev_ptr; + __u8 reserved[222]; + char oem_data[256]; + char misc_data[512]; +} __attribute__ ((packed)); +#endif diff --git a/linux-5.10/prebuilts/usr/include/xen/evtchn.h b/linux-5.10/prebuilts/usr/include/xen/evtchn.h new file mode 100644 index 0000000..0d57fd4 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/xen/evtchn.h @@ -0,0 +1,40 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef __LINUX_PUBLIC_EVTCHN_H__ +#define __LINUX_PUBLIC_EVTCHN_H__ +#define IOCTL_EVTCHN_BIND_VIRQ \ + _IOC(_IOC_NONE, 'E', 0, sizeof(struct ioctl_evtchn_bind_virq)) +struct ioctl_evtchn_bind_virq { + unsigned int virq; +}; +#define IOCTL_EVTCHN_BIND_INTERDOMAIN \ + _IOC(_IOC_NONE, 'E', 1, sizeof(struct ioctl_evtchn_bind_interdomain)) +struct ioctl_evtchn_bind_interdomain { + unsigned int remote_domain, remote_port; +}; +#define IOCTL_EVTCHN_BIND_UNBOUND_PORT \ + _IOC(_IOC_NONE, 'E', 2, sizeof(struct ioctl_evtchn_bind_unbound_port)) +struct ioctl_evtchn_bind_unbound_port { + unsigned int remote_domain; +}; +#define IOCTL_EVTCHN_UNBIND \ + _IOC(_IOC_NONE, 'E', 3, sizeof(struct ioctl_evtchn_unbind)) +struct ioctl_evtchn_unbind { + unsigned int port; +}; +#define IOCTL_EVTCHN_NOTIFY \ + _IOC(_IOC_NONE, 'E', 4, sizeof(struct ioctl_evtchn_notify)) +struct ioctl_evtchn_notify { + unsigned int port; +}; +#define IOCTL_EVTCHN_RESET \ + _IOC(_IOC_NONE, 'E', 5, 0) +#define IOCTL_EVTCHN_RESTRICT_DOMID \ + _IOC(_IOC_NONE, 'E', 6, sizeof(struct ioctl_evtchn_restrict_domid)) +struct ioctl_evtchn_restrict_domid { + domid_t domid; +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/xen/gntalloc.h b/linux-5.10/prebuilts/usr/include/xen/gntalloc.h new file mode 100644 index 0000000..1772f29 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/xen/gntalloc.h @@ -0,0 +1,49 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef __LINUX_PUBLIC_GNTALLOC_H__ +#define __LINUX_PUBLIC_GNTALLOC_H__ +#include +#define IOCTL_GNTALLOC_ALLOC_GREF \ +_IOC(_IOC_NONE, 'G', 5, sizeof(struct ioctl_gntalloc_alloc_gref)) +struct ioctl_gntalloc_alloc_gref { + + + __u16 domid; + + __u16 flags; + + __u32 count; + + + __u64 index; + + + __u32 gref_ids[1]; +}; +#define GNTALLOC_FLAG_WRITABLE 1 +#define IOCTL_GNTALLOC_DEALLOC_GREF \ +_IOC(_IOC_NONE, 'G', 6, sizeof(struct ioctl_gntalloc_dealloc_gref)) +struct ioctl_gntalloc_dealloc_gref { + + + __u64 index; + + __u32 count; +}; +#define IOCTL_GNTALLOC_SET_UNMAP_NOTIFY \ +_IOC(_IOC_NONE, 'G', 7, sizeof(struct ioctl_gntalloc_unmap_notify)) +struct ioctl_gntalloc_unmap_notify { + + + __u64 index; + + __u32 action; + + __u32 event_channel_port; +}; +#define UNMAP_NOTIFY_CLEAR_BYTE 0x1 +#define UNMAP_NOTIFY_SEND_EVENT 0x2 +#endif diff --git a/linux-5.10/prebuilts/usr/include/xen/gntdev.h b/linux-5.10/prebuilts/usr/include/xen/gntdev.h new file mode 100644 index 0000000..a7469c1 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/xen/gntdev.h @@ -0,0 +1,144 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef __LINUX_PUBLIC_GNTDEV_H__ +#define __LINUX_PUBLIC_GNTDEV_H__ +#include +struct ioctl_gntdev_grant_ref { + + __u32 domid; + + __u32 ref; +}; +#define IOCTL_GNTDEV_MAP_GRANT_REF \ +_IOC(_IOC_NONE, 'G', 0, sizeof(struct ioctl_gntdev_map_grant_ref)) +struct ioctl_gntdev_map_grant_ref { + + + __u32 count; + __u32 pad; + + + __u64 index; + + + struct ioctl_gntdev_grant_ref refs[1]; +}; +#define IOCTL_GNTDEV_UNMAP_GRANT_REF \ +_IOC(_IOC_NONE, 'G', 1, sizeof(struct ioctl_gntdev_unmap_grant_ref)) +struct ioctl_gntdev_unmap_grant_ref { + + + __u64 index; + + __u32 count; + __u32 pad; +}; +#define IOCTL_GNTDEV_GET_OFFSET_FOR_VADDR \ +_IOC(_IOC_NONE, 'G', 2, sizeof(struct ioctl_gntdev_get_offset_for_vaddr)) +struct ioctl_gntdev_get_offset_for_vaddr { + + + __u64 vaddr; + + + __u64 offset; + + __u32 count; + __u32 pad; +}; +#define IOCTL_GNTDEV_SET_MAX_GRANTS \ +_IOC(_IOC_NONE, 'G', 3, sizeof(struct ioctl_gntdev_set_max_grants)) +struct ioctl_gntdev_set_max_grants { + + + __u32 count; +}; +#define IOCTL_GNTDEV_SET_UNMAP_NOTIFY \ +_IOC(_IOC_NONE, 'G', 7, sizeof(struct ioctl_gntdev_unmap_notify)) +struct ioctl_gntdev_unmap_notify { + + + __u64 index; + + __u32 action; + + __u32 event_channel_port; +}; +struct gntdev_grant_copy_segment { + union { + void __user *virt; + struct { + grant_ref_t ref; + __u16 offset; + domid_t domid; + } foreign; + } source, dest; + __u16 len; + __u16 flags; + __s16 status; +}; +#define IOCTL_GNTDEV_GRANT_COPY \ + _IOC(_IOC_NONE, 'G', 8, sizeof(struct ioctl_gntdev_grant_copy)) +struct ioctl_gntdev_grant_copy { + unsigned int count; + struct gntdev_grant_copy_segment __user *segments; +}; +#define UNMAP_NOTIFY_CLEAR_BYTE 0x1 +#define UNMAP_NOTIFY_SEND_EVENT 0x2 +#define GNTDEV_DMA_FLAG_WC (1 << 0) +#define GNTDEV_DMA_FLAG_COHERENT (1 << 1) +#define IOCTL_GNTDEV_DMABUF_EXP_FROM_REFS \ + _IOC(_IOC_NONE, 'G', 9, \ + sizeof(struct ioctl_gntdev_dmabuf_exp_from_refs)) +struct ioctl_gntdev_dmabuf_exp_from_refs { + + + __u32 flags; + + __u32 count; + + + __u32 fd; + + __u32 domid; + + + __u32 refs[1]; +}; +#define IOCTL_GNTDEV_DMABUF_EXP_WAIT_RELEASED \ + _IOC(_IOC_NONE, 'G', 10, \ + sizeof(struct ioctl_gntdev_dmabuf_exp_wait_released)) +struct ioctl_gntdev_dmabuf_exp_wait_released { + + __u32 fd; + __u32 wait_to_ms; +}; +#define IOCTL_GNTDEV_DMABUF_IMP_TO_REFS \ + _IOC(_IOC_NONE, 'G', 11, \ + sizeof(struct ioctl_gntdev_dmabuf_imp_to_refs)) +struct ioctl_gntdev_dmabuf_imp_to_refs { + + + __u32 fd; + + __u32 count; + + __u32 domid; + + __u32 reserved; + + + __u32 refs[1]; +}; +#define IOCTL_GNTDEV_DMABUF_IMP_RELEASE \ + _IOC(_IOC_NONE, 'G', 12, \ + sizeof(struct ioctl_gntdev_dmabuf_imp_release)) +struct ioctl_gntdev_dmabuf_imp_release { + + __u32 fd; + __u32 reserved; +}; +#endif diff --git a/linux-5.10/prebuilts/usr/include/xen/privcmd.h b/linux-5.10/prebuilts/usr/include/xen/privcmd.h new file mode 100644 index 0000000..2158795 --- /dev/null +++ b/linux-5.10/prebuilts/usr/include/xen/privcmd.h @@ -0,0 +1,72 @@ +/* + * This header was generated from the Linux kernel headers by update_headers.py, + * to provide necessary information from kernel to userspace, such as constants, + * structures, and macros, and thus, contains no copyrightable information. + */ +#ifndef __LINUX_PUBLIC_PRIVCMD_H__ +#define __LINUX_PUBLIC_PRIVCMD_H__ +#include +#include +#include +struct privcmd_hypercall { + __u64 op; + __u64 arg[5]; +}; +struct privcmd_mmap_entry { + __u64 va; + + __u64 mfn; + __u64 npages; +}; +struct privcmd_mmap { + int num; + domid_t dom; + struct privcmd_mmap_entry __user *entry; +}; +struct privcmd_mmapbatch { + int num; + domid_t dom; + __u64 addr; + xen_pfn_t __user *arr; +}; +#define PRIVCMD_MMAPBATCH_MFN_ERROR 0xf0000000U +#define PRIVCMD_MMAPBATCH_PAGED_ERROR 0x80000000U +struct privcmd_mmapbatch_v2 { + unsigned int num; + domid_t dom; + __u64 addr; + const xen_pfn_t __user *arr; + int __user *err; +}; +struct privcmd_dm_op_buf { + void __user *uptr; + size_t size; +}; +struct privcmd_dm_op { + domid_t dom; + __u16 num; + const struct privcmd_dm_op_buf __user *ubufs; +}; +struct privcmd_mmap_resource { + domid_t dom; + __u32 type; + __u32 id; + __u32 idx; + __u64 num; + __u64 addr; +}; +#define IOCTL_PRIVCMD_HYPERCALL \ + _IOC(_IOC_NONE, 'P', 0, sizeof(struct privcmd_hypercall)) +#define IOCTL_PRIVCMD_MMAP \ + _IOC(_IOC_NONE, 'P', 2, sizeof(struct privcmd_mmap)) +#define IOCTL_PRIVCMD_MMAPBATCH \ + _IOC(_IOC_NONE, 'P', 3, sizeof(struct privcmd_mmapbatch)) +#define IOCTL_PRIVCMD_MMAPBATCH_V2 \ + _IOC(_IOC_NONE, 'P', 4, sizeof(struct privcmd_mmapbatch_v2)) +#define IOCTL_PRIVCMD_DM_OP \ + _IOC(_IOC_NONE, 'P', 5, sizeof(struct privcmd_dm_op)) +#define IOCTL_PRIVCMD_RESTRICT \ + _IOC(_IOC_NONE, 'P', 6, sizeof(domid_t)) +#define IOCTL_PRIVCMD_MMAP_RESOURCE \ + _IOC(_IOC_NONE, 'P', 7, sizeof(struct privcmd_mmap_resource)) +#endif -- Gitee