├── .github ├── cleanup-rootfs.sh ├── dedup-dir.sh ├── setup-apt.sh └── workflows │ ├── build.yaml │ └── nightly-release.yaml ├── .gitignore ├── .gitmodules ├── LICENSE ├── Makefile.in ├── README.md ├── configure ├── configure.ac ├── contrib └── Vagrantfile ├── linux-headers └── include │ ├── asm-generic │ ├── auxvec.h │ ├── bitsperlong.h │ ├── bpf_perf_event.h │ ├── errno-base.h │ ├── errno.h │ ├── fcntl.h │ ├── hugetlb_encode.h │ ├── int-l64.h │ ├── int-ll64.h │ ├── ioctl.h │ ├── ioctls.h │ ├── ipcbuf.h │ ├── kvm_para.h │ ├── mman-common.h │ ├── mman.h │ ├── msgbuf.h │ ├── param.h │ ├── poll.h │ ├── posix_types.h │ ├── resource.h │ ├── sembuf.h │ ├── setup.h │ ├── shmbuf.h │ ├── siginfo.h │ ├── signal-defs.h │ ├── signal.h │ ├── socket.h │ ├── sockios.h │ ├── stat.h │ ├── statfs.h │ ├── swab.h │ ├── termbits-common.h │ ├── termbits.h │ ├── termios.h │ ├── types.h │ ├── ucontext.h │ └── unistd.h │ ├── asm │ ├── auxvec.h │ ├── bitsperlong.h │ ├── bpf_perf_event.h │ ├── byteorder.h │ ├── elf.h │ ├── errno.h │ ├── fcntl.h │ ├── hwcap.h │ ├── hwprobe.h │ ├── ioctl.h │ ├── ioctls.h │ ├── ipcbuf.h │ ├── kvm.h │ ├── mman.h │ ├── msgbuf.h │ ├── param.h │ ├── perf_regs.h │ ├── poll.h │ ├── posix_types.h │ ├── ptrace.h │ ├── resource.h │ ├── sembuf.h │ ├── setup.h │ ├── shmbuf.h │ ├── sigcontext.h │ ├── siginfo.h │ ├── signal.h │ ├── socket.h │ ├── sockios.h │ ├── stat.h │ ├── statfs.h │ ├── swab.h │ ├── termbits.h │ ├── termios.h │ ├── types.h │ ├── ucontext.h │ └── unistd.h │ ├── drm │ ├── amdgpu_drm.h │ ├── armada_drm.h │ ├── drm.h │ ├── drm_fourcc.h │ ├── drm_mode.h │ ├── drm_sarea.h │ ├── etnaviv_drm.h │ ├── exynos_drm.h │ ├── habanalabs_accel.h │ ├── i915_drm.h │ ├── ivpu_accel.h │ ├── lima_drm.h │ ├── msm_drm.h │ ├── nouveau_drm.h │ ├── omap_drm.h │ ├── panfrost_drm.h │ ├── qaic_accel.h │ ├── qxl_drm.h │ ├── radeon_drm.h │ ├── tegra_drm.h │ ├── v3d_drm.h │ ├── vc4_drm.h │ ├── vgem_drm.h │ ├── virtgpu_drm.h │ └── vmwgfx_drm.h │ ├── linux │ ├── acct.h │ ├── acrn.h │ ├── adb.h │ ├── adfs_fs.h │ ├── affs_hardblocks.h │ ├── agpgart.h │ ├── aio_abi.h │ ├── am437x-vpfe.h │ ├── amt.h │ ├── android │ │ ├── binder.h │ │ └── binderfs.h │ ├── apm_bios.h │ ├── arcfb.h │ ├── arm_sdei.h │ ├── aspeed-lpc-ctrl.h │ ├── aspeed-p2a-ctrl.h │ ├── aspeed-video.h │ ├── atalk.h │ ├── atm.h │ ├── atm_eni.h │ ├── atm_he.h │ ├── atm_idt77105.h │ ├── atm_nicstar.h │ ├── atm_tcp.h │ ├── atm_zatm.h │ ├── atmapi.h │ ├── atmarp.h │ ├── atmbr2684.h │ ├── atmclip.h │ ├── atmdev.h │ ├── atmioc.h │ ├── atmlec.h │ ├── atmmpc.h │ ├── atmppp.h │ ├── atmsap.h │ ├── atmsvc.h │ ├── audit.h │ ├── auto_dev-ioctl.h │ ├── auto_fs.h │ ├── auto_fs4.h │ ├── auxvec.h │ ├── ax25.h │ ├── batadv_packet.h │ ├── batman_adv.h │ ├── baycom.h │ ├── bcm933xx_hcs.h │ ├── bfs_fs.h │ ├── binfmts.h │ ├── blkpg.h │ ├── blktrace_api.h │ ├── blkzoned.h │ ├── bpf.h │ ├── bpf_common.h │ ├── bpf_perf_event.h │ ├── bpfilter.h │ ├── bpqether.h │ ├── bsg.h │ ├── bt-bmc.h │ ├── btf.h │ ├── btrfs.h │ ├── btrfs_tree.h │ ├── byteorder │ │ ├── big_endian.h │ │ └── little_endian.h │ ├── cachefiles.h │ ├── caif │ │ ├── caif_socket.h │ │ └── if_caif.h │ ├── can.h │ ├── can │ │ ├── bcm.h │ │ ├── error.h │ │ ├── gw.h │ │ ├── isotp.h │ │ ├── j1939.h │ │ ├── netlink.h │ │ ├── raw.h │ │ └── vxcan.h │ ├── capability.h │ ├── capi.h │ ├── cciss_defs.h │ ├── cciss_ioctl.h │ ├── ccs.h │ ├── cdrom.h │ ├── cec-funcs.h │ ├── cec.h │ ├── cfm_bridge.h │ ├── cgroupstats.h │ ├── chio.h │ ├── cifs │ │ ├── cifs_mount.h │ │ └── cifs_netlink.h │ ├── close_range.h │ ├── cn_proc.h │ ├── coda.h │ ├── coff.h │ ├── comedi.h │ ├── connector.h │ ├── const.h │ ├── coresight-stm.h │ ├── counter.h │ ├── cramfs_fs.h │ ├── cryptouser.h │ ├── cuda.h │ ├── cxl_mem.h │ ├── cyclades.h │ ├── cycx_cfm.h │ ├── dcbnl.h │ ├── dccp.h │ ├── devlink.h │ ├── dlm.h │ ├── dlm_device.h │ ├── dlm_plock.h │ ├── dlmconstants.h │ ├── dm-ioctl.h │ ├── dm-log-userspace.h │ ├── dma-buf.h │ ├── dma-heap.h │ ├── dns_resolver.h │ ├── dqblk_xfs.h │ ├── dvb │ │ ├── audio.h │ │ ├── ca.h │ │ ├── dmx.h │ │ ├── frontend.h │ │ ├── net.h │ │ ├── osd.h │ │ ├── version.h │ │ └── video.h │ ├── dw100.h │ ├── edd.h │ ├── efs_fs_sb.h │ ├── elf-em.h │ ├── elf-fdpic.h │ ├── elf.h │ ├── errno.h │ ├── errqueue.h │ ├── erspan.h │ ├── ethtool.h │ ├── ethtool_netlink.h │ ├── eventfd.h │ ├── eventpoll.h │ ├── ext4.h │ ├── f2fs.h │ ├── fadvise.h │ ├── falloc.h │ ├── fanotify.h │ ├── fb.h │ ├── fcntl.h │ ├── fd.h │ ├── fdreg.h │ ├── fib_rules.h │ ├── fiemap.h │ ├── filter.h │ ├── firewire-cdev.h │ ├── firewire-constants.h │ ├── fou.h │ ├── fpga-dfl.h │ ├── fs.h │ ├── fscrypt.h │ ├── fsi.h │ ├── fsl_hypervisor.h │ ├── fsl_mc.h │ ├── fsmap.h │ ├── fsverity.h │ ├── fuse.h │ ├── futex.h │ ├── gameport.h │ ├── gen_stats.h │ ├── genetlink.h │ ├── genwqe │ │ └── genwqe_card.h │ ├── gfs2_ondisk.h │ ├── gpio.h │ ├── gsmmux.h │ ├── gtp.h │ ├── handshake.h │ ├── hash_info.h │ ├── hdlc.h │ ├── hdlc │ │ └── ioctl.h │ ├── hdlcdrv.h │ ├── hdreg.h │ ├── hid.h │ ├── hiddev.h │ ├── hidraw.h │ ├── hpet.h │ ├── hsi │ │ ├── cs-protocol.h │ │ └── hsi_char.h │ ├── hsr_netlink.h │ ├── hw_breakpoint.h │ ├── hyperv.h │ ├── i2c-dev.h │ ├── i2c.h │ ├── i2o-dev.h │ ├── i8k.h │ ├── icmp.h │ ├── icmpv6.h │ ├── idxd.h │ ├── if.h │ ├── if_addr.h │ ├── if_addrlabel.h │ ├── if_alg.h │ ├── if_arcnet.h │ ├── if_arp.h │ ├── if_bonding.h │ ├── if_bridge.h │ ├── if_cablemodem.h │ ├── if_eql.h │ ├── if_ether.h │ ├── if_fc.h │ ├── if_fddi.h │ ├── if_hippi.h │ ├── if_infiniband.h │ ├── if_link.h │ ├── if_ltalk.h │ ├── if_macsec.h │ ├── if_packet.h │ ├── if_phonet.h │ ├── if_plip.h │ ├── if_ppp.h │ ├── if_pppol2tp.h │ ├── if_pppox.h │ ├── if_slip.h │ ├── if_team.h │ ├── if_tun.h │ ├── if_tunnel.h │ ├── if_vlan.h │ ├── if_x25.h │ ├── if_xdp.h │ ├── ife.h │ ├── igmp.h │ ├── iio │ │ ├── buffer.h │ │ ├── events.h │ │ └── types.h │ ├── ila.h │ ├── in.h │ ├── in6.h │ ├── in_route.h │ ├── inet_diag.h │ ├── inotify.h │ ├── input-event-codes.h │ ├── input.h │ ├── io_uring.h │ ├── ioam6.h │ ├── ioam6_genl.h │ ├── ioam6_iptunnel.h │ ├── ioctl.h │ ├── iommu.h │ ├── iommufd.h │ ├── ioprio.h │ ├── ip.h │ ├── ip6_tunnel.h │ ├── ip_vs.h │ ├── ipc.h │ ├── ipmi.h │ ├── ipmi_bmc.h │ ├── ipmi_msgdefs.h │ ├── ipmi_ssif_bmc.h │ ├── ipsec.h │ ├── ipv6.h │ ├── ipv6_route.h │ ├── irqnr.h │ ├── isdn │ │ └── capicmd.h │ ├── iso_fs.h │ ├── isst_if.h │ ├── ivtv.h │ ├── ivtvfb.h │ ├── jffs2.h │ ├── joystick.h │ ├── kcm.h │ ├── kcmp.h │ ├── kcov.h │ ├── kd.h │ ├── kdev_t.h │ ├── kernel-page-flags.h │ ├── kernel.h │ ├── kernelcapi.h │ ├── kexec.h │ ├── keyboard.h │ ├── keyctl.h │ ├── kfd_ioctl.h │ ├── kfd_sysfs.h │ ├── kvm.h │ ├── l2tp.h │ ├── landlock.h │ ├── libc-compat.h │ ├── limits.h │ ├── lirc.h │ ├── llc.h │ ├── loadpin.h │ ├── loop.h │ ├── lp.h │ ├── lwtunnel.h │ ├── magic.h │ ├── major.h │ ├── map_to_14segment.h │ ├── map_to_7segment.h │ ├── matroxfb.h │ ├── max2175.h │ ├── mctp.h │ ├── mdio.h │ ├── media-bus-format.h │ ├── media.h │ ├── mei.h │ ├── mei_uuid.h │ ├── membarrier.h │ ├── memfd.h │ ├── mempolicy.h │ ├── mii.h │ ├── minix_fs.h │ ├── misc │ │ └── bcm_vk.h │ ├── mman.h │ ├── mmc │ │ └── ioctl.h │ ├── mmtimer.h │ ├── module.h │ ├── mount.h │ ├── mpls.h │ ├── mpls_iptunnel.h │ ├── mptcp.h │ ├── mqueue.h │ ├── mroute.h │ ├── mroute6.h │ ├── mrp_bridge.h │ ├── msdos_fs.h │ ├── msg.h │ ├── mtio.h │ ├── nbd-netlink.h │ ├── nbd.h │ ├── ncsi.h │ ├── ndctl.h │ ├── neighbour.h │ ├── net.h │ ├── net_dropmon.h │ ├── net_namespace.h │ ├── net_tstamp.h │ ├── netconf.h │ ├── netdev.h │ ├── netdevice.h │ ├── netfilter.h │ ├── netfilter │ │ ├── ipset │ │ │ ├── ip_set.h │ │ │ ├── ip_set_bitmap.h │ │ │ ├── ip_set_hash.h │ │ │ └── ip_set_list.h │ │ ├── nf_conntrack_common.h │ │ ├── nf_conntrack_ftp.h │ │ ├── nf_conntrack_sctp.h │ │ ├── nf_conntrack_tcp.h │ │ ├── nf_conntrack_tuple_common.h │ │ ├── nf_log.h │ │ ├── nf_nat.h │ │ ├── nf_synproxy.h │ │ ├── nf_tables.h │ │ ├── nf_tables_compat.h │ │ ├── nfnetlink.h │ │ ├── nfnetlink_acct.h │ │ ├── nfnetlink_compat.h │ │ ├── nfnetlink_conntrack.h │ │ ├── nfnetlink_cthelper.h │ │ ├── nfnetlink_cttimeout.h │ │ ├── nfnetlink_hook.h │ │ ├── nfnetlink_log.h │ │ ├── nfnetlink_osf.h │ │ ├── nfnetlink_queue.h │ │ ├── x_tables.h │ │ ├── xt_AUDIT.h │ │ ├── xt_CHECKSUM.h │ │ ├── xt_CLASSIFY.h │ │ ├── xt_CONNMARK.h │ │ ├── xt_CONNSECMARK.h │ │ ├── xt_CT.h │ │ ├── xt_DSCP.h │ │ ├── xt_HMARK.h │ │ ├── xt_IDLETIMER.h │ │ ├── xt_LED.h │ │ ├── xt_LOG.h │ │ ├── xt_MARK.h │ │ ├── xt_NFLOG.h │ │ ├── xt_NFQUEUE.h │ │ ├── xt_RATEEST.h │ │ ├── xt_SECMARK.h │ │ ├── xt_SYNPROXY.h │ │ ├── xt_TCPMSS.h │ │ ├── xt_TCPOPTSTRIP.h │ │ ├── xt_TEE.h │ │ ├── xt_TPROXY.h │ │ ├── xt_addrtype.h │ │ ├── xt_bpf.h │ │ ├── xt_cgroup.h │ │ ├── xt_cluster.h │ │ ├── xt_comment.h │ │ ├── xt_connbytes.h │ │ ├── xt_connlabel.h │ │ ├── xt_connlimit.h │ │ ├── xt_connmark.h │ │ ├── xt_conntrack.h │ │ ├── xt_cpu.h │ │ ├── xt_dccp.h │ │ ├── xt_devgroup.h │ │ ├── xt_dscp.h │ │ ├── xt_ecn.h │ │ ├── xt_esp.h │ │ ├── xt_hashlimit.h │ │ ├── xt_helper.h │ │ ├── xt_ipcomp.h │ │ ├── xt_iprange.h │ │ ├── xt_ipvs.h │ │ ├── xt_l2tp.h │ │ ├── xt_length.h │ │ ├── xt_limit.h │ │ ├── xt_mac.h │ │ ├── xt_mark.h │ │ ├── xt_multiport.h │ │ ├── xt_nfacct.h │ │ ├── xt_osf.h │ │ ├── xt_owner.h │ │ ├── xt_physdev.h │ │ ├── xt_pkttype.h │ │ ├── xt_policy.h │ │ ├── xt_quota.h │ │ ├── xt_rateest.h │ │ ├── xt_realm.h │ │ ├── xt_recent.h │ │ ├── xt_rpfilter.h │ │ ├── xt_sctp.h │ │ ├── xt_set.h │ │ ├── xt_socket.h │ │ ├── xt_state.h │ │ ├── xt_statistic.h │ │ ├── xt_string.h │ │ ├── xt_tcpmss.h │ │ ├── xt_tcpudp.h │ │ ├── xt_time.h │ │ └── xt_u32.h │ ├── netfilter_arp.h │ ├── netfilter_arp │ │ ├── arp_tables.h │ │ └── arpt_mangle.h │ ├── netfilter_bridge.h │ ├── netfilter_bridge │ │ ├── ebt_802_3.h │ │ ├── ebt_among.h │ │ ├── ebt_arp.h │ │ ├── ebt_arpreply.h │ │ ├── ebt_ip.h │ │ ├── ebt_ip6.h │ │ ├── ebt_limit.h │ │ ├── ebt_log.h │ │ ├── ebt_mark_m.h │ │ ├── ebt_mark_t.h │ │ ├── ebt_nat.h │ │ ├── ebt_nflog.h │ │ ├── ebt_pkttype.h │ │ ├── ebt_redirect.h │ │ ├── ebt_stp.h │ │ ├── ebt_vlan.h │ │ └── ebtables.h │ ├── netfilter_ipv4.h │ ├── netfilter_ipv4 │ │ ├── ip_tables.h │ │ ├── ipt_CLUSTERIP.h │ │ ├── ipt_ECN.h │ │ ├── ipt_LOG.h │ │ ├── ipt_REJECT.h │ │ ├── ipt_TTL.h │ │ ├── ipt_ah.h │ │ ├── ipt_ecn.h │ │ └── ipt_ttl.h │ ├── netfilter_ipv6.h │ ├── netfilter_ipv6 │ │ ├── ip6_tables.h │ │ ├── ip6t_HL.h │ │ ├── ip6t_LOG.h │ │ ├── ip6t_NPT.h │ │ ├── ip6t_REJECT.h │ │ ├── ip6t_ah.h │ │ ├── ip6t_frag.h │ │ ├── ip6t_hl.h │ │ ├── ip6t_ipv6header.h │ │ ├── ip6t_mh.h │ │ ├── ip6t_opts.h │ │ ├── ip6t_rt.h │ │ └── ip6t_srh.h │ ├── netlink.h │ ├── netlink_diag.h │ ├── netrom.h │ ├── nexthop.h │ ├── nfc.h │ ├── nfs.h │ ├── nfs2.h │ ├── nfs3.h │ ├── nfs4.h │ ├── nfs4_mount.h │ ├── nfs_fs.h │ ├── nfs_idmap.h │ ├── nfs_mount.h │ ├── nfsacl.h │ ├── nfsd │ │ ├── cld.h │ │ ├── debug.h │ │ ├── export.h │ │ └── stats.h │ ├── nilfs2_api.h │ ├── nilfs2_ondisk.h │ ├── nitro_enclaves.h │ ├── nl80211-vnd-intel.h │ ├── nl80211.h │ ├── nsfs.h │ ├── nubus.h │ ├── nvme_ioctl.h │ ├── nvram.h │ ├── omap3isp.h │ ├── omapfb.h │ ├── oom.h │ ├── openat2.h │ ├── openvswitch.h │ ├── packet_diag.h │ ├── param.h │ ├── parport.h │ ├── patchkey.h │ ├── pci.h │ ├── pci_regs.h │ ├── pcitest.h │ ├── perf_event.h │ ├── personality.h │ ├── pfkeyv2.h │ ├── pfrut.h │ ├── pg.h │ ├── phantom.h │ ├── phonet.h │ ├── pidfd.h │ ├── pkt_cls.h │ ├── pkt_sched.h │ ├── pktcdvd.h │ ├── pmu.h │ ├── poll.h │ ├── posix_acl.h │ ├── posix_acl_xattr.h │ ├── posix_types.h │ ├── ppdev.h │ ├── ppp-comp.h │ ├── ppp-ioctl.h │ ├── ppp_defs.h │ ├── pps.h │ ├── pr.h │ ├── prctl.h │ ├── psample.h │ ├── psci.h │ ├── psp-dbc.h │ ├── psp-sev.h │ ├── ptp_clock.h │ ├── ptrace.h │ ├── qemu_fw_cfg.h │ ├── qnx4_fs.h │ ├── qnxtypes.h │ ├── qrtr.h │ ├── quota.h │ ├── radeonfb.h │ ├── raid │ │ ├── md_p.h │ │ └── md_u.h │ ├── random.h │ ├── rds.h │ ├── reboot.h │ ├── reiserfs_fs.h │ ├── reiserfs_xattr.h │ ├── remoteproc_cdev.h │ ├── resource.h │ ├── rfkill.h │ ├── rio_cm_cdev.h │ ├── rio_mport_cdev.h │ ├── rkisp1-config.h │ ├── romfs_fs.h │ ├── rose.h │ ├── route.h │ ├── rpl.h │ ├── rpl_iptunnel.h │ ├── rpmsg.h │ ├── rpmsg_types.h │ ├── rseq.h │ ├── rtc.h │ ├── rtnetlink.h │ ├── rxrpc.h │ ├── scc.h │ ├── sched.h │ ├── sched │ │ └── types.h │ ├── scif_ioctl.h │ ├── screen_info.h │ ├── sctp.h │ ├── seccomp.h │ ├── securebits.h │ ├── sed-opal.h │ ├── seg6.h │ ├── seg6_genl.h │ ├── seg6_hmac.h │ ├── seg6_iptunnel.h │ ├── seg6_local.h │ ├── selinux_netlink.h │ ├── sem.h │ ├── serial.h │ ├── serial_core.h │ ├── serial_reg.h │ ├── serio.h │ ├── sev-guest.h │ ├── shm.h │ ├── signal.h │ ├── signalfd.h │ ├── smc.h │ ├── smc_diag.h │ ├── smiapp.h │ ├── snmp.h │ ├── sock_diag.h │ ├── socket.h │ ├── sockios.h │ ├── sonet.h │ ├── sonypi.h │ ├── sound.h │ ├── soundcard.h │ ├── spi │ │ ├── spi.h │ │ └── spidev.h │ ├── stat.h │ ├── stddef.h │ ├── stm.h │ ├── string.h │ ├── sunrpc │ │ └── debug.h │ ├── surface_aggregator │ │ ├── cdev.h │ │ └── dtx.h │ ├── suspend_ioctls.h │ ├── swab.h │ ├── switchtec_ioctl.h │ ├── sync_file.h │ ├── synclink.h │ ├── sysctl.h │ ├── sysinfo.h │ ├── target_core_user.h │ ├── taskstats.h │ ├── tc_act │ │ ├── tc_bpf.h │ │ ├── tc_connmark.h │ │ ├── tc_csum.h │ │ ├── tc_ct.h │ │ ├── tc_ctinfo.h │ │ ├── tc_defact.h │ │ ├── tc_gact.h │ │ ├── tc_gate.h │ │ ├── tc_ife.h │ │ ├── tc_ipt.h │ │ ├── tc_mirred.h │ │ ├── tc_mpls.h │ │ ├── tc_nat.h │ │ ├── tc_pedit.h │ │ ├── tc_sample.h │ │ ├── tc_skbedit.h │ │ ├── tc_skbmod.h │ │ ├── tc_tunnel_key.h │ │ └── tc_vlan.h │ ├── tc_ematch │ │ ├── tc_em_cmp.h │ │ ├── tc_em_ipt.h │ │ ├── tc_em_meta.h │ │ ├── tc_em_nbyte.h │ │ └── tc_em_text.h │ ├── tcp.h │ ├── tcp_metrics.h │ ├── tdx-guest.h │ ├── tee.h │ ├── termios.h │ ├── thermal.h │ ├── time.h │ ├── time_types.h │ ├── timerfd.h │ ├── times.h │ ├── timex.h │ ├── tiocl.h │ ├── tipc.h │ ├── tipc_config.h │ ├── tipc_netlink.h │ ├── tipc_sockets_diag.h │ ├── tls.h │ ├── toshiba.h │ ├── tps6594_pfsm.h │ ├── tty.h │ ├── tty_flags.h │ ├── types.h │ ├── ublk_cmd.h │ ├── udf_fs_i.h │ ├── udmabuf.h │ ├── udp.h │ ├── uhid.h │ ├── uinput.h │ ├── uio.h │ ├── uleds.h │ ├── ultrasound.h │ ├── um_timetravel.h │ ├── un.h │ ├── unistd.h │ ├── unix_diag.h │ ├── usb │ │ ├── audio.h │ │ ├── cdc-wdm.h │ │ ├── cdc.h │ │ ├── ch11.h │ │ ├── ch9.h │ │ ├── charger.h │ │ ├── functionfs.h │ │ ├── g_printer.h │ │ ├── g_uvc.h │ │ ├── gadgetfs.h │ │ ├── midi.h │ │ ├── raw_gadget.h │ │ ├── tmc.h │ │ └── video.h │ ├── usbdevice_fs.h │ ├── usbip.h │ ├── user_events.h │ ├── userfaultfd.h │ ├── userio.h │ ├── utime.h │ ├── utsname.h │ ├── uuid.h │ ├── uvcvideo.h │ ├── v4l2-common.h │ ├── v4l2-controls.h │ ├── v4l2-dv-timings.h │ ├── v4l2-mediabus.h │ ├── v4l2-subdev.h │ ├── vbox_err.h │ ├── vbox_vmmdev_types.h │ ├── vboxguest.h │ ├── vdpa.h │ ├── vduse.h │ ├── version.h │ ├── veth.h │ ├── vfio.h │ ├── vfio_ccw.h │ ├── vfio_zdev.h │ ├── vhost.h │ ├── vhost_types.h │ ├── videodev2.h │ ├── virtio_9p.h │ ├── virtio_balloon.h │ ├── virtio_blk.h │ ├── virtio_bt.h │ ├── virtio_config.h │ ├── virtio_console.h │ ├── virtio_crypto.h │ ├── virtio_fs.h │ ├── virtio_gpio.h │ ├── virtio_gpu.h │ ├── virtio_i2c.h │ ├── virtio_ids.h │ ├── virtio_input.h │ ├── virtio_iommu.h │ ├── virtio_mem.h │ ├── virtio_mmio.h │ ├── virtio_net.h │ ├── virtio_pci.h │ ├── virtio_pcidev.h │ ├── virtio_pmem.h │ ├── virtio_ring.h │ ├── virtio_rng.h │ ├── virtio_scmi.h │ ├── virtio_scsi.h │ ├── virtio_snd.h │ ├── virtio_types.h │ ├── virtio_vsock.h │ ├── vm_sockets.h │ ├── vm_sockets_diag.h │ ├── vmcore.h │ ├── vsockmon.h │ ├── vt.h │ ├── vtpm_proxy.h │ ├── wait.h │ ├── watch_queue.h │ ├── watchdog.h │ ├── wireguard.h │ ├── wireless.h │ ├── wmi.h │ ├── wwan.h │ ├── x25.h │ ├── xattr.h │ ├── xdp_diag.h │ ├── xfrm.h │ ├── xilinx-v4l2-controls.h │ ├── zorro.h │ └── zorro_ids.h │ ├── misc │ ├── cxl.h │ ├── fastrpc.h │ ├── ocxl.h │ ├── pvpanic.h │ ├── uacce │ │ ├── hisi_qm.h │ │ └── uacce.h │ └── xilinx_sdfec.h │ ├── mtd │ ├── inftl-user.h │ ├── mtd-abi.h │ ├── mtd-user.h │ ├── nftl-user.h │ └── ubi-user.h │ ├── rdma │ ├── bnxt_re-abi.h │ ├── cxgb4-abi.h │ ├── efa-abi.h │ ├── erdma-abi.h │ ├── hfi │ │ ├── hfi1_ioctl.h │ │ └── hfi1_user.h │ ├── hns-abi.h │ ├── ib_user_ioctl_cmds.h │ ├── ib_user_ioctl_verbs.h │ ├── ib_user_mad.h │ ├── ib_user_sa.h │ ├── ib_user_verbs.h │ ├── irdma-abi.h │ ├── mana-abi.h │ ├── mlx4-abi.h │ ├── mlx5-abi.h │ ├── mlx5_user_ioctl_cmds.h │ ├── mlx5_user_ioctl_verbs.h │ ├── mthca-abi.h │ ├── ocrdma-abi.h │ ├── qedr-abi.h │ ├── rdma_netlink.h │ ├── rdma_user_cm.h │ ├── rdma_user_ioctl.h │ ├── rdma_user_ioctl_cmds.h │ ├── rdma_user_rxe.h │ ├── rvt-abi.h │ ├── siw-abi.h │ └── vmw_pvrdma-abi.h │ ├── scsi │ ├── cxlflash_ioctl.h │ ├── fc │ │ ├── fc_els.h │ │ ├── fc_fs.h │ │ ├── fc_gs.h │ │ └── fc_ns.h │ ├── scsi_bsg_fc.h │ ├── scsi_bsg_mpi3mr.h │ ├── scsi_bsg_ufs.h │ ├── scsi_netlink.h │ └── scsi_netlink_fc.h │ ├── sound │ ├── asequencer.h │ ├── asoc.h │ ├── asound.h │ ├── asound_fm.h │ ├── compress_offload.h │ ├── compress_params.h │ ├── emu10k1.h │ ├── firewire.h │ ├── hdsp.h │ ├── hdspm.h │ ├── intel │ │ └── avs │ │ │ └── tokens.h │ ├── sb16_csp.h │ ├── sfnt_info.h │ ├── skl-tplg-interface.h │ ├── snd_ar_tokens.h │ ├── snd_sst_tokens.h │ ├── sof │ │ ├── abi.h │ │ ├── fw.h │ │ ├── header.h │ │ └── tokens.h │ ├── tlv.h │ └── usb_stream.h │ ├── video │ ├── edid.h │ ├── sisfb.h │ └── uvesafb.h │ └── xen │ ├── evtchn.h │ ├── gntalloc.h │ ├── gntdev.h │ └── privcmd.h ├── regression ├── .gitignore └── Makefile ├── scripts ├── cp_s ├── generate_target_board ├── march-to-cpu-opt ├── spike.exp ├── testsuite-filter └── wrapper │ ├── .gitignore │ ├── awk │ └── awk.in │ ├── make_stderr_tail │ ├── make_tail │ ├── qemu │ ├── riscv32-unknown-elf-run │ ├── riscv32-unknown-linux-gnu-run │ ├── riscv64-unknown-elf-run │ └── riscv64-unknown-linux-gnu-run │ ├── sed │ └── sed.in │ └── spike │ ├── riscv32-unknown-elf-run │ ├── riscv32-unknown-linux-gnu-run │ ├── riscv64-unknown-elf-run │ └── riscv64-unknown-linux-gnu-run └── test ├── allowlist ├── README.md ├── binutils │ ├── common.log │ ├── glibc.log │ └── newlib.log └── gcc │ ├── common.log │ ├── gen.py │ ├── glibc.log │ ├── glibc.rv32.log │ ├── glibc.rv64.log │ ├── newlib.log │ └── rv32.log └── benchmarks └── dhrystone ├── check ├── dhrystone.c ├── dhrystone.h └── dhrystone_main.c /.github/dedup-dir.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | function deduplicate_files() { 4 | local DUPLICATES=() 5 | local DIR=${1} 6 | local IFS=$'\n' 7 | local LINK_CHECK="" 8 | 9 | readarray -t DUPLICATES < <(for i in `find ${DIR} -type f ! -empty`; do sha1sum ${i}; done | sort | uniq -w 40 --all-repeated=separate) 10 | 11 | for ((i=1; i < ${#DUPLICATES[@]}; i++ )); do 12 | if [[ ${DUPLICATES[$i]} == "" ]]; then 13 | continue 14 | elif [[ ${DUPLICATES[$i-1]} = "" ]]; then 15 | continue 16 | else 17 | LINK_CHECK=$(ls -li "${DUPLICATES[$i]:42}" "${DUPLICATES[$i-1]:42}" |awk '{print $1}' | uniq | wc -l) 18 | if [[ ${LINK_CHECK} != "1" ]]; then 19 | ln -f "${DUPLICATES[$i-1]:42}" "${DUPLICATES[$i]:42}" 20 | fi 21 | fi 22 | done 23 | 24 | return 0 25 | } 26 | 27 | deduplicate_files ${1} 28 | -------------------------------------------------------------------------------- /.github/setup-apt.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # install OS prerequisites 4 | dpkg --add-architecture i386 5 | apt update 6 | apt install -y autoconf automake autotools-dev curl python3 python3-pip python3-tomli libmpc-dev libmpfr-dev \ 7 | libgmp-dev gawk build-essential bison flex texinfo gperf libtool \ 8 | patchutils bc zlib1g-dev libexpat-dev git ninja-build cmake libglib2.0-dev expect \ 9 | device-tree-compiler python3-pyelftools libslirp-dev libzstd-dev 10 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | autom4te.cache 2 | build 3 | config.log 4 | config.status 5 | Makefile 6 | .DS_Store 7 | !/regression/Makefile 8 | /build-*/ 9 | /install-newlib-nano/ 10 | /stamps/ 11 | -------------------------------------------------------------------------------- /linux-headers/include/asm-generic/auxvec.h: -------------------------------------------------------------------------------- 1 | #ifndef __ASM_GENERIC_AUXVEC_H 2 | #define __ASM_GENERIC_AUXVEC_H 3 | /* 4 | * Not all architectures need their own auxvec.h, the most 5 | * common definitions are already in linux/auxvec.h. 6 | */ 7 | 8 | #endif /* __ASM_GENERIC_AUXVEC_H */ 9 | -------------------------------------------------------------------------------- /linux-headers/include/asm-generic/bitsperlong.h: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 2 | #ifndef __ASM_GENERIC_BITS_PER_LONG 3 | #define __ASM_GENERIC_BITS_PER_LONG 4 | 5 | #ifndef __BITS_PER_LONG 6 | /* 7 | * In order to keep safe and avoid regression, only unify uapi 8 | * bitsperlong.h for some archs which are using newer toolchains 9 | * that have the definitions of __CHAR_BIT__ and __SIZEOF_LONG__. 10 | * See the following link for more info: 11 | * https://lore.kernel.org/linux-arch/b9624545-2c80-49a1-ac3c-39264a591f7b@app.fastmail.com/ 12 | */ 13 | #if defined(__CHAR_BIT__) && defined(__SIZEOF_LONG__) 14 | #define __BITS_PER_LONG (__CHAR_BIT__ * __SIZEOF_LONG__) 15 | #else 16 | /* 17 | * There seems to be no way of detecting this automatically from user 18 | * space, so 64 bit architectures should override this in their 19 | * bitsperlong.h. In particular, an architecture that supports 20 | * both 32 and 64 bit user space must not rely on CONFIG_64BIT 21 | * to decide it, but rather check a compiler provided macro. 22 | */ 23 | #define __BITS_PER_LONG 32 24 | #endif 25 | #endif 26 | 27 | #endif /* __ASM_GENERIC_BITS_PER_LONG */ 28 | -------------------------------------------------------------------------------- /linux-headers/include/asm-generic/bpf_perf_event.h: -------------------------------------------------------------------------------- 1 | #ifndef __ASM_GENERIC_BPF_PERF_EVENT_H__ 2 | #define __ASM_GENERIC_BPF_PERF_EVENT_H__ 3 | 4 | #include 5 | 6 | /* Export kernel pt_regs structure */ 7 | typedef struct pt_regs bpf_user_pt_regs_t; 8 | 9 | #endif /* __ASM_GENERIC_BPF_PERF_EVENT_H__ */ 10 | -------------------------------------------------------------------------------- /linux-headers/include/asm-generic/int-l64.h: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 2 | /* 3 | * asm-generic/int-l64.h 4 | * 5 | * Integer declarations for architectures which use "long" 6 | * for 64-bit types. 7 | */ 8 | 9 | #ifndef _ASM_GENERIC_INT_L64_H 10 | #define _ASM_GENERIC_INT_L64_H 11 | 12 | #include 13 | 14 | #ifndef __ASSEMBLY__ 15 | /* 16 | * __xx is ok: it doesn't pollute the POSIX namespace. Use these in the 17 | * header files exported to user space 18 | */ 19 | 20 | typedef __signed__ char __s8; 21 | typedef unsigned char __u8; 22 | 23 | typedef __signed__ short __s16; 24 | typedef unsigned short __u16; 25 | 26 | typedef __signed__ int __s32; 27 | typedef unsigned int __u32; 28 | 29 | typedef __signed__ long __s64; 30 | typedef unsigned long __u64; 31 | 32 | #endif /* __ASSEMBLY__ */ 33 | 34 | 35 | #endif /* _ASM_GENERIC_INT_L64_H */ 36 | -------------------------------------------------------------------------------- /linux-headers/include/asm-generic/int-ll64.h: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 2 | /* 3 | * asm-generic/int-ll64.h 4 | * 5 | * Integer declarations for architectures which use "long long" 6 | * for 64-bit types. 7 | */ 8 | 9 | #ifndef _ASM_GENERIC_INT_LL64_H 10 | #define _ASM_GENERIC_INT_LL64_H 11 | 12 | #include 13 | 14 | #ifndef __ASSEMBLY__ 15 | /* 16 | * __xx is ok: it doesn't pollute the POSIX namespace. Use these in the 17 | * header files exported to user space 18 | */ 19 | 20 | typedef __signed__ char __s8; 21 | typedef unsigned char __u8; 22 | 23 | typedef __signed__ short __s16; 24 | typedef unsigned short __u16; 25 | 26 | typedef __signed__ int __s32; 27 | typedef unsigned int __u32; 28 | 29 | #ifdef __GNUC__ 30 | __extension__ typedef __signed__ long long __s64; 31 | __extension__ typedef unsigned long long __u64; 32 | #else 33 | typedef __signed__ long long __s64; 34 | typedef unsigned long long __u64; 35 | #endif 36 | 37 | #endif /* __ASSEMBLY__ */ 38 | 39 | 40 | #endif /* _ASM_GENERIC_INT_LL64_H */ 41 | -------------------------------------------------------------------------------- /linux-headers/include/asm-generic/kvm_para.h: -------------------------------------------------------------------------------- 1 | /* 2 | * There isn't anything here, but the file must not be empty or patch 3 | * will delete it. 4 | */ 5 | -------------------------------------------------------------------------------- /linux-headers/include/asm-generic/mman.h: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 2 | #ifndef __ASM_GENERIC_MMAN_H 3 | #define __ASM_GENERIC_MMAN_H 4 | 5 | #include 6 | 7 | #define MAP_GROWSDOWN 0x0100 /* stack-like segment */ 8 | #define MAP_DENYWRITE 0x0800 /* ETXTBSY */ 9 | #define MAP_EXECUTABLE 0x1000 /* mark it as an executable */ 10 | #define MAP_LOCKED 0x2000 /* pages are locked */ 11 | #define MAP_NORESERVE 0x4000 /* don't check for reservations */ 12 | 13 | /* 14 | * Bits [26:31] are reserved, see asm-generic/hugetlb_encode.h 15 | * for MAP_HUGETLB usage 16 | */ 17 | 18 | #define MCL_CURRENT 1 /* lock all current mappings */ 19 | #define MCL_FUTURE 2 /* lock all future mappings */ 20 | #define MCL_ONFAULT 4 /* lock all pages that are faulted in */ 21 | 22 | #endif /* __ASM_GENERIC_MMAN_H */ 23 | -------------------------------------------------------------------------------- /linux-headers/include/asm-generic/param.h: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 2 | #ifndef __ASM_GENERIC_PARAM_H 3 | #define __ASM_GENERIC_PARAM_H 4 | 5 | #ifndef HZ 6 | #define HZ 100 7 | #endif 8 | 9 | #ifndef EXEC_PAGESIZE 10 | #define EXEC_PAGESIZE 4096 11 | #endif 12 | 13 | #ifndef NOGROUP 14 | #define NOGROUP (-1) 15 | #endif 16 | 17 | #define MAXHOSTNAMELEN 64 /* max length of hostname */ 18 | 19 | 20 | #endif /* __ASM_GENERIC_PARAM_H */ 21 | -------------------------------------------------------------------------------- /linux-headers/include/asm-generic/poll.h: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 2 | #ifndef __ASM_GENERIC_POLL_H 3 | #define __ASM_GENERIC_POLL_H 4 | 5 | /* These are specified by iBCS2 */ 6 | #define POLLIN 0x0001 7 | #define POLLPRI 0x0002 8 | #define POLLOUT 0x0004 9 | #define POLLERR 0x0008 10 | #define POLLHUP 0x0010 11 | #define POLLNVAL 0x0020 12 | 13 | /* The rest seem to be more-or-less nonstandard. Check them! */ 14 | #define POLLRDNORM 0x0040 15 | #define POLLRDBAND 0x0080 16 | #ifndef POLLWRNORM 17 | #define POLLWRNORM 0x0100 18 | #endif 19 | #ifndef POLLWRBAND 20 | #define POLLWRBAND 0x0200 21 | #endif 22 | #ifndef POLLMSG 23 | #define POLLMSG 0x0400 24 | #endif 25 | #ifndef POLLREMOVE 26 | #define POLLREMOVE 0x1000 27 | #endif 28 | #ifndef POLLRDHUP 29 | #define POLLRDHUP 0x2000 30 | #endif 31 | 32 | #define POLLFREE (__poll_t)0x4000 33 | 34 | #define POLL_BUSY_LOOP (__poll_t)0x8000 35 | 36 | struct pollfd { 37 | int fd; 38 | short events; 39 | short revents; 40 | }; 41 | 42 | #endif /* __ASM_GENERIC_POLL_H */ 43 | -------------------------------------------------------------------------------- /linux-headers/include/asm-generic/setup.h: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 2 | #ifndef __ASM_GENERIC_SETUP_H 3 | #define __ASM_GENERIC_SETUP_H 4 | 5 | #define COMMAND_LINE_SIZE 512 6 | 7 | #endif /* __ASM_GENERIC_SETUP_H */ 8 | -------------------------------------------------------------------------------- /linux-headers/include/asm-generic/sockios.h: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 2 | #ifndef __ASM_GENERIC_SOCKIOS_H 3 | #define __ASM_GENERIC_SOCKIOS_H 4 | 5 | /* Socket-level I/O control calls. */ 6 | #define FIOSETOWN 0x8901 7 | #define SIOCSPGRP 0x8902 8 | #define FIOGETOWN 0x8903 9 | #define SIOCGPGRP 0x8904 10 | #define SIOCATMARK 0x8905 11 | #define SIOCGSTAMP_OLD 0x8906 /* Get stamp (timeval) */ 12 | #define SIOCGSTAMPNS_OLD 0x8907 /* Get stamp (timespec) */ 13 | 14 | #endif /* __ASM_GENERIC_SOCKIOS_H */ 15 | -------------------------------------------------------------------------------- /linux-headers/include/asm-generic/swab.h: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 2 | #ifndef _ASM_GENERIC_SWAB_H 3 | #define _ASM_GENERIC_SWAB_H 4 | 5 | #include 6 | 7 | /* 8 | * 32 bit architectures typically (but not always) want to 9 | * set __SWAB_64_THRU_32__. In user space, this is only 10 | * valid if the compiler supports 64 bit data types. 11 | */ 12 | 13 | #if __BITS_PER_LONG == 32 14 | #if defined(__GNUC__) && !defined(__STRICT_ANSI__) || defined(__KERNEL__) 15 | #define __SWAB_64_THRU_32__ 16 | #endif 17 | #endif 18 | 19 | #endif /* _ASM_GENERIC_SWAB_H */ 20 | -------------------------------------------------------------------------------- /linux-headers/include/asm-generic/types.h: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 2 | #ifndef _ASM_GENERIC_TYPES_H 3 | #define _ASM_GENERIC_TYPES_H 4 | /* 5 | * int-ll64 is used everywhere now. 6 | */ 7 | #include 8 | 9 | #endif /* _ASM_GENERIC_TYPES_H */ 10 | -------------------------------------------------------------------------------- /linux-headers/include/asm-generic/ucontext.h: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 2 | #ifndef __ASM_GENERIC_UCONTEXT_H 3 | #define __ASM_GENERIC_UCONTEXT_H 4 | 5 | struct ucontext { 6 | unsigned long uc_flags; 7 | struct ucontext *uc_link; 8 | stack_t uc_stack; 9 | struct sigcontext uc_mcontext; 10 | sigset_t uc_sigmask; /* mask last for extensibility */ 11 | }; 12 | 13 | #endif /* __ASM_GENERIC_UCONTEXT_H */ 14 | -------------------------------------------------------------------------------- /linux-headers/include/asm/bitsperlong.h: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: GPL-2.0-only WITH Linux-syscall-note */ 2 | /* 3 | * Copyright (C) 2012 ARM Ltd. 4 | * Copyright (C) 2015 Regents of the University of California 5 | */ 6 | 7 | #ifndef _ASM_RISCV_BITSPERLONG_H 8 | #define _ASM_RISCV_BITSPERLONG_H 9 | 10 | #define __BITS_PER_LONG (__SIZEOF_POINTER__ * 8) 11 | 12 | #include 13 | 14 | #endif /* _ASM_RISCV_BITSPERLONG_H */ 15 | -------------------------------------------------------------------------------- /linux-headers/include/asm/bpf_perf_event.h: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 2 | #ifndef __ASM_BPF_PERF_EVENT_H__ 3 | #define __ASM_BPF_PERF_EVENT_H__ 4 | 5 | #include 6 | 7 | typedef struct user_regs_struct bpf_user_pt_regs_t; 8 | 9 | #endif /* __ASM_BPF_PERF_EVENT_H__ */ 10 | -------------------------------------------------------------------------------- /linux-headers/include/asm/byteorder.h: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: GPL-2.0-only WITH Linux-syscall-note */ 2 | /* 3 | * Copyright (C) 2012 ARM Ltd. 4 | * Copyright (C) 2015 Regents of the University of California 5 | */ 6 | 7 | #ifndef _ASM_RISCV_BYTEORDER_H 8 | #define _ASM_RISCV_BYTEORDER_H 9 | 10 | #include 11 | 12 | #endif /* _ASM_RISCV_BYTEORDER_H */ 13 | -------------------------------------------------------------------------------- /linux-headers/include/asm/errno.h: -------------------------------------------------------------------------------- 1 | #include 2 | -------------------------------------------------------------------------------- /linux-headers/include/asm/fcntl.h: -------------------------------------------------------------------------------- 1 | #include 2 | -------------------------------------------------------------------------------- /linux-headers/include/asm/hwcap.h: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: GPL-2.0-only WITH Linux-syscall-note */ 2 | /* 3 | * Copied from arch/arm64/include/asm/hwcap.h 4 | * 5 | * Copyright (C) 2012 ARM Ltd. 6 | * Copyright (C) 2017 SiFive 7 | */ 8 | #ifndef _ASM_RISCV_HWCAP_H 9 | #define _ASM_RISCV_HWCAP_H 10 | 11 | /* 12 | * Linux saves the floating-point registers according to the ISA Linux is 13 | * executing on, as opposed to the ISA the user program is compiled for. This 14 | * is necessary for a handful of esoteric use cases: for example, userspace 15 | * threading libraries must be able to examine the actual machine state in 16 | * order to fully reconstruct the state of a thread. 17 | */ 18 | #define COMPAT_HWCAP_ISA_I (1 << ('I' - 'A')) 19 | #define COMPAT_HWCAP_ISA_M (1 << ('M' - 'A')) 20 | #define COMPAT_HWCAP_ISA_A (1 << ('A' - 'A')) 21 | #define COMPAT_HWCAP_ISA_F (1 << ('F' - 'A')) 22 | #define COMPAT_HWCAP_ISA_D (1 << ('D' - 'A')) 23 | #define COMPAT_HWCAP_ISA_C (1 << ('C' - 'A')) 24 | #define COMPAT_HWCAP_ISA_V (1 << ('V' - 'A')) 25 | 26 | #endif /* _ASM_RISCV_HWCAP_H */ 27 | -------------------------------------------------------------------------------- /linux-headers/include/asm/ioctl.h: -------------------------------------------------------------------------------- 1 | #include 2 | -------------------------------------------------------------------------------- /linux-headers/include/asm/ioctls.h: -------------------------------------------------------------------------------- 1 | #include 2 | -------------------------------------------------------------------------------- /linux-headers/include/asm/ipcbuf.h: -------------------------------------------------------------------------------- 1 | #include 2 | -------------------------------------------------------------------------------- /linux-headers/include/asm/mman.h: -------------------------------------------------------------------------------- 1 | #include 2 | -------------------------------------------------------------------------------- /linux-headers/include/asm/msgbuf.h: -------------------------------------------------------------------------------- 1 | #include 2 | -------------------------------------------------------------------------------- /linux-headers/include/asm/param.h: -------------------------------------------------------------------------------- 1 | #include 2 | -------------------------------------------------------------------------------- /linux-headers/include/asm/perf_regs.h: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 2 | /* Copyright (C) 2019 Hangzhou C-SKY Microsystems co.,ltd. */ 3 | 4 | #ifndef _ASM_RISCV_PERF_REGS_H 5 | #define _ASM_RISCV_PERF_REGS_H 6 | 7 | enum perf_event_riscv_regs { 8 | PERF_REG_RISCV_PC, 9 | PERF_REG_RISCV_RA, 10 | PERF_REG_RISCV_SP, 11 | PERF_REG_RISCV_GP, 12 | PERF_REG_RISCV_TP, 13 | PERF_REG_RISCV_T0, 14 | PERF_REG_RISCV_T1, 15 | PERF_REG_RISCV_T2, 16 | PERF_REG_RISCV_S0, 17 | PERF_REG_RISCV_S1, 18 | PERF_REG_RISCV_A0, 19 | PERF_REG_RISCV_A1, 20 | PERF_REG_RISCV_A2, 21 | PERF_REG_RISCV_A3, 22 | PERF_REG_RISCV_A4, 23 | PERF_REG_RISCV_A5, 24 | PERF_REG_RISCV_A6, 25 | PERF_REG_RISCV_A7, 26 | PERF_REG_RISCV_S2, 27 | PERF_REG_RISCV_S3, 28 | PERF_REG_RISCV_S4, 29 | PERF_REG_RISCV_S5, 30 | PERF_REG_RISCV_S6, 31 | PERF_REG_RISCV_S7, 32 | PERF_REG_RISCV_S8, 33 | PERF_REG_RISCV_S9, 34 | PERF_REG_RISCV_S10, 35 | PERF_REG_RISCV_S11, 36 | PERF_REG_RISCV_T3, 37 | PERF_REG_RISCV_T4, 38 | PERF_REG_RISCV_T5, 39 | PERF_REG_RISCV_T6, 40 | PERF_REG_RISCV_MAX, 41 | }; 42 | #endif /* _ASM_RISCV_PERF_REGS_H */ 43 | -------------------------------------------------------------------------------- /linux-headers/include/asm/poll.h: -------------------------------------------------------------------------------- 1 | #include 2 | -------------------------------------------------------------------------------- /linux-headers/include/asm/posix_types.h: -------------------------------------------------------------------------------- 1 | #include 2 | -------------------------------------------------------------------------------- /linux-headers/include/asm/resource.h: -------------------------------------------------------------------------------- 1 | #include 2 | -------------------------------------------------------------------------------- /linux-headers/include/asm/sembuf.h: -------------------------------------------------------------------------------- 1 | #include 2 | -------------------------------------------------------------------------------- /linux-headers/include/asm/setup.h: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: GPL-2.0-only WITH Linux-syscall-note */ 2 | 3 | #ifndef _ASM_RISCV_SETUP_H 4 | #define _ASM_RISCV_SETUP_H 5 | 6 | #define COMMAND_LINE_SIZE 1024 7 | 8 | #endif /* _ASM_RISCV_SETUP_H */ 9 | -------------------------------------------------------------------------------- /linux-headers/include/asm/shmbuf.h: -------------------------------------------------------------------------------- 1 | #include 2 | -------------------------------------------------------------------------------- /linux-headers/include/asm/sigcontext.h: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: GPL-2.0-only WITH Linux-syscall-note */ 2 | /* 3 | * Copyright (C) 2012 Regents of the University of California 4 | */ 5 | 6 | #ifndef _ASM_RISCV_SIGCONTEXT_H 7 | #define _ASM_RISCV_SIGCONTEXT_H 8 | 9 | #include 10 | 11 | /* The Magic number for signal context frame header. */ 12 | #define RISCV_V_MAGIC 0x53465457 13 | #define END_MAGIC 0x0 14 | 15 | /* The size of END signal context header. */ 16 | #define END_HDR_SIZE 0x0 17 | 18 | #ifndef __ASSEMBLY__ 19 | 20 | struct __sc_riscv_v_state { 21 | struct __riscv_v_ext_state v_state; 22 | } __attribute__((aligned(16))); 23 | 24 | /* 25 | * Signal context structure 26 | * 27 | * This contains the context saved before a signal handler is invoked; 28 | * it is restored by sys_rt_sigreturn. 29 | */ 30 | struct sigcontext { 31 | struct user_regs_struct sc_regs; 32 | union { 33 | union __riscv_fp_state sc_fpregs; 34 | struct __riscv_extra_ext_header sc_extdesc; 35 | }; 36 | }; 37 | 38 | #endif /*!__ASSEMBLY__*/ 39 | 40 | #endif /* _ASM_RISCV_SIGCONTEXT_H */ 41 | -------------------------------------------------------------------------------- /linux-headers/include/asm/siginfo.h: -------------------------------------------------------------------------------- 1 | #include 2 | -------------------------------------------------------------------------------- /linux-headers/include/asm/signal.h: -------------------------------------------------------------------------------- 1 | #include 2 | -------------------------------------------------------------------------------- /linux-headers/include/asm/socket.h: -------------------------------------------------------------------------------- 1 | #include 2 | -------------------------------------------------------------------------------- /linux-headers/include/asm/sockios.h: -------------------------------------------------------------------------------- 1 | #include 2 | -------------------------------------------------------------------------------- /linux-headers/include/asm/stat.h: -------------------------------------------------------------------------------- 1 | #include 2 | -------------------------------------------------------------------------------- /linux-headers/include/asm/statfs.h: -------------------------------------------------------------------------------- 1 | #include 2 | -------------------------------------------------------------------------------- /linux-headers/include/asm/swab.h: -------------------------------------------------------------------------------- 1 | #include 2 | -------------------------------------------------------------------------------- /linux-headers/include/asm/termbits.h: -------------------------------------------------------------------------------- 1 | #include 2 | -------------------------------------------------------------------------------- /linux-headers/include/asm/termios.h: -------------------------------------------------------------------------------- 1 | #include 2 | -------------------------------------------------------------------------------- /linux-headers/include/asm/types.h: -------------------------------------------------------------------------------- 1 | #include 2 | -------------------------------------------------------------------------------- /linux-headers/include/linux/android/binderfs.h: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 2 | /* 3 | * Copyright (C) 2018 Canonical Ltd. 4 | * 5 | */ 6 | 7 | #ifndef _LINUX_BINDERFS_H 8 | #define _LINUX_BINDERFS_H 9 | 10 | #include 11 | #include 12 | #include 13 | 14 | #define BINDERFS_MAX_NAME 255 15 | 16 | /** 17 | * struct binderfs_device - retrieve information about a new binder device 18 | * @name: the name to use for the new binderfs binder device 19 | * @major: major number allocated for binderfs binder devices 20 | * @minor: minor number allocated for the new binderfs binder device 21 | * 22 | */ 23 | struct binderfs_device { 24 | char name[BINDERFS_MAX_NAME + 1]; 25 | __u32 major; 26 | __u32 minor; 27 | }; 28 | 29 | /** 30 | * Allocate a new binder device. 31 | */ 32 | #define BINDER_CTL_ADD _IOWR('b', 1, struct binderfs_device) 33 | 34 | #endif /* _LINUX_BINDERFS_H */ 35 | 36 | -------------------------------------------------------------------------------- /linux-headers/include/linux/arcfb.h: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 2 | #ifndef __LINUX_ARCFB_H__ 3 | #define __LINUX_ARCFB_H__ 4 | 5 | #define FBIO_WAITEVENT _IO('F', 0x88) 6 | #define FBIO_GETCONTROL2 _IOR('F', 0x89, size_t) 7 | 8 | #endif 9 | 10 | -------------------------------------------------------------------------------- /linux-headers/include/linux/aspeed-video.h: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: GPL-2.0+ WITH Linux-syscall-note */ 2 | /* 3 | * Copyright (C) 2021 ASPEED Technology Inc. 4 | */ 5 | 6 | #ifndef _LINUX_ASPEED_VIDEO_H 7 | #define _LINUX_ASPEED_VIDEO_H 8 | 9 | #include 10 | 11 | #define V4L2_CID_ASPEED_HQ_MODE (V4L2_CID_USER_ASPEED_BASE + 1) 12 | #define V4L2_CID_ASPEED_HQ_JPEG_QUALITY (V4L2_CID_USER_ASPEED_BASE + 2) 13 | 14 | #endif /* _LINUX_ASPEED_VIDEO_H */ 15 | -------------------------------------------------------------------------------- /linux-headers/include/linux/atm_eni.h: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 2 | /* atm_eni.h - Driver-specific declarations of the ENI driver (for use by 3 | driver-specific utilities) */ 4 | 5 | /* Written 1995-2000 by Werner Almesberger, EPFL LRC/ICA */ 6 | 7 | 8 | #ifndef LINUX_ATM_ENI_H 9 | #define LINUX_ATM_ENI_H 10 | 11 | #include 12 | 13 | 14 | struct eni_multipliers { 15 | int tx,rx; /* values are in percent and must be > 100 */ 16 | }; 17 | 18 | 19 | #define ENI_MEMDUMP _IOW('a',ATMIOC_SARPRV,struct atmif_sioc) 20 | /* printk memory map */ 21 | #define ENI_SETMULT _IOW('a',ATMIOC_SARPRV+7,struct atmif_sioc) 22 | /* set buffer multipliers */ 23 | 24 | #endif 25 | -------------------------------------------------------------------------------- /linux-headers/include/linux/atm_he.h: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 2 | /* atm_he.h */ 3 | 4 | #ifndef LINUX_ATM_HE_H 5 | #define LINUX_ATM_HE_H 6 | 7 | #include 8 | 9 | #define HE_GET_REG _IOW('a', ATMIOC_SARPRV, struct atmif_sioc) 10 | 11 | #define HE_REGTYPE_PCI 1 12 | #define HE_REGTYPE_RCM 2 13 | #define HE_REGTYPE_TCM 3 14 | #define HE_REGTYPE_MBOX 4 15 | 16 | struct he_ioctl_reg { 17 | unsigned addr, val; 18 | char type; 19 | }; 20 | 21 | #endif /* LINUX_ATM_HE_H */ 22 | -------------------------------------------------------------------------------- /linux-headers/include/linux/atm_idt77105.h: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 2 | /* atm_idt77105.h - Driver-specific declarations of the IDT77105 driver (for 3 | * use by driver-specific utilities) */ 4 | 5 | /* Written 1999 by Greg Banks . Copied from atm_suni.h. */ 6 | 7 | 8 | #ifndef LINUX_ATM_IDT77105_H 9 | #define LINUX_ATM_IDT77105_H 10 | 11 | #include 12 | #include 13 | #include 14 | 15 | /* 16 | * Structure for IDT77105_GETSTAT and IDT77105_GETSTATZ ioctls. 17 | * Pointed to by `arg' in atmif_sioc. 18 | */ 19 | struct idt77105_stats { 20 | __u32 symbol_errors; /* wire symbol errors */ 21 | __u32 tx_cells; /* cells transmitted */ 22 | __u32 rx_cells; /* cells received */ 23 | __u32 rx_hec_errors; /* Header Error Check errors on receive */ 24 | }; 25 | 26 | #define IDT77105_GETSTAT _IOW('a',ATMIOC_PHYPRV+2,struct atmif_sioc) /* get stats */ 27 | #define IDT77105_GETSTATZ _IOW('a',ATMIOC_PHYPRV+3,struct atmif_sioc) /* get stats and zero */ 28 | 29 | #endif 30 | -------------------------------------------------------------------------------- /linux-headers/include/linux/atmapi.h: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 2 | /* atmapi.h - ATM API user space/kernel compatibility */ 3 | 4 | /* Written 1999,2000 by Werner Almesberger, EPFL ICA */ 5 | 6 | 7 | #ifndef _LINUX_ATMAPI_H 8 | #define _LINUX_ATMAPI_H 9 | 10 | #if defined(__sparc__) || defined(__ia64__) 11 | /* such alignment is not required on 32 bit sparcs, but we can't 12 | figure that we are on a sparc64 while compiling user-space programs. */ 13 | #define __ATM_API_ALIGN __attribute__((aligned(8))) 14 | #else 15 | #define __ATM_API_ALIGN 16 | #endif 17 | 18 | 19 | /* 20 | * Opaque type for kernel pointers. Note that _ is never accessed. We need 21 | * the struct in order hide the array, so that we can make simple assignments 22 | * instead of being forced to use memcpy. It also improves error reporting for 23 | * code that still assumes that we're passing unsigned longs. 24 | * 25 | * Convention: NULL pointers are passed as a field of all zeroes. 26 | */ 27 | 28 | typedef struct { unsigned char _[8]; } __ATM_API_ALIGN atm_kptr_t; 29 | 30 | #endif 31 | -------------------------------------------------------------------------------- /linux-headers/include/linux/atmclip.h: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 2 | /* atmclip.h - Classical IP over ATM */ 3 | 4 | /* Written 1995-1998 by Werner Almesberger, EPFL LRC/ICA */ 5 | 6 | 7 | #ifndef LINUX_ATMCLIP_H 8 | #define LINUX_ATMCLIP_H 9 | 10 | #include 11 | #include 12 | 13 | 14 | #define RFC1483LLC_LEN 8 /* LLC+OUI+PID = 8 */ 15 | #define RFC1626_MTU 9180 /* RFC1626 default MTU */ 16 | 17 | #define CLIP_DEFAULT_IDLETIMER 1200 /* 20 minutes, see RFC1755 */ 18 | #define CLIP_CHECK_INTERVAL 10 /* check every ten seconds */ 19 | 20 | #define SIOCMKCLIP _IO('a',ATMIOC_CLIP) /* create IP interface */ 21 | 22 | #endif 23 | -------------------------------------------------------------------------------- /linux-headers/include/linux/atmppp.h: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 2 | /* atmppp.h - RFC2364 PPPoATM */ 3 | 4 | /* Written 2000 by Mitchell Blank Jr */ 5 | 6 | #ifndef _LINUX_ATMPPP_H 7 | #define _LINUX_ATMPPP_H 8 | 9 | #include 10 | 11 | #define PPPOATM_ENCAPS_AUTODETECT (0) 12 | #define PPPOATM_ENCAPS_VC (1) 13 | #define PPPOATM_ENCAPS_LLC (2) 14 | 15 | /* 16 | * This is for the ATM_SETBACKEND call - these are like socket families: 17 | * the first element of the structure is the backend number and the rest 18 | * is per-backend specific 19 | */ 20 | struct atm_backend_ppp { 21 | atm_backend_t backend_num; /* ATM_BACKEND_PPP */ 22 | int encaps; /* PPPOATM_ENCAPS_* */ 23 | }; 24 | 25 | #endif /* _LINUX_ATMPPP_H */ 26 | -------------------------------------------------------------------------------- /linux-headers/include/linux/auto_fs4.h: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: GPL-2.0+ WITH Linux-syscall-note */ 2 | /* 3 | * Copyright 1999-2000 Jeremy Fitzhardinge 4 | * 5 | * This file is part of the Linux kernel and is made available under 6 | * the terms of the GNU General Public License, version 2, or at your 7 | * option, any later version, incorporated herein by reference. 8 | */ 9 | 10 | #ifndef _LINUX_AUTO_FS4_H 11 | #define _LINUX_AUTO_FS4_H 12 | 13 | #include 14 | 15 | #endif /* _LINUX_AUTO_FS4_H */ 16 | -------------------------------------------------------------------------------- /linux-headers/include/linux/baycom.h: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 2 | /* 3 | * The Linux BAYCOM driver for the Baycom serial 1200 baud modem 4 | * and the parallel 9600 baud modem 5 | * (C) 1997-1998 by Thomas Sailer, HB9JNX/AE4WA 6 | */ 7 | 8 | #ifndef _BAYCOM_H 9 | #define _BAYCOM_H 10 | 11 | /* -------------------------------------------------------------------- */ 12 | /* 13 | * structs for the IOCTL commands 14 | */ 15 | 16 | struct baycom_debug_data { 17 | unsigned long debug1; 18 | unsigned long debug2; 19 | long debug3; 20 | }; 21 | 22 | struct baycom_ioctl { 23 | int cmd; 24 | union { 25 | struct baycom_debug_data dbg; 26 | } data; 27 | }; 28 | 29 | /* -------------------------------------------------------------------- */ 30 | 31 | /* 32 | * ioctl values change for baycom 33 | */ 34 | #define BAYCOMCTL_GETDEBUG 0x92 35 | 36 | /* -------------------------------------------------------------------- */ 37 | 38 | #endif /* _BAYCOM_H */ 39 | 40 | /* --------------------------------------------------------------------- */ 41 | -------------------------------------------------------------------------------- /linux-headers/include/linux/bcm933xx_hcs.h: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 2 | /* 3 | * Broadcom Cable Modem firmware format 4 | */ 5 | 6 | #ifndef __BCM933XX_HCS_H 7 | #define __BCM933XX_HCS_H 8 | 9 | #include 10 | 11 | struct bcm_hcs { 12 | __u16 magic; 13 | __u16 control; 14 | __u16 rev_maj; 15 | __u16 rev_min; 16 | __u32 build_date; 17 | __u32 filelen; 18 | __u32 ldaddress; 19 | char filename[64]; 20 | __u16 hcs; 21 | __u16 her_znaet_chto; 22 | __u32 crc; 23 | }; 24 | 25 | #endif /* __BCM933XX_HCS */ 26 | -------------------------------------------------------------------------------- /linux-headers/include/linux/binfmts.h: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 2 | #ifndef _LINUX_BINFMTS_H 3 | #define _LINUX_BINFMTS_H 4 | 5 | #include 6 | 7 | struct pt_regs; 8 | 9 | /* 10 | * These are the maximum length and maximum number of strings passed to the 11 | * execve() system call. MAX_ARG_STRLEN is essentially random but serves to 12 | * prevent the kernel from being unduly impacted by misaddressed pointers. 13 | * MAX_ARG_STRINGS is chosen to fit in a signed 32-bit integer. 14 | */ 15 | #define MAX_ARG_STRLEN (PAGE_SIZE * 32) 16 | #define MAX_ARG_STRINGS 0x7FFFFFFF 17 | 18 | /* sizeof(linux_binprm->buf) */ 19 | #define BINPRM_BUF_SIZE 256 20 | 21 | /* preserve argv0 for the interpreter */ 22 | #define AT_FLAGS_PRESERVE_ARGV0_BIT 0 23 | #define AT_FLAGS_PRESERVE_ARGV0 (1 << AT_FLAGS_PRESERVE_ARGV0_BIT) 24 | 25 | #endif /* _LINUX_BINFMTS_H */ 26 | -------------------------------------------------------------------------------- /linux-headers/include/linux/blkpg.h: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 2 | #ifndef __LINUX_BLKPG_H 3 | #define __LINUX_BLKPG_H 4 | 5 | 6 | #include 7 | 8 | #define BLKPG _IO(0x12,105) 9 | 10 | /* The argument structure */ 11 | struct blkpg_ioctl_arg { 12 | int op; 13 | int flags; 14 | int datalen; 15 | void *data; 16 | }; 17 | 18 | /* The subfunctions (for the op field) */ 19 | #define BLKPG_ADD_PARTITION 1 20 | #define BLKPG_DEL_PARTITION 2 21 | #define BLKPG_RESIZE_PARTITION 3 22 | 23 | /* Sizes of name fields. Unused at present. */ 24 | #define BLKPG_DEVNAMELTH 64 25 | #define BLKPG_VOLNAMELTH 64 26 | 27 | /* The data structure for ADD_PARTITION and DEL_PARTITION */ 28 | struct blkpg_partition { 29 | long long start; /* starting offset in bytes */ 30 | long long length; /* length in bytes */ 31 | int pno; /* partition number */ 32 | char devname[BLKPG_DEVNAMELTH]; /* unused / ignored */ 33 | char volname[BLKPG_VOLNAMELTH]; /* unused / ignore */ 34 | }; 35 | 36 | #endif /* __LINUX_BLKPG_H */ 37 | -------------------------------------------------------------------------------- /linux-headers/include/linux/bpf_perf_event.h: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 2 | /* Copyright (c) 2016 Facebook 3 | * 4 | * This program is free software; you can redistribute it and/or 5 | * modify it under the terms of version 2 of the GNU General Public 6 | * License as published by the Free Software Foundation. 7 | */ 8 | #ifndef __LINUX_BPF_PERF_EVENT_H__ 9 | #define __LINUX_BPF_PERF_EVENT_H__ 10 | 11 | #include 12 | 13 | struct bpf_perf_event_data { 14 | bpf_user_pt_regs_t regs; 15 | __u64 sample_period; 16 | __u64 addr; 17 | }; 18 | 19 | #endif /* __LINUX_BPF_PERF_EVENT_H__ */ 20 | -------------------------------------------------------------------------------- /linux-headers/include/linux/bpfilter.h: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 2 | #ifndef _LINUX_BPFILTER_H 3 | #define _LINUX_BPFILTER_H 4 | 5 | #include 6 | 7 | enum { 8 | BPFILTER_IPT_SO_SET_REPLACE = 64, 9 | BPFILTER_IPT_SO_SET_ADD_COUNTERS = 65, 10 | BPFILTER_IPT_SET_MAX, 11 | }; 12 | 13 | enum { 14 | BPFILTER_IPT_SO_GET_INFO = 64, 15 | BPFILTER_IPT_SO_GET_ENTRIES = 65, 16 | BPFILTER_IPT_SO_GET_REVISION_MATCH = 66, 17 | BPFILTER_IPT_SO_GET_REVISION_TARGET = 67, 18 | BPFILTER_IPT_GET_MAX, 19 | }; 20 | 21 | #endif /* _LINUX_BPFILTER_H */ 22 | -------------------------------------------------------------------------------- /linux-headers/include/linux/bt-bmc.h: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: GPL-2.0+ WITH Linux-syscall-note */ 2 | /* 3 | * Copyright (c) 2015-2016, IBM Corporation. 4 | * 5 | * This program is free software; you can redistribute it and/or 6 | * modify it under the terms of the GNU General Public License 7 | * as published by the Free Software Foundation; either version 8 | * 2 of the License, or (at your option) any later version. 9 | */ 10 | 11 | #ifndef _LINUX_BT_BMC_H 12 | #define _LINUX_BT_BMC_H 13 | 14 | #include 15 | 16 | #define __BT_BMC_IOCTL_MAGIC 0xb1 17 | #define BT_BMC_IOCTL_SMS_ATN _IO(__BT_BMC_IOCTL_MAGIC, 0x00) 18 | 19 | #endif /* _LINUX_BT_BMC_H */ 20 | -------------------------------------------------------------------------------- /linux-headers/include/linux/can/vxcan.h: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: GPL-2.0-only WITH Linux-syscall-note */ 2 | #ifndef _CAN_VXCAN_H 3 | #define _CAN_VXCAN_H 4 | 5 | enum { 6 | VXCAN_INFO_UNSPEC, 7 | VXCAN_INFO_PEER, 8 | 9 | __VXCAN_INFO_MAX 10 | #define VXCAN_INFO_MAX (__VXCAN_INFO_MAX - 1) 11 | }; 12 | 13 | #endif 14 | -------------------------------------------------------------------------------- /linux-headers/include/linux/ccs.h: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: GPL-2.0-only WITH Linux-syscall-note */ 2 | /* Copyright (C) 2020 Intel Corporation */ 3 | 4 | #ifndef __UAPI_CCS_H__ 5 | #define __UAPI_CCS_H__ 6 | 7 | #include 8 | 9 | #define V4L2_CID_CCS_ANALOGUE_GAIN_M0 (V4L2_CID_USER_CCS_BASE + 1) 10 | #define V4L2_CID_CCS_ANALOGUE_GAIN_C0 (V4L2_CID_USER_CCS_BASE + 2) 11 | #define V4L2_CID_CCS_ANALOGUE_GAIN_M1 (V4L2_CID_USER_CCS_BASE + 3) 12 | #define V4L2_CID_CCS_ANALOGUE_GAIN_C1 (V4L2_CID_USER_CCS_BASE + 4) 13 | #define V4L2_CID_CCS_ANALOGUE_LINEAR_GAIN (V4L2_CID_USER_CCS_BASE + 5) 14 | #define V4L2_CID_CCS_ANALOGUE_EXPONENTIAL_GAIN (V4L2_CID_USER_CCS_BASE + 6) 15 | #define V4L2_CID_CCS_SHADING_CORRECTION (V4L2_CID_USER_CCS_BASE + 8) 16 | #define V4L2_CID_CCS_LUMINANCE_CORRECTION_LEVEL (V4L2_CID_USER_CCS_BASE + 9) 17 | 18 | #endif 19 | -------------------------------------------------------------------------------- /linux-headers/include/linux/close_range.h: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 2 | #ifndef _LINUX_CLOSE_RANGE_H 3 | #define _LINUX_CLOSE_RANGE_H 4 | 5 | /* Unshare the file descriptor table before closing file descriptors. */ 6 | #define CLOSE_RANGE_UNSHARE (1U << 1) 7 | 8 | /* Set the FD_CLOEXEC bit instead of closing the file descriptor. */ 9 | #define CLOSE_RANGE_CLOEXEC (1U << 2) 10 | 11 | #endif /* _LINUX_CLOSE_RANGE_H */ 12 | 13 | -------------------------------------------------------------------------------- /linux-headers/include/linux/const.h: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 2 | /* const.h: Macros for dealing with constants. */ 3 | 4 | #ifndef _LINUX_CONST_H 5 | #define _LINUX_CONST_H 6 | 7 | /* Some constant macros are used in both assembler and 8 | * C code. Therefore we cannot annotate them always with 9 | * 'UL' and other type specifiers unilaterally. We 10 | * use the following macros to deal with this. 11 | * 12 | * Similarly, _AT() will cast an expression with a type in C, but 13 | * leave it unchanged in asm. 14 | */ 15 | 16 | #ifdef __ASSEMBLY__ 17 | #define _AC(X,Y) X 18 | #define _AT(T,X) X 19 | #else 20 | #define __AC(X,Y) (X##Y) 21 | #define _AC(X,Y) __AC(X,Y) 22 | #define _AT(T,X) ((T)(X)) 23 | #endif 24 | 25 | #define _UL(x) (_AC(x, UL)) 26 | #define _ULL(x) (_AC(x, ULL)) 27 | 28 | #define _BITUL(x) (_UL(1) << (x)) 29 | #define _BITULL(x) (_ULL(1) << (x)) 30 | 31 | #define __ALIGN_KERNEL(x, a) __ALIGN_KERNEL_MASK(x, (__typeof__(x))(a) - 1) 32 | #define __ALIGN_KERNEL_MASK(x, mask) (((x) + (mask)) & ~(mask)) 33 | 34 | #define __KERNEL_DIV_ROUND_UP(n, d) (((n) + (d) - 1) / (d)) 35 | 36 | #endif /* _LINUX_CONST_H */ 37 | -------------------------------------------------------------------------------- /linux-headers/include/linux/coresight-stm.h: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 2 | #ifndef __UAPI_CORESIGHT_STM_H_ 3 | #define __UAPI_CORESIGHT_STM_H_ 4 | 5 | #include 6 | 7 | #define STM_FLAG_TIMESTAMPED _BITUL(3) 8 | #define STM_FLAG_MARKED _BITUL(4) 9 | #define STM_FLAG_GUARANTEED _BITUL(7) 10 | 11 | /* 12 | * The CoreSight STM supports guaranteed and invariant timing 13 | * transactions. Guaranteed transactions are guaranteed to be 14 | * traced, this might involve stalling the bus or system to 15 | * ensure the transaction is accepted by the STM. While invariant 16 | * timing transactions are not guaranteed to be traced, they 17 | * will take an invariant amount of time regardless of the 18 | * state of the STM. 19 | */ 20 | enum { 21 | STM_OPTION_GUARANTEED = 0, 22 | STM_OPTION_INVARIANT, 23 | }; 24 | 25 | #endif 26 | -------------------------------------------------------------------------------- /linux-headers/include/linux/cuda.h: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 2 | /* 3 | * Definitions for talking to the CUDA. The CUDA is a microcontroller 4 | * which controls the ADB, system power, RTC, and various other things. 5 | * 6 | * Copyright (C) 1996 Paul Mackerras. 7 | */ 8 | 9 | #ifndef _LINUX_CUDA_H 10 | #define _LINUX_CUDA_H 11 | 12 | /* CUDA commands (2nd byte) */ 13 | #define CUDA_WARM_START 0 14 | #define CUDA_AUTOPOLL 1 15 | #define CUDA_GET_6805_ADDR 2 16 | #define CUDA_GET_TIME 3 17 | #define CUDA_GET_PRAM 7 18 | #define CUDA_SET_6805_ADDR 8 19 | #define CUDA_SET_TIME 9 20 | #define CUDA_POWERDOWN 0xa 21 | #define CUDA_POWERUP_TIME 0xb 22 | #define CUDA_SET_PRAM 0xc 23 | #define CUDA_MS_RESET 0xd 24 | #define CUDA_SEND_DFAC 0xe 25 | #define CUDA_RESET_SYSTEM 0x11 26 | #define CUDA_SET_IPL 0x12 27 | #define CUDA_SET_AUTO_RATE 0x14 28 | #define CUDA_GET_AUTO_RATE 0x16 29 | #define CUDA_SET_DEVICE_LIST 0x19 30 | #define CUDA_GET_DEVICE_LIST 0x1a 31 | #define CUDA_GET_SET_IIC 0x22 32 | 33 | 34 | #endif /* _LINUX_CUDA_H */ 35 | -------------------------------------------------------------------------------- /linux-headers/include/linux/cyclades.h: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 2 | 3 | #ifndef _LINUX_CYCLADES_H 4 | #define _LINUX_CYCLADES_H 5 | 6 | #warning "Support for features provided by this header has been removed" 7 | #warning "Please consider updating your code" 8 | 9 | struct cyclades_monitor { 10 | unsigned long int_count; 11 | unsigned long char_count; 12 | unsigned long char_max; 13 | unsigned long char_last; 14 | }; 15 | 16 | #define CYGETMON 0x435901 17 | #define CYGETTHRESH 0x435902 18 | #define CYSETTHRESH 0x435903 19 | #define CYGETDEFTHRESH 0x435904 20 | #define CYSETDEFTHRESH 0x435905 21 | #define CYGETTIMEOUT 0x435906 22 | #define CYSETTIMEOUT 0x435907 23 | #define CYGETDEFTIMEOUT 0x435908 24 | #define CYSETDEFTIMEOUT 0x435909 25 | #define CYSETRFLOW 0x43590a 26 | #define CYGETRFLOW 0x43590b 27 | #define CYSETRTSDTR_INV 0x43590c 28 | #define CYGETRTSDTR_INV 0x43590d 29 | #define CYZSETPOLLCYCLE 0x43590e 30 | #define CYZGETPOLLCYCLE 0x43590f 31 | #define CYGETCD1400VER 0x435910 32 | #define CYSETWAIT 0x435912 33 | #define CYGETWAIT 0x435913 34 | 35 | #endif /* _LINUX_CYCLADES_H */ 36 | -------------------------------------------------------------------------------- /linux-headers/include/linux/dlm_plock.h: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 2 | /* 3 | * Copyright (C) 2005-2008 Red Hat, Inc. All rights reserved. 4 | * 5 | * This copyrighted material is made available to anyone wishing to use, 6 | * modify, copy, or redistribute it subject to the terms and conditions 7 | * of the GNU General Public License v.2. 8 | */ 9 | 10 | #ifndef __DLM_PLOCK_DOT_H__ 11 | #define __DLM_PLOCK_DOT_H__ 12 | 13 | #include 14 | 15 | #define DLM_PLOCK_MISC_NAME "dlm_plock" 16 | 17 | #define DLM_PLOCK_VERSION_MAJOR 1 18 | #define DLM_PLOCK_VERSION_MINOR 2 19 | #define DLM_PLOCK_VERSION_PATCH 0 20 | 21 | enum { 22 | DLM_PLOCK_OP_LOCK = 1, 23 | DLM_PLOCK_OP_UNLOCK, 24 | DLM_PLOCK_OP_GET, 25 | DLM_PLOCK_OP_CANCEL, 26 | }; 27 | 28 | #define DLM_PLOCK_FL_CLOSE 1 29 | 30 | struct dlm_plock_info { 31 | __u32 version[3]; 32 | __u8 optype; 33 | __u8 ex; 34 | __u8 wait; 35 | __u8 flags; 36 | __u32 pid; 37 | __s32 nodeid; 38 | __s32 rv; 39 | __u32 fsid; 40 | __u64 number; 41 | __u64 start; 42 | __u64 end; 43 | __u64 owner; 44 | }; 45 | 46 | 47 | #endif /* __DLM_PLOCK_DOT_H__ */ 48 | -------------------------------------------------------------------------------- /linux-headers/include/linux/dvb/version.h: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: LGPL-2.1+ WITH Linux-syscall-note */ 2 | /* 3 | * version.h 4 | * 5 | * Copyright (C) 2000 Holger Waechtler 6 | * for convergence integrated media GmbH 7 | */ 8 | 9 | #ifndef _DVBVERSION_H_ 10 | #define _DVBVERSION_H_ 11 | 12 | #define DVB_API_VERSION 5 13 | #define DVB_API_VERSION_MINOR 12 14 | 15 | #endif /*_DVBVERSION_H_*/ 16 | -------------------------------------------------------------------------------- /linux-headers/include/linux/dw100.h: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: GPL-2.0-only WITH Linux-syscall-note */ 2 | /* Copyright 2022 NXP */ 3 | 4 | #ifndef __UAPI_DW100_H__ 5 | #define __UAPI_DW100_H__ 6 | 7 | #include 8 | 9 | /* 10 | * Check Documentation/userspace-api/media/drivers/dw100.rst for control details. 11 | */ 12 | #define V4L2_CID_DW100_DEWARPING_16x16_VERTEX_MAP (V4L2_CID_USER_DW100_BASE + 1) 13 | 14 | #endif 15 | -------------------------------------------------------------------------------- /linux-headers/include/linux/errno.h: -------------------------------------------------------------------------------- 1 | #include 2 | -------------------------------------------------------------------------------- /linux-headers/include/linux/eventfd.h: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 2 | #ifndef _LINUX_EVENTFD_H 3 | #define _LINUX_EVENTFD_H 4 | 5 | #include 6 | 7 | #define EFD_SEMAPHORE (1 << 0) 8 | #define EFD_CLOEXEC O_CLOEXEC 9 | #define EFD_NONBLOCK O_NONBLOCK 10 | 11 | #endif /* _LINUX_EVENTFD_H */ 12 | -------------------------------------------------------------------------------- /linux-headers/include/linux/fadvise.h: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 2 | #ifndef FADVISE_H_INCLUDED 3 | #define FADVISE_H_INCLUDED 4 | 5 | #define POSIX_FADV_NORMAL 0 /* No further special treatment. */ 6 | #define POSIX_FADV_RANDOM 1 /* Expect random page references. */ 7 | #define POSIX_FADV_SEQUENTIAL 2 /* Expect sequential page references. */ 8 | #define POSIX_FADV_WILLNEED 3 /* Will need these pages. */ 9 | 10 | /* 11 | * The advise values for POSIX_FADV_DONTNEED and POSIX_ADV_NOREUSE 12 | * for s390-64 differ from the values for the rest of the world. 13 | */ 14 | #if defined(__s390x__) 15 | #define POSIX_FADV_DONTNEED 6 /* Don't need these pages. */ 16 | #define POSIX_FADV_NOREUSE 7 /* Data will be accessed once. */ 17 | #else 18 | #define POSIX_FADV_DONTNEED 4 /* Don't need these pages. */ 19 | #define POSIX_FADV_NOREUSE 5 /* Data will be accessed once. */ 20 | #endif 21 | 22 | #endif /* FADVISE_H_INCLUDED */ 23 | -------------------------------------------------------------------------------- /linux-headers/include/linux/fou.h: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR BSD-3-Clause) */ 2 | /* Do not edit directly, auto-generated from: */ 3 | /* Documentation/netlink/specs/fou.yaml */ 4 | /* YNL-GEN uapi header */ 5 | 6 | #ifndef _LINUX_FOU_H 7 | #define _LINUX_FOU_H 8 | 9 | #define FOU_GENL_NAME "fou" 10 | #define FOU_GENL_VERSION 1 11 | 12 | enum { 13 | FOU_ENCAP_UNSPEC, 14 | FOU_ENCAP_DIRECT, 15 | FOU_ENCAP_GUE, 16 | }; 17 | 18 | enum { 19 | FOU_ATTR_UNSPEC, 20 | FOU_ATTR_PORT, 21 | FOU_ATTR_AF, 22 | FOU_ATTR_IPPROTO, 23 | FOU_ATTR_TYPE, 24 | FOU_ATTR_REMCSUM_NOPARTIAL, 25 | FOU_ATTR_LOCAL_V4, 26 | FOU_ATTR_LOCAL_V6, 27 | FOU_ATTR_PEER_V4, 28 | FOU_ATTR_PEER_V6, 29 | FOU_ATTR_PEER_PORT, 30 | FOU_ATTR_IFINDEX, 31 | 32 | __FOU_ATTR_MAX 33 | }; 34 | #define FOU_ATTR_MAX (__FOU_ATTR_MAX - 1) 35 | 36 | enum { 37 | FOU_CMD_UNSPEC, 38 | FOU_CMD_ADD, 39 | FOU_CMD_DEL, 40 | FOU_CMD_GET, 41 | 42 | __FOU_CMD_MAX 43 | }; 44 | #define FOU_CMD_MAX (__FOU_CMD_MAX - 1) 45 | 46 | #endif /* _LINUX_FOU_H */ 47 | -------------------------------------------------------------------------------- /linux-headers/include/linux/fsl_mc.h: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 2 | /* 3 | * Management Complex (MC) userspace public interface 4 | * 5 | * Copyright 2021 NXP 6 | * 7 | */ 8 | #ifndef _FSL_MC_H_ 9 | #define _FSL_MC_H_ 10 | 11 | #include 12 | 13 | #define MC_CMD_NUM_OF_PARAMS 7 14 | 15 | /** 16 | * struct fsl_mc_command - Management Complex (MC) command structure 17 | * @header: MC command header 18 | * @params: MC command parameters 19 | * 20 | * Used by FSL_MC_SEND_MC_COMMAND 21 | */ 22 | struct fsl_mc_command { 23 | __le64 header; 24 | __le64 params[MC_CMD_NUM_OF_PARAMS]; 25 | }; 26 | 27 | #define FSL_MC_SEND_CMD_IOCTL_TYPE 'R' 28 | #define FSL_MC_SEND_CMD_IOCTL_SEQ 0xE0 29 | 30 | #define FSL_MC_SEND_MC_COMMAND \ 31 | _IOWR(FSL_MC_SEND_CMD_IOCTL_TYPE, FSL_MC_SEND_CMD_IOCTL_SEQ, \ 32 | struct fsl_mc_command) 33 | 34 | #endif /* _FSL_MC_H_ */ 35 | -------------------------------------------------------------------------------- /linux-headers/include/linux/gameport.h: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 2 | /* 3 | * Copyright (c) 1999-2002 Vojtech Pavlik 4 | * 5 | * This program is free software; you can redistribute it and/or modify it 6 | * under the terms of the GNU General Public License version 2 as published by 7 | * the Free Software Foundation. 8 | */ 9 | #ifndef _GAMEPORT_H 10 | #define _GAMEPORT_H 11 | 12 | 13 | 14 | #define GAMEPORT_MODE_DISABLED 0 15 | #define GAMEPORT_MODE_RAW 1 16 | #define GAMEPORT_MODE_COOKED 2 17 | 18 | #define GAMEPORT_ID_VENDOR_ANALOG 0x0001 19 | #define GAMEPORT_ID_VENDOR_MADCATZ 0x0002 20 | #define GAMEPORT_ID_VENDOR_LOGITECH 0x0003 21 | #define GAMEPORT_ID_VENDOR_CREATIVE 0x0004 22 | #define GAMEPORT_ID_VENDOR_GENIUS 0x0005 23 | #define GAMEPORT_ID_VENDOR_INTERACT 0x0006 24 | #define GAMEPORT_ID_VENDOR_MICROSOFT 0x0007 25 | #define GAMEPORT_ID_VENDOR_THRUSTMASTER 0x0008 26 | #define GAMEPORT_ID_VENDOR_GRAVIS 0x0009 27 | #define GAMEPORT_ID_VENDOR_GUILLEMOT 0x000a 28 | 29 | #endif /* _GAMEPORT_H */ 30 | -------------------------------------------------------------------------------- /linux-headers/include/linux/gtp.h: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 2 | #ifndef _LINUX_GTP_H_ 3 | #define _LINUX_GTP_H_ 4 | 5 | #define GTP_GENL_MCGRP_NAME "gtp" 6 | 7 | enum gtp_genl_cmds { 8 | GTP_CMD_NEWPDP, 9 | GTP_CMD_DELPDP, 10 | GTP_CMD_GETPDP, 11 | GTP_CMD_ECHOREQ, 12 | 13 | GTP_CMD_MAX, 14 | }; 15 | 16 | enum gtp_version { 17 | GTP_V0 = 0, 18 | GTP_V1, 19 | }; 20 | 21 | enum gtp_attrs { 22 | GTPA_UNSPEC = 0, 23 | GTPA_LINK, 24 | GTPA_VERSION, 25 | GTPA_TID, /* for GTPv0 only */ 26 | GTPA_PEER_ADDRESS, /* Remote GSN peer, either SGSN or GGSN */ 27 | #define GTPA_SGSN_ADDRESS GTPA_PEER_ADDRESS /* maintain legacy attr name */ 28 | GTPA_MS_ADDRESS, 29 | GTPA_FLOW, 30 | GTPA_NET_NS_FD, 31 | GTPA_I_TEI, /* for GTPv1 only */ 32 | GTPA_O_TEI, /* for GTPv1 only */ 33 | GTPA_PAD, 34 | __GTPA_MAX, 35 | }; 36 | #define GTPA_MAX (__GTPA_MAX - 1) 37 | 38 | #endif /* _LINUX_GTP_H_ */ 39 | -------------------------------------------------------------------------------- /linux-headers/include/linux/hash_info.h: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: GPL-2.0+ WITH Linux-syscall-note */ 2 | /* 3 | * Hash Info: Hash algorithms information 4 | * 5 | * Copyright (c) 2013 Dmitry Kasatkin 6 | * 7 | * This program is free software; you can redistribute it and/or modify it 8 | * under the terms of the GNU General Public License as published by the Free 9 | * Software Foundation; either version 2 of the License, or (at your option) 10 | * any later version. 11 | * 12 | */ 13 | 14 | #ifndef _LINUX_HASH_INFO_H 15 | #define _LINUX_HASH_INFO_H 16 | 17 | enum hash_algo { 18 | HASH_ALGO_MD4, 19 | HASH_ALGO_MD5, 20 | HASH_ALGO_SHA1, 21 | HASH_ALGO_RIPE_MD_160, 22 | HASH_ALGO_SHA256, 23 | HASH_ALGO_SHA384, 24 | HASH_ALGO_SHA512, 25 | HASH_ALGO_SHA224, 26 | HASH_ALGO_RIPE_MD_128, 27 | HASH_ALGO_RIPE_MD_256, 28 | HASH_ALGO_RIPE_MD_320, 29 | HASH_ALGO_WP_256, 30 | HASH_ALGO_WP_384, 31 | HASH_ALGO_WP_512, 32 | HASH_ALGO_TGR_128, 33 | HASH_ALGO_TGR_160, 34 | HASH_ALGO_TGR_192, 35 | HASH_ALGO_SM3_256, 36 | HASH_ALGO_STREEBOG_256, 37 | HASH_ALGO_STREEBOG_512, 38 | HASH_ALGO__LAST 39 | }; 40 | 41 | #endif /* _LINUX_HASH_INFO_H */ 42 | -------------------------------------------------------------------------------- /linux-headers/include/linux/hdlc.h: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 2 | /* 3 | * Generic HDLC support routines for Linux 4 | * 5 | * Copyright (C) 1999-2005 Krzysztof Halasa 6 | * 7 | * This program is free software; you can redistribute it and/or modify it 8 | * under the terms of version 2 of the GNU General Public License 9 | * as published by the Free Software Foundation. 10 | */ 11 | 12 | #ifndef __HDLC_H 13 | #define __HDLC_H 14 | 15 | 16 | #define HDLC_MAX_MTU 1500 /* Ethernet 1500 bytes */ 17 | #if 0 18 | #define HDLC_MAX_MRU (HDLC_MAX_MTU + 10 + 14 + 4) /* for ETH+VLAN over FR */ 19 | #else 20 | #define HDLC_MAX_MRU 1600 /* as required for FR network */ 21 | #endif 22 | 23 | 24 | #endif /* __HDLC_H */ 25 | -------------------------------------------------------------------------------- /linux-headers/include/linux/hpet.h: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 2 | #ifndef __HPET__ 3 | #define __HPET__ 4 | 5 | 6 | 7 | 8 | struct hpet_info { 9 | unsigned long hi_ireqfreq; /* Hz */ 10 | unsigned long hi_flags; /* information */ 11 | unsigned short hi_hpet; 12 | unsigned short hi_timer; 13 | }; 14 | 15 | #define HPET_INFO_PERIODIC 0x0010 /* periodic-capable comparator */ 16 | 17 | #define HPET_IE_ON _IO('h', 0x01) /* interrupt on */ 18 | #define HPET_IE_OFF _IO('h', 0x02) /* interrupt off */ 19 | #define HPET_INFO _IOR('h', 0x03, struct hpet_info) 20 | #define HPET_EPI _IO('h', 0x04) /* enable periodic */ 21 | #define HPET_DPI _IO('h', 0x05) /* disable periodic */ 22 | #define HPET_IRQFREQ _IOW('h', 0x6, unsigned long) /* IRQFREQ usec */ 23 | 24 | #define MAX_HPET_TBS 8 /* maximum hpet timer blocks */ 25 | 26 | #endif /* __HPET__ */ 27 | -------------------------------------------------------------------------------- /linux-headers/include/linux/hw_breakpoint.h: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 2 | #ifndef _LINUX_HW_BREAKPOINT_H 3 | #define _LINUX_HW_BREAKPOINT_H 4 | 5 | enum { 6 | HW_BREAKPOINT_LEN_1 = 1, 7 | HW_BREAKPOINT_LEN_2 = 2, 8 | HW_BREAKPOINT_LEN_3 = 3, 9 | HW_BREAKPOINT_LEN_4 = 4, 10 | HW_BREAKPOINT_LEN_5 = 5, 11 | HW_BREAKPOINT_LEN_6 = 6, 12 | HW_BREAKPOINT_LEN_7 = 7, 13 | HW_BREAKPOINT_LEN_8 = 8, 14 | }; 15 | 16 | enum { 17 | HW_BREAKPOINT_EMPTY = 0, 18 | HW_BREAKPOINT_R = 1, 19 | HW_BREAKPOINT_W = 2, 20 | HW_BREAKPOINT_RW = HW_BREAKPOINT_R | HW_BREAKPOINT_W, 21 | HW_BREAKPOINT_X = 4, 22 | HW_BREAKPOINT_INVALID = HW_BREAKPOINT_RW | HW_BREAKPOINT_X, 23 | }; 24 | 25 | #endif /* _LINUX_HW_BREAKPOINT_H */ 26 | -------------------------------------------------------------------------------- /linux-headers/include/linux/if_addrlabel.h: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 2 | /* 3 | * if_addrlabel.h - netlink interface for address labels 4 | * 5 | * Copyright (C)2007 USAGI/WIDE Project, All Rights Reserved. 6 | * 7 | * Authors: 8 | * YOSHIFUJI Hideaki @ USAGI/WIDE 9 | */ 10 | 11 | #ifndef __LINUX_IF_ADDRLABEL_H 12 | #define __LINUX_IF_ADDRLABEL_H 13 | 14 | #include 15 | 16 | struct ifaddrlblmsg { 17 | __u8 ifal_family; /* Address family */ 18 | __u8 __ifal_reserved; /* Reserved */ 19 | __u8 ifal_prefixlen; /* Prefix length */ 20 | __u8 ifal_flags; /* Flags */ 21 | __u32 ifal_index; /* Link index */ 22 | __u32 ifal_seq; /* sequence number */ 23 | }; 24 | 25 | enum { 26 | IFAL_ADDRESS = 1, 27 | IFAL_LABEL = 2, 28 | __IFAL_MAX 29 | }; 30 | 31 | #define IFAL_MAX (__IFAL_MAX - 1) 32 | 33 | #endif 34 | -------------------------------------------------------------------------------- /linux-headers/include/linux/if_cablemodem.h: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: GPL-2.0+ WITH Linux-syscall-note */ 2 | #ifndef _LINUX_CABLEMODEM_H_ 3 | #define _LINUX_CABLEMODEM_H_ 4 | /* 5 | * Author: Franco Venturi 6 | * Copyright 1998 Franco Venturi 7 | * 8 | * This program is free software; you can redistribute it 9 | * and/or modify it under the terms of the GNU General 10 | * Public License as published by the Free Software 11 | * Foundation; either version 2 of the License, or (at 12 | * your option) any later version. 13 | */ 14 | 15 | /* some useful defines for sb1000.c e cmconfig.c - fv */ 16 | #define SIOCGCMSTATS (SIOCDEVPRIVATE+0) /* get cable modem stats */ 17 | #define SIOCGCMFIRMWARE (SIOCDEVPRIVATE+1) /* get cm firmware version */ 18 | #define SIOCGCMFREQUENCY (SIOCDEVPRIVATE+2) /* get cable modem frequency */ 19 | #define SIOCSCMFREQUENCY (SIOCDEVPRIVATE+3) /* set cable modem frequency */ 20 | #define SIOCGCMPIDS (SIOCDEVPRIVATE+4) /* get cable modem PIDs */ 21 | #define SIOCSCMPIDS (SIOCDEVPRIVATE+5) /* set cable modem PIDs */ 22 | 23 | #endif 24 | -------------------------------------------------------------------------------- /linux-headers/include/linux/if_ltalk.h: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 2 | #ifndef __LINUX_LTALK_H 3 | #define __LINUX_LTALK_H 4 | 5 | #define LTALK_HLEN 1 6 | #define LTALK_MTU 600 7 | #define LTALK_ALEN 1 8 | 9 | 10 | #endif /* __LINUX_LTALK_H */ 11 | -------------------------------------------------------------------------------- /linux-headers/include/linux/if_phonet.h: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 2 | /* 3 | * File: if_phonet.h 4 | * 5 | * Phonet interface kernel definitions 6 | * 7 | * Copyright (C) 2008 Nokia Corporation. All rights reserved. 8 | */ 9 | #ifndef LINUX_IF_PHONET_H 10 | #define LINUX_IF_PHONET_H 11 | 12 | #define PHONET_MIN_MTU 6 /* pn_length = 0 */ 13 | #define PHONET_MAX_MTU 65541 /* pn_length = 0xffff */ 14 | #define PHONET_DEV_MTU PHONET_MAX_MTU 15 | 16 | 17 | #endif /* LINUX_IF_PHONET_H */ 18 | -------------------------------------------------------------------------------- /linux-headers/include/linux/if_plip.h: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: GPL-2.0+ WITH Linux-syscall-note */ 2 | /* 3 | * NET3 PLIP tuning facilities for the new Niibe PLIP. 4 | * 5 | * This program is free software; you can redistribute it and/or 6 | * modify it under the terms of the GNU General Public License 7 | * as published by the Free Software Foundation; either version 8 | * 2 of the License, or (at your option) any later version. 9 | * 10 | */ 11 | 12 | #ifndef _LINUX_IF_PLIP_H 13 | #define _LINUX_IF_PLIP_H 14 | 15 | #include 16 | 17 | #define SIOCDEVPLIP SIOCDEVPRIVATE 18 | 19 | struct plipconf { 20 | unsigned short pcmd; 21 | unsigned long nibble; 22 | unsigned long trigger; 23 | }; 24 | 25 | #define PLIP_GET_TIMEOUT 0x1 26 | #define PLIP_SET_TIMEOUT 0x2 27 | 28 | #endif 29 | -------------------------------------------------------------------------------- /linux-headers/include/linux/if_ppp.h: -------------------------------------------------------------------------------- 1 | #include 2 | -------------------------------------------------------------------------------- /linux-headers/include/linux/if_slip.h: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 2 | /* 3 | * Swansea University Computer Society NET3 4 | * 5 | * This file declares the constants of special use with the SLIP/CSLIP/ 6 | * KISS TNC driver. 7 | */ 8 | 9 | #ifndef __LINUX_SLIP_H 10 | #define __LINUX_SLIP_H 11 | 12 | #define SL_MODE_SLIP 0 13 | #define SL_MODE_CSLIP 1 14 | #define SL_MODE_KISS 4 15 | 16 | #define SL_OPT_SIXBIT 2 17 | #define SL_OPT_ADAPTIVE 8 18 | 19 | /* 20 | * VSV = ioctl for keepalive & outfill in SLIP driver 21 | */ 22 | 23 | #define SIOCSKEEPALIVE (SIOCDEVPRIVATE) /* Set keepalive timeout in sec */ 24 | #define SIOCGKEEPALIVE (SIOCDEVPRIVATE+1) /* Get keepalive timeout */ 25 | #define SIOCSOUTFILL (SIOCDEVPRIVATE+2) /* Set outfill timeout */ 26 | #define SIOCGOUTFILL (SIOCDEVPRIVATE+3) /* Get outfill timeout */ 27 | #define SIOCSLEASE (SIOCDEVPRIVATE+4) /* Set "leased" line type */ 28 | #define SIOCGLEASE (SIOCDEVPRIVATE+5) /* Get line type */ 29 | 30 | 31 | #endif 32 | -------------------------------------------------------------------------------- /linux-headers/include/linux/if_x25.h: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: GPL-2.0+ WITH Linux-syscall-note */ 2 | /* 3 | * Linux X.25 packet to device interface 4 | * 5 | * This program is free software; you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation; either version 2 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | */ 15 | 16 | #ifndef _IF_X25_H 17 | #define _IF_X25_H 18 | 19 | #include 20 | 21 | /* Documentation/networking/x25-iface.rst */ 22 | #define X25_IFACE_DATA 0x00 23 | #define X25_IFACE_CONNECT 0x01 24 | #define X25_IFACE_DISCONNECT 0x02 25 | #define X25_IFACE_PARAMS 0x03 26 | 27 | #endif /* _IF_X25_H */ 28 | -------------------------------------------------------------------------------- /linux-headers/include/linux/ife.h: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 2 | #ifndef __UAPI_IFE_H 3 | #define __UAPI_IFE_H 4 | 5 | #define IFE_METAHDRLEN 2 6 | 7 | enum { 8 | IFE_META_SKBMARK = 1, 9 | IFE_META_HASHID, 10 | IFE_META_PRIO, 11 | IFE_META_QMAP, 12 | IFE_META_TCINDEX, 13 | __IFE_META_MAX 14 | }; 15 | 16 | /*Can be overridden at runtime by module option*/ 17 | #define IFE_META_MAX (__IFE_META_MAX - 1) 18 | 19 | #endif 20 | -------------------------------------------------------------------------------- /linux-headers/include/linux/iio/buffer.h: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 2 | /* industrial I/O buffer definitions needed both in and out of kernel 3 | */ 4 | 5 | #ifndef _IIO_BUFFER_H_ 6 | #define _IIO_BUFFER_H_ 7 | 8 | #define IIO_BUFFER_GET_FD_IOCTL _IOWR('i', 0x91, int) 9 | 10 | #endif /* _IIO_BUFFER_H_ */ 11 | -------------------------------------------------------------------------------- /linux-headers/include/linux/in_route.h: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 2 | #ifndef _LINUX_IN_ROUTE_H 3 | #define _LINUX_IN_ROUTE_H 4 | 5 | /* IPv4 routing cache flags */ 6 | 7 | #define RTCF_DEAD RTNH_F_DEAD 8 | #define RTCF_ONLINK RTNH_F_ONLINK 9 | 10 | /* Obsolete flag. About to be deleted */ 11 | #define RTCF_NOPMTUDISC RTM_F_NOPMTUDISC 12 | 13 | #define RTCF_NOTIFY 0x00010000 14 | #define RTCF_DIRECTDST 0x00020000 /* unused */ 15 | #define RTCF_REDIRECTED 0x00040000 16 | #define RTCF_TPROXY 0x00080000 /* unused */ 17 | 18 | #define RTCF_FAST 0x00200000 /* unused */ 19 | #define RTCF_MASQ 0x00400000 /* unused */ 20 | #define RTCF_SNAT 0x00800000 /* unused */ 21 | #define RTCF_DOREDIRECT 0x01000000 22 | #define RTCF_DIRECTSRC 0x04000000 23 | #define RTCF_DNAT 0x08000000 24 | #define RTCF_BROADCAST 0x10000000 25 | #define RTCF_MULTICAST 0x20000000 26 | #define RTCF_REJECT 0x40000000 /* unused */ 27 | #define RTCF_LOCAL 0x80000000 28 | 29 | #define RTCF_NAT (RTCF_DNAT|RTCF_SNAT) 30 | 31 | #define RT_TOS(tos) ((tos)&IPTOS_TOS_MASK) 32 | 33 | #endif /* _LINUX_IN_ROUTE_H */ 34 | -------------------------------------------------------------------------------- /linux-headers/include/linux/ioctl.h: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 2 | #ifndef _LINUX_IOCTL_H 3 | #define _LINUX_IOCTL_H 4 | 5 | #include 6 | 7 | #endif /* _LINUX_IOCTL_H */ 8 | 9 | -------------------------------------------------------------------------------- /linux-headers/include/linux/ipmi_bmc.h: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 2 | /* 3 | * Copyright (c) 2015-2018, Intel Corporation. 4 | */ 5 | 6 | #ifndef _LINUX_IPMI_BMC_H 7 | #define _LINUX_IPMI_BMC_H 8 | 9 | #include 10 | 11 | #define __IPMI_BMC_IOCTL_MAGIC 0xB1 12 | #define IPMI_BMC_IOCTL_SET_SMS_ATN _IO(__IPMI_BMC_IOCTL_MAGIC, 0x00) 13 | #define IPMI_BMC_IOCTL_CLEAR_SMS_ATN _IO(__IPMI_BMC_IOCTL_MAGIC, 0x01) 14 | #define IPMI_BMC_IOCTL_FORCE_ABORT _IO(__IPMI_BMC_IOCTL_MAGIC, 0x02) 15 | 16 | #endif /* _LINUX_IPMI_BMC_H */ 17 | -------------------------------------------------------------------------------- /linux-headers/include/linux/ipmi_ssif_bmc.h: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: GPL-2.0-only WITH Linux-syscall-note*/ 2 | /* 3 | * Copyright (c) 2022, Ampere Computing LLC. 4 | */ 5 | 6 | #ifndef _LINUX_IPMI_SSIF_BMC_H 7 | #define _LINUX_IPMI_SSIF_BMC_H 8 | 9 | #include 10 | 11 | /* Max length of ipmi ssif message included netfn and cmd field */ 12 | #define IPMI_SSIF_PAYLOAD_MAX 254 13 | struct ipmi_ssif_msg { 14 | unsigned int len; 15 | __u8 payload[IPMI_SSIF_PAYLOAD_MAX]; 16 | }; 17 | 18 | #endif /* _LINUX_IPMI_SSIF_BMC_H */ 19 | -------------------------------------------------------------------------------- /linux-headers/include/linux/irqnr.h: -------------------------------------------------------------------------------- 1 | /* 2 | * There isn't anything here anymore, but the file must not be empty or patch 3 | * will delete it. 4 | */ 5 | -------------------------------------------------------------------------------- /linux-headers/include/linux/kcm.h: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 2 | /* 3 | * Kernel Connection Multiplexor 4 | * 5 | * Copyright (c) 2016 Tom Herbert 6 | * 7 | * This program is free software; you can redistribute it and/or modify 8 | * it under the terms of the GNU General Public License version 2 9 | * as published by the Free Software Foundation. 10 | * 11 | * User API to clone KCM sockets and attach transport socket to a KCM 12 | * multiplexor. 13 | */ 14 | 15 | #ifndef KCM_KERNEL_H 16 | #define KCM_KERNEL_H 17 | 18 | struct kcm_attach { 19 | int fd; 20 | int bpf_fd; 21 | }; 22 | 23 | struct kcm_unattach { 24 | int fd; 25 | }; 26 | 27 | struct kcm_clone { 28 | int fd; 29 | }; 30 | 31 | #define SIOCKCMATTACH (SIOCPROTOPRIVATE + 0) 32 | #define SIOCKCMUNATTACH (SIOCPROTOPRIVATE + 1) 33 | #define SIOCKCMCLONE (SIOCPROTOPRIVATE + 2) 34 | 35 | #define KCMPROTO_CONNECTED 0 36 | 37 | /* Socket options */ 38 | #define KCM_RECV_DISABLE 1 39 | 40 | #endif 41 | 42 | -------------------------------------------------------------------------------- /linux-headers/include/linux/kcmp.h: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 2 | #ifndef _LINUX_KCMP_H 3 | #define _LINUX_KCMP_H 4 | 5 | #include 6 | 7 | /* Comparison type */ 8 | enum kcmp_type { 9 | KCMP_FILE, 10 | KCMP_VM, 11 | KCMP_FILES, 12 | KCMP_FS, 13 | KCMP_SIGHAND, 14 | KCMP_IO, 15 | KCMP_SYSVSEM, 16 | KCMP_EPOLL_TFD, 17 | 18 | KCMP_TYPES, 19 | }; 20 | 21 | /* Slot for KCMP_EPOLL_TFD */ 22 | struct kcmp_epoll_slot { 23 | __u32 efd; /* epoll file descriptor */ 24 | __u32 tfd; /* target file number */ 25 | __u32 toff; /* target offset within same numbered sequence */ 26 | }; 27 | 28 | #endif /* _LINUX_KCMP_H */ 29 | -------------------------------------------------------------------------------- /linux-headers/include/linux/kdev_t.h: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 2 | #ifndef _LINUX_KDEV_T_H 3 | #define _LINUX_KDEV_T_H 4 | 5 | /* 6 | Some programs want their definitions of MAJOR and MINOR and MKDEV 7 | from the kernel sources. These must be the externally visible ones. 8 | */ 9 | #define MAJOR(dev) ((dev)>>8) 10 | #define MINOR(dev) ((dev) & 0xff) 11 | #define MKDEV(ma,mi) ((ma)<<8 | (mi)) 12 | #endif /* _LINUX_KDEV_T_H */ 13 | -------------------------------------------------------------------------------- /linux-headers/include/linux/kernel-page-flags.h: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 2 | #ifndef LINUX_KERNEL_PAGE_FLAGS_H 3 | #define LINUX_KERNEL_PAGE_FLAGS_H 4 | 5 | /* 6 | * Stable page flag bits exported to user space 7 | */ 8 | 9 | #define KPF_LOCKED 0 10 | #define KPF_ERROR 1 11 | #define KPF_REFERENCED 2 12 | #define KPF_UPTODATE 3 13 | #define KPF_DIRTY 4 14 | #define KPF_LRU 5 15 | #define KPF_ACTIVE 6 16 | #define KPF_SLAB 7 17 | #define KPF_WRITEBACK 8 18 | #define KPF_RECLAIM 9 19 | #define KPF_BUDDY 10 20 | 21 | /* 11-20: new additions in 2.6.31 */ 22 | #define KPF_MMAP 11 23 | #define KPF_ANON 12 24 | #define KPF_SWAPCACHE 13 25 | #define KPF_SWAPBACKED 14 26 | #define KPF_COMPOUND_HEAD 15 27 | #define KPF_COMPOUND_TAIL 16 28 | #define KPF_HUGE 17 29 | #define KPF_UNEVICTABLE 18 30 | #define KPF_HWPOISON 19 31 | #define KPF_NOPAGE 20 32 | 33 | #define KPF_KSM 21 34 | #define KPF_THP 22 35 | #define KPF_OFFLINE 23 36 | #define KPF_ZERO_PAGE 24 37 | #define KPF_IDLE 25 38 | #define KPF_PGTABLE 26 39 | 40 | #endif /* LINUX_KERNEL_PAGE_FLAGS_H */ 41 | -------------------------------------------------------------------------------- /linux-headers/include/linux/kernel.h: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 2 | #ifndef _LINUX_KERNEL_H 3 | #define _LINUX_KERNEL_H 4 | 5 | #include 6 | #include 7 | 8 | #endif /* _LINUX_KERNEL_H */ 9 | -------------------------------------------------------------------------------- /linux-headers/include/linux/limits.h: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 2 | #ifndef _LINUX_LIMITS_H 3 | #define _LINUX_LIMITS_H 4 | 5 | #define NR_OPEN 1024 6 | 7 | #define NGROUPS_MAX 65536 /* supplemental group IDs are available */ 8 | #define ARG_MAX 131072 /* # bytes of args + environ for exec() */ 9 | #define LINK_MAX 127 /* # links a file may have */ 10 | #define MAX_CANON 255 /* size of the canonical input queue */ 11 | #define MAX_INPUT 255 /* size of the type-ahead buffer */ 12 | #define NAME_MAX 255 /* # chars in a file name */ 13 | #define PATH_MAX 4096 /* # chars in a path name including nul */ 14 | #define PIPE_BUF 4096 /* # bytes in atomic write to a pipe */ 15 | #define XATTR_NAME_MAX 255 /* # chars in an extended attribute name */ 16 | #define XATTR_SIZE_MAX 65536 /* size of an extended attribute value (64k) */ 17 | #define XATTR_LIST_MAX 65536 /* size of extended attribute namelist (64k) */ 18 | 19 | #define RTSIG_MAX 32 20 | 21 | #endif 22 | -------------------------------------------------------------------------------- /linux-headers/include/linux/loadpin.h: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 2 | /* 3 | * Copyright (c) 2022, Google LLC 4 | */ 5 | 6 | #ifndef _LINUX_LOOP_LOADPIN_H 7 | #define _LINUX_LOOP_LOADPIN_H 8 | 9 | #define LOADPIN_IOC_MAGIC 'L' 10 | 11 | /** 12 | * LOADPIN_IOC_SET_TRUSTED_VERITY_DIGESTS - Set up the root digests of verity devices 13 | * that loadpin should trust. 14 | * 15 | * Takes a file descriptor from which to read the root digests of trusted verity devices. The file 16 | * is expected to contain a list of digests in ASCII format, with one line per digest. The ioctl 17 | * must be issued on the securityfs attribute 'loadpin/dm-verity' (which can be typically found 18 | * under /sys/kernel/security/loadpin/dm-verity). 19 | */ 20 | #define LOADPIN_IOC_SET_TRUSTED_VERITY_DIGESTS _IOW(LOADPIN_IOC_MAGIC, 0x00, unsigned int) 21 | 22 | #endif /* _LINUX_LOOP_LOADPIN_H */ 23 | -------------------------------------------------------------------------------- /linux-headers/include/linux/max2175.h: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 2 | /* 3 | * max2175.h 4 | * 5 | * Maxim Integrated MAX2175 RF to Bits tuner driver - user space header file. 6 | * 7 | * Copyright (C) 2016 Maxim Integrated Products 8 | * Copyright (C) 2017 Renesas Electronics Corporation 9 | * 10 | * This program is free software; you can redistribute it and/or modify 11 | * it under the terms of the GNU General Public License version 2 12 | * as published by the Free Software Foundation. 13 | * 14 | * This program is distributed in the hope that it will be useful, 15 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 | * GNU General Public License for more details. 18 | */ 19 | 20 | #ifndef __UAPI_MAX2175_H_ 21 | #define __UAPI_MAX2175_H_ 22 | 23 | #include 24 | 25 | #define V4L2_CID_MAX2175_I2S_ENABLE (V4L2_CID_USER_MAX217X_BASE + 0x01) 26 | #define V4L2_CID_MAX2175_HSLS (V4L2_CID_USER_MAX217X_BASE + 0x02) 27 | #define V4L2_CID_MAX2175_RX_MODE (V4L2_CID_USER_MAX217X_BASE + 0x03) 28 | 29 | #endif /* __UAPI_MAX2175_H_ */ 30 | -------------------------------------------------------------------------------- /linux-headers/include/linux/mei_uuid.h: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 2 | /* 3 | * MEI UUID definition 4 | * 5 | * Copyright (C) 2010, Intel Corp. 6 | * Huang Ying 7 | */ 8 | 9 | #ifndef _LINUX_MEI_UUID_H_ 10 | #define _LINUX_MEI_UUID_H_ 11 | 12 | #include 13 | 14 | typedef struct { 15 | __u8 b[16]; 16 | } uuid_le; 17 | 18 | #define UUID_LE(a, b, c, d0, d1, d2, d3, d4, d5, d6, d7) \ 19 | ((uuid_le) \ 20 | {{ (a) & 0xff, ((a) >> 8) & 0xff, ((a) >> 16) & 0xff, ((a) >> 24) & 0xff, \ 21 | (b) & 0xff, ((b) >> 8) & 0xff, \ 22 | (c) & 0xff, ((c) >> 8) & 0xff, \ 23 | (d0), (d1), (d2), (d3), (d4), (d5), (d6), (d7) }}) 24 | 25 | #define NULL_UUID_LE \ 26 | UUID_LE(0x00000000, 0x0000, 0x0000, 0x00, 0x00, 0x00, 0x00, \ 27 | 0x00, 0x00, 0x00, 0x00) 28 | 29 | #endif /* _LINUX_MEI_UUID_H_ */ 30 | -------------------------------------------------------------------------------- /linux-headers/include/linux/module.h: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 2 | #ifndef _LINUX_MODULE_H 3 | #define _LINUX_MODULE_H 4 | 5 | /* Flags for sys_finit_module: */ 6 | #define MODULE_INIT_IGNORE_MODVERSIONS 1 7 | #define MODULE_INIT_IGNORE_VERMAGIC 2 8 | #define MODULE_INIT_COMPRESSED_FILE 4 9 | 10 | #endif /* _LINUX_MODULE_H */ 11 | -------------------------------------------------------------------------------- /linux-headers/include/linux/mpls_iptunnel.h: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: GPL-2.0+ WITH Linux-syscall-note */ 2 | /* 3 | * mpls tunnel api 4 | * 5 | * Authors: 6 | * Roopa Prabhu 7 | * 8 | * This program is free software; you can redistribute it and/or 9 | * modify it under the terms of the GNU General Public License 10 | * as published by the Free Software Foundation; either version 11 | * 2 of the License, or (at your option) any later version. 12 | */ 13 | 14 | #ifndef _LINUX_MPLS_IPTUNNEL_H 15 | #define _LINUX_MPLS_IPTUNNEL_H 16 | 17 | /* MPLS tunnel attributes 18 | * [RTA_ENCAP] = { 19 | * [MPLS_IPTUNNEL_DST] 20 | * [MPLS_IPTUNNEL_TTL] 21 | * } 22 | */ 23 | enum { 24 | MPLS_IPTUNNEL_UNSPEC, 25 | MPLS_IPTUNNEL_DST, 26 | MPLS_IPTUNNEL_TTL, 27 | __MPLS_IPTUNNEL_MAX, 28 | }; 29 | #define MPLS_IPTUNNEL_MAX (__MPLS_IPTUNNEL_MAX - 1) 30 | 31 | #endif /* _LINUX_MPLS_IPTUNNEL_H */ 32 | -------------------------------------------------------------------------------- /linux-headers/include/linux/net_namespace.h: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 2 | /* Copyright (c) 2015 6WIND S.A. 3 | * Author: Nicolas Dichtel 4 | * 5 | * This program is free software; you can redistribute it and/or modify it 6 | * under the terms and conditions of the GNU General Public License, 7 | * version 2, as published by the Free Software Foundation. 8 | */ 9 | #ifndef _LINUX_NET_NAMESPACE_H_ 10 | #define _LINUX_NET_NAMESPACE_H_ 11 | 12 | /* Attributes of RTM_NEWNSID/RTM_GETNSID messages */ 13 | enum { 14 | NETNSA_NONE, 15 | #define NETNSA_NSID_NOT_ASSIGNED -1 16 | NETNSA_NSID, 17 | NETNSA_PID, 18 | NETNSA_FD, 19 | NETNSA_TARGET_NSID, 20 | NETNSA_CURRENT_NSID, 21 | __NETNSA_MAX, 22 | }; 23 | 24 | #define NETNSA_MAX (__NETNSA_MAX - 1) 25 | 26 | #endif /* _LINUX_NET_NAMESPACE_H_ */ 27 | -------------------------------------------------------------------------------- /linux-headers/include/linux/netconf.h: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 2 | #ifndef _LINUX_NETCONF_H_ 3 | #define _LINUX_NETCONF_H_ 4 | 5 | #include 6 | #include 7 | 8 | struct netconfmsg { 9 | __u8 ncm_family; 10 | }; 11 | 12 | enum { 13 | NETCONFA_UNSPEC, 14 | NETCONFA_IFINDEX, 15 | NETCONFA_FORWARDING, 16 | NETCONFA_RP_FILTER, 17 | NETCONFA_MC_FORWARDING, 18 | NETCONFA_PROXY_NEIGH, 19 | NETCONFA_IGNORE_ROUTES_WITH_LINKDOWN, 20 | NETCONFA_INPUT, 21 | NETCONFA_BC_FORWARDING, 22 | __NETCONFA_MAX 23 | }; 24 | #define NETCONFA_MAX (__NETCONFA_MAX - 1) 25 | #define NETCONFA_ALL -1 26 | 27 | #define NETCONFA_IFINDEX_ALL -1 28 | #define NETCONFA_IFINDEX_DEFAULT -2 29 | 30 | #endif /* _LINUX_NETCONF_H_ */ 31 | -------------------------------------------------------------------------------- /linux-headers/include/linux/netfilter/ipset/ip_set_bitmap.h: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 2 | #ifndef __IP_SET_BITMAP_H 3 | #define __IP_SET_BITMAP_H 4 | 5 | #include 6 | 7 | /* Bitmap type specific error codes */ 8 | enum { 9 | /* The element is out of the range of the set */ 10 | IPSET_ERR_BITMAP_RANGE = IPSET_ERR_TYPE_SPECIFIC, 11 | /* The range exceeds the size limit of the set type */ 12 | IPSET_ERR_BITMAP_RANGE_SIZE, 13 | }; 14 | 15 | 16 | #endif /* __IP_SET_BITMAP_H */ 17 | -------------------------------------------------------------------------------- /linux-headers/include/linux/netfilter/ipset/ip_set_hash.h: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 2 | #ifndef __IP_SET_HASH_H 3 | #define __IP_SET_HASH_H 4 | 5 | #include 6 | 7 | /* Hash type specific error codes */ 8 | enum { 9 | /* Hash is full */ 10 | IPSET_ERR_HASH_FULL = IPSET_ERR_TYPE_SPECIFIC, 11 | /* Null-valued element */ 12 | IPSET_ERR_HASH_ELEM, 13 | /* Invalid protocol */ 14 | IPSET_ERR_INVALID_PROTO, 15 | /* Protocol missing but must be specified */ 16 | IPSET_ERR_MISSING_PROTO, 17 | /* Range not supported */ 18 | IPSET_ERR_HASH_RANGE_UNSUPPORTED, 19 | /* Invalid range */ 20 | IPSET_ERR_HASH_RANGE, 21 | }; 22 | 23 | 24 | #endif /* __IP_SET_HASH_H */ 25 | -------------------------------------------------------------------------------- /linux-headers/include/linux/netfilter/ipset/ip_set_list.h: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 2 | #ifndef __IP_SET_LIST_H 3 | #define __IP_SET_LIST_H 4 | 5 | #include 6 | 7 | /* List type specific error codes */ 8 | enum { 9 | /* Set name to be added/deleted/tested does not exist. */ 10 | IPSET_ERR_NAME = IPSET_ERR_TYPE_SPECIFIC, 11 | /* list:set type is not permitted to add */ 12 | IPSET_ERR_LOOP, 13 | /* Missing reference set */ 14 | IPSET_ERR_BEFORE, 15 | /* Reference set does not exist */ 16 | IPSET_ERR_NAMEREF, 17 | /* Set is full */ 18 | IPSET_ERR_LIST_FULL, 19 | /* Reference set is not added to the set */ 20 | IPSET_ERR_REF_EXIST, 21 | }; 22 | 23 | 24 | #endif /* __IP_SET_LIST_H */ 25 | -------------------------------------------------------------------------------- /linux-headers/include/linux/netfilter/nf_conntrack_ftp.h: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 2 | #ifndef _NF_CONNTRACK_FTP_H 3 | #define _NF_CONNTRACK_FTP_H 4 | /* FTP tracking. */ 5 | 6 | /* This enum is exposed to userspace */ 7 | enum nf_ct_ftp_type { 8 | /* PORT command from client */ 9 | NF_CT_FTP_PORT, 10 | /* PASV response from server */ 11 | NF_CT_FTP_PASV, 12 | /* EPRT command from client */ 13 | NF_CT_FTP_EPRT, 14 | /* EPSV response from server */ 15 | NF_CT_FTP_EPSV, 16 | }; 17 | 18 | 19 | #endif /* _NF_CONNTRACK_FTP_H */ 20 | -------------------------------------------------------------------------------- /linux-headers/include/linux/netfilter/nf_conntrack_sctp.h: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 2 | #ifndef _NF_CONNTRACK_SCTP_H 3 | #define _NF_CONNTRACK_SCTP_H 4 | /* SCTP tracking. */ 5 | 6 | #include 7 | 8 | enum sctp_conntrack { 9 | SCTP_CONNTRACK_NONE, 10 | SCTP_CONNTRACK_CLOSED, 11 | SCTP_CONNTRACK_COOKIE_WAIT, 12 | SCTP_CONNTRACK_COOKIE_ECHOED, 13 | SCTP_CONNTRACK_ESTABLISHED, 14 | SCTP_CONNTRACK_SHUTDOWN_SENT, 15 | SCTP_CONNTRACK_SHUTDOWN_RECD, 16 | SCTP_CONNTRACK_SHUTDOWN_ACK_SENT, 17 | SCTP_CONNTRACK_HEARTBEAT_SENT, 18 | SCTP_CONNTRACK_HEARTBEAT_ACKED, /* no longer used */ 19 | SCTP_CONNTRACK_MAX 20 | }; 21 | 22 | #endif /* _NF_CONNTRACK_SCTP_H */ 23 | -------------------------------------------------------------------------------- /linux-headers/include/linux/netfilter/nf_conntrack_tuple_common.h: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 2 | #ifndef _NF_CONNTRACK_TUPLE_COMMON_H 3 | #define _NF_CONNTRACK_TUPLE_COMMON_H 4 | 5 | #include 6 | #include 7 | #include /* IP_CT_IS_REPLY */ 8 | 9 | enum ip_conntrack_dir { 10 | IP_CT_DIR_ORIGINAL, 11 | IP_CT_DIR_REPLY, 12 | IP_CT_DIR_MAX 13 | }; 14 | 15 | /* The protocol-specific manipulable parts of the tuple: always in 16 | * network order 17 | */ 18 | union nf_conntrack_man_proto { 19 | /* Add other protocols here. */ 20 | __be16 all; 21 | 22 | struct { 23 | __be16 port; 24 | } tcp; 25 | struct { 26 | __be16 port; 27 | } udp; 28 | struct { 29 | __be16 id; 30 | } icmp; 31 | struct { 32 | __be16 port; 33 | } dccp; 34 | struct { 35 | __be16 port; 36 | } sctp; 37 | struct { 38 | __be16 key; /* GRE key is 32bit, PPtP only uses 16bit */ 39 | } gre; 40 | }; 41 | 42 | #define CTINFO2DIR(ctinfo) ((ctinfo) >= IP_CT_IS_REPLY ? IP_CT_DIR_REPLY : IP_CT_DIR_ORIGINAL) 43 | 44 | #endif /* _NF_CONNTRACK_TUPLE_COMMON_H */ 45 | -------------------------------------------------------------------------------- /linux-headers/include/linux/netfilter/nf_log.h: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 2 | #ifndef _NETFILTER_NF_LOG_H 3 | #define _NETFILTER_NF_LOG_H 4 | 5 | #define NF_LOG_TCPSEQ 0x01 /* Log TCP sequence numbers */ 6 | #define NF_LOG_TCPOPT 0x02 /* Log TCP options */ 7 | #define NF_LOG_IPOPT 0x04 /* Log IP options */ 8 | #define NF_LOG_UID 0x08 /* Log UID owning local socket */ 9 | #define NF_LOG_NFLOG 0x10 /* Unsupported, don't reuse */ 10 | #define NF_LOG_MACDECODE 0x20 /* Decode MAC header */ 11 | #define NF_LOG_MASK 0x2f 12 | 13 | #define NF_LOG_PREFIXLEN 128 14 | 15 | #endif /* _NETFILTER_NF_LOG_H */ 16 | -------------------------------------------------------------------------------- /linux-headers/include/linux/netfilter/nf_synproxy.h: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 2 | #ifndef _NF_SYNPROXY_H 3 | #define _NF_SYNPROXY_H 4 | 5 | #include 6 | 7 | #define NF_SYNPROXY_OPT_MSS 0x01 8 | #define NF_SYNPROXY_OPT_WSCALE 0x02 9 | #define NF_SYNPROXY_OPT_SACK_PERM 0x04 10 | #define NF_SYNPROXY_OPT_TIMESTAMP 0x08 11 | #define NF_SYNPROXY_OPT_ECN 0x10 12 | #define NF_SYNPROXY_OPT_MASK (NF_SYNPROXY_OPT_MSS | \ 13 | NF_SYNPROXY_OPT_WSCALE | \ 14 | NF_SYNPROXY_OPT_SACK_PERM | \ 15 | NF_SYNPROXY_OPT_TIMESTAMP) 16 | 17 | struct nf_synproxy_info { 18 | __u8 options; 19 | __u8 wscale; 20 | __u16 mss; 21 | }; 22 | 23 | #endif /* _NF_SYNPROXY_H */ 24 | -------------------------------------------------------------------------------- /linux-headers/include/linux/netfilter/nf_tables_compat.h: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 2 | #ifndef _NFT_COMPAT_NFNETLINK_H_ 3 | #define _NFT_COMPAT_NFNETLINK_H_ 4 | 5 | enum nft_target_attributes { 6 | NFTA_TARGET_UNSPEC, 7 | NFTA_TARGET_NAME, 8 | NFTA_TARGET_REV, 9 | NFTA_TARGET_INFO, 10 | __NFTA_TARGET_MAX 11 | }; 12 | #define NFTA_TARGET_MAX (__NFTA_TARGET_MAX - 1) 13 | 14 | enum nft_match_attributes { 15 | NFTA_MATCH_UNSPEC, 16 | NFTA_MATCH_NAME, 17 | NFTA_MATCH_REV, 18 | NFTA_MATCH_INFO, 19 | __NFTA_MATCH_MAX 20 | }; 21 | #define NFTA_MATCH_MAX (__NFTA_MATCH_MAX - 1) 22 | 23 | #define NFT_COMPAT_NAME_MAX 32 24 | 25 | enum { 26 | NFNL_MSG_COMPAT_GET, 27 | NFNL_MSG_COMPAT_MAX 28 | }; 29 | 30 | enum { 31 | NFTA_COMPAT_UNSPEC = 0, 32 | NFTA_COMPAT_NAME, 33 | NFTA_COMPAT_REV, 34 | NFTA_COMPAT_TYPE, 35 | __NFTA_COMPAT_MAX, 36 | }; 37 | #define NFTA_COMPAT_MAX (__NFTA_COMPAT_MAX - 1) 38 | 39 | #endif 40 | -------------------------------------------------------------------------------- /linux-headers/include/linux/netfilter/nfnetlink_acct.h: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 2 | #ifndef _NFNL_ACCT_H_ 3 | #define _NFNL_ACCT_H_ 4 | 5 | #ifndef NFACCT_NAME_MAX 6 | #define NFACCT_NAME_MAX 32 7 | #endif 8 | 9 | enum nfnl_acct_msg_types { 10 | NFNL_MSG_ACCT_NEW, 11 | NFNL_MSG_ACCT_GET, 12 | NFNL_MSG_ACCT_GET_CTRZERO, 13 | NFNL_MSG_ACCT_DEL, 14 | NFNL_MSG_ACCT_OVERQUOTA, 15 | NFNL_MSG_ACCT_MAX 16 | }; 17 | 18 | enum nfnl_acct_flags { 19 | NFACCT_F_QUOTA_PKTS = (1 << 0), 20 | NFACCT_F_QUOTA_BYTES = (1 << 1), 21 | NFACCT_F_OVERQUOTA = (1 << 2), /* can't be set from userspace */ 22 | }; 23 | 24 | enum nfnl_acct_type { 25 | NFACCT_UNSPEC, 26 | NFACCT_NAME, 27 | NFACCT_PKTS, 28 | NFACCT_BYTES, 29 | NFACCT_USE, 30 | NFACCT_FLAGS, 31 | NFACCT_QUOTA, 32 | NFACCT_FILTER, 33 | NFACCT_PAD, 34 | __NFACCT_MAX 35 | }; 36 | #define NFACCT_MAX (__NFACCT_MAX - 1) 37 | 38 | enum nfnl_attr_filter_type { 39 | NFACCT_FILTER_UNSPEC, 40 | NFACCT_FILTER_MASK, 41 | NFACCT_FILTER_VALUE, 42 | __NFACCT_FILTER_MAX 43 | }; 44 | #define NFACCT_FILTER_MAX (__NFACCT_FILTER_MAX - 1) 45 | 46 | #endif /* _NFNL_ACCT_H_ */ 47 | -------------------------------------------------------------------------------- /linux-headers/include/linux/netfilter/xt_AUDIT.h: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 2 | /* 3 | * Header file for iptables xt_AUDIT target 4 | * 5 | * (C) 2010-2011 Thomas Graf 6 | * (C) 2010-2011 Red Hat, Inc. 7 | */ 8 | 9 | #ifndef _XT_AUDIT_TARGET_H 10 | #define _XT_AUDIT_TARGET_H 11 | 12 | #include 13 | 14 | enum { 15 | XT_AUDIT_TYPE_ACCEPT = 0, 16 | XT_AUDIT_TYPE_DROP, 17 | XT_AUDIT_TYPE_REJECT, 18 | __XT_AUDIT_TYPE_MAX, 19 | }; 20 | 21 | #define XT_AUDIT_TYPE_MAX (__XT_AUDIT_TYPE_MAX - 1) 22 | 23 | struct xt_audit_info { 24 | __u8 type; /* XT_AUDIT_TYPE_* */ 25 | }; 26 | 27 | #endif /* _XT_AUDIT_TARGET_H */ 28 | -------------------------------------------------------------------------------- /linux-headers/include/linux/netfilter/xt_CHECKSUM.h: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 2 | /* Header file for iptables ipt_CHECKSUM target 3 | * 4 | * (C) 2002 by Harald Welte 5 | * (C) 2010 Red Hat Inc 6 | * Author: Michael S. Tsirkin 7 | * 8 | * This software is distributed under GNU GPL v2, 1991 9 | */ 10 | #ifndef _XT_CHECKSUM_TARGET_H 11 | #define _XT_CHECKSUM_TARGET_H 12 | 13 | #include 14 | 15 | #define XT_CHECKSUM_OP_FILL 0x01 /* fill in checksum in IP header */ 16 | 17 | struct xt_CHECKSUM_info { 18 | __u8 operation; /* bitset of operations */ 19 | }; 20 | 21 | #endif /* _XT_CHECKSUM_TARGET_H */ 22 | -------------------------------------------------------------------------------- /linux-headers/include/linux/netfilter/xt_CLASSIFY.h: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 2 | #ifndef _XT_CLASSIFY_H 3 | #define _XT_CLASSIFY_H 4 | 5 | #include 6 | 7 | struct xt_classify_target_info { 8 | __u32 priority; 9 | }; 10 | 11 | #endif /*_XT_CLASSIFY_H */ 12 | -------------------------------------------------------------------------------- /linux-headers/include/linux/netfilter/xt_CONNMARK.h: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 2 | #ifndef _XT_CONNMARK_H_target 3 | #define _XT_CONNMARK_H_target 4 | 5 | #include 6 | 7 | #endif /*_XT_CONNMARK_H_target*/ 8 | -------------------------------------------------------------------------------- /linux-headers/include/linux/netfilter/xt_CONNSECMARK.h: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 2 | #ifndef _XT_CONNSECMARK_H_target 3 | #define _XT_CONNSECMARK_H_target 4 | 5 | #include 6 | 7 | enum { 8 | CONNSECMARK_SAVE = 1, 9 | CONNSECMARK_RESTORE, 10 | }; 11 | 12 | struct xt_connsecmark_target_info { 13 | __u8 mode; 14 | }; 15 | 16 | #endif /*_XT_CONNSECMARK_H_target */ 17 | -------------------------------------------------------------------------------- /linux-headers/include/linux/netfilter/xt_CT.h: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 2 | #ifndef _XT_CT_H 3 | #define _XT_CT_H 4 | 5 | #include 6 | 7 | enum { 8 | XT_CT_NOTRACK = 1 << 0, 9 | XT_CT_NOTRACK_ALIAS = 1 << 1, 10 | XT_CT_ZONE_DIR_ORIG = 1 << 2, 11 | XT_CT_ZONE_DIR_REPL = 1 << 3, 12 | XT_CT_ZONE_MARK = 1 << 4, 13 | 14 | XT_CT_MASK = XT_CT_NOTRACK | XT_CT_NOTRACK_ALIAS | 15 | XT_CT_ZONE_DIR_ORIG | XT_CT_ZONE_DIR_REPL | 16 | XT_CT_ZONE_MARK, 17 | }; 18 | 19 | struct xt_ct_target_info { 20 | __u16 flags; 21 | __u16 zone; 22 | __u32 ct_events; 23 | __u32 exp_events; 24 | char helper[16]; 25 | 26 | /* Used internally by the kernel */ 27 | struct nf_conn *ct __attribute__((aligned(8))); 28 | }; 29 | 30 | struct xt_ct_target_info_v1 { 31 | __u16 flags; 32 | __u16 zone; 33 | __u32 ct_events; 34 | __u32 exp_events; 35 | char helper[16]; 36 | char timeout[32]; 37 | 38 | /* Used internally by the kernel */ 39 | struct nf_conn *ct __attribute__((aligned(8))); 40 | }; 41 | 42 | #endif /* _XT_CT_H */ 43 | -------------------------------------------------------------------------------- /linux-headers/include/linux/netfilter/xt_DSCP.h: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 2 | /* x_tables module for setting the IPv4/IPv6 DSCP field 3 | * 4 | * (C) 2002 Harald Welte 5 | * based on ipt_FTOS.c (C) 2000 by Matthew G. Marsh 6 | * This software is distributed under GNU GPL v2, 1991 7 | * 8 | * See RFC2474 for a description of the DSCP field within the IP Header. 9 | * 10 | * xt_DSCP.h,v 1.7 2002/03/14 12:03:13 laforge Exp 11 | */ 12 | #ifndef _XT_DSCP_TARGET_H 13 | #define _XT_DSCP_TARGET_H 14 | #include 15 | #include 16 | 17 | /* target info */ 18 | struct xt_DSCP_info { 19 | __u8 dscp; 20 | }; 21 | 22 | struct xt_tos_target_info { 23 | __u8 tos_value; 24 | __u8 tos_mask; 25 | }; 26 | 27 | #endif /* _XT_DSCP_TARGET_H */ 28 | -------------------------------------------------------------------------------- /linux-headers/include/linux/netfilter/xt_LED.h: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 2 | #ifndef _XT_LED_H 3 | #define _XT_LED_H 4 | 5 | #include 6 | 7 | struct xt_led_info { 8 | char id[27]; /* Unique ID for this trigger in the LED class */ 9 | __u8 always_blink; /* Blink even if the LED is already on */ 10 | __u32 delay; /* Delay until LED is switched off after trigger */ 11 | 12 | /* Kernel data used in the module */ 13 | void *internal_data __attribute__((aligned(8))); 14 | }; 15 | 16 | #endif /* _XT_LED_H */ 17 | -------------------------------------------------------------------------------- /linux-headers/include/linux/netfilter/xt_LOG.h: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 2 | #ifndef _XT_LOG_H 3 | #define _XT_LOG_H 4 | 5 | /* make sure not to change this without changing nf_log.h:NF_LOG_* (!) */ 6 | #define XT_LOG_TCPSEQ 0x01 /* Log TCP sequence numbers */ 7 | #define XT_LOG_TCPOPT 0x02 /* Log TCP options */ 8 | #define XT_LOG_IPOPT 0x04 /* Log IP options */ 9 | #define XT_LOG_UID 0x08 /* Log UID owning local socket */ 10 | #define XT_LOG_NFLOG 0x10 /* Unsupported, don't reuse */ 11 | #define XT_LOG_MACDECODE 0x20 /* Decode MAC header */ 12 | #define XT_LOG_MASK 0x2f 13 | 14 | struct xt_log_info { 15 | unsigned char level; 16 | unsigned char logflags; 17 | char prefix[30]; 18 | }; 19 | 20 | #endif /* _XT_LOG_H */ 21 | -------------------------------------------------------------------------------- /linux-headers/include/linux/netfilter/xt_MARK.h: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 2 | #ifndef _XT_MARK_H_target 3 | #define _XT_MARK_H_target 4 | 5 | #include 6 | 7 | #endif /*_XT_MARK_H_target */ 8 | -------------------------------------------------------------------------------- /linux-headers/include/linux/netfilter/xt_NFLOG.h: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 2 | #ifndef _XT_NFLOG_TARGET 3 | #define _XT_NFLOG_TARGET 4 | 5 | #include 6 | 7 | #define XT_NFLOG_DEFAULT_GROUP 0x1 8 | #define XT_NFLOG_DEFAULT_THRESHOLD 0 9 | 10 | #define XT_NFLOG_MASK 0x1 11 | 12 | /* This flag indicates that 'len' field in xt_nflog_info is set*/ 13 | #define XT_NFLOG_F_COPY_LEN 0x1 14 | 15 | struct xt_nflog_info { 16 | /* 'len' will be used iff you set XT_NFLOG_F_COPY_LEN in flags */ 17 | __u32 len; 18 | __u16 group; 19 | __u16 threshold; 20 | __u16 flags; 21 | __u16 pad; 22 | char prefix[64]; 23 | }; 24 | 25 | #endif /* _XT_NFLOG_TARGET */ 26 | -------------------------------------------------------------------------------- /linux-headers/include/linux/netfilter/xt_NFQUEUE.h: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 2 | /* iptables module for using NFQUEUE mechanism 3 | * 4 | * (C) 2005 Harald Welte 5 | * 6 | * This software is distributed under GNU GPL v2, 1991 7 | * 8 | */ 9 | #ifndef _XT_NFQ_TARGET_H 10 | #define _XT_NFQ_TARGET_H 11 | 12 | #include 13 | 14 | /* target info */ 15 | struct xt_NFQ_info { 16 | __u16 queuenum; 17 | }; 18 | 19 | struct xt_NFQ_info_v1 { 20 | __u16 queuenum; 21 | __u16 queues_total; 22 | }; 23 | 24 | struct xt_NFQ_info_v2 { 25 | __u16 queuenum; 26 | __u16 queues_total; 27 | __u16 bypass; 28 | }; 29 | 30 | struct xt_NFQ_info_v3 { 31 | __u16 queuenum; 32 | __u16 queues_total; 33 | __u16 flags; 34 | #define NFQ_FLAG_BYPASS 0x01 /* for compatibility with v2 */ 35 | #define NFQ_FLAG_CPU_FANOUT 0x02 /* use current CPU (no hashing) */ 36 | #define NFQ_FLAG_MASK 0x03 37 | }; 38 | 39 | #endif /* _XT_NFQ_TARGET_H */ 40 | -------------------------------------------------------------------------------- /linux-headers/include/linux/netfilter/xt_RATEEST.h: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 2 | #ifndef _XT_RATEEST_TARGET_H 3 | #define _XT_RATEEST_TARGET_H 4 | 5 | #include 6 | #include 7 | 8 | struct xt_rateest_target_info { 9 | char name[IFNAMSIZ]; 10 | __s8 interval; 11 | __u8 ewma_log; 12 | 13 | /* Used internally by the kernel */ 14 | struct xt_rateest *est __attribute__((aligned(8))); 15 | }; 16 | 17 | #endif /* _XT_RATEEST_TARGET_H */ 18 | -------------------------------------------------------------------------------- /linux-headers/include/linux/netfilter/xt_SECMARK.h: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 2 | #ifndef _XT_SECMARK_H_target 3 | #define _XT_SECMARK_H_target 4 | 5 | #include 6 | 7 | /* 8 | * This is intended for use by various security subsystems (but not 9 | * at the same time). 10 | * 11 | * 'mode' refers to the specific security subsystem which the 12 | * packets are being marked for. 13 | */ 14 | #define SECMARK_MODE_SEL 0x01 /* SELinux */ 15 | #define SECMARK_SECCTX_MAX 256 16 | 17 | struct xt_secmark_target_info { 18 | __u8 mode; 19 | __u32 secid; 20 | char secctx[SECMARK_SECCTX_MAX]; 21 | }; 22 | 23 | struct xt_secmark_target_info_v1 { 24 | __u8 mode; 25 | char secctx[SECMARK_SECCTX_MAX]; 26 | __u32 secid; 27 | }; 28 | 29 | #endif /*_XT_SECMARK_H_target */ 30 | -------------------------------------------------------------------------------- /linux-headers/include/linux/netfilter/xt_SYNPROXY.h: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 2 | #ifndef _XT_SYNPROXY_H 3 | #define _XT_SYNPROXY_H 4 | 5 | #include 6 | 7 | #define XT_SYNPROXY_OPT_MSS NF_SYNPROXY_OPT_MSS 8 | #define XT_SYNPROXY_OPT_WSCALE NF_SYNPROXY_OPT_WSCALE 9 | #define XT_SYNPROXY_OPT_SACK_PERM NF_SYNPROXY_OPT_SACK_PERM 10 | #define XT_SYNPROXY_OPT_TIMESTAMP NF_SYNPROXY_OPT_TIMESTAMP 11 | #define XT_SYNPROXY_OPT_ECN NF_SYNPROXY_OPT_ECN 12 | 13 | #define xt_synproxy_info nf_synproxy_info 14 | 15 | #endif /* _XT_SYNPROXY_H */ 16 | -------------------------------------------------------------------------------- /linux-headers/include/linux/netfilter/xt_TCPMSS.h: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 2 | #ifndef _XT_TCPMSS_H 3 | #define _XT_TCPMSS_H 4 | 5 | #include 6 | 7 | struct xt_tcpmss_info { 8 | __u16 mss; 9 | }; 10 | 11 | #define XT_TCPMSS_CLAMP_PMTU 0xffff 12 | 13 | #endif /* _XT_TCPMSS_H */ 14 | -------------------------------------------------------------------------------- /linux-headers/include/linux/netfilter/xt_TCPOPTSTRIP.h: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 2 | #ifndef _XT_TCPOPTSTRIP_H 3 | #define _XT_TCPOPTSTRIP_H 4 | 5 | #include 6 | 7 | #define tcpoptstrip_set_bit(bmap, idx) \ 8 | (bmap[(idx) >> 5] |= 1U << (idx & 31)) 9 | #define tcpoptstrip_test_bit(bmap, idx) \ 10 | (((1U << (idx & 31)) & bmap[(idx) >> 5]) != 0) 11 | 12 | struct xt_tcpoptstrip_target_info { 13 | __u32 strip_bmap[8]; 14 | }; 15 | 16 | #endif /* _XT_TCPOPTSTRIP_H */ 17 | -------------------------------------------------------------------------------- /linux-headers/include/linux/netfilter/xt_TEE.h: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 2 | #ifndef _XT_TEE_TARGET_H 3 | #define _XT_TEE_TARGET_H 4 | 5 | #include 6 | 7 | struct xt_tee_tginfo { 8 | union nf_inet_addr gw; 9 | char oif[16]; 10 | 11 | /* used internally by the kernel */ 12 | struct xt_tee_priv *priv __attribute__((aligned(8))); 13 | }; 14 | 15 | #endif /* _XT_TEE_TARGET_H */ 16 | -------------------------------------------------------------------------------- /linux-headers/include/linux/netfilter/xt_TPROXY.h: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 2 | #ifndef _XT_TPROXY_H 3 | #define _XT_TPROXY_H 4 | 5 | #include 6 | #include 7 | 8 | /* TPROXY target is capable of marking the packet to perform 9 | * redirection. We can get rid of that whenever we get support for 10 | * mutliple targets in the same rule. */ 11 | struct xt_tproxy_target_info { 12 | __u32 mark_mask; 13 | __u32 mark_value; 14 | __be32 laddr; 15 | __be16 lport; 16 | }; 17 | 18 | struct xt_tproxy_target_info_v1 { 19 | __u32 mark_mask; 20 | __u32 mark_value; 21 | union nf_inet_addr laddr; 22 | __be16 lport; 23 | }; 24 | 25 | #endif /* _XT_TPROXY_H */ 26 | -------------------------------------------------------------------------------- /linux-headers/include/linux/netfilter/xt_bpf.h: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 2 | #ifndef _XT_BPF_H 3 | #define _XT_BPF_H 4 | 5 | #include 6 | #include 7 | #include 8 | 9 | #define XT_BPF_MAX_NUM_INSTR 64 10 | #define XT_BPF_PATH_MAX (XT_BPF_MAX_NUM_INSTR * sizeof(struct sock_filter)) 11 | 12 | struct bpf_prog; 13 | 14 | struct xt_bpf_info { 15 | __u16 bpf_program_num_elem; 16 | struct sock_filter bpf_program[XT_BPF_MAX_NUM_INSTR]; 17 | 18 | /* only used in the kernel */ 19 | struct bpf_prog *filter __attribute__((aligned(8))); 20 | }; 21 | 22 | enum xt_bpf_modes { 23 | XT_BPF_MODE_BYTECODE, 24 | XT_BPF_MODE_FD_PINNED, 25 | XT_BPF_MODE_FD_ELF, 26 | }; 27 | #define XT_BPF_MODE_PATH_PINNED XT_BPF_MODE_FD_PINNED 28 | 29 | struct xt_bpf_info_v1 { 30 | __u16 mode; 31 | __u16 bpf_program_num_elem; 32 | __s32 fd; 33 | union { 34 | struct sock_filter bpf_program[XT_BPF_MAX_NUM_INSTR]; 35 | char path[XT_BPF_PATH_MAX]; 36 | }; 37 | 38 | /* only used in the kernel */ 39 | struct bpf_prog *filter __attribute__((aligned(8))); 40 | }; 41 | 42 | #endif /*_XT_BPF_H */ 43 | -------------------------------------------------------------------------------- /linux-headers/include/linux/netfilter/xt_cgroup.h: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 2 | #ifndef _XT_CGROUP_H 3 | #define _XT_CGROUP_H 4 | 5 | #include 6 | #include 7 | 8 | struct xt_cgroup_info_v0 { 9 | __u32 id; 10 | __u32 invert; 11 | }; 12 | 13 | struct xt_cgroup_info_v1 { 14 | __u8 has_path; 15 | __u8 has_classid; 16 | __u8 invert_path; 17 | __u8 invert_classid; 18 | char path[PATH_MAX]; 19 | __u32 classid; 20 | 21 | /* kernel internal data */ 22 | void *priv __attribute__((aligned(8))); 23 | }; 24 | 25 | #define XT_CGROUP_PATH_MAX 512 26 | 27 | struct xt_cgroup_info_v2 { 28 | __u8 has_path; 29 | __u8 has_classid; 30 | __u8 invert_path; 31 | __u8 invert_classid; 32 | union { 33 | char path[XT_CGROUP_PATH_MAX]; 34 | __u32 classid; 35 | }; 36 | 37 | /* kernel internal data */ 38 | void *priv __attribute__((aligned(8))); 39 | }; 40 | 41 | #endif /* _XT_CGROUP_H */ 42 | -------------------------------------------------------------------------------- /linux-headers/include/linux/netfilter/xt_cluster.h: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 2 | #ifndef _XT_CLUSTER_MATCH_H 3 | #define _XT_CLUSTER_MATCH_H 4 | 5 | #include 6 | 7 | enum xt_cluster_flags { 8 | XT_CLUSTER_F_INV = (1 << 0) 9 | }; 10 | 11 | struct xt_cluster_match_info { 12 | __u32 total_nodes; 13 | __u32 node_mask; 14 | __u32 hash_seed; 15 | __u32 flags; 16 | }; 17 | 18 | #define XT_CLUSTER_NODES_MAX 32 19 | 20 | #endif /* _XT_CLUSTER_MATCH_H */ 21 | -------------------------------------------------------------------------------- /linux-headers/include/linux/netfilter/xt_comment.h: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 2 | #ifndef _XT_COMMENT_H 3 | #define _XT_COMMENT_H 4 | 5 | #define XT_MAX_COMMENT_LEN 256 6 | 7 | struct xt_comment_info { 8 | char comment[XT_MAX_COMMENT_LEN]; 9 | }; 10 | 11 | #endif /* XT_COMMENT_H */ 12 | -------------------------------------------------------------------------------- /linux-headers/include/linux/netfilter/xt_connbytes.h: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 2 | #ifndef _XT_CONNBYTES_H 3 | #define _XT_CONNBYTES_H 4 | 5 | #include 6 | 7 | enum xt_connbytes_what { 8 | XT_CONNBYTES_PKTS, 9 | XT_CONNBYTES_BYTES, 10 | XT_CONNBYTES_AVGPKT, 11 | }; 12 | 13 | enum xt_connbytes_direction { 14 | XT_CONNBYTES_DIR_ORIGINAL, 15 | XT_CONNBYTES_DIR_REPLY, 16 | XT_CONNBYTES_DIR_BOTH, 17 | }; 18 | 19 | struct xt_connbytes_info { 20 | struct { 21 | __aligned_u64 from; /* count to be matched */ 22 | __aligned_u64 to; /* count to be matched */ 23 | } count; 24 | __u8 what; /* ipt_connbytes_what */ 25 | __u8 direction; /* ipt_connbytes_direction */ 26 | }; 27 | #endif 28 | -------------------------------------------------------------------------------- /linux-headers/include/linux/netfilter/xt_connlabel.h: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 2 | 3 | #ifndef _XT_CONNLABEL_H 4 | #define _XT_CONNLABEL_H 5 | 6 | #include 7 | 8 | #define XT_CONNLABEL_MAXBIT 127 9 | enum xt_connlabel_mtopts { 10 | XT_CONNLABEL_OP_INVERT = 1 << 0, 11 | XT_CONNLABEL_OP_SET = 1 << 1, 12 | }; 13 | 14 | struct xt_connlabel_mtinfo { 15 | __u16 bit; 16 | __u16 options; 17 | }; 18 | 19 | #endif /* _XT_CONNLABEL_H */ 20 | -------------------------------------------------------------------------------- /linux-headers/include/linux/netfilter/xt_connlimit.h: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 2 | #ifndef _XT_CONNLIMIT_H 3 | #define _XT_CONNLIMIT_H 4 | 5 | #include 6 | #include 7 | 8 | struct xt_connlimit_data; 9 | 10 | enum { 11 | XT_CONNLIMIT_INVERT = 1 << 0, 12 | XT_CONNLIMIT_DADDR = 1 << 1, 13 | }; 14 | 15 | struct xt_connlimit_info { 16 | union { 17 | union nf_inet_addr mask; 18 | union { 19 | __be32 v4_mask; 20 | __be32 v6_mask[4]; 21 | }; 22 | }; 23 | unsigned int limit; 24 | /* revision 1 */ 25 | __u32 flags; 26 | 27 | /* Used internally by the kernel */ 28 | struct nf_conncount_data *data __attribute__((aligned(8))); 29 | }; 30 | 31 | #endif /* _XT_CONNLIMIT_H */ 32 | -------------------------------------------------------------------------------- /linux-headers/include/linux/netfilter/xt_connmark.h: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: GPL-2.0+ WITH Linux-syscall-note */ 2 | /* Copyright (C) 2002,2004 MARA Systems AB 3 | * by Henrik Nordstrom 4 | */ 5 | 6 | #ifndef _XT_CONNMARK_H 7 | #define _XT_CONNMARK_H 8 | 9 | #include 10 | 11 | enum { 12 | XT_CONNMARK_SET = 0, 13 | XT_CONNMARK_SAVE, 14 | XT_CONNMARK_RESTORE 15 | }; 16 | 17 | enum { 18 | D_SHIFT_LEFT = 0, 19 | D_SHIFT_RIGHT, 20 | }; 21 | 22 | struct xt_connmark_tginfo1 { 23 | __u32 ctmark, ctmask, nfmask; 24 | __u8 mode; 25 | }; 26 | 27 | struct xt_connmark_tginfo2 { 28 | __u32 ctmark, ctmask, nfmask; 29 | __u8 shift_dir, shift_bits, mode; 30 | }; 31 | 32 | struct xt_connmark_mtinfo1 { 33 | __u32 mark, mask; 34 | __u8 invert; 35 | }; 36 | 37 | #endif /*_XT_CONNMARK_H*/ 38 | -------------------------------------------------------------------------------- /linux-headers/include/linux/netfilter/xt_cpu.h: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 2 | #ifndef _XT_CPU_H 3 | #define _XT_CPU_H 4 | 5 | #include 6 | 7 | struct xt_cpu_info { 8 | __u32 cpu; 9 | __u32 invert; 10 | }; 11 | 12 | #endif /*_XT_CPU_H*/ 13 | -------------------------------------------------------------------------------- /linux-headers/include/linux/netfilter/xt_dccp.h: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 2 | #ifndef _XT_DCCP_H_ 3 | #define _XT_DCCP_H_ 4 | 5 | #include 6 | 7 | #define XT_DCCP_SRC_PORTS 0x01 8 | #define XT_DCCP_DEST_PORTS 0x02 9 | #define XT_DCCP_TYPE 0x04 10 | #define XT_DCCP_OPTION 0x08 11 | 12 | #define XT_DCCP_VALID_FLAGS 0x0f 13 | 14 | struct xt_dccp_info { 15 | __u16 dpts[2]; /* Min, Max */ 16 | __u16 spts[2]; /* Min, Max */ 17 | 18 | __u16 flags; 19 | __u16 invflags; 20 | 21 | __u16 typemask; 22 | __u8 option; 23 | }; 24 | 25 | #endif /* _XT_DCCP_H_ */ 26 | 27 | -------------------------------------------------------------------------------- /linux-headers/include/linux/netfilter/xt_devgroup.h: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 2 | #ifndef _XT_DEVGROUP_H 3 | #define _XT_DEVGROUP_H 4 | 5 | #include 6 | 7 | enum xt_devgroup_flags { 8 | XT_DEVGROUP_MATCH_SRC = 0x1, 9 | XT_DEVGROUP_INVERT_SRC = 0x2, 10 | XT_DEVGROUP_MATCH_DST = 0x4, 11 | XT_DEVGROUP_INVERT_DST = 0x8, 12 | }; 13 | 14 | struct xt_devgroup_info { 15 | __u32 flags; 16 | __u32 src_group; 17 | __u32 src_mask; 18 | __u32 dst_group; 19 | __u32 dst_mask; 20 | }; 21 | 22 | #endif /* _XT_DEVGROUP_H */ 23 | -------------------------------------------------------------------------------- /linux-headers/include/linux/netfilter/xt_dscp.h: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 2 | /* x_tables module for matching the IPv4/IPv6 DSCP field 3 | * 4 | * (C) 2002 Harald Welte 5 | * This software is distributed under GNU GPL v2, 1991 6 | * 7 | * See RFC2474 for a description of the DSCP field within the IP Header. 8 | * 9 | * xt_dscp.h,v 1.3 2002/08/05 19:00:21 laforge Exp 10 | */ 11 | #ifndef _XT_DSCP_H 12 | #define _XT_DSCP_H 13 | 14 | #include 15 | 16 | #define XT_DSCP_MASK 0xfc /* 11111100 */ 17 | #define XT_DSCP_SHIFT 2 18 | #define XT_DSCP_MAX 0x3f /* 00111111 */ 19 | 20 | /* match info */ 21 | struct xt_dscp_info { 22 | __u8 dscp; 23 | __u8 invert; 24 | }; 25 | 26 | struct xt_tos_match_info { 27 | __u8 tos_mask; 28 | __u8 tos_value; 29 | __u8 invert; 30 | }; 31 | 32 | #endif /* _XT_DSCP_H */ 33 | -------------------------------------------------------------------------------- /linux-headers/include/linux/netfilter/xt_ecn.h: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 2 | /* iptables module for matching the ECN header in IPv4 and TCP header 3 | * 4 | * (C) 2002 Harald Welte 5 | * 6 | * This software is distributed under GNU GPL v2, 1991 7 | * 8 | * ipt_ecn.h,v 1.4 2002/08/05 19:39:00 laforge Exp 9 | */ 10 | #ifndef _XT_ECN_H 11 | #define _XT_ECN_H 12 | 13 | #include 14 | #include 15 | 16 | #define XT_ECN_IP_MASK (~XT_DSCP_MASK) 17 | 18 | #define XT_ECN_OP_MATCH_IP 0x01 19 | #define XT_ECN_OP_MATCH_ECE 0x10 20 | #define XT_ECN_OP_MATCH_CWR 0x20 21 | 22 | #define XT_ECN_OP_MATCH_MASK 0xce 23 | 24 | /* match info */ 25 | struct xt_ecn_info { 26 | __u8 operation; 27 | __u8 invert; 28 | __u8 ip_ect; 29 | union { 30 | struct { 31 | __u8 ect; 32 | } tcp; 33 | } proto; 34 | }; 35 | 36 | #endif /* _XT_ECN_H */ 37 | -------------------------------------------------------------------------------- /linux-headers/include/linux/netfilter/xt_esp.h: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 2 | #ifndef _XT_ESP_H 3 | #define _XT_ESP_H 4 | 5 | #include 6 | 7 | struct xt_esp { 8 | __u32 spis[2]; /* Security Parameter Index */ 9 | __u8 invflags; /* Inverse flags */ 10 | }; 11 | 12 | /* Values for "invflags" field in struct xt_esp. */ 13 | #define XT_ESP_INV_SPI 0x01 /* Invert the sense of spi. */ 14 | #define XT_ESP_INV_MASK 0x01 /* All possible flags. */ 15 | 16 | #endif /*_XT_ESP_H*/ 17 | -------------------------------------------------------------------------------- /linux-headers/include/linux/netfilter/xt_helper.h: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 2 | #ifndef _XT_HELPER_H 3 | #define _XT_HELPER_H 4 | 5 | struct xt_helper_info { 6 | int invert; 7 | char name[30]; 8 | }; 9 | #endif /* _XT_HELPER_H */ 10 | -------------------------------------------------------------------------------- /linux-headers/include/linux/netfilter/xt_ipcomp.h: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 2 | #ifndef _XT_IPCOMP_H 3 | #define _XT_IPCOMP_H 4 | 5 | #include 6 | 7 | struct xt_ipcomp { 8 | __u32 spis[2]; /* Security Parameter Index */ 9 | __u8 invflags; /* Inverse flags */ 10 | __u8 hdrres; /* Test of the Reserved Filed */ 11 | }; 12 | 13 | /* Values for "invflags" field in struct xt_ipcomp. */ 14 | #define XT_IPCOMP_INV_SPI 0x01 /* Invert the sense of spi. */ 15 | #define XT_IPCOMP_INV_MASK 0x01 /* All possible flags. */ 16 | 17 | #endif /*_XT_IPCOMP_H*/ 18 | -------------------------------------------------------------------------------- /linux-headers/include/linux/netfilter/xt_iprange.h: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 2 | #ifndef _LINUX_NETFILTER_XT_IPRANGE_H 3 | #define _LINUX_NETFILTER_XT_IPRANGE_H 1 4 | 5 | #include 6 | #include 7 | 8 | enum { 9 | IPRANGE_SRC = 1 << 0, /* match source IP address */ 10 | IPRANGE_DST = 1 << 1, /* match destination IP address */ 11 | IPRANGE_SRC_INV = 1 << 4, /* negate the condition */ 12 | IPRANGE_DST_INV = 1 << 5, /* -"- */ 13 | }; 14 | 15 | struct xt_iprange_mtinfo { 16 | union nf_inet_addr src_min, src_max; 17 | union nf_inet_addr dst_min, dst_max; 18 | __u8 flags; 19 | }; 20 | 21 | #endif /* _LINUX_NETFILTER_XT_IPRANGE_H */ 22 | -------------------------------------------------------------------------------- /linux-headers/include/linux/netfilter/xt_ipvs.h: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 2 | #ifndef _XT_IPVS_H 3 | #define _XT_IPVS_H 4 | 5 | #include 6 | #include 7 | 8 | enum { 9 | XT_IPVS_IPVS_PROPERTY = 1 << 0, /* all other options imply this one */ 10 | XT_IPVS_PROTO = 1 << 1, 11 | XT_IPVS_VADDR = 1 << 2, 12 | XT_IPVS_VPORT = 1 << 3, 13 | XT_IPVS_DIR = 1 << 4, 14 | XT_IPVS_METHOD = 1 << 5, 15 | XT_IPVS_VPORTCTL = 1 << 6, 16 | XT_IPVS_MASK = (1 << 7) - 1, 17 | XT_IPVS_ONCE_MASK = XT_IPVS_MASK & ~XT_IPVS_IPVS_PROPERTY 18 | }; 19 | 20 | struct xt_ipvs_mtinfo { 21 | union nf_inet_addr vaddr, vmask; 22 | __be16 vport; 23 | __u8 l4proto; 24 | __u8 fwd_method; 25 | __be16 vportctl; 26 | 27 | __u8 invert; 28 | __u8 bitmask; 29 | }; 30 | 31 | #endif /* _XT_IPVS_H */ 32 | -------------------------------------------------------------------------------- /linux-headers/include/linux/netfilter/xt_l2tp.h: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 2 | #ifndef _LINUX_NETFILTER_XT_L2TP_H 3 | #define _LINUX_NETFILTER_XT_L2TP_H 4 | 5 | #include 6 | 7 | enum xt_l2tp_type { 8 | XT_L2TP_TYPE_CONTROL, 9 | XT_L2TP_TYPE_DATA, 10 | }; 11 | 12 | /* L2TP matching stuff */ 13 | struct xt_l2tp_info { 14 | __u32 tid; /* tunnel id */ 15 | __u32 sid; /* session id */ 16 | __u8 version; /* L2TP protocol version */ 17 | __u8 type; /* L2TP packet type */ 18 | __u8 flags; /* which fields to match */ 19 | }; 20 | 21 | enum { 22 | XT_L2TP_TID = (1 << 0), /* match L2TP tunnel id */ 23 | XT_L2TP_SID = (1 << 1), /* match L2TP session id */ 24 | XT_L2TP_VERSION = (1 << 2), /* match L2TP protocol version */ 25 | XT_L2TP_TYPE = (1 << 3), /* match L2TP packet type */ 26 | }; 27 | 28 | #endif /* _LINUX_NETFILTER_XT_L2TP_H */ 29 | -------------------------------------------------------------------------------- /linux-headers/include/linux/netfilter/xt_length.h: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 2 | #ifndef _XT_LENGTH_H 3 | #define _XT_LENGTH_H 4 | 5 | #include 6 | 7 | struct xt_length_info { 8 | __u16 min, max; 9 | __u8 invert; 10 | }; 11 | 12 | #endif /*_XT_LENGTH_H*/ 13 | -------------------------------------------------------------------------------- /linux-headers/include/linux/netfilter/xt_limit.h: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 2 | #ifndef _XT_RATE_H 3 | #define _XT_RATE_H 4 | 5 | #include 6 | 7 | /* timings are in milliseconds. */ 8 | #define XT_LIMIT_SCALE 10000 9 | 10 | struct xt_limit_priv; 11 | 12 | /* 1/10,000 sec period => max of 10,000/sec. Min rate is then 429490 13 | seconds, or one every 59 hours. */ 14 | struct xt_rateinfo { 15 | __u32 avg; /* Average secs between packets * scale */ 16 | __u32 burst; /* Period multiplier for upper limit. */ 17 | 18 | /* Used internally by the kernel */ 19 | unsigned long prev; /* moved to xt_limit_priv */ 20 | __u32 credit; /* moved to xt_limit_priv */ 21 | __u32 credit_cap, cost; 22 | 23 | struct xt_limit_priv *master; 24 | }; 25 | #endif /*_XT_RATE_H*/ 26 | -------------------------------------------------------------------------------- /linux-headers/include/linux/netfilter/xt_mac.h: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 2 | #ifndef _XT_MAC_H 3 | #define _XT_MAC_H 4 | 5 | #include 6 | 7 | struct xt_mac_info { 8 | unsigned char srcaddr[ETH_ALEN]; 9 | int invert; 10 | }; 11 | #endif /*_XT_MAC_H*/ 12 | -------------------------------------------------------------------------------- /linux-headers/include/linux/netfilter/xt_mark.h: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 2 | #ifndef _XT_MARK_H 3 | #define _XT_MARK_H 4 | 5 | #include 6 | 7 | struct xt_mark_tginfo2 { 8 | __u32 mark, mask; 9 | }; 10 | 11 | struct xt_mark_mtinfo1 { 12 | __u32 mark, mask; 13 | __u8 invert; 14 | }; 15 | 16 | #endif /*_XT_MARK_H*/ 17 | -------------------------------------------------------------------------------- /linux-headers/include/linux/netfilter/xt_multiport.h: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 2 | #ifndef _XT_MULTIPORT_H 3 | #define _XT_MULTIPORT_H 4 | 5 | #include 6 | 7 | enum xt_multiport_flags { 8 | XT_MULTIPORT_SOURCE, 9 | XT_MULTIPORT_DESTINATION, 10 | XT_MULTIPORT_EITHER 11 | }; 12 | 13 | #define XT_MULTI_PORTS 15 14 | 15 | /* Must fit inside union xt_matchinfo: 16 bytes */ 16 | struct xt_multiport { 17 | __u8 flags; /* Type of comparison */ 18 | __u8 count; /* Number of ports */ 19 | __u16 ports[XT_MULTI_PORTS]; /* Ports */ 20 | }; 21 | 22 | struct xt_multiport_v1 { 23 | __u8 flags; /* Type of comparison */ 24 | __u8 count; /* Number of ports */ 25 | __u16 ports[XT_MULTI_PORTS]; /* Ports */ 26 | __u8 pflags[XT_MULTI_PORTS]; /* Port flags */ 27 | __u8 invert; /* Invert flag */ 28 | }; 29 | 30 | #endif /*_XT_MULTIPORT_H*/ 31 | -------------------------------------------------------------------------------- /linux-headers/include/linux/netfilter/xt_nfacct.h: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 2 | #ifndef _XT_NFACCT_MATCH_H 3 | #define _XT_NFACCT_MATCH_H 4 | 5 | #include 6 | 7 | struct nf_acct; 8 | 9 | struct xt_nfacct_match_info { 10 | char name[NFACCT_NAME_MAX]; 11 | struct nf_acct *nfacct; 12 | }; 13 | 14 | struct xt_nfacct_match_info_v1 { 15 | char name[NFACCT_NAME_MAX]; 16 | struct nf_acct *nfacct __attribute__((aligned(8))); 17 | }; 18 | 19 | #endif /* _XT_NFACCT_MATCH_H */ 20 | -------------------------------------------------------------------------------- /linux-headers/include/linux/netfilter/xt_owner.h: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 2 | #ifndef _XT_OWNER_MATCH_H 3 | #define _XT_OWNER_MATCH_H 4 | 5 | #include 6 | 7 | enum { 8 | XT_OWNER_UID = 1 << 0, 9 | XT_OWNER_GID = 1 << 1, 10 | XT_OWNER_SOCKET = 1 << 2, 11 | XT_OWNER_SUPPL_GROUPS = 1 << 3, 12 | }; 13 | 14 | #define XT_OWNER_MASK (XT_OWNER_UID | \ 15 | XT_OWNER_GID | \ 16 | XT_OWNER_SOCKET | \ 17 | XT_OWNER_SUPPL_GROUPS) 18 | 19 | struct xt_owner_match_info { 20 | __u32 uid_min, uid_max; 21 | __u32 gid_min, gid_max; 22 | __u8 match, invert; 23 | }; 24 | 25 | #endif /* _XT_OWNER_MATCH_H */ 26 | -------------------------------------------------------------------------------- /linux-headers/include/linux/netfilter/xt_physdev.h: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 2 | #ifndef _XT_PHYSDEV_H 3 | #define _XT_PHYSDEV_H 4 | 5 | #include 6 | #include 7 | 8 | #define XT_PHYSDEV_OP_IN 0x01 9 | #define XT_PHYSDEV_OP_OUT 0x02 10 | #define XT_PHYSDEV_OP_BRIDGED 0x04 11 | #define XT_PHYSDEV_OP_ISIN 0x08 12 | #define XT_PHYSDEV_OP_ISOUT 0x10 13 | #define XT_PHYSDEV_OP_MASK (0x20 - 1) 14 | 15 | struct xt_physdev_info { 16 | char physindev[IFNAMSIZ]; 17 | char in_mask[IFNAMSIZ]; 18 | char physoutdev[IFNAMSIZ]; 19 | char out_mask[IFNAMSIZ]; 20 | __u8 invert; 21 | __u8 bitmask; 22 | }; 23 | 24 | #endif /* _XT_PHYSDEV_H */ 25 | -------------------------------------------------------------------------------- /linux-headers/include/linux/netfilter/xt_pkttype.h: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 2 | #ifndef _XT_PKTTYPE_H 3 | #define _XT_PKTTYPE_H 4 | 5 | struct xt_pkttype_info { 6 | int pkttype; 7 | int invert; 8 | }; 9 | #endif /*_XT_PKTTYPE_H*/ 10 | -------------------------------------------------------------------------------- /linux-headers/include/linux/netfilter/xt_quota.h: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 2 | #ifndef _XT_QUOTA_H 3 | #define _XT_QUOTA_H 4 | 5 | #include 6 | 7 | enum xt_quota_flags { 8 | XT_QUOTA_INVERT = 0x1, 9 | }; 10 | #define XT_QUOTA_MASK 0x1 11 | 12 | struct xt_quota_priv; 13 | 14 | struct xt_quota_info { 15 | __u32 flags; 16 | __u32 pad; 17 | __aligned_u64 quota; 18 | 19 | /* Used internally by the kernel */ 20 | struct xt_quota_priv *master; 21 | }; 22 | 23 | #endif /* _XT_QUOTA_H */ 24 | -------------------------------------------------------------------------------- /linux-headers/include/linux/netfilter/xt_rateest.h: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 2 | #ifndef _XT_RATEEST_MATCH_H 3 | #define _XT_RATEEST_MATCH_H 4 | 5 | #include 6 | #include 7 | 8 | enum xt_rateest_match_flags { 9 | XT_RATEEST_MATCH_INVERT = 1<<0, 10 | XT_RATEEST_MATCH_ABS = 1<<1, 11 | XT_RATEEST_MATCH_REL = 1<<2, 12 | XT_RATEEST_MATCH_DELTA = 1<<3, 13 | XT_RATEEST_MATCH_BPS = 1<<4, 14 | XT_RATEEST_MATCH_PPS = 1<<5, 15 | }; 16 | 17 | enum xt_rateest_match_mode { 18 | XT_RATEEST_MATCH_NONE, 19 | XT_RATEEST_MATCH_EQ, 20 | XT_RATEEST_MATCH_LT, 21 | XT_RATEEST_MATCH_GT, 22 | }; 23 | 24 | struct xt_rateest_match_info { 25 | char name1[IFNAMSIZ]; 26 | char name2[IFNAMSIZ]; 27 | __u16 flags; 28 | __u16 mode; 29 | __u32 bps1; 30 | __u32 pps1; 31 | __u32 bps2; 32 | __u32 pps2; 33 | 34 | /* Used internally by the kernel */ 35 | struct xt_rateest *est1 __attribute__((aligned(8))); 36 | struct xt_rateest *est2 __attribute__((aligned(8))); 37 | }; 38 | 39 | #endif /* _XT_RATEEST_MATCH_H */ 40 | -------------------------------------------------------------------------------- /linux-headers/include/linux/netfilter/xt_realm.h: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 2 | #ifndef _XT_REALM_H 3 | #define _XT_REALM_H 4 | 5 | #include 6 | 7 | struct xt_realm_info { 8 | __u32 id; 9 | __u32 mask; 10 | __u8 invert; 11 | }; 12 | 13 | #endif /* _XT_REALM_H */ 14 | -------------------------------------------------------------------------------- /linux-headers/include/linux/netfilter/xt_rpfilter.h: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 2 | #ifndef _XT_RPATH_H 3 | #define _XT_RPATH_H 4 | 5 | #include 6 | 7 | enum { 8 | XT_RPFILTER_LOOSE = 1 << 0, 9 | XT_RPFILTER_VALID_MARK = 1 << 1, 10 | XT_RPFILTER_ACCEPT_LOCAL = 1 << 2, 11 | XT_RPFILTER_INVERT = 1 << 3, 12 | }; 13 | 14 | struct xt_rpfilter_info { 15 | __u8 flags; 16 | }; 17 | 18 | #endif 19 | -------------------------------------------------------------------------------- /linux-headers/include/linux/netfilter/xt_socket.h: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 2 | #ifndef _XT_SOCKET_H 3 | #define _XT_SOCKET_H 4 | 5 | #include 6 | 7 | enum { 8 | XT_SOCKET_TRANSPARENT = 1 << 0, 9 | XT_SOCKET_NOWILDCARD = 1 << 1, 10 | XT_SOCKET_RESTORESKMARK = 1 << 2, 11 | }; 12 | 13 | struct xt_socket_mtinfo1 { 14 | __u8 flags; 15 | }; 16 | #define XT_SOCKET_FLAGS_V1 XT_SOCKET_TRANSPARENT 17 | 18 | struct xt_socket_mtinfo2 { 19 | __u8 flags; 20 | }; 21 | #define XT_SOCKET_FLAGS_V2 (XT_SOCKET_TRANSPARENT | XT_SOCKET_NOWILDCARD) 22 | 23 | struct xt_socket_mtinfo3 { 24 | __u8 flags; 25 | }; 26 | #define XT_SOCKET_FLAGS_V3 (XT_SOCKET_TRANSPARENT \ 27 | | XT_SOCKET_NOWILDCARD \ 28 | | XT_SOCKET_RESTORESKMARK) 29 | 30 | #endif /* _XT_SOCKET_H */ 31 | -------------------------------------------------------------------------------- /linux-headers/include/linux/netfilter/xt_state.h: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 2 | #ifndef _XT_STATE_H 3 | #define _XT_STATE_H 4 | 5 | #define XT_STATE_BIT(ctinfo) (1 << ((ctinfo)%IP_CT_IS_REPLY+1)) 6 | #define XT_STATE_INVALID (1 << 0) 7 | 8 | #define XT_STATE_UNTRACKED (1 << (IP_CT_NUMBER + 1)) 9 | 10 | struct xt_state_info { 11 | unsigned int statemask; 12 | }; 13 | #endif /*_XT_STATE_H*/ 14 | -------------------------------------------------------------------------------- /linux-headers/include/linux/netfilter/xt_statistic.h: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 2 | #ifndef _XT_STATISTIC_H 3 | #define _XT_STATISTIC_H 4 | 5 | #include 6 | 7 | enum xt_statistic_mode { 8 | XT_STATISTIC_MODE_RANDOM, 9 | XT_STATISTIC_MODE_NTH, 10 | __XT_STATISTIC_MODE_MAX 11 | }; 12 | #define XT_STATISTIC_MODE_MAX (__XT_STATISTIC_MODE_MAX - 1) 13 | 14 | enum xt_statistic_flags { 15 | XT_STATISTIC_INVERT = 0x1, 16 | }; 17 | #define XT_STATISTIC_MASK 0x1 18 | 19 | struct xt_statistic_priv; 20 | 21 | struct xt_statistic_info { 22 | __u16 mode; 23 | __u16 flags; 24 | union { 25 | struct { 26 | __u32 probability; 27 | } random; 28 | struct { 29 | __u32 every; 30 | __u32 packet; 31 | __u32 count; /* unused */ 32 | } nth; 33 | } u; 34 | struct xt_statistic_priv *master __attribute__((aligned(8))); 35 | }; 36 | 37 | #endif /* _XT_STATISTIC_H */ 38 | -------------------------------------------------------------------------------- /linux-headers/include/linux/netfilter/xt_string.h: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 2 | #ifndef _XT_STRING_H 3 | #define _XT_STRING_H 4 | 5 | #include 6 | 7 | #define XT_STRING_MAX_PATTERN_SIZE 128 8 | #define XT_STRING_MAX_ALGO_NAME_SIZE 16 9 | 10 | enum { 11 | XT_STRING_FLAG_INVERT = 0x01, 12 | XT_STRING_FLAG_IGNORECASE = 0x02 13 | }; 14 | 15 | struct xt_string_info { 16 | __u16 from_offset; 17 | __u16 to_offset; 18 | char algo[XT_STRING_MAX_ALGO_NAME_SIZE]; 19 | char pattern[XT_STRING_MAX_PATTERN_SIZE]; 20 | __u8 patlen; 21 | union { 22 | struct { 23 | __u8 invert; 24 | } v0; 25 | 26 | struct { 27 | __u8 flags; 28 | } v1; 29 | } u; 30 | 31 | /* Used internally by the kernel */ 32 | struct ts_config __attribute__((aligned(8))) *config; 33 | }; 34 | 35 | #endif /*_XT_STRING_H*/ 36 | -------------------------------------------------------------------------------- /linux-headers/include/linux/netfilter/xt_tcpmss.h: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 2 | #ifndef _XT_TCPMSS_MATCH_H 3 | #define _XT_TCPMSS_MATCH_H 4 | 5 | #include 6 | 7 | struct xt_tcpmss_match_info { 8 | __u16 mss_min, mss_max; 9 | __u8 invert; 10 | }; 11 | 12 | #endif /*_XT_TCPMSS_MATCH_H*/ 13 | -------------------------------------------------------------------------------- /linux-headers/include/linux/netfilter/xt_time.h: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 2 | #ifndef _XT_TIME_H 3 | #define _XT_TIME_H 1 4 | 5 | #include 6 | 7 | struct xt_time_info { 8 | __u32 date_start; 9 | __u32 date_stop; 10 | __u32 daytime_start; 11 | __u32 daytime_stop; 12 | __u32 monthdays_match; 13 | __u8 weekdays_match; 14 | __u8 flags; 15 | }; 16 | 17 | enum { 18 | /* Match against local time (instead of UTC) */ 19 | XT_TIME_LOCAL_TZ = 1 << 0, 20 | 21 | /* treat timestart > timestop (e.g. 23:00-01:00) as single period */ 22 | XT_TIME_CONTIGUOUS = 1 << 1, 23 | 24 | /* Shortcuts */ 25 | XT_TIME_ALL_MONTHDAYS = 0xFFFFFFFE, 26 | XT_TIME_ALL_WEEKDAYS = 0xFE, 27 | XT_TIME_MIN_DAYTIME = 0, 28 | XT_TIME_MAX_DAYTIME = 24 * 60 * 60 - 1, 29 | }; 30 | 31 | #define XT_TIME_ALL_FLAGS (XT_TIME_LOCAL_TZ|XT_TIME_CONTIGUOUS) 32 | 33 | #endif /* _XT_TIME_H */ 34 | -------------------------------------------------------------------------------- /linux-headers/include/linux/netfilter/xt_u32.h: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 2 | #ifndef _XT_U32_H 3 | #define _XT_U32_H 1 4 | 5 | #include 6 | 7 | enum xt_u32_ops { 8 | XT_U32_AND, 9 | XT_U32_LEFTSH, 10 | XT_U32_RIGHTSH, 11 | XT_U32_AT, 12 | }; 13 | 14 | struct xt_u32_location_element { 15 | __u32 number; 16 | __u8 nextop; 17 | }; 18 | 19 | struct xt_u32_value_element { 20 | __u32 min; 21 | __u32 max; 22 | }; 23 | 24 | /* 25 | * Any way to allow for an arbitrary number of elements? 26 | * For now, I settle with a limit of 10 each. 27 | */ 28 | #define XT_U32_MAXSIZE 10 29 | 30 | struct xt_u32_test { 31 | struct xt_u32_location_element location[XT_U32_MAXSIZE+1]; 32 | struct xt_u32_value_element value[XT_U32_MAXSIZE+1]; 33 | __u8 nnums; 34 | __u8 nvalues; 35 | }; 36 | 37 | struct xt_u32 { 38 | struct xt_u32_test tests[XT_U32_MAXSIZE+1]; 39 | __u8 ntests; 40 | __u8 invert; 41 | }; 42 | 43 | #endif /* _XT_U32_H */ 44 | -------------------------------------------------------------------------------- /linux-headers/include/linux/netfilter_arp.h: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: GPL-1.0+ WITH Linux-syscall-note */ 2 | #ifndef __LINUX_ARP_NETFILTER_H 3 | #define __LINUX_ARP_NETFILTER_H 4 | 5 | /* ARP-specific defines for netfilter. 6 | * (C)2002 Rusty Russell IBM -- This code is GPL. 7 | */ 8 | 9 | #include 10 | 11 | /* There is no PF_ARP. */ 12 | #define NF_ARP 0 13 | 14 | /* ARP Hooks */ 15 | #define NF_ARP_IN 0 16 | #define NF_ARP_OUT 1 17 | #define NF_ARP_FORWARD 2 18 | 19 | #define NF_ARP_NUMHOOKS 3 20 | 21 | #endif /* __LINUX_ARP_NETFILTER_H */ 22 | -------------------------------------------------------------------------------- /linux-headers/include/linux/netfilter_arp/arpt_mangle.h: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 2 | #ifndef _ARPT_MANGLE_H 3 | #define _ARPT_MANGLE_H 4 | #include 5 | 6 | #define ARPT_MANGLE_ADDR_LEN_MAX sizeof(struct in_addr) 7 | struct arpt_mangle 8 | { 9 | char src_devaddr[ARPT_DEV_ADDR_LEN_MAX]; 10 | char tgt_devaddr[ARPT_DEV_ADDR_LEN_MAX]; 11 | union { 12 | struct in_addr src_ip; 13 | } u_s; 14 | union { 15 | struct in_addr tgt_ip; 16 | } u_t; 17 | __u8 flags; 18 | int target; 19 | }; 20 | 21 | #define ARPT_MANGLE_SDEV 0x01 22 | #define ARPT_MANGLE_TDEV 0x02 23 | #define ARPT_MANGLE_SIP 0x04 24 | #define ARPT_MANGLE_TIP 0x08 25 | #define ARPT_MANGLE_MASK 0x0f 26 | 27 | #endif /* _ARPT_MANGLE_H */ 28 | -------------------------------------------------------------------------------- /linux-headers/include/linux/netfilter_bridge/ebt_arp.h: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 2 | #ifndef __LINUX_BRIDGE_EBT_ARP_H 3 | #define __LINUX_BRIDGE_EBT_ARP_H 4 | 5 | #include 6 | #include 7 | 8 | #define EBT_ARP_OPCODE 0x01 9 | #define EBT_ARP_HTYPE 0x02 10 | #define EBT_ARP_PTYPE 0x04 11 | #define EBT_ARP_SRC_IP 0x08 12 | #define EBT_ARP_DST_IP 0x10 13 | #define EBT_ARP_SRC_MAC 0x20 14 | #define EBT_ARP_DST_MAC 0x40 15 | #define EBT_ARP_GRAT 0x80 16 | #define EBT_ARP_MASK (EBT_ARP_OPCODE | EBT_ARP_HTYPE | EBT_ARP_PTYPE | \ 17 | EBT_ARP_SRC_IP | EBT_ARP_DST_IP | EBT_ARP_SRC_MAC | EBT_ARP_DST_MAC | \ 18 | EBT_ARP_GRAT) 19 | #define EBT_ARP_MATCH "arp" 20 | 21 | struct ebt_arp_info 22 | { 23 | __be16 htype; 24 | __be16 ptype; 25 | __be16 opcode; 26 | __be32 saddr; 27 | __be32 smsk; 28 | __be32 daddr; 29 | __be32 dmsk; 30 | unsigned char smaddr[ETH_ALEN]; 31 | unsigned char smmsk[ETH_ALEN]; 32 | unsigned char dmaddr[ETH_ALEN]; 33 | unsigned char dmmsk[ETH_ALEN]; 34 | __u8 bitmask; 35 | __u8 invflags; 36 | }; 37 | 38 | #endif 39 | -------------------------------------------------------------------------------- /linux-headers/include/linux/netfilter_bridge/ebt_arpreply.h: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 2 | #ifndef __LINUX_BRIDGE_EBT_ARPREPLY_H 3 | #define __LINUX_BRIDGE_EBT_ARPREPLY_H 4 | 5 | #include 6 | 7 | struct ebt_arpreply_info { 8 | unsigned char mac[ETH_ALEN]; 9 | int target; 10 | }; 11 | #define EBT_ARPREPLY_TARGET "arpreply" 12 | 13 | #endif 14 | -------------------------------------------------------------------------------- /linux-headers/include/linux/netfilter_bridge/ebt_limit.h: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 2 | #ifndef __LINUX_BRIDGE_EBT_LIMIT_H 3 | #define __LINUX_BRIDGE_EBT_LIMIT_H 4 | 5 | #include 6 | 7 | #define EBT_LIMIT_MATCH "limit" 8 | 9 | /* timings are in milliseconds. */ 10 | #define EBT_LIMIT_SCALE 10000 11 | 12 | /* 1/10,000 sec period => max of 10,000/sec. Min rate is then 429490 13 | seconds, or one every 59 hours. */ 14 | 15 | struct ebt_limit_info { 16 | __u32 avg; /* Average secs between packets * scale */ 17 | __u32 burst; /* Period multiplier for upper limit. */ 18 | 19 | /* Used internally by the kernel */ 20 | unsigned long prev; 21 | __u32 credit; 22 | __u32 credit_cap, cost; 23 | }; 24 | 25 | #endif 26 | -------------------------------------------------------------------------------- /linux-headers/include/linux/netfilter_bridge/ebt_log.h: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 2 | #ifndef __LINUX_BRIDGE_EBT_LOG_H 3 | #define __LINUX_BRIDGE_EBT_LOG_H 4 | 5 | #include 6 | 7 | #define EBT_LOG_IP 0x01 /* if the frame is made by ip, log the ip information */ 8 | #define EBT_LOG_ARP 0x02 9 | #define EBT_LOG_NFLOG 0x04 10 | #define EBT_LOG_IP6 0x08 11 | #define EBT_LOG_MASK (EBT_LOG_IP | EBT_LOG_ARP | EBT_LOG_IP6) 12 | #define EBT_LOG_PREFIX_SIZE 30 13 | #define EBT_LOG_WATCHER "log" 14 | 15 | struct ebt_log_info { 16 | __u8 loglevel; 17 | __u8 prefix[EBT_LOG_PREFIX_SIZE]; 18 | __u32 bitmask; 19 | }; 20 | 21 | #endif 22 | -------------------------------------------------------------------------------- /linux-headers/include/linux/netfilter_bridge/ebt_mark_m.h: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 2 | #ifndef __LINUX_BRIDGE_EBT_MARK_M_H 3 | #define __LINUX_BRIDGE_EBT_MARK_M_H 4 | 5 | #include 6 | 7 | #define EBT_MARK_AND 0x01 8 | #define EBT_MARK_OR 0x02 9 | #define EBT_MARK_MASK (EBT_MARK_AND | EBT_MARK_OR) 10 | struct ebt_mark_m_info { 11 | unsigned long mark, mask; 12 | __u8 invert; 13 | __u8 bitmask; 14 | }; 15 | #define EBT_MARK_MATCH "mark_m" 16 | 17 | #endif 18 | -------------------------------------------------------------------------------- /linux-headers/include/linux/netfilter_bridge/ebt_mark_t.h: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 2 | #ifndef __LINUX_BRIDGE_EBT_MARK_T_H 3 | #define __LINUX_BRIDGE_EBT_MARK_T_H 4 | 5 | /* The target member is reused for adding new actions, the 6 | * value of the real target is -1 to -NUM_STANDARD_TARGETS. 7 | * For backward compatibility, the 4 lsb (2 would be enough, 8 | * but let's play it safe) are kept to designate this target. 9 | * The remaining bits designate the action. By making the set 10 | * action 0xfffffff0, the result will look ok for older 11 | * versions. [September 2006] */ 12 | #define MARK_SET_VALUE (0xfffffff0) 13 | #define MARK_OR_VALUE (0xffffffe0) 14 | #define MARK_AND_VALUE (0xffffffd0) 15 | #define MARK_XOR_VALUE (0xffffffc0) 16 | 17 | struct ebt_mark_t_info { 18 | unsigned long mark; 19 | /* EBT_ACCEPT, EBT_DROP, EBT_CONTINUE or EBT_RETURN */ 20 | int target; 21 | }; 22 | #define EBT_MARK_TARGET "mark" 23 | 24 | #endif 25 | -------------------------------------------------------------------------------- /linux-headers/include/linux/netfilter_bridge/ebt_nat.h: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 2 | #ifndef __LINUX_BRIDGE_EBT_NAT_H 3 | #define __LINUX_BRIDGE_EBT_NAT_H 4 | 5 | #include 6 | 7 | #define NAT_ARP_BIT (0x00000010) 8 | struct ebt_nat_info { 9 | unsigned char mac[ETH_ALEN]; 10 | /* EBT_ACCEPT, EBT_DROP, EBT_CONTINUE or EBT_RETURN */ 11 | int target; 12 | }; 13 | #define EBT_SNAT_TARGET "snat" 14 | #define EBT_DNAT_TARGET "dnat" 15 | 16 | #endif 17 | -------------------------------------------------------------------------------- /linux-headers/include/linux/netfilter_bridge/ebt_nflog.h: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 2 | #ifndef __LINUX_BRIDGE_EBT_NFLOG_H 3 | #define __LINUX_BRIDGE_EBT_NFLOG_H 4 | 5 | #include 6 | 7 | #define EBT_NFLOG_MASK 0x0 8 | 9 | #define EBT_NFLOG_PREFIX_SIZE 64 10 | #define EBT_NFLOG_WATCHER "nflog" 11 | 12 | #define EBT_NFLOG_DEFAULT_GROUP 0x1 13 | #define EBT_NFLOG_DEFAULT_THRESHOLD 1 14 | 15 | struct ebt_nflog_info { 16 | __u32 len; 17 | __u16 group; 18 | __u16 threshold; 19 | __u16 flags; 20 | __u16 pad; 21 | char prefix[EBT_NFLOG_PREFIX_SIZE]; 22 | }; 23 | 24 | #endif /* __LINUX_BRIDGE_EBT_NFLOG_H */ 25 | -------------------------------------------------------------------------------- /linux-headers/include/linux/netfilter_bridge/ebt_pkttype.h: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 2 | #ifndef __LINUX_BRIDGE_EBT_PKTTYPE_H 3 | #define __LINUX_BRIDGE_EBT_PKTTYPE_H 4 | 5 | #include 6 | 7 | struct ebt_pkttype_info { 8 | __u8 pkt_type; 9 | __u8 invert; 10 | }; 11 | #define EBT_PKTTYPE_MATCH "pkttype" 12 | 13 | #endif 14 | -------------------------------------------------------------------------------- /linux-headers/include/linux/netfilter_bridge/ebt_redirect.h: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 2 | #ifndef __LINUX_BRIDGE_EBT_REDIRECT_H 3 | #define __LINUX_BRIDGE_EBT_REDIRECT_H 4 | 5 | struct ebt_redirect_info { 6 | /* EBT_ACCEPT, EBT_DROP, EBT_CONTINUE or EBT_RETURN */ 7 | int target; 8 | }; 9 | #define EBT_REDIRECT_TARGET "redirect" 10 | 11 | #endif 12 | -------------------------------------------------------------------------------- /linux-headers/include/linux/netfilter_bridge/ebt_vlan.h: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 2 | #ifndef __LINUX_BRIDGE_EBT_VLAN_H 3 | #define __LINUX_BRIDGE_EBT_VLAN_H 4 | 5 | #include 6 | 7 | #define EBT_VLAN_ID 0x01 8 | #define EBT_VLAN_PRIO 0x02 9 | #define EBT_VLAN_ENCAP 0x04 10 | #define EBT_VLAN_MASK (EBT_VLAN_ID | EBT_VLAN_PRIO | EBT_VLAN_ENCAP) 11 | #define EBT_VLAN_MATCH "vlan" 12 | 13 | struct ebt_vlan_info { 14 | __u16 id; /* VLAN ID {1-4095} */ 15 | __u8 prio; /* VLAN User Priority {0-7} */ 16 | __be16 encap; /* VLAN Encapsulated frame code {0-65535} */ 17 | __u8 bitmask; /* Args bitmask bit 1=1 - ID arg, 18 | bit 2=1 User-Priority arg, bit 3=1 encap*/ 19 | __u8 invflags; /* Inverse bitmask bit 1=1 - inversed ID arg, 20 | bit 2=1 - inversed Pirority arg */ 21 | }; 22 | 23 | #endif 24 | -------------------------------------------------------------------------------- /linux-headers/include/linux/netfilter_ipv4/ipt_CLUSTERIP.h: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 2 | #ifndef _IPT_CLUSTERIP_H_target 3 | #define _IPT_CLUSTERIP_H_target 4 | 5 | #include 6 | #include 7 | 8 | enum clusterip_hashmode { 9 | CLUSTERIP_HASHMODE_SIP = 0, 10 | CLUSTERIP_HASHMODE_SIP_SPT, 11 | CLUSTERIP_HASHMODE_SIP_SPT_DPT, 12 | }; 13 | 14 | #define CLUSTERIP_HASHMODE_MAX CLUSTERIP_HASHMODE_SIP_SPT_DPT 15 | 16 | #define CLUSTERIP_MAX_NODES 16 17 | 18 | #define CLUSTERIP_FLAG_NEW 0x00000001 19 | 20 | struct clusterip_config; 21 | 22 | struct ipt_clusterip_tgt_info { 23 | 24 | __u32 flags; 25 | 26 | /* only relevant for new ones */ 27 | __u8 clustermac[ETH_ALEN]; 28 | __u16 num_total_nodes; 29 | __u16 num_local_nodes; 30 | __u16 local_nodes[CLUSTERIP_MAX_NODES]; 31 | __u32 hash_mode; 32 | __u32 hash_initval; 33 | 34 | /* Used internally by the kernel */ 35 | struct clusterip_config *config; 36 | }; 37 | 38 | #endif /*_IPT_CLUSTERIP_H_target*/ 39 | -------------------------------------------------------------------------------- /linux-headers/include/linux/netfilter_ipv4/ipt_ECN.h: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 2 | /* Header file for iptables ipt_ECN target 3 | * 4 | * (C) 2002 by Harald Welte 5 | * 6 | * This software is distributed under GNU GPL v2, 1991 7 | * 8 | * ipt_ECN.h,v 1.3 2002/05/29 12:17:40 laforge Exp 9 | */ 10 | #ifndef _IPT_ECN_TARGET_H 11 | #define _IPT_ECN_TARGET_H 12 | 13 | #include 14 | #include 15 | 16 | #define IPT_ECN_IP_MASK (~XT_DSCP_MASK) 17 | 18 | #define IPT_ECN_OP_SET_IP 0x01 /* set ECN bits of IPv4 header */ 19 | #define IPT_ECN_OP_SET_ECE 0x10 /* set ECE bit of TCP header */ 20 | #define IPT_ECN_OP_SET_CWR 0x20 /* set CWR bit of TCP header */ 21 | 22 | #define IPT_ECN_OP_MASK 0xce 23 | 24 | struct ipt_ECN_info { 25 | __u8 operation; /* bitset of operations */ 26 | __u8 ip_ect; /* ECT codepoint of IPv4 header, pre-shifted */ 27 | union { 28 | struct { 29 | __u8 ece:1, cwr:1; /* TCP ECT bits */ 30 | } tcp; 31 | } proto; 32 | }; 33 | 34 | #endif /* _IPT_ECN_TARGET_H */ 35 | -------------------------------------------------------------------------------- /linux-headers/include/linux/netfilter_ipv4/ipt_LOG.h: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 2 | #ifndef _IPT_LOG_H 3 | #define _IPT_LOG_H 4 | 5 | /* make sure not to change this without changing netfilter.h:NF_LOG_* (!) */ 6 | #define IPT_LOG_TCPSEQ 0x01 /* Log TCP sequence numbers */ 7 | #define IPT_LOG_TCPOPT 0x02 /* Log TCP options */ 8 | #define IPT_LOG_IPOPT 0x04 /* Log IP options */ 9 | #define IPT_LOG_UID 0x08 /* Log UID owning local socket */ 10 | #define IPT_LOG_NFLOG 0x10 /* Unsupported, don't reuse */ 11 | #define IPT_LOG_MACDECODE 0x20 /* Decode MAC header */ 12 | #define IPT_LOG_MASK 0x2f 13 | 14 | struct ipt_log_info { 15 | unsigned char level; 16 | unsigned char logflags; 17 | char prefix[30]; 18 | }; 19 | 20 | #endif /*_IPT_LOG_H*/ 21 | -------------------------------------------------------------------------------- /linux-headers/include/linux/netfilter_ipv4/ipt_REJECT.h: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 2 | #ifndef _IPT_REJECT_H 3 | #define _IPT_REJECT_H 4 | 5 | enum ipt_reject_with { 6 | IPT_ICMP_NET_UNREACHABLE, 7 | IPT_ICMP_HOST_UNREACHABLE, 8 | IPT_ICMP_PROT_UNREACHABLE, 9 | IPT_ICMP_PORT_UNREACHABLE, 10 | IPT_ICMP_ECHOREPLY, 11 | IPT_ICMP_NET_PROHIBITED, 12 | IPT_ICMP_HOST_PROHIBITED, 13 | IPT_TCP_RESET, 14 | IPT_ICMP_ADMIN_PROHIBITED 15 | }; 16 | 17 | struct ipt_reject_info { 18 | enum ipt_reject_with with; /* reject type */ 19 | }; 20 | 21 | #endif /*_IPT_REJECT_H*/ 22 | -------------------------------------------------------------------------------- /linux-headers/include/linux/netfilter_ipv4/ipt_TTL.h: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 2 | /* TTL modification module for IP tables 3 | * (C) 2000 by Harald Welte */ 4 | 5 | #ifndef _IPT_TTL_H 6 | #define _IPT_TTL_H 7 | 8 | #include 9 | 10 | enum { 11 | IPT_TTL_SET = 0, 12 | IPT_TTL_INC, 13 | IPT_TTL_DEC 14 | }; 15 | 16 | #define IPT_TTL_MAXMODE IPT_TTL_DEC 17 | 18 | struct ipt_TTL_info { 19 | __u8 mode; 20 | __u8 ttl; 21 | }; 22 | 23 | 24 | #endif 25 | -------------------------------------------------------------------------------- /linux-headers/include/linux/netfilter_ipv4/ipt_ah.h: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 2 | #ifndef _IPT_AH_H 3 | #define _IPT_AH_H 4 | 5 | #include 6 | 7 | struct ipt_ah { 8 | __u32 spis[2]; /* Security Parameter Index */ 9 | __u8 invflags; /* Inverse flags */ 10 | }; 11 | 12 | 13 | 14 | /* Values for "invflags" field in struct ipt_ah. */ 15 | #define IPT_AH_INV_SPI 0x01 /* Invert the sense of spi. */ 16 | #define IPT_AH_INV_MASK 0x01 /* All possible flags. */ 17 | 18 | #endif /*_IPT_AH_H*/ 19 | -------------------------------------------------------------------------------- /linux-headers/include/linux/netfilter_ipv4/ipt_ecn.h: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 2 | #ifndef _IPT_ECN_H 3 | #define _IPT_ECN_H 4 | 5 | #include 6 | #define ipt_ecn_info xt_ecn_info 7 | 8 | enum { 9 | IPT_ECN_IP_MASK = XT_ECN_IP_MASK, 10 | IPT_ECN_OP_MATCH_IP = XT_ECN_OP_MATCH_IP, 11 | IPT_ECN_OP_MATCH_ECE = XT_ECN_OP_MATCH_ECE, 12 | IPT_ECN_OP_MATCH_CWR = XT_ECN_OP_MATCH_CWR, 13 | IPT_ECN_OP_MATCH_MASK = XT_ECN_OP_MATCH_MASK, 14 | }; 15 | 16 | #endif /* IPT_ECN_H */ 17 | -------------------------------------------------------------------------------- /linux-headers/include/linux/netfilter_ipv4/ipt_ttl.h: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 2 | /* IP tables module for matching the value of the TTL 3 | * (C) 2000 by Harald Welte */ 4 | 5 | #ifndef _IPT_TTL_H 6 | #define _IPT_TTL_H 7 | 8 | #include 9 | 10 | enum { 11 | IPT_TTL_EQ = 0, /* equals */ 12 | IPT_TTL_NE, /* not equals */ 13 | IPT_TTL_LT, /* less than */ 14 | IPT_TTL_GT, /* greater than */ 15 | }; 16 | 17 | 18 | struct ipt_ttl_info { 19 | __u8 mode; 20 | __u8 ttl; 21 | }; 22 | 23 | 24 | #endif 25 | -------------------------------------------------------------------------------- /linux-headers/include/linux/netfilter_ipv6/ip6t_HL.h: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 2 | /* Hop Limit modification module for ip6tables 3 | * Maciej Soltysiak 4 | * Based on HW's TTL module */ 5 | 6 | #ifndef _IP6T_HL_H 7 | #define _IP6T_HL_H 8 | 9 | #include 10 | 11 | enum { 12 | IP6T_HL_SET = 0, 13 | IP6T_HL_INC, 14 | IP6T_HL_DEC 15 | }; 16 | 17 | #define IP6T_HL_MAXMODE IP6T_HL_DEC 18 | 19 | struct ip6t_HL_info { 20 | __u8 mode; 21 | __u8 hop_limit; 22 | }; 23 | 24 | 25 | #endif 26 | -------------------------------------------------------------------------------- /linux-headers/include/linux/netfilter_ipv6/ip6t_LOG.h: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 2 | #ifndef _IP6T_LOG_H 3 | #define _IP6T_LOG_H 4 | 5 | /* make sure not to change this without changing netfilter.h:NF_LOG_* (!) */ 6 | #define IP6T_LOG_TCPSEQ 0x01 /* Log TCP sequence numbers */ 7 | #define IP6T_LOG_TCPOPT 0x02 /* Log TCP options */ 8 | #define IP6T_LOG_IPOPT 0x04 /* Log IP options */ 9 | #define IP6T_LOG_UID 0x08 /* Log UID owning local socket */ 10 | #define IP6T_LOG_NFLOG 0x10 /* Unsupported, don't use */ 11 | #define IP6T_LOG_MACDECODE 0x20 /* Decode MAC header */ 12 | #define IP6T_LOG_MASK 0x2f 13 | 14 | struct ip6t_log_info { 15 | unsigned char level; 16 | unsigned char logflags; 17 | char prefix[30]; 18 | }; 19 | 20 | #endif /* _IP6T_LOG_H */ 21 | -------------------------------------------------------------------------------- /linux-headers/include/linux/netfilter_ipv6/ip6t_NPT.h: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 2 | #ifndef __NETFILTER_IP6T_NPT 3 | #define __NETFILTER_IP6T_NPT 4 | 5 | #include 6 | #include 7 | 8 | struct ip6t_npt_tginfo { 9 | union nf_inet_addr src_pfx; 10 | union nf_inet_addr dst_pfx; 11 | __u8 src_pfx_len; 12 | __u8 dst_pfx_len; 13 | /* Used internally by the kernel */ 14 | __sum16 adjustment; 15 | }; 16 | 17 | #endif /* __NETFILTER_IP6T_NPT */ 18 | -------------------------------------------------------------------------------- /linux-headers/include/linux/netfilter_ipv6/ip6t_REJECT.h: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 2 | #ifndef _IP6T_REJECT_H 3 | #define _IP6T_REJECT_H 4 | 5 | #include 6 | 7 | enum ip6t_reject_with { 8 | IP6T_ICMP6_NO_ROUTE, 9 | IP6T_ICMP6_ADM_PROHIBITED, 10 | IP6T_ICMP6_NOT_NEIGHBOUR, 11 | IP6T_ICMP6_ADDR_UNREACH, 12 | IP6T_ICMP6_PORT_UNREACH, 13 | IP6T_ICMP6_ECHOREPLY, 14 | IP6T_TCP_RESET, 15 | IP6T_ICMP6_POLICY_FAIL, 16 | IP6T_ICMP6_REJECT_ROUTE 17 | }; 18 | 19 | struct ip6t_reject_info { 20 | __u32 with; /* reject type */ 21 | }; 22 | 23 | #endif /*_IP6T_REJECT_H*/ 24 | -------------------------------------------------------------------------------- /linux-headers/include/linux/netfilter_ipv6/ip6t_ah.h: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 2 | #ifndef _IP6T_AH_H 3 | #define _IP6T_AH_H 4 | 5 | #include 6 | 7 | struct ip6t_ah { 8 | __u32 spis[2]; /* Security Parameter Index */ 9 | __u32 hdrlen; /* Header Length */ 10 | __u8 hdrres; /* Test of the Reserved Filed */ 11 | __u8 invflags; /* Inverse flags */ 12 | }; 13 | 14 | #define IP6T_AH_SPI 0x01 15 | #define IP6T_AH_LEN 0x02 16 | #define IP6T_AH_RES 0x04 17 | 18 | /* Values for "invflags" field in struct ip6t_ah. */ 19 | #define IP6T_AH_INV_SPI 0x01 /* Invert the sense of spi. */ 20 | #define IP6T_AH_INV_LEN 0x02 /* Invert the sense of length. */ 21 | #define IP6T_AH_INV_MASK 0x03 /* All possible flags. */ 22 | 23 | #endif /*_IP6T_AH_H*/ 24 | -------------------------------------------------------------------------------- /linux-headers/include/linux/netfilter_ipv6/ip6t_frag.h: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 2 | #ifndef _IP6T_FRAG_H 3 | #define _IP6T_FRAG_H 4 | 5 | #include 6 | 7 | struct ip6t_frag { 8 | __u32 ids[2]; /* Identification range */ 9 | __u32 hdrlen; /* Header Length */ 10 | __u8 flags; /* Flags */ 11 | __u8 invflags; /* Inverse flags */ 12 | }; 13 | 14 | #define IP6T_FRAG_IDS 0x01 15 | #define IP6T_FRAG_LEN 0x02 16 | #define IP6T_FRAG_RES 0x04 17 | #define IP6T_FRAG_FST 0x08 18 | #define IP6T_FRAG_MF 0x10 19 | #define IP6T_FRAG_NMF 0x20 20 | 21 | /* Values for "invflags" field in struct ip6t_frag. */ 22 | #define IP6T_FRAG_INV_IDS 0x01 /* Invert the sense of ids. */ 23 | #define IP6T_FRAG_INV_LEN 0x02 /* Invert the sense of length. */ 24 | #define IP6T_FRAG_INV_MASK 0x03 /* All possible flags. */ 25 | 26 | #endif /*_IP6T_FRAG_H*/ 27 | -------------------------------------------------------------------------------- /linux-headers/include/linux/netfilter_ipv6/ip6t_hl.h: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 2 | /* ip6tables module for matching the Hop Limit value 3 | * Maciej Soltysiak 4 | * Based on HW's ttl module */ 5 | 6 | #ifndef _IP6T_HL_H 7 | #define _IP6T_HL_H 8 | 9 | #include 10 | 11 | enum { 12 | IP6T_HL_EQ = 0, /* equals */ 13 | IP6T_HL_NE, /* not equals */ 14 | IP6T_HL_LT, /* less than */ 15 | IP6T_HL_GT, /* greater than */ 16 | }; 17 | 18 | 19 | struct ip6t_hl_info { 20 | __u8 mode; 21 | __u8 hop_limit; 22 | }; 23 | 24 | 25 | #endif 26 | -------------------------------------------------------------------------------- /linux-headers/include/linux/netfilter_ipv6/ip6t_ipv6header.h: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 2 | /* ipv6header match - matches IPv6 packets based 3 | on whether they contain certain headers */ 4 | 5 | /* Original idea: Brad Chapman 6 | * Rewritten by: Andras Kis-Szabo */ 7 | 8 | 9 | #ifndef __IPV6HEADER_H 10 | #define __IPV6HEADER_H 11 | 12 | #include 13 | 14 | struct ip6t_ipv6header_info { 15 | __u8 matchflags; 16 | __u8 invflags; 17 | __u8 modeflag; 18 | }; 19 | 20 | #define MASK_HOPOPTS 128 21 | #define MASK_DSTOPTS 64 22 | #define MASK_ROUTING 32 23 | #define MASK_FRAGMENT 16 24 | #define MASK_AH 8 25 | #define MASK_ESP 4 26 | #define MASK_NONE 2 27 | #define MASK_PROTO 1 28 | 29 | #endif /* __IPV6HEADER_H */ 30 | -------------------------------------------------------------------------------- /linux-headers/include/linux/netfilter_ipv6/ip6t_mh.h: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 2 | #ifndef _IP6T_MH_H 3 | #define _IP6T_MH_H 4 | 5 | #include 6 | 7 | /* MH matching stuff */ 8 | struct ip6t_mh { 9 | __u8 types[2]; /* MH type range */ 10 | __u8 invflags; /* Inverse flags */ 11 | }; 12 | 13 | /* Values for "invflags" field in struct ip6t_mh. */ 14 | #define IP6T_MH_INV_TYPE 0x01 /* Invert the sense of type. */ 15 | #define IP6T_MH_INV_MASK 0x01 /* All possible flags. */ 16 | 17 | #endif /*_IP6T_MH_H*/ 18 | -------------------------------------------------------------------------------- /linux-headers/include/linux/netfilter_ipv6/ip6t_opts.h: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 2 | #ifndef _IP6T_OPTS_H 3 | #define _IP6T_OPTS_H 4 | 5 | #include 6 | 7 | #define IP6T_OPTS_OPTSNR 16 8 | 9 | struct ip6t_opts { 10 | __u32 hdrlen; /* Header Length */ 11 | __u8 flags; /* */ 12 | __u8 invflags; /* Inverse flags */ 13 | __u16 opts[IP6T_OPTS_OPTSNR]; /* opts */ 14 | __u8 optsnr; /* Nr of OPts */ 15 | }; 16 | 17 | #define IP6T_OPTS_LEN 0x01 18 | #define IP6T_OPTS_OPTS 0x02 19 | #define IP6T_OPTS_NSTRICT 0x04 20 | 21 | /* Values for "invflags" field in struct ip6t_rt. */ 22 | #define IP6T_OPTS_INV_LEN 0x01 /* Invert the sense of length. */ 23 | #define IP6T_OPTS_INV_MASK 0x01 /* All possible flags. */ 24 | 25 | #endif /*_IP6T_OPTS_H*/ 26 | -------------------------------------------------------------------------------- /linux-headers/include/linux/netfilter_ipv6/ip6t_rt.h: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 2 | #ifndef _IP6T_RT_H 3 | #define _IP6T_RT_H 4 | 5 | #include 6 | #include 7 | 8 | #define IP6T_RT_HOPS 16 9 | 10 | struct ip6t_rt { 11 | __u32 rt_type; /* Routing Type */ 12 | __u32 segsleft[2]; /* Segments Left */ 13 | __u32 hdrlen; /* Header Length */ 14 | __u8 flags; /* */ 15 | __u8 invflags; /* Inverse flags */ 16 | struct in6_addr addrs[IP6T_RT_HOPS]; /* Hops */ 17 | __u8 addrnr; /* Nr of Addresses */ 18 | }; 19 | 20 | #define IP6T_RT_TYP 0x01 21 | #define IP6T_RT_SGS 0x02 22 | #define IP6T_RT_LEN 0x04 23 | #define IP6T_RT_RES 0x08 24 | #define IP6T_RT_FST_MASK 0x30 25 | #define IP6T_RT_FST 0x10 26 | #define IP6T_RT_FST_NSTRICT 0x20 27 | 28 | /* Values for "invflags" field in struct ip6t_rt. */ 29 | #define IP6T_RT_INV_TYP 0x01 /* Invert the sense of type. */ 30 | #define IP6T_RT_INV_SGS 0x02 /* Invert the sense of Segments. */ 31 | #define IP6T_RT_INV_LEN 0x04 /* Invert the sense of length. */ 32 | #define IP6T_RT_INV_MASK 0x07 /* All possible flags. */ 33 | 34 | #endif /*_IP6T_RT_H*/ 35 | -------------------------------------------------------------------------------- /linux-headers/include/linux/netrom.h: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 2 | /* 3 | * These are the public elements of the Linux kernel NET/ROM implementation. 4 | * For kernel AX.25 see the file ax25.h. This file requires ax25.h for the 5 | * definition of the ax25_address structure. 6 | */ 7 | 8 | #ifndef NETROM_KERNEL_H 9 | #define NETROM_KERNEL_H 10 | 11 | #include 12 | 13 | #define NETROM_MTU 236 14 | 15 | #define NETROM_T1 1 16 | #define NETROM_T2 2 17 | #define NETROM_N2 3 18 | #define NETROM_T4 6 19 | #define NETROM_IDLE 7 20 | 21 | #define SIOCNRDECOBS (SIOCPROTOPRIVATE+2) 22 | 23 | struct nr_route_struct { 24 | #define NETROM_NEIGH 0 25 | #define NETROM_NODE 1 26 | int type; 27 | ax25_address callsign; 28 | char device[16]; 29 | unsigned int quality; 30 | char mnemonic[7]; 31 | ax25_address neighbour; 32 | unsigned int obs_count; 33 | unsigned int ndigis; 34 | ax25_address digipeaters[AX25_MAX_DIGIS]; 35 | }; 36 | 37 | #endif 38 | -------------------------------------------------------------------------------- /linux-headers/include/linux/nfsacl.h: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 2 | /* 3 | * File: linux/nfsacl.h 4 | * 5 | * (C) 2003 Andreas Gruenbacher 6 | */ 7 | #ifndef __LINUX_NFSACL_H 8 | #define __LINUX_NFSACL_H 9 | 10 | #define NFS_ACL_PROGRAM 100227 11 | 12 | #define ACLPROC2_NULL 0 13 | #define ACLPROC2_GETACL 1 14 | #define ACLPROC2_SETACL 2 15 | #define ACLPROC2_GETATTR 3 16 | #define ACLPROC2_ACCESS 4 17 | 18 | #define ACLPROC3_NULL 0 19 | #define ACLPROC3_GETACL 1 20 | #define ACLPROC3_SETACL 2 21 | 22 | 23 | /* Flags for the getacl/setacl mode */ 24 | #define NFS_ACL 0x0001 25 | #define NFS_ACLCNT 0x0002 26 | #define NFS_DFACL 0x0004 27 | #define NFS_DFACLCNT 0x0008 28 | #define NFS_ACL_MASK 0x000f 29 | 30 | /* Flag for Default ACL entries */ 31 | #define NFS_ACL_DEFAULT 0x1000 32 | 33 | #endif /* __LINUX_NFSACL_H */ 34 | -------------------------------------------------------------------------------- /linux-headers/include/linux/nfsd/debug.h: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 2 | /* 3 | * linux/include/linux/nfsd/debug.h 4 | * 5 | * Debugging-related stuff for nfsd 6 | * 7 | * Copyright (C) 1995 Olaf Kirch 8 | */ 9 | 10 | #ifndef LINUX_NFSD_DEBUG_H 11 | #define LINUX_NFSD_DEBUG_H 12 | 13 | #include 14 | 15 | /* 16 | * knfsd debug flags 17 | */ 18 | #define NFSDDBG_SOCK 0x0001 19 | #define NFSDDBG_FH 0x0002 20 | #define NFSDDBG_EXPORT 0x0004 21 | #define NFSDDBG_SVC 0x0008 22 | #define NFSDDBG_PROC 0x0010 23 | #define NFSDDBG_FILEOP 0x0020 24 | #define NFSDDBG_AUTH 0x0040 25 | #define NFSDDBG_REPCACHE 0x0080 26 | #define NFSDDBG_XDR 0x0100 27 | #define NFSDDBG_LOCKD 0x0200 28 | #define NFSDDBG_PNFS 0x0400 29 | #define NFSDDBG_ALL 0x7FFF 30 | #define NFSDDBG_NOCHANGE 0xFFFF 31 | 32 | 33 | 34 | #endif /* LINUX_NFSD_DEBUG_H */ 35 | -------------------------------------------------------------------------------- /linux-headers/include/linux/nfsd/stats.h: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 2 | /* 3 | * linux/include/linux/nfsd/stats.h 4 | * 5 | * Statistics for NFS server. 6 | * 7 | * Copyright (C) 1995, 1996 Olaf Kirch 8 | */ 9 | 10 | #ifndef LINUX_NFSD_STATS_H 11 | #define LINUX_NFSD_STATS_H 12 | 13 | #include 14 | 15 | /* thread usage wraps very million seconds (approx one fortnight) */ 16 | #define NFSD_USAGE_WRAP (HZ*1000000) 17 | 18 | #endif /* LINUX_NFSD_STATS_H */ 19 | -------------------------------------------------------------------------------- /linux-headers/include/linux/nsfs.h: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 2 | #ifndef __LINUX_NSFS_H 3 | #define __LINUX_NSFS_H 4 | 5 | #include 6 | 7 | #define NSIO 0xb7 8 | 9 | /* Returns a file descriptor that refers to an owning user namespace */ 10 | #define NS_GET_USERNS _IO(NSIO, 0x1) 11 | /* Returns a file descriptor that refers to a parent namespace */ 12 | #define NS_GET_PARENT _IO(NSIO, 0x2) 13 | /* Returns the type of namespace (CLONE_NEW* value) referred to by 14 | file descriptor */ 15 | #define NS_GET_NSTYPE _IO(NSIO, 0x3) 16 | /* Get owner UID (in the caller's user namespace) for a user namespace */ 17 | #define NS_GET_OWNER_UID _IO(NSIO, 0x4) 18 | 19 | #endif /* __LINUX_NSFS_H */ 20 | -------------------------------------------------------------------------------- /linux-headers/include/linux/nvram.h: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 2 | #ifndef _LINUX_NVRAM_H 3 | #define _LINUX_NVRAM_H 4 | 5 | #include 6 | 7 | /* /dev/nvram ioctls */ 8 | #define NVRAM_INIT _IO('p', 0x40) /* initialize NVRAM and set checksum */ 9 | #define NVRAM_SETCKS _IO('p', 0x41) /* recalculate checksum */ 10 | 11 | /* for all current systems, this is where NVRAM starts */ 12 | #define NVRAM_FIRST_BYTE 14 13 | /* all these functions expect an NVRAM offset, not an absolute */ 14 | #define NVRAM_OFFSET(x) ((x)-NVRAM_FIRST_BYTE) 15 | 16 | 17 | #endif /* _LINUX_NVRAM_H */ 18 | -------------------------------------------------------------------------------- /linux-headers/include/linux/oom.h: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 2 | #ifndef __INCLUDE_LINUX_OOM_H 3 | #define __INCLUDE_LINUX_OOM_H 4 | 5 | /* 6 | * /proc//oom_score_adj set to OOM_SCORE_ADJ_MIN disables oom killing for 7 | * pid. 8 | */ 9 | #define OOM_SCORE_ADJ_MIN (-1000) 10 | #define OOM_SCORE_ADJ_MAX 1000 11 | 12 | /* 13 | * /proc//oom_adj set to -17 protects from the oom killer for legacy 14 | * purposes. 15 | */ 16 | #define OOM_DISABLE (-17) 17 | /* inclusive */ 18 | #define OOM_ADJUST_MIN (-16) 19 | #define OOM_ADJUST_MAX 15 20 | 21 | #endif /* __INCLUDE_LINUX_OOM_H */ 22 | -------------------------------------------------------------------------------- /linux-headers/include/linux/param.h: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 2 | #ifndef _LINUX_PARAM_H 3 | #define _LINUX_PARAM_H 4 | 5 | #include 6 | 7 | #endif 8 | -------------------------------------------------------------------------------- /linux-headers/include/linux/patchkey.h: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 2 | /* 3 | * -- definition of _PATCHKEY macro 4 | * 5 | * Copyright (C) 2005 Stuart Brady 6 | * 7 | * This exists because awe_voice.h defined its own _PATCHKEY and it wasn't 8 | * clear whether removing this would break anything in userspace. 9 | * 10 | * Do not include this file directly. Please use instead. 11 | * For kernel code, use 12 | */ 13 | 14 | #ifndef _LINUX_PATCHKEY_H_INDIRECT 15 | #error "patchkey.h included directly" 16 | #endif 17 | 18 | #ifndef _LINUX_PATCHKEY_H 19 | #define _LINUX_PATCHKEY_H 20 | 21 | /* Endian macros. */ 22 | # include 23 | 24 | #if defined(__BYTE_ORDER) 25 | # if __BYTE_ORDER == __BIG_ENDIAN 26 | # define _PATCHKEY(id) (0xfd00|id) 27 | # elif __BYTE_ORDER == __LITTLE_ENDIAN 28 | # define _PATCHKEY(id) ((id<<8)|0x00fd) 29 | # else 30 | # error "could not determine byte order" 31 | # endif 32 | #endif 33 | 34 | #endif /* _LINUX_PATCHKEY_H */ 35 | -------------------------------------------------------------------------------- /linux-headers/include/linux/pcitest.h: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 2 | /* 3 | * pcitest.h - PCI test uapi defines 4 | * 5 | * Copyright (C) 2017 Texas Instruments 6 | * Author: Kishon Vijay Abraham I 7 | * 8 | */ 9 | 10 | #ifndef __UAPI_LINUX_PCITEST_H 11 | #define __UAPI_LINUX_PCITEST_H 12 | 13 | #define PCITEST_BAR _IO('P', 0x1) 14 | #define PCITEST_LEGACY_IRQ _IO('P', 0x2) 15 | #define PCITEST_MSI _IOW('P', 0x3, int) 16 | #define PCITEST_WRITE _IOW('P', 0x4, unsigned long) 17 | #define PCITEST_READ _IOW('P', 0x5, unsigned long) 18 | #define PCITEST_COPY _IOW('P', 0x6, unsigned long) 19 | #define PCITEST_MSIX _IOW('P', 0x7, int) 20 | #define PCITEST_SET_IRQTYPE _IOW('P', 0x8, int) 21 | #define PCITEST_GET_IRQTYPE _IO('P', 0x9) 22 | #define PCITEST_CLEAR_IRQ _IO('P', 0x10) 23 | 24 | #define PCITEST_FLAGS_USE_DMA 0x00000001 25 | 26 | struct pci_endpoint_test_xfer_param { 27 | unsigned long size; 28 | unsigned char flags; 29 | }; 30 | 31 | #endif /* __UAPI_LINUX_PCITEST_H */ 32 | -------------------------------------------------------------------------------- /linux-headers/include/linux/pidfd.h: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 2 | 3 | #ifndef _LINUX_PIDFD_H 4 | #define _LINUX_PIDFD_H 5 | 6 | #include 7 | #include 8 | 9 | /* Flags for pidfd_open(). */ 10 | #define PIDFD_NONBLOCK O_NONBLOCK 11 | 12 | #endif /* _LINUX_PIDFD_H */ 13 | -------------------------------------------------------------------------------- /linux-headers/include/linux/poll.h: -------------------------------------------------------------------------------- 1 | #include 2 | -------------------------------------------------------------------------------- /linux-headers/include/linux/qnxtypes.h: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 2 | /* 3 | * Name : qnxtypes.h 4 | * Author : Richard Frowijn 5 | * Function : standard qnx types 6 | * History : 22-03-1998 created 7 | * 8 | */ 9 | 10 | #ifndef _QNX4TYPES_H 11 | #define _QNX4TYPES_H 12 | 13 | #include 14 | 15 | typedef __le16 qnx4_nxtnt_t; 16 | typedef __u8 qnx4_ftype_t; 17 | 18 | typedef struct { 19 | __le32 xtnt_blk; 20 | __le32 xtnt_size; 21 | } qnx4_xtnt_t; 22 | 23 | typedef __le16 qnx4_mode_t; 24 | typedef __le16 qnx4_muid_t; 25 | typedef __le16 qnx4_mgid_t; 26 | typedef __le32 qnx4_off_t; 27 | typedef __le16 qnx4_nlink_t; 28 | 29 | #endif 30 | -------------------------------------------------------------------------------- /linux-headers/include/linux/qrtr.h: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 2 | #ifndef _LINUX_QRTR_H 3 | #define _LINUX_QRTR_H 4 | 5 | #include 6 | #include 7 | 8 | #define QRTR_NODE_BCAST 0xffffffffu 9 | #define QRTR_PORT_CTRL 0xfffffffeu 10 | 11 | struct sockaddr_qrtr { 12 | __kernel_sa_family_t sq_family; 13 | __u32 sq_node; 14 | __u32 sq_port; 15 | }; 16 | 17 | enum qrtr_pkt_type { 18 | QRTR_TYPE_DATA = 1, 19 | QRTR_TYPE_HELLO = 2, 20 | QRTR_TYPE_BYE = 3, 21 | QRTR_TYPE_NEW_SERVER = 4, 22 | QRTR_TYPE_DEL_SERVER = 5, 23 | QRTR_TYPE_DEL_CLIENT = 6, 24 | QRTR_TYPE_RESUME_TX = 7, 25 | QRTR_TYPE_EXIT = 8, 26 | QRTR_TYPE_PING = 9, 27 | QRTR_TYPE_NEW_LOOKUP = 10, 28 | QRTR_TYPE_DEL_LOOKUP = 11, 29 | }; 30 | 31 | struct qrtr_ctrl_pkt { 32 | __le32 cmd; 33 | 34 | union { 35 | struct { 36 | __le32 service; 37 | __le32 instance; 38 | __le32 node; 39 | __le32 port; 40 | } server; 41 | 42 | struct { 43 | __le32 node; 44 | __le32 port; 45 | } client; 46 | }; 47 | } __attribute__((packed)); 48 | 49 | #endif /* _LINUX_QRTR_H */ 50 | -------------------------------------------------------------------------------- /linux-headers/include/linux/radeonfb.h: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 2 | #ifndef __LINUX_RADEONFB_H__ 3 | #define __LINUX_RADEONFB_H__ 4 | 5 | #include 6 | #include 7 | 8 | #define ATY_RADEON_LCD_ON 0x00000001 9 | #define ATY_RADEON_CRT_ON 0x00000002 10 | 11 | 12 | #define FBIO_RADEON_GET_MIRROR _IOR('@', 3, size_t) 13 | #define FBIO_RADEON_SET_MIRROR _IOW('@', 4, size_t) 14 | 15 | #endif 16 | 17 | -------------------------------------------------------------------------------- /linux-headers/include/linux/reiserfs_fs.h: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 2 | /* 3 | * Copyright 1996, 1997, 1998 Hans Reiser, see reiserfs/README for licensing and copyright details 4 | */ 5 | #ifndef _LINUX_REISER_FS_H 6 | #define _LINUX_REISER_FS_H 7 | 8 | #include 9 | #include 10 | 11 | /* 12 | * include/linux/reiser_fs.h 13 | * 14 | * Reiser File System constants and structures 15 | * 16 | */ 17 | 18 | /* ioctl's command */ 19 | #define REISERFS_IOC_UNPACK _IOW(0xCD,1,long) 20 | /* define following flags to be the same as in ext2, so that chattr(1), 21 | lsattr(1) will work with us. */ 22 | #define REISERFS_IOC_GETFLAGS FS_IOC_GETFLAGS 23 | #define REISERFS_IOC_SETFLAGS FS_IOC_SETFLAGS 24 | #define REISERFS_IOC_GETVERSION FS_IOC_GETVERSION 25 | #define REISERFS_IOC_SETVERSION FS_IOC_SETVERSION 26 | 27 | #endif /* _LINUX_REISER_FS_H */ 28 | -------------------------------------------------------------------------------- /linux-headers/include/linux/reiserfs_xattr.h: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 2 | /* 3 | File: linux/reiserfs_xattr.h 4 | */ 5 | 6 | #ifndef _LINUX_REISERFS_XATTR_H 7 | #define _LINUX_REISERFS_XATTR_H 8 | 9 | #include 10 | 11 | /* Magic value in header */ 12 | #define REISERFS_XATTR_MAGIC 0x52465841 /* "RFXA" */ 13 | 14 | struct reiserfs_xattr_header { 15 | __le32 h_magic; /* magic number for identification */ 16 | __le32 h_hash; /* hash of the value */ 17 | }; 18 | 19 | struct reiserfs_security_handle { 20 | const char *name; 21 | void *value; 22 | __kernel_size_t length; 23 | }; 24 | 25 | #endif /* _LINUX_REISERFS_XATTR_H */ 26 | -------------------------------------------------------------------------------- /linux-headers/include/linux/rpl.h: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: GPL-2.0+ WITH Linux-syscall-note */ 2 | /* 3 | * IPv6 RPL-SR implementation 4 | * 5 | * Author: 6 | * (C) 2020 Alexander Aring 7 | */ 8 | 9 | #ifndef _LINUX_RPL_H 10 | #define _LINUX_RPL_H 11 | 12 | #include 13 | #include 14 | #include 15 | 16 | /* 17 | * RPL SR Header 18 | */ 19 | struct ipv6_rpl_sr_hdr { 20 | __u8 nexthdr; 21 | __u8 hdrlen; 22 | __u8 type; 23 | __u8 segments_left; 24 | #if defined(__LITTLE_ENDIAN_BITFIELD) 25 | __u32 cmpre:4, 26 | cmpri:4, 27 | reserved:4, 28 | pad:4, 29 | reserved1:16; 30 | #elif defined(__BIG_ENDIAN_BITFIELD) 31 | __u32 cmpri:4, 32 | cmpre:4, 33 | pad:4, 34 | reserved:20; 35 | #else 36 | #error "Please fix " 37 | #endif 38 | 39 | union { 40 | __DECLARE_FLEX_ARRAY(struct in6_addr, addr); 41 | __DECLARE_FLEX_ARRAY(__u8, data); 42 | } segments; 43 | } __attribute__((packed)); 44 | 45 | #define rpl_segaddr segments.addr 46 | #define rpl_segdata segments.data 47 | 48 | #endif 49 | -------------------------------------------------------------------------------- /linux-headers/include/linux/rpl_iptunnel.h: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: GPL-2.0+ WITH Linux-syscall-note */ 2 | /* 3 | * IPv6 RPL-SR implementation 4 | * 5 | * Author: 6 | * (C) 2020 Alexander Aring 7 | */ 8 | 9 | #ifndef _LINUX_RPL_IPTUNNEL_H 10 | #define _LINUX_RPL_IPTUNNEL_H 11 | 12 | enum { 13 | RPL_IPTUNNEL_UNSPEC, 14 | RPL_IPTUNNEL_SRH, 15 | __RPL_IPTUNNEL_MAX, 16 | }; 17 | #define RPL_IPTUNNEL_MAX (__RPL_IPTUNNEL_MAX - 1) 18 | 19 | #define RPL_IPTUNNEL_SRH_SIZE(srh) (((srh)->hdrlen + 1) << 3) 20 | 21 | #endif 22 | -------------------------------------------------------------------------------- /linux-headers/include/linux/rpmsg_types.h: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 2 | #ifndef _LINUX_RPMSG_TYPES_H 3 | #define _LINUX_RPMSG_TYPES_H 4 | 5 | #include 6 | 7 | typedef __u16 __bitwise __rpmsg16; 8 | typedef __u32 __bitwise __rpmsg32; 9 | typedef __u64 __bitwise __rpmsg64; 10 | 11 | #endif /* _LINUX_RPMSG_TYPES_H */ 12 | -------------------------------------------------------------------------------- /linux-headers/include/linux/seg6_genl.h: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 2 | #ifndef _LINUX_SEG6_GENL_H 3 | #define _LINUX_SEG6_GENL_H 4 | 5 | #define SEG6_GENL_NAME "SEG6" 6 | #define SEG6_GENL_VERSION 0x1 7 | 8 | enum { 9 | SEG6_ATTR_UNSPEC, 10 | SEG6_ATTR_DST, 11 | SEG6_ATTR_DSTLEN, 12 | SEG6_ATTR_HMACKEYID, 13 | SEG6_ATTR_SECRET, 14 | SEG6_ATTR_SECRETLEN, 15 | SEG6_ATTR_ALGID, 16 | SEG6_ATTR_HMACINFO, 17 | __SEG6_ATTR_MAX, 18 | }; 19 | 20 | #define SEG6_ATTR_MAX (__SEG6_ATTR_MAX - 1) 21 | 22 | enum { 23 | SEG6_CMD_UNSPEC, 24 | SEG6_CMD_SETHMAC, 25 | SEG6_CMD_DUMPHMAC, 26 | SEG6_CMD_SET_TUNSRC, 27 | SEG6_CMD_GET_TUNSRC, 28 | __SEG6_CMD_MAX, 29 | }; 30 | 31 | #define SEG6_CMD_MAX (__SEG6_CMD_MAX - 1) 32 | 33 | #endif 34 | -------------------------------------------------------------------------------- /linux-headers/include/linux/seg6_hmac.h: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 2 | #ifndef _LINUX_SEG6_HMAC_H 3 | #define _LINUX_SEG6_HMAC_H 4 | 5 | #include 6 | #include 7 | 8 | #define SEG6_HMAC_SECRET_LEN 64 9 | #define SEG6_HMAC_FIELD_LEN 32 10 | 11 | struct sr6_tlv_hmac { 12 | struct sr6_tlv tlvhdr; 13 | __u16 reserved; 14 | __be32 hmackeyid; 15 | __u8 hmac[SEG6_HMAC_FIELD_LEN]; 16 | }; 17 | 18 | enum { 19 | SEG6_HMAC_ALGO_SHA1 = 1, 20 | SEG6_HMAC_ALGO_SHA256 = 2, 21 | }; 22 | 23 | #endif 24 | -------------------------------------------------------------------------------- /linux-headers/include/linux/signal.h: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 2 | #ifndef _LINUX_SIGNAL_H 3 | #define _LINUX_SIGNAL_H 4 | 5 | #include 6 | #include 7 | 8 | #define SS_ONSTACK 1 9 | #define SS_DISABLE 2 10 | 11 | /* bit-flags */ 12 | #define SS_AUTODISARM (1U << 31) /* disable sas during sighandling */ 13 | /* mask for all SS_xxx flags */ 14 | #define SS_FLAG_BITS SS_AUTODISARM 15 | 16 | #endif /* _LINUX_SIGNAL_H */ 17 | -------------------------------------------------------------------------------- /linux-headers/include/linux/string.h: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 2 | #ifndef _LINUX_STRING_H_ 3 | #define _LINUX_STRING_H_ 4 | 5 | /* We don't want strings.h stuff being used by user stuff by accident */ 6 | 7 | #include 8 | #endif /* _LINUX_STRING_H_ */ 9 | -------------------------------------------------------------------------------- /linux-headers/include/linux/sysinfo.h: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 2 | #ifndef _LINUX_SYSINFO_H 3 | #define _LINUX_SYSINFO_H 4 | 5 | #include 6 | 7 | #define SI_LOAD_SHIFT 16 8 | struct sysinfo { 9 | __kernel_long_t uptime; /* Seconds since boot */ 10 | __kernel_ulong_t loads[3]; /* 1, 5, and 15 minute load averages */ 11 | __kernel_ulong_t totalram; /* Total usable main memory size */ 12 | __kernel_ulong_t freeram; /* Available memory size */ 13 | __kernel_ulong_t sharedram; /* Amount of shared memory */ 14 | __kernel_ulong_t bufferram; /* Memory used by buffers */ 15 | __kernel_ulong_t totalswap; /* Total swap space size */ 16 | __kernel_ulong_t freeswap; /* swap space still available */ 17 | __u16 procs; /* Number of current processes */ 18 | __u16 pad; /* Explicit padding for m68k */ 19 | __kernel_ulong_t totalhigh; /* Total high memory size */ 20 | __kernel_ulong_t freehigh; /* Available high memory size */ 21 | __u32 mem_unit; /* Memory unit size in bytes */ 22 | char _f[20-2*sizeof(__kernel_ulong_t)-sizeof(__u32)]; /* Padding: libc5 uses this.. */ 23 | }; 24 | 25 | #endif /* _LINUX_SYSINFO_H */ 26 | -------------------------------------------------------------------------------- /linux-headers/include/linux/tc_act/tc_bpf.h: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: GPL-2.0+ WITH Linux-syscall-note */ 2 | /* 3 | * Copyright (c) 2015 Jiri Pirko 4 | */ 5 | 6 | #ifndef __LINUX_TC_BPF_H 7 | #define __LINUX_TC_BPF_H 8 | 9 | #include 10 | 11 | struct tc_act_bpf { 12 | tc_gen; 13 | }; 14 | 15 | enum { 16 | TCA_ACT_BPF_UNSPEC, 17 | TCA_ACT_BPF_TM, 18 | TCA_ACT_BPF_PARMS, 19 | TCA_ACT_BPF_OPS_LEN, 20 | TCA_ACT_BPF_OPS, 21 | TCA_ACT_BPF_FD, 22 | TCA_ACT_BPF_NAME, 23 | TCA_ACT_BPF_PAD, 24 | TCA_ACT_BPF_TAG, 25 | TCA_ACT_BPF_ID, 26 | __TCA_ACT_BPF_MAX, 27 | }; 28 | #define TCA_ACT_BPF_MAX (__TCA_ACT_BPF_MAX - 1) 29 | 30 | #endif 31 | -------------------------------------------------------------------------------- /linux-headers/include/linux/tc_act/tc_connmark.h: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 2 | #ifndef __UAPI_TC_CONNMARK_H 3 | #define __UAPI_TC_CONNMARK_H 4 | 5 | #include 6 | #include 7 | 8 | struct tc_connmark { 9 | tc_gen; 10 | __u16 zone; 11 | }; 12 | 13 | enum { 14 | TCA_CONNMARK_UNSPEC, 15 | TCA_CONNMARK_PARMS, 16 | TCA_CONNMARK_TM, 17 | TCA_CONNMARK_PAD, 18 | __TCA_CONNMARK_MAX 19 | }; 20 | #define TCA_CONNMARK_MAX (__TCA_CONNMARK_MAX - 1) 21 | 22 | #endif 23 | -------------------------------------------------------------------------------- /linux-headers/include/linux/tc_act/tc_csum.h: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 2 | #ifndef __LINUX_TC_CSUM_H 3 | #define __LINUX_TC_CSUM_H 4 | 5 | #include 6 | #include 7 | 8 | enum { 9 | TCA_CSUM_UNSPEC, 10 | TCA_CSUM_PARMS, 11 | TCA_CSUM_TM, 12 | TCA_CSUM_PAD, 13 | __TCA_CSUM_MAX 14 | }; 15 | #define TCA_CSUM_MAX (__TCA_CSUM_MAX - 1) 16 | 17 | enum { 18 | TCA_CSUM_UPDATE_FLAG_IPV4HDR = 1, 19 | TCA_CSUM_UPDATE_FLAG_ICMP = 2, 20 | TCA_CSUM_UPDATE_FLAG_IGMP = 4, 21 | TCA_CSUM_UPDATE_FLAG_TCP = 8, 22 | TCA_CSUM_UPDATE_FLAG_UDP = 16, 23 | TCA_CSUM_UPDATE_FLAG_UDPLITE = 32, 24 | TCA_CSUM_UPDATE_FLAG_SCTP = 64, 25 | }; 26 | 27 | struct tc_csum { 28 | tc_gen; 29 | 30 | __u32 update_flags; 31 | }; 32 | 33 | #endif /* __LINUX_TC_CSUM_H */ 34 | -------------------------------------------------------------------------------- /linux-headers/include/linux/tc_act/tc_ctinfo.h: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 2 | #ifndef __UAPI_TC_CTINFO_H 3 | #define __UAPI_TC_CTINFO_H 4 | 5 | #include 6 | #include 7 | 8 | struct tc_ctinfo { 9 | tc_gen; 10 | }; 11 | 12 | enum { 13 | TCA_CTINFO_UNSPEC, 14 | TCA_CTINFO_PAD, 15 | TCA_CTINFO_TM, 16 | TCA_CTINFO_ACT, 17 | TCA_CTINFO_ZONE, 18 | TCA_CTINFO_PARMS_DSCP_MASK, 19 | TCA_CTINFO_PARMS_DSCP_STATEMASK, 20 | TCA_CTINFO_PARMS_CPMARK_MASK, 21 | TCA_CTINFO_STATS_DSCP_SET, 22 | TCA_CTINFO_STATS_DSCP_ERROR, 23 | TCA_CTINFO_STATS_CPMARK_SET, 24 | __TCA_CTINFO_MAX 25 | }; 26 | 27 | #define TCA_CTINFO_MAX (__TCA_CTINFO_MAX - 1) 28 | 29 | #endif 30 | -------------------------------------------------------------------------------- /linux-headers/include/linux/tc_act/tc_defact.h: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 2 | #ifndef __LINUX_TC_DEF_H 3 | #define __LINUX_TC_DEF_H 4 | 5 | #include 6 | 7 | struct tc_defact { 8 | tc_gen; 9 | }; 10 | 11 | enum { 12 | TCA_DEF_UNSPEC, 13 | TCA_DEF_TM, 14 | TCA_DEF_PARMS, 15 | TCA_DEF_DATA, 16 | TCA_DEF_PAD, 17 | __TCA_DEF_MAX 18 | }; 19 | #define TCA_DEF_MAX (__TCA_DEF_MAX - 1) 20 | 21 | #endif 22 | -------------------------------------------------------------------------------- /linux-headers/include/linux/tc_act/tc_gact.h: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 2 | #ifndef __LINUX_TC_GACT_H 3 | #define __LINUX_TC_GACT_H 4 | 5 | #include 6 | #include 7 | 8 | struct tc_gact { 9 | tc_gen; 10 | 11 | }; 12 | 13 | struct tc_gact_p { 14 | #define PGACT_NONE 0 15 | #define PGACT_NETRAND 1 16 | #define PGACT_DETERM 2 17 | #define MAX_RAND (PGACT_DETERM + 1 ) 18 | __u16 ptype; 19 | __u16 pval; 20 | int paction; 21 | }; 22 | 23 | enum { 24 | TCA_GACT_UNSPEC, 25 | TCA_GACT_TM, 26 | TCA_GACT_PARMS, 27 | TCA_GACT_PROB, 28 | TCA_GACT_PAD, 29 | __TCA_GACT_MAX 30 | }; 31 | #define TCA_GACT_MAX (__TCA_GACT_MAX - 1) 32 | 33 | #endif 34 | -------------------------------------------------------------------------------- /linux-headers/include/linux/tc_act/tc_gate.h: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: GPL-2.0+ WITH Linux-syscall-note */ 2 | /* Copyright 2020 NXP */ 3 | 4 | #ifndef __LINUX_TC_GATE_H 5 | #define __LINUX_TC_GATE_H 6 | 7 | #include 8 | 9 | struct tc_gate { 10 | tc_gen; 11 | }; 12 | 13 | enum { 14 | TCA_GATE_ENTRY_UNSPEC, 15 | TCA_GATE_ENTRY_INDEX, 16 | TCA_GATE_ENTRY_GATE, 17 | TCA_GATE_ENTRY_INTERVAL, 18 | TCA_GATE_ENTRY_IPV, 19 | TCA_GATE_ENTRY_MAX_OCTETS, 20 | __TCA_GATE_ENTRY_MAX, 21 | }; 22 | #define TCA_GATE_ENTRY_MAX (__TCA_GATE_ENTRY_MAX - 1) 23 | 24 | enum { 25 | TCA_GATE_ONE_ENTRY_UNSPEC, 26 | TCA_GATE_ONE_ENTRY, 27 | __TCA_GATE_ONE_ENTRY_MAX, 28 | }; 29 | #define TCA_GATE_ONE_ENTRY_MAX (__TCA_GATE_ONE_ENTRY_MAX - 1) 30 | 31 | enum { 32 | TCA_GATE_UNSPEC, 33 | TCA_GATE_TM, 34 | TCA_GATE_PARMS, 35 | TCA_GATE_PAD, 36 | TCA_GATE_PRIORITY, 37 | TCA_GATE_ENTRY_LIST, 38 | TCA_GATE_BASE_TIME, 39 | TCA_GATE_CYCLE_TIME, 40 | TCA_GATE_CYCLE_TIME_EXT, 41 | TCA_GATE_FLAGS, 42 | TCA_GATE_CLOCKID, 43 | __TCA_GATE_MAX, 44 | }; 45 | #define TCA_GATE_MAX (__TCA_GATE_MAX - 1) 46 | 47 | #endif 48 | -------------------------------------------------------------------------------- /linux-headers/include/linux/tc_act/tc_ife.h: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 2 | #ifndef __UAPI_TC_IFE_H 3 | #define __UAPI_TC_IFE_H 4 | 5 | #include 6 | #include 7 | #include 8 | 9 | /* Flag bits for now just encoding/decoding; mutually exclusive */ 10 | #define IFE_ENCODE 1 11 | #define IFE_DECODE 0 12 | 13 | struct tc_ife { 14 | tc_gen; 15 | __u16 flags; 16 | }; 17 | 18 | /*XXX: We need to encode the total number of bytes consumed */ 19 | enum { 20 | TCA_IFE_UNSPEC, 21 | TCA_IFE_PARMS, 22 | TCA_IFE_TM, 23 | TCA_IFE_DMAC, 24 | TCA_IFE_SMAC, 25 | TCA_IFE_TYPE, 26 | TCA_IFE_METALST, 27 | TCA_IFE_PAD, 28 | __TCA_IFE_MAX 29 | }; 30 | #define TCA_IFE_MAX (__TCA_IFE_MAX - 1) 31 | 32 | #endif 33 | -------------------------------------------------------------------------------- /linux-headers/include/linux/tc_act/tc_ipt.h: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 2 | #ifndef __LINUX_TC_IPT_H 3 | #define __LINUX_TC_IPT_H 4 | 5 | #include 6 | 7 | enum { 8 | TCA_IPT_UNSPEC, 9 | TCA_IPT_TABLE, 10 | TCA_IPT_HOOK, 11 | TCA_IPT_INDEX, 12 | TCA_IPT_CNT, 13 | TCA_IPT_TM, 14 | TCA_IPT_TARG, 15 | TCA_IPT_PAD, 16 | __TCA_IPT_MAX 17 | }; 18 | #define TCA_IPT_MAX (__TCA_IPT_MAX - 1) 19 | 20 | #endif 21 | -------------------------------------------------------------------------------- /linux-headers/include/linux/tc_act/tc_mirred.h: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 2 | #ifndef __LINUX_TC_MIR_H 3 | #define __LINUX_TC_MIR_H 4 | 5 | #include 6 | #include 7 | 8 | #define TCA_EGRESS_REDIR 1 /* packet redirect to EGRESS*/ 9 | #define TCA_EGRESS_MIRROR 2 /* mirror packet to EGRESS */ 10 | #define TCA_INGRESS_REDIR 3 /* packet redirect to INGRESS*/ 11 | #define TCA_INGRESS_MIRROR 4 /* mirror packet to INGRESS */ 12 | 13 | struct tc_mirred { 14 | tc_gen; 15 | int eaction; /* one of IN/EGRESS_MIRROR/REDIR */ 16 | __u32 ifindex; /* ifindex of egress port */ 17 | }; 18 | 19 | enum { 20 | TCA_MIRRED_UNSPEC, 21 | TCA_MIRRED_TM, 22 | TCA_MIRRED_PARMS, 23 | TCA_MIRRED_PAD, 24 | __TCA_MIRRED_MAX 25 | }; 26 | #define TCA_MIRRED_MAX (__TCA_MIRRED_MAX - 1) 27 | 28 | #endif 29 | -------------------------------------------------------------------------------- /linux-headers/include/linux/tc_act/tc_nat.h: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 2 | #ifndef __LINUX_TC_NAT_H 3 | #define __LINUX_TC_NAT_H 4 | 5 | #include 6 | #include 7 | 8 | enum { 9 | TCA_NAT_UNSPEC, 10 | TCA_NAT_PARMS, 11 | TCA_NAT_TM, 12 | TCA_NAT_PAD, 13 | __TCA_NAT_MAX 14 | }; 15 | #define TCA_NAT_MAX (__TCA_NAT_MAX - 1) 16 | 17 | #define TCA_NAT_FLAG_EGRESS 1 18 | 19 | struct tc_nat { 20 | tc_gen; 21 | __be32 old_addr; 22 | __be32 new_addr; 23 | __be32 mask; 24 | __u32 flags; 25 | }; 26 | 27 | #endif 28 | -------------------------------------------------------------------------------- /linux-headers/include/linux/tc_act/tc_sample.h: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 2 | #ifndef __LINUX_TC_SAMPLE_H 3 | #define __LINUX_TC_SAMPLE_H 4 | 5 | #include 6 | #include 7 | #include 8 | 9 | struct tc_sample { 10 | tc_gen; 11 | }; 12 | 13 | enum { 14 | TCA_SAMPLE_UNSPEC, 15 | TCA_SAMPLE_TM, 16 | TCA_SAMPLE_PARMS, 17 | TCA_SAMPLE_RATE, 18 | TCA_SAMPLE_TRUNC_SIZE, 19 | TCA_SAMPLE_PSAMPLE_GROUP, 20 | TCA_SAMPLE_PAD, 21 | __TCA_SAMPLE_MAX 22 | }; 23 | #define TCA_SAMPLE_MAX (__TCA_SAMPLE_MAX - 1) 24 | 25 | #endif 26 | -------------------------------------------------------------------------------- /linux-headers/include/linux/tc_act/tc_skbedit.h: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 2 | /* 3 | * Copyright (c) 2008, Intel Corporation. 4 | * 5 | * Author: Alexander Duyck 6 | */ 7 | 8 | #ifndef __LINUX_TC_SKBEDIT_H 9 | #define __LINUX_TC_SKBEDIT_H 10 | 11 | #include 12 | 13 | #define SKBEDIT_F_PRIORITY 0x1 14 | #define SKBEDIT_F_QUEUE_MAPPING 0x2 15 | #define SKBEDIT_F_MARK 0x4 16 | #define SKBEDIT_F_PTYPE 0x8 17 | #define SKBEDIT_F_MASK 0x10 18 | #define SKBEDIT_F_INHERITDSFIELD 0x20 19 | #define SKBEDIT_F_TXQ_SKBHASH 0x40 20 | 21 | struct tc_skbedit { 22 | tc_gen; 23 | }; 24 | 25 | enum { 26 | TCA_SKBEDIT_UNSPEC, 27 | TCA_SKBEDIT_TM, 28 | TCA_SKBEDIT_PARMS, 29 | TCA_SKBEDIT_PRIORITY, 30 | TCA_SKBEDIT_QUEUE_MAPPING, 31 | TCA_SKBEDIT_MARK, 32 | TCA_SKBEDIT_PAD, 33 | TCA_SKBEDIT_PTYPE, 34 | TCA_SKBEDIT_MASK, 35 | TCA_SKBEDIT_FLAGS, 36 | TCA_SKBEDIT_QUEUE_MAPPING_MAX, 37 | __TCA_SKBEDIT_MAX 38 | }; 39 | #define TCA_SKBEDIT_MAX (__TCA_SKBEDIT_MAX - 1) 40 | 41 | #endif 42 | -------------------------------------------------------------------------------- /linux-headers/include/linux/tc_act/tc_skbmod.h: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: GPL-2.0+ WITH Linux-syscall-note */ 2 | /* 3 | * Copyright (c) 2016, Jamal Hadi Salim 4 | */ 5 | 6 | #ifndef __LINUX_TC_SKBMOD_H 7 | #define __LINUX_TC_SKBMOD_H 8 | 9 | #include 10 | 11 | #define SKBMOD_F_DMAC 0x1 12 | #define SKBMOD_F_SMAC 0x2 13 | #define SKBMOD_F_ETYPE 0x4 14 | #define SKBMOD_F_SWAPMAC 0x8 15 | #define SKBMOD_F_ECN 0x10 16 | 17 | struct tc_skbmod { 18 | tc_gen; 19 | __u64 flags; 20 | }; 21 | 22 | enum { 23 | TCA_SKBMOD_UNSPEC, 24 | TCA_SKBMOD_TM, 25 | TCA_SKBMOD_PARMS, 26 | TCA_SKBMOD_DMAC, 27 | TCA_SKBMOD_SMAC, 28 | TCA_SKBMOD_ETYPE, 29 | TCA_SKBMOD_PAD, 30 | __TCA_SKBMOD_MAX 31 | }; 32 | #define TCA_SKBMOD_MAX (__TCA_SKBMOD_MAX - 1) 33 | 34 | #endif 35 | -------------------------------------------------------------------------------- /linux-headers/include/linux/tc_act/tc_vlan.h: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: GPL-2.0+ WITH Linux-syscall-note */ 2 | /* 3 | * Copyright (c) 2014 Jiri Pirko 4 | */ 5 | 6 | #ifndef __LINUX_TC_VLAN_H 7 | #define __LINUX_TC_VLAN_H 8 | 9 | #include 10 | 11 | #define TCA_VLAN_ACT_POP 1 12 | #define TCA_VLAN_ACT_PUSH 2 13 | #define TCA_VLAN_ACT_MODIFY 3 14 | #define TCA_VLAN_ACT_POP_ETH 4 15 | #define TCA_VLAN_ACT_PUSH_ETH 5 16 | 17 | struct tc_vlan { 18 | tc_gen; 19 | int v_action; 20 | }; 21 | 22 | enum { 23 | TCA_VLAN_UNSPEC, 24 | TCA_VLAN_TM, 25 | TCA_VLAN_PARMS, 26 | TCA_VLAN_PUSH_VLAN_ID, 27 | TCA_VLAN_PUSH_VLAN_PROTOCOL, 28 | TCA_VLAN_PAD, 29 | TCA_VLAN_PUSH_VLAN_PRIORITY, 30 | TCA_VLAN_PUSH_ETH_DST, 31 | TCA_VLAN_PUSH_ETH_SRC, 32 | __TCA_VLAN_MAX, 33 | }; 34 | #define TCA_VLAN_MAX (__TCA_VLAN_MAX - 1) 35 | 36 | #endif 37 | -------------------------------------------------------------------------------- /linux-headers/include/linux/tc_ematch/tc_em_cmp.h: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 2 | #ifndef __LINUX_TC_EM_CMP_H 3 | #define __LINUX_TC_EM_CMP_H 4 | 5 | #include 6 | #include 7 | 8 | struct tcf_em_cmp { 9 | __u32 val; 10 | __u32 mask; 11 | __u16 off; 12 | __u8 align:4; 13 | __u8 flags:4; 14 | __u8 layer:4; 15 | __u8 opnd:4; 16 | }; 17 | 18 | enum { 19 | TCF_EM_ALIGN_U8 = 1, 20 | TCF_EM_ALIGN_U16 = 2, 21 | TCF_EM_ALIGN_U32 = 4 22 | }; 23 | 24 | #define TCF_EM_CMP_TRANS 1 25 | 26 | #endif 27 | -------------------------------------------------------------------------------- /linux-headers/include/linux/tc_ematch/tc_em_ipt.h: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 2 | #ifndef __LINUX_TC_EM_IPT_H 3 | #define __LINUX_TC_EM_IPT_H 4 | 5 | #include 6 | #include 7 | 8 | enum { 9 | TCA_EM_IPT_UNSPEC, 10 | TCA_EM_IPT_HOOK, 11 | TCA_EM_IPT_MATCH_NAME, 12 | TCA_EM_IPT_MATCH_REVISION, 13 | TCA_EM_IPT_NFPROTO, 14 | TCA_EM_IPT_MATCH_DATA, 15 | __TCA_EM_IPT_MAX 16 | }; 17 | 18 | #define TCA_EM_IPT_MAX (__TCA_EM_IPT_MAX - 1) 19 | 20 | #endif 21 | -------------------------------------------------------------------------------- /linux-headers/include/linux/tc_ematch/tc_em_nbyte.h: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 2 | #ifndef __LINUX_TC_EM_NBYTE_H 3 | #define __LINUX_TC_EM_NBYTE_H 4 | 5 | #include 6 | #include 7 | 8 | struct tcf_em_nbyte { 9 | __u16 off; 10 | __u16 len:12; 11 | __u8 layer:4; 12 | }; 13 | 14 | #endif 15 | -------------------------------------------------------------------------------- /linux-headers/include/linux/tc_ematch/tc_em_text.h: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 2 | #ifndef __LINUX_TC_EM_TEXT_H 3 | #define __LINUX_TC_EM_TEXT_H 4 | 5 | #include 6 | #include 7 | 8 | #define TC_EM_TEXT_ALGOSIZ 16 9 | 10 | struct tcf_em_text { 11 | char algo[TC_EM_TEXT_ALGOSIZ]; 12 | __u16 from_offset; 13 | __u16 to_offset; 14 | __u16 pattern_len; 15 | __u8 from_layer:4; 16 | __u8 to_layer:4; 17 | __u8 pad; 18 | }; 19 | 20 | #endif 21 | -------------------------------------------------------------------------------- /linux-headers/include/linux/termios.h: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 2 | #ifndef _LINUX_TERMIOS_H 3 | #define _LINUX_TERMIOS_H 4 | 5 | #include 6 | #include 7 | 8 | #endif 9 | -------------------------------------------------------------------------------- /linux-headers/include/linux/timerfd.h: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 2 | /* 3 | * include/linux/timerfd.h 4 | * 5 | * Copyright (C) 2007 Davide Libenzi 6 | * 7 | */ 8 | 9 | #ifndef _LINUX_TIMERFD_H 10 | #define _LINUX_TIMERFD_H 11 | 12 | #include 13 | 14 | /* For O_CLOEXEC and O_NONBLOCK */ 15 | #include 16 | 17 | /* For _IO helpers */ 18 | #include 19 | 20 | /* 21 | * CAREFUL: Check include/asm-generic/fcntl.h when defining 22 | * new flags, since they might collide with O_* ones. We want 23 | * to re-use O_* flags that couldn't possibly have a meaning 24 | * from eventfd, in order to leave a free define-space for 25 | * shared O_* flags. 26 | * 27 | * Also make sure to update the masks in include/linux/timerfd.h 28 | * when adding new flags. 29 | */ 30 | #define TFD_TIMER_ABSTIME (1 << 0) 31 | #define TFD_TIMER_CANCEL_ON_SET (1 << 1) 32 | #define TFD_CLOEXEC O_CLOEXEC 33 | #define TFD_NONBLOCK O_NONBLOCK 34 | 35 | #define TFD_IOC_SET_TICKS _IOW('T', 0, __u64) 36 | 37 | #endif /* _LINUX_TIMERFD_H */ 38 | -------------------------------------------------------------------------------- /linux-headers/include/linux/times.h: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 2 | #ifndef _LINUX_TIMES_H 3 | #define _LINUX_TIMES_H 4 | 5 | #include 6 | 7 | struct tms { 8 | __kernel_clock_t tms_utime; 9 | __kernel_clock_t tms_stime; 10 | __kernel_clock_t tms_cutime; 11 | __kernel_clock_t tms_cstime; 12 | }; 13 | 14 | #endif 15 | -------------------------------------------------------------------------------- /linux-headers/include/linux/tipc_sockets_diag.h: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 2 | /* AF_TIPC sock_diag interface for querying open sockets */ 3 | 4 | #ifndef __TIPC_SOCKETS_DIAG_H__ 5 | #define __TIPC_SOCKETS_DIAG_H__ 6 | 7 | #include 8 | #include 9 | 10 | /* Request */ 11 | struct tipc_sock_diag_req { 12 | __u8 sdiag_family; /* must be AF_TIPC */ 13 | __u8 sdiag_protocol; /* must be 0 */ 14 | __u16 pad; /* must be 0 */ 15 | __u32 tidiag_states; /* query*/ 16 | }; 17 | #endif /* __TIPC_SOCKETS_DIAG_H__ */ 18 | -------------------------------------------------------------------------------- /linux-headers/include/linux/udf_fs_i.h: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 2 | /* 3 | * udf_fs_i.h 4 | * 5 | * This file is intended for the Linux kernel/module. 6 | * 7 | * COPYRIGHT 8 | * This file is distributed under the terms of the GNU General Public 9 | * License (GPL). Copies of the GPL can be obtained from: 10 | * ftp://prep.ai.mit.edu/pub/gnu/GPL 11 | * Each contributing author retains all rights to their own work. 12 | */ 13 | #ifndef _UDF_FS_I_H 14 | #define _UDF_FS_I_H 1 15 | 16 | /* exported IOCTLs, we have 'l', 0x40-0x7f */ 17 | #define UDF_GETEASIZE _IOR('l', 0x40, int) 18 | #define UDF_GETEABLOCK _IOR('l', 0x41, void *) 19 | #define UDF_GETVOLIDENT _IOR('l', 0x42, void *) 20 | #define UDF_RELOCATE_BLOCKS _IOWR('l', 0x43, long) 21 | 22 | #endif /* _UDF_FS_I_H */ 23 | -------------------------------------------------------------------------------- /linux-headers/include/linux/udmabuf.h: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 2 | #ifndef _LINUX_UDMABUF_H 3 | #define _LINUX_UDMABUF_H 4 | 5 | #include 6 | #include 7 | 8 | #define UDMABUF_FLAGS_CLOEXEC 0x01 9 | 10 | struct udmabuf_create { 11 | __u32 memfd; 12 | __u32 flags; 13 | __u64 offset; 14 | __u64 size; 15 | }; 16 | 17 | struct udmabuf_create_item { 18 | __u32 memfd; 19 | __u32 __pad; 20 | __u64 offset; 21 | __u64 size; 22 | }; 23 | 24 | struct udmabuf_create_list { 25 | __u32 flags; 26 | __u32 count; 27 | struct udmabuf_create_item list[]; 28 | }; 29 | 30 | #define UDMABUF_CREATE _IOW('u', 0x42, struct udmabuf_create) 31 | #define UDMABUF_CREATE_LIST _IOW('u', 0x43, struct udmabuf_create_list) 32 | 33 | #endif /* _LINUX_UDMABUF_H */ 34 | -------------------------------------------------------------------------------- /linux-headers/include/linux/uio.h: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: GPL-2.0+ WITH Linux-syscall-note */ 2 | /* 3 | * Berkeley style UIO structures - Alan Cox 1994. 4 | * 5 | * This program is free software; you can redistribute it and/or 6 | * modify it under the terms of the GNU General Public License 7 | * as published by the Free Software Foundation; either version 8 | * 2 of the License, or (at your option) any later version. 9 | */ 10 | #ifndef __LINUX_UIO_H 11 | #define __LINUX_UIO_H 12 | 13 | 14 | #include 15 | 16 | 17 | struct iovec 18 | { 19 | void *iov_base; /* BSD uses caddr_t (1003.1g requires void *) */ 20 | __kernel_size_t iov_len; /* Must be size_t (1003.1g) */ 21 | }; 22 | 23 | /* 24 | * UIO_MAXIOV shall be at least 16 1003.1g (5.4.1.1) 25 | */ 26 | 27 | #define UIO_FASTIOV 8 28 | #define UIO_MAXIOV 1024 29 | 30 | 31 | #endif /* __LINUX_UIO_H */ 32 | -------------------------------------------------------------------------------- /linux-headers/include/linux/uleds.h: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: GPL-2.0+ WITH Linux-syscall-note */ 2 | /* 3 | * Userspace driver support for the LED subsystem 4 | * 5 | * This program is free software; you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation; either version 2 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | */ 15 | #ifndef __ULEDS_H_ 16 | #define __ULEDS_H_ 17 | 18 | #define LED_MAX_NAME_SIZE 64 19 | 20 | struct uleds_user_dev { 21 | char name[LED_MAX_NAME_SIZE]; 22 | int max_brightness; 23 | }; 24 | 25 | #endif /* __ULEDS_H_ */ 26 | -------------------------------------------------------------------------------- /linux-headers/include/linux/un.h: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 2 | #ifndef _LINUX_UN_H 3 | #define _LINUX_UN_H 4 | 5 | #include 6 | 7 | #define UNIX_PATH_MAX 108 8 | 9 | struct sockaddr_un { 10 | __kernel_sa_family_t sun_family; /* AF_UNIX */ 11 | char sun_path[UNIX_PATH_MAX]; /* pathname */ 12 | }; 13 | 14 | #define SIOCUNIXFILE (SIOCPROTOPRIVATE + 0) /* open a socket file with O_PATH */ 15 | 16 | #endif /* _LINUX_UN_H */ 17 | -------------------------------------------------------------------------------- /linux-headers/include/linux/unistd.h: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 2 | #ifndef _LINUX_UNISTD_H_ 3 | #define _LINUX_UNISTD_H_ 4 | 5 | /* 6 | * Include machine specific syscall numbers 7 | */ 8 | #include 9 | 10 | #endif /* _LINUX_UNISTD_H_ */ 11 | -------------------------------------------------------------------------------- /linux-headers/include/linux/usb/cdc-wdm.h: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 2 | /* 3 | * USB CDC Device Management userspace API definitions 4 | * 5 | * This program is free software; you can redistribute it and/or 6 | * modify it under the terms of the GNU General Public License 7 | * version 2 as published by the Free Software Foundation. 8 | */ 9 | 10 | #ifndef __LINUX_USB_CDC_WDM_H 11 | #define __LINUX_USB_CDC_WDM_H 12 | 13 | #include 14 | 15 | /* 16 | * This IOCTL is used to retrieve the wMaxCommand for the device, 17 | * defining the message limit for both reading and writing. 18 | * 19 | * For CDC WDM functions this will be the wMaxCommand field of the 20 | * Device Management Functional Descriptor. 21 | */ 22 | #define IOCTL_WDM_MAX_COMMAND _IOR('H', 0xA0, __u16) 23 | 24 | #endif /* __LINUX_USB_CDC_WDM_H */ 25 | -------------------------------------------------------------------------------- /linux-headers/include/linux/usb/charger.h: -------------------------------------------------------------------------------- 1 | /* 2 | * This file defines the USB charger type and state that are needed for 3 | * USB device APIs. 4 | */ 5 | 6 | #ifndef __LINUX_USB_CHARGER_H 7 | #define __LINUX_USB_CHARGER_H 8 | 9 | /* 10 | * USB charger type: 11 | * SDP (Standard Downstream Port) 12 | * DCP (Dedicated Charging Port) 13 | * CDP (Charging Downstream Port) 14 | * ACA (Accessory Charger Adapters) 15 | */ 16 | enum usb_charger_type { 17 | UNKNOWN_TYPE = 0, 18 | SDP_TYPE = 1, 19 | DCP_TYPE = 2, 20 | CDP_TYPE = 3, 21 | ACA_TYPE = 4, 22 | }; 23 | 24 | /* USB charger state */ 25 | enum usb_charger_state { 26 | USB_CHARGER_DEFAULT = 0, 27 | USB_CHARGER_PRESENT = 1, 28 | USB_CHARGER_ABSENT = 2, 29 | }; 30 | 31 | #endif /* __LINUX_USB_CHARGER_H */ 32 | -------------------------------------------------------------------------------- /linux-headers/include/linux/utime.h: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 2 | #ifndef _LINUX_UTIME_H 3 | #define _LINUX_UTIME_H 4 | 5 | #include 6 | 7 | struct utimbuf { 8 | __kernel_old_time_t actime; 9 | __kernel_old_time_t modtime; 10 | }; 11 | 12 | #endif 13 | -------------------------------------------------------------------------------- /linux-headers/include/linux/utsname.h: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 2 | #ifndef _LINUX_UTSNAME_H 3 | #define _LINUX_UTSNAME_H 4 | 5 | #define __OLD_UTS_LEN 8 6 | 7 | struct oldold_utsname { 8 | char sysname[9]; 9 | char nodename[9]; 10 | char release[9]; 11 | char version[9]; 12 | char machine[9]; 13 | }; 14 | 15 | #define __NEW_UTS_LEN 64 16 | 17 | struct old_utsname { 18 | char sysname[65]; 19 | char nodename[65]; 20 | char release[65]; 21 | char version[65]; 22 | char machine[65]; 23 | }; 24 | 25 | struct new_utsname { 26 | char sysname[__NEW_UTS_LEN + 1]; 27 | char nodename[__NEW_UTS_LEN + 1]; 28 | char release[__NEW_UTS_LEN + 1]; 29 | char version[__NEW_UTS_LEN + 1]; 30 | char machine[__NEW_UTS_LEN + 1]; 31 | char domainname[__NEW_UTS_LEN + 1]; 32 | }; 33 | 34 | 35 | #endif /* _LINUX_UTSNAME_H */ 36 | -------------------------------------------------------------------------------- /linux-headers/include/linux/uuid.h: -------------------------------------------------------------------------------- 1 | #include 2 | -------------------------------------------------------------------------------- /linux-headers/include/linux/version.h: -------------------------------------------------------------------------------- 1 | #define LINUX_VERSION_CODE 394752 2 | #define KERNEL_VERSION(a,b,c) (((a) << 16) + ((b) << 8) + ((c) > 255 ? 255 : (c))) 3 | #define LINUX_VERSION_MAJOR 6 4 | #define LINUX_VERSION_PATCHLEVEL 6 5 | #define LINUX_VERSION_SUBLEVEL 0 6 | -------------------------------------------------------------------------------- /linux-headers/include/linux/veth.h: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 2 | #ifndef __NET_VETH_H_ 3 | #define __NET_VETH_H_ 4 | 5 | enum { 6 | VETH_INFO_UNSPEC, 7 | VETH_INFO_PEER, 8 | 9 | __VETH_INFO_MAX 10 | #define VETH_INFO_MAX (__VETH_INFO_MAX - 1) 11 | }; 12 | 13 | #endif 14 | -------------------------------------------------------------------------------- /linux-headers/include/linux/virtio_bt.h: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: BSD-3-Clause */ 2 | 3 | #ifndef _LINUX_VIRTIO_BT_H 4 | #define _LINUX_VIRTIO_BT_H 5 | 6 | #include 7 | 8 | /* Feature bits */ 9 | #define VIRTIO_BT_F_VND_HCI 0 /* Indicates vendor command support */ 10 | #define VIRTIO_BT_F_MSFT_EXT 1 /* Indicates MSFT vendor support */ 11 | #define VIRTIO_BT_F_AOSP_EXT 2 /* Indicates AOSP vendor support */ 12 | #define VIRTIO_BT_F_CONFIG_V2 3 /* Use second version configuration */ 13 | 14 | enum virtio_bt_config_type { 15 | VIRTIO_BT_CONFIG_TYPE_PRIMARY = 0, 16 | VIRTIO_BT_CONFIG_TYPE_AMP = 1, 17 | }; 18 | 19 | enum virtio_bt_config_vendor { 20 | VIRTIO_BT_CONFIG_VENDOR_NONE = 0, 21 | VIRTIO_BT_CONFIG_VENDOR_ZEPHYR = 1, 22 | VIRTIO_BT_CONFIG_VENDOR_INTEL = 2, 23 | VIRTIO_BT_CONFIG_VENDOR_REALTEK = 3, 24 | }; 25 | 26 | struct virtio_bt_config { 27 | __u8 type; 28 | __u16 vendor; 29 | __u16 msft_opcode; 30 | } __attribute__((packed)); 31 | 32 | struct virtio_bt_config_v2 { 33 | __u8 type; 34 | __u8 alignment; 35 | __u16 vendor; 36 | __u16 msft_opcode; 37 | }; 38 | 39 | #endif /* _LINUX_VIRTIO_BT_H */ 40 | -------------------------------------------------------------------------------- /linux-headers/include/linux/virtio_fs.h: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR BSD-3-Clause) */ 2 | 3 | #ifndef _LINUX_VIRTIO_FS_H 4 | #define _LINUX_VIRTIO_FS_H 5 | 6 | #include 7 | #include 8 | #include 9 | #include 10 | 11 | struct virtio_fs_config { 12 | /* Filesystem name (UTF-8, not NUL-terminated, padded with NULs) */ 13 | __u8 tag[36]; 14 | 15 | /* Number of request queues */ 16 | __le32 num_request_queues; 17 | } __attribute__((packed)); 18 | 19 | /* For the id field in virtio_pci_shm_cap */ 20 | #define VIRTIO_FS_SHMCAP_ID_CACHE 0 21 | 22 | #endif /* _LINUX_VIRTIO_FS_H */ 23 | -------------------------------------------------------------------------------- /linux-headers/include/linux/virtio_pmem.h: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: (GPL-2.0 WITH Linux-syscall-note) OR BSD-3-Clause */ 2 | /* 3 | * Definitions for virtio-pmem devices. 4 | * 5 | * Copyright (C) 2019 Red Hat, Inc. 6 | * 7 | * Author(s): Pankaj Gupta 8 | */ 9 | 10 | #ifndef _LINUX_VIRTIO_PMEM_H 11 | #define _LINUX_VIRTIO_PMEM_H 12 | 13 | #include 14 | #include 15 | #include 16 | 17 | struct virtio_pmem_config { 18 | __le64 start; 19 | __le64 size; 20 | }; 21 | 22 | #define VIRTIO_PMEM_REQ_TYPE_FLUSH 0 23 | 24 | struct virtio_pmem_resp { 25 | /* Host return status corresponding to flush request */ 26 | __le32 ret; 27 | }; 28 | 29 | struct virtio_pmem_req { 30 | /* command type */ 31 | __le32 type; 32 | }; 33 | 34 | #endif 35 | -------------------------------------------------------------------------------- /linux-headers/include/linux/virtio_rng.h: -------------------------------------------------------------------------------- 1 | #ifndef _LINUX_VIRTIO_RNG_H 2 | #define _LINUX_VIRTIO_RNG_H 3 | /* This header is BSD licensed so anyone can use the definitions to implement 4 | * compatible drivers/servers. */ 5 | #include 6 | #include 7 | 8 | #endif /* _LINUX_VIRTIO_RNG_H */ 9 | -------------------------------------------------------------------------------- /linux-headers/include/linux/virtio_scmi.h: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR BSD-3-Clause) */ 2 | /* 3 | * Copyright (C) 2020-2021 OpenSynergy GmbH 4 | * Copyright (C) 2021 ARM Ltd. 5 | */ 6 | 7 | #ifndef _LINUX_VIRTIO_SCMI_H 8 | #define _LINUX_VIRTIO_SCMI_H 9 | 10 | #include 11 | 12 | /* Device implements some SCMI notifications, or delayed responses. */ 13 | #define VIRTIO_SCMI_F_P2A_CHANNELS 0 14 | 15 | /* Device implements any SCMI statistics shared memory region */ 16 | #define VIRTIO_SCMI_F_SHARED_MEMORY 1 17 | 18 | /* Virtqueues */ 19 | 20 | #define VIRTIO_SCMI_VQ_TX 0 /* cmdq */ 21 | #define VIRTIO_SCMI_VQ_RX 1 /* eventq */ 22 | #define VIRTIO_SCMI_VQ_MAX_CNT 2 23 | 24 | #endif /* _LINUX_VIRTIO_SCMI_H */ 25 | -------------------------------------------------------------------------------- /linux-headers/include/linux/vm_sockets_diag.h: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 2 | /* AF_VSOCK sock_diag(7) interface for querying open sockets */ 3 | 4 | #ifndef __VM_SOCKETS_DIAG_H__ 5 | #define __VM_SOCKETS_DIAG_H__ 6 | 7 | #include 8 | 9 | /* Request */ 10 | struct vsock_diag_req { 11 | __u8 sdiag_family; /* must be AF_VSOCK */ 12 | __u8 sdiag_protocol; /* must be 0 */ 13 | __u16 pad; /* must be 0 */ 14 | __u32 vdiag_states; /* query bitmap (e.g. 1 << TCP_LISTEN) */ 15 | __u32 vdiag_ino; /* must be 0 (reserved) */ 16 | __u32 vdiag_show; /* must be 0 (reserved) */ 17 | __u32 vdiag_cookie[2]; 18 | }; 19 | 20 | /* Response */ 21 | struct vsock_diag_msg { 22 | __u8 vdiag_family; /* AF_VSOCK */ 23 | __u8 vdiag_type; /* SOCK_STREAM or SOCK_DGRAM */ 24 | __u8 vdiag_state; /* sk_state (e.g. TCP_LISTEN) */ 25 | __u8 vdiag_shutdown; /* local RCV_SHUTDOWN | SEND_SHUTDOWN */ 26 | __u32 vdiag_src_cid; 27 | __u32 vdiag_src_port; 28 | __u32 vdiag_dst_cid; 29 | __u32 vdiag_dst_port; 30 | __u32 vdiag_ino; 31 | __u32 vdiag_cookie[2]; 32 | }; 33 | 34 | #endif /* __VM_SOCKETS_DIAG_H__ */ 35 | -------------------------------------------------------------------------------- /linux-headers/include/linux/vmcore.h: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 2 | #ifndef _VMCORE_H 3 | #define _VMCORE_H 4 | 5 | #include 6 | 7 | #define VMCOREDD_NOTE_NAME "LINUX" 8 | #define VMCOREDD_MAX_NAME_BYTES 44 9 | 10 | struct vmcoredd_header { 11 | __u32 n_namesz; /* Name size */ 12 | __u32 n_descsz; /* Content size */ 13 | __u32 n_type; /* NT_VMCOREDD */ 14 | __u8 name[8]; /* LINUX\0\0\0 */ 15 | __u8 dump_name[VMCOREDD_MAX_NAME_BYTES]; /* Device dump's name */ 16 | }; 17 | 18 | #endif /* _VMCORE_H */ 19 | -------------------------------------------------------------------------------- /linux-headers/include/linux/wait.h: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 2 | #ifndef _LINUX_WAIT_H 3 | #define _LINUX_WAIT_H 4 | 5 | #define WNOHANG 0x00000001 6 | #define WUNTRACED 0x00000002 7 | #define WSTOPPED WUNTRACED 8 | #define WEXITED 0x00000004 9 | #define WCONTINUED 0x00000008 10 | #define WNOWAIT 0x01000000 /* Don't reap, just poll status. */ 11 | 12 | #define __WNOTHREAD 0x20000000 /* Don't wait on children of other threads in this group */ 13 | #define __WALL 0x40000000 /* Wait on all children, regardless of type */ 14 | #define __WCLONE 0x80000000 /* Wait only on non-SIGCHLD children */ 15 | 16 | /* First argument to waitid: */ 17 | #define P_ALL 0 18 | #define P_PID 1 19 | #define P_PGID 2 20 | #define P_PIDFD 3 21 | 22 | 23 | #endif /* _LINUX_WAIT_H */ 24 | -------------------------------------------------------------------------------- /linux-headers/include/linux/wwan.h: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: GPL-2.0-only WITH Linux-syscall-note */ 2 | /* 3 | * Copyright (C) 2021 Intel Corporation. 4 | */ 5 | #ifndef _WWAN_H_ 6 | #define _WWAN_H_ 7 | 8 | enum { 9 | IFLA_WWAN_UNSPEC, 10 | IFLA_WWAN_LINK_ID, /* u32 */ 11 | 12 | __IFLA_WWAN_MAX 13 | }; 14 | #define IFLA_WWAN_MAX (__IFLA_WWAN_MAX - 1) 15 | 16 | #endif /* _WWAN_H_ */ 17 | -------------------------------------------------------------------------------- /linux-headers/include/misc/pvpanic.h: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 2 | 3 | #ifndef __PVPANIC_H__ 4 | #define __PVPANIC_H__ 5 | 6 | #define PVPANIC_PANICKED (1 << 0) 7 | #define PVPANIC_CRASH_LOADED (1 << 1) 8 | 9 | #endif /* __PVPANIC_H__ */ 10 | -------------------------------------------------------------------------------- /linux-headers/include/misc/uacce/uacce.h: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: GPL-2.0+ WITH Linux-syscall-note */ 2 | #ifndef UUACCE_H 3 | #define UUACCE_H 4 | 5 | #include 6 | #include 7 | 8 | /* 9 | * UACCE_CMD_START_Q: Start queue 10 | */ 11 | #define UACCE_CMD_START_Q _IO('W', 0) 12 | 13 | /* 14 | * UACCE_CMD_PUT_Q: 15 | * User actively stop queue and free queue resource immediately 16 | * Optimization method since close fd may delay 17 | */ 18 | #define UACCE_CMD_PUT_Q _IO('W', 1) 19 | 20 | /* 21 | * UACCE Device flags: 22 | * UACCE_DEV_SVA: Shared Virtual Addresses 23 | * Support PASID 24 | * Support device page faults (PCI PRI or SMMU Stall) 25 | */ 26 | #define UACCE_DEV_SVA BIT(0) 27 | 28 | /** 29 | * enum uacce_qfrt: queue file region type 30 | * @UACCE_QFRT_MMIO: device mmio region 31 | * @UACCE_QFRT_DUS: device user share region 32 | */ 33 | enum uacce_qfrt { 34 | UACCE_QFRT_MMIO = 0, 35 | UACCE_QFRT_DUS = 1, 36 | }; 37 | 38 | #endif 39 | -------------------------------------------------------------------------------- /linux-headers/include/rdma/erdma-abi.h: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR BSD-3-Clause) */ 2 | /* 3 | * Copyright (c) 2020-2022, Alibaba Group. 4 | */ 5 | 6 | #ifndef __ERDMA_USER_H__ 7 | #define __ERDMA_USER_H__ 8 | 9 | #include 10 | 11 | #define ERDMA_ABI_VERSION 1 12 | 13 | struct erdma_ureq_create_cq { 14 | __aligned_u64 db_record_va; 15 | __aligned_u64 qbuf_va; 16 | __u32 qbuf_len; 17 | __u32 rsvd0; 18 | }; 19 | 20 | struct erdma_uresp_create_cq { 21 | __u32 cq_id; 22 | __u32 num_cqe; 23 | }; 24 | 25 | struct erdma_ureq_create_qp { 26 | __aligned_u64 db_record_va; 27 | __aligned_u64 qbuf_va; 28 | __u32 qbuf_len; 29 | __u32 rsvd0; 30 | }; 31 | 32 | struct erdma_uresp_create_qp { 33 | __u32 qp_id; 34 | __u32 num_sqe; 35 | __u32 num_rqe; 36 | __u32 rq_offset; 37 | }; 38 | 39 | struct erdma_uresp_alloc_ctx { 40 | __u32 dev_id; 41 | __u32 pad; 42 | __u32 sdb_type; 43 | __u32 sdb_offset; 44 | __aligned_u64 sdb; 45 | __aligned_u64 rdb; 46 | __aligned_u64 cdb; 47 | }; 48 | 49 | #endif 50 | -------------------------------------------------------------------------------- /linux-headers/include/video/edid.h: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 2 | #ifndef __linux_video_edid_h__ 3 | #define __linux_video_edid_h__ 4 | 5 | struct edid_info { 6 | unsigned char dummy[128]; 7 | }; 8 | 9 | 10 | #endif /* __linux_video_edid_h__ */ 11 | -------------------------------------------------------------------------------- /regression/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | /stamps 3 | /install 4 | -------------------------------------------------------------------------------- /scripts/cp_s: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # Emulate cp -s for systems without coreutils 3 | 4 | if test -z "$1" || test -z "$2" ; then 5 | echo "usage: ${0} srcdir destdir" >&2 6 | exit 1 7 | fi 8 | 9 | # Portability notes: 10 | # - Avoid set -e given its ambiguous interaction with subshells. 11 | # - Not all shells update $PWD as required by POSIX. 12 | # Use the pwd builtin instead. 13 | # - Command substitution strips all trailing newlines. 14 | # Preserve trailing newlines by appending a safety character and then 15 | # removing it with parameter substitution, along with the newline 16 | # appended by pwd itself. 17 | 18 | mkdir -p "$2" && 19 | destdir=`cd "$2" && pwd && echo x` && 20 | destdir=${destdir%??} && 21 | 22 | cd "$1" && 23 | srcdir=`pwd && echo x` && 24 | srcdir=${srcdir%??} && 25 | find . -type d -exec mkdir -p "${destdir}/{}" \; && 26 | find . -type f -exec ln -sf "${srcdir}/{}" "${destdir}/{}" \; 27 | -------------------------------------------------------------------------------- /scripts/spike.exp: -------------------------------------------------------------------------------- 1 | load_generic_config "sim" 2 | set_board_info sim "spike pk" 3 | set_board_info compiler "[find_gcc]" 4 | set_board_info ldflags "-static -pthread" 5 | set_board_info gdb,nosignals 1 6 | set_board_info is_simulator 1 7 | -------------------------------------------------------------------------------- /scripts/wrapper/.gitignore: -------------------------------------------------------------------------------- 1 | /awk/awk 2 | /sed/sed 3 | 4 | -------------------------------------------------------------------------------- /scripts/wrapper/awk/awk.in: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | # We can add the current directory to the front of PATH so that 4 | # awk will invoke gawk (rather than mawk etc.). 5 | # We use this to work around systems with awk != gawk. 6 | 7 | exec ${AWK:-@GAWK@} "$@" 8 | -------------------------------------------------------------------------------- /scripts/wrapper/make_stderr_tail: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | set -o pipefail 4 | set -e 5 | 6 | make "$@" 2>&1 | tail 7 | -------------------------------------------------------------------------------- /scripts/wrapper/make_tail: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | set -o pipefail 4 | set -e 5 | 6 | make "$@" | tail 7 | -------------------------------------------------------------------------------- /scripts/wrapper/qemu/riscv32-unknown-elf-run: -------------------------------------------------------------------------------- 1 | riscv64-unknown-linux-gnu-run -------------------------------------------------------------------------------- /scripts/wrapper/qemu/riscv32-unknown-linux-gnu-run: -------------------------------------------------------------------------------- 1 | riscv64-unknown-linux-gnu-run -------------------------------------------------------------------------------- /scripts/wrapper/qemu/riscv64-unknown-elf-run: -------------------------------------------------------------------------------- 1 | riscv64-unknown-linux-gnu-run -------------------------------------------------------------------------------- /scripts/wrapper/qemu/riscv64-unknown-linux-gnu-run: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | qemu_args=() 4 | while [[ "$1" != "" ]] 5 | do 6 | case "$1" in 7 | -Wq,*) qemu_args+=("$(echo "$1" | cut -d, -f2-)");; 8 | *) break;; 9 | esac 10 | shift 11 | done 12 | 13 | xlen="$(march-to-cpu-opt --elf-file-path $1 --print-xlen)" 14 | qemu_cpu="$(march-to-cpu-opt --elf-file-path $1 --print-qemu-cpu)" 15 | 16 | QEMU_CPU="${qemu_cpu}" qemu-riscv${xlen} -r 5.10 "${qemu_args[@]}" \ 17 | -L ${RISC_V_SYSROOT} "$@" 18 | -------------------------------------------------------------------------------- /scripts/wrapper/sed/sed.in: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | # We can add the current directory to the front of PATH so that 4 | # sed will invoke gsed (rather than FreeBSD's sed, for example). 5 | # We use this to work around systems with sed != gsed. 6 | 7 | exec ${SED:-@GSED@} "$@" 8 | -------------------------------------------------------------------------------- /scripts/wrapper/spike/riscv32-unknown-elf-run: -------------------------------------------------------------------------------- 1 | riscv64-unknown-linux-gnu-run -------------------------------------------------------------------------------- /scripts/wrapper/spike/riscv32-unknown-linux-gnu-run: -------------------------------------------------------------------------------- 1 | riscv64-unknown-linux-gnu-run -------------------------------------------------------------------------------- /scripts/wrapper/spike/riscv64-unknown-elf-run: -------------------------------------------------------------------------------- 1 | riscv64-unknown-linux-gnu-run -------------------------------------------------------------------------------- /scripts/wrapper/spike/riscv64-unknown-linux-gnu-run: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | xlen="$(march-to-cpu-opt --elf-file-path $1 --print-xlen)" 4 | isa="$(march-to-cpu-opt --elf-file-path $1 --print-spike-isa)" 5 | varch="$(march-to-cpu-opt --elf-file-path $1 --print-spike-varch)" 6 | 7 | isa_option="--isa=${isa}" 8 | varch_option="" 9 | memory_option="--misaligned" 10 | 11 | [[ ! -z ${varch} ]] && varch_option="--varch=${varch}" 12 | 13 | spike ${memory_option} ${isa_option} ${varch_option} ${PK_PATH}/pk${xlen} "$@" 14 | -------------------------------------------------------------------------------- /test/allowlist/binutils/common.log: -------------------------------------------------------------------------------- 1 | # 2 | -------------------------------------------------------------------------------- /test/allowlist/binutils/glibc.log: -------------------------------------------------------------------------------- 1 | # 2 | -------------------------------------------------------------------------------- /test/allowlist/binutils/newlib.log: -------------------------------------------------------------------------------- 1 | # 2 | # XXX: Unknown reason. 3 | # 4 | FAIL: Build pr22983 5 | # 6 | # This testcase is used to check whether the linker is work normally when both 7 | # the --wrap=SYMBOL and -flto are set. This fail isn’t caused by the riscv 8 | # toolchain port, so we shoud skip it until the upstream fix the problem. 9 | # 10 | FAIL: Run pr24406-1 11 | -------------------------------------------------------------------------------- /test/allowlist/gcc/glibc.log: -------------------------------------------------------------------------------- 1 | UNRESOLVED: gcc.target/riscv/rvv/xtheadvector/prefix.c 2 | FAIL: gfortran.dg/ieee/modes_1.f90 3 | FAIL: gcc.target/riscv/rvv/vtype-call-clobbered.c 4 | UNRESOLVED: gcc.target/riscv/rvv/vtype-call-clobbered.c 5 | FAIL: gcc.target/riscv/rvv/xtheadvector/prefix.c 6 | FAIL: gfortran.dg/ieee/ieee_6.f90 7 | -------------------------------------------------------------------------------- /test/allowlist/gcc/glibc.rv64.log: -------------------------------------------------------------------------------- 1 | UNRESOLVED: gcc.target/riscv/rvv/xtheadvector/vlh-vsh.c 2 | FAIL: gcc.target/riscv/rvv/xtheadvector/vlbu-vsb.c 3 | FAIL: gcc.target/riscv/rvv/xtheadvector/vlh-vsh.c 4 | UNRESOLVED: gcc.target/riscv/rvv/xtheadvector/vlwu-vsw.c 5 | FAIL: gcc.target/riscv/rvv/xtheadvector/vlhu-vsh.c 6 | UNRESOLVED: gcc.target/riscv/rvv/xtheadvector/vlw-vsw.c 7 | UNRESOLVED: gcc.target/riscv/rvv/xtheadvector/vlb-vsb.c 8 | UNRESOLVED: gcc.target/riscv/rvv/xtheadvector/vlhu-vsh.c 9 | UNRESOLVED: gcc.target/riscv/rvv/xtheadvector/vlbu-vsb.c 10 | FAIL: gcc.target/riscv/rvv/xtheadvector/vlwu-vsw.c 11 | FAIL: gcc.target/riscv/rvv/xtheadvector/vlw-vsw.c 12 | FAIL: gcc.target/riscv/rvv/xtheadvector/vlb-vsb.c 13 | -------------------------------------------------------------------------------- /test/allowlist/gcc/newlib.log: -------------------------------------------------------------------------------- 1 | FAIL: gcc.c-torture/execute/printf-2.c 2 | FAIL: gcc.c-torture/execute/fprintf-2.c 3 | FAIL: gcc.c-torture/execute/user-printf.c 4 | FAIL: g++.dg/cpp2a/decomp2.C 5 | -------------------------------------------------------------------------------- /test/allowlist/gcc/rv32.log: -------------------------------------------------------------------------------- 1 | UNRESOLVED: gcc.target/riscv/rvv/autovec/vls-vlmax/shuffle-slide.c 2 | FAIL: gcc.dg/tree-ssa/pr83403-1.c 3 | FAIL: gcc.dg/tree-ssa/pr83403-2.c 4 | FAIL: gcc.target/riscv/pr116715.c 5 | FAIL: gcc.dg/torture/pr113026-1.c 6 | FAIL: gcc.dg/pr90838-2.c 7 | UNRESOLVED: gcc.target/riscv/pr116715.c 8 | FAIL: gcc.target/riscv/rvv/autovec/vls-vlmax/shuffle-slide.c 9 | --------------------------------------------------------------------------------